Source code for luna_lambda_tools.public.agent.agent_request

"""
Module contains request class for agent lambda
"""

from luna_lambda_tools.private.request import BaseLambdaRequest, ClientsKwargsMixin

from ..clients import LIS, LRS, LVA, AgentClients, Api, Events, Handlers, Sender


[docs] class AgentLambdaRequest(BaseLambdaRequest, ClientsKwargsMixin): """Base lambda request"""
[docs] def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.external = self.app.ctx.external self._clients: AgentClients | None = None
def _getClients(self): """Get lambda agent clients. External or internal""" if self.external: return AgentClients( api=Api.fromCommonClient(self._session.apiSession.getClient(self.requestId)), faces=None, events=None, matcher=None, objectOriginStore=None, faceSamplesStore=None, bodySamplesStore=None, imageOriginStore=None, sdk=None, videoAgent=None, sender=None, handlers=None, ) eventsKw = self._getEventsClientKwargs() faceSamplesKw = self._getFacesSamplesClientKwargs() bodySamplesKw = self._getBodySamplesClientKwargs() imageOriginKw = self._getImageOriginClientKwargs() lvaKw = self._getLVAClientKwargs() senderKw = self._getSenderClientKwargs() handlersKw = self._getHandlersClientKwargs() lrsKw = self._getLRSClientKwargs() return AgentClients( faces=None, events=Events(**eventsKw) if eventsKw else None, matcher=None, objectOriginStore=None, faceSamplesStore=LIS(**faceSamplesKw) if faceSamplesKw else None, bodySamplesStore=LIS(**bodySamplesKw) if bodySamplesKw else None, imageOriginStore=LIS(**imageOriginKw) if imageOriginKw else None, sdk=LRS(**lrsKw) if lrsKw else None, videoAgent=LVA(**lvaKw) if lvaKw else None, sender=Sender(**senderKw) if senderKw else None, handlers=Handlers(**handlersKw) if handlersKw else None, ) @property def clients(self): if self._clients is None: self._clients = self._getClients() return self._clients