# This is an autogenerated file from the command "q2 generate_hq_api" and will be overwritten if run again
from typing import Optional
from q2_sdk.core.q2_logging.logger import Q2LoggerType
from q2_sdk.hq.models.hq_response import HqResponse
from q2_sdk.hq.models.hq_credentials import HqCredentials
from q2_sdk.hq.models.hq_params.q2_api import Q2ApiParamsObj
from q2_sdk.hq.models.hq_request.q2_api import Q2ApiRequest
from q2_sdk.hq.models.dataset_builder import DataSetBuilder
[docs]
class ParamsObj(Q2ApiParamsObj):
"""Parameters definition for UpdateCustomerNoAccountEdit
.. seealso:: :mod:`~q2_sdk.hq.hq_api.q2_api.UpdateCustomerNoAccountEdit_models` for DataSet schemas and builder functions.
"""
def __init__(
self,
logger: Q2LoggerType,
dal_customer_edit: Optional[DataSetBuilder] = None,
customer_rights: Optional[DataSetBuilder] = None,
hq_credentials: Optional[HqCredentials] = None,
):
"""
:param logger: Reference to calling request's logger (self.logger in your extension)
:param dal_customer_edit: DataSetBuilder instance
:param customer_rights: DataSetBuilder instance
:param hq_credentials: Defaults to settings.HQ_CREDENTIALS
"""
super().__init__(logger, hq_credentials)
self.request_params.update({
"dalCustomerEdit": dal_customer_edit,
"customerRights": customer_rights,
})
[docs]
async def execute(params_obj: ParamsObj, use_json=True, **kwargs) -> HqResponse:
"""
This is the default way to submit the request to HQ.
This endpoint uses DataSet parameters and defaults to the JSON (.ashx)
transport. SOAP (.asmx) is not supported for DataSet serialization.
:param params_obj: Object containing everything necessary to call this HQ endpoint
:param use_json: If True, will call HQ's .ashx (json) endpoint instead of .asmx (soap)
"""
request = Q2ApiRequest("UpdateCustomerNoAccountEdit", use_json=use_json, **kwargs)
return await request.execute(params_obj, **kwargs)
[docs]
async def get_soap(params_obj: ParamsObj, **kwargs) -> HqResponse:
"""Deprecated. Please use execute instead"""
params_obj.logger.warning(
"UpdateCustomerNoAccountEdit.get_soap is deprecated. Please use UpdateCustomerNoAccountEdit.execute instead."
)
return await execute(params_obj, **kwargs)
[docs]
async def get_json(params_obj: ParamsObj, **kwargs) -> HqResponse:
"""Deprecated. Please use execute instead"""
params_obj.logger.warning(
"UpdateCustomerNoAccountEdit.get_json is deprecated. Please use UpdateCustomerNoAccountEdit.execute instead."
)
return await execute(params_obj, use_json=True, **kwargs)
[docs]
def build_json(params_obj: ParamsObj):
return Q2ApiRequest.build_json(params_obj)