Source code for q2_sdk.hq.hq_api.backoffice.LogonAdmin

"""
LogonAdmin
"""

import uuid
from typing import Optional

from q2_sdk.core.q2_logging.logger import Q2LoggerType
from q2_sdk.hq.models.hq_request.backoffice import BackOfficeRequest
from q2_sdk.hq.models.backoffice_response import BackOfficeResponse
from q2_sdk.hq.models.hq_params.backoffice import BackOfficeParamsObj
from q2_sdk.hq.models.hq_credentials import HqCredentials


[docs] class ParamsObj(BackOfficeParamsObj): """Parameters definition for LogonAdmin""" def __init__( self, logger: Q2LoggerType, hq_credentials: HqCredentials, client_address: str, login_name: str, user_password: str, client_session_id: Optional[str] = None, ): """ :param logger: Reference to calling request's logger (self.logger in your extension) :param client_address: IP of the client (for logging) :param client_session_id: (Optional) self.online_session.session_id :param hq_credentials: HqCredentials instance """ super().__init__(logger, hq_credentials) if not client_session_id: client_session_id = uuid.uuid4() self.request_params = { "clientAddress": client_address, "clientSessionId": client_session_id, "loginName": login_name, "userPassword": user_password, }
[docs] async def execute(params_obj: ParamsObj, **kwargs) -> BackOfficeResponse: """ :param params_obj: Object containing everything necessary to call this HQ endpoint """ request = BackOfficeRequest("LogonAdmin", **kwargs) return await request.execute(params_obj, **kwargs)