Source code for luna_api.app.handlers.faces_proxy_handler
""" Handler for a certain faces. """
from luna3.common.luna_response import LunaResponse
from sanic.response import HTTPResponse
from app.handlers.base_handler import FacesServiceBaseHandler, ProxyRequest
[docs]class FacesHandler(FacesServiceBaseHandler):
    """
    Handler for create new faces. See `spec_faces`_.
        .. _spec_faces:
            _static/api.html#tag/faces
    Resource: "/{api_version}/faces"
    """
    allowedMethods = ("POST", "GET", "DELETE")
[docs]    async def prepareRequestPost(self) -> ProxyRequest:
        """
        Add account id to new face
        Returns:
            proxy request
        """
        return self.prepareRequestCreation() 
[docs]    async def postProcessingPost(self, response: LunaResponse) -> HTTPResponse:
        """
        Update urls in output json and location header
        Args:
            response: from faces
        Returns:
            response
        """
        return self.success(response.statusCode, outputJson=self.convertIncomingUrls(response))  
[docs]class FacesCountHandler(FacesServiceBaseHandler):
    """
    Handler for getting face count. See `spec_get_faces_count`_.
        .. _spec_get_faces_count:
            _static/api.html#operation/getFacesCount
    Resource: "/{api_version}/faces/count"
    """
    allowedMethods = ("GET",) 
[docs]class FaceHandler(FacesServiceBaseHandler):
    """
    Handler for work with a face. See `spec_face`_.
        .. _spec_face:
            _static/api.html#tag/faces
    Resource: "/{api_version}/faces/{faceId}"
    """
    allowedMethods = ("PATCH", "GET", "DELETE", "HEAD") 
[docs]class FacesAttributeHandler(FacesServiceBaseHandler):
    """
    Handler for work with a face attributes. See `spec_face_attributes`_.
        .. _spec_face_attributes:
            _static/api.html#tag/face-attributes
    Resource: "/{api_version}/faces/{faceId}/attributes"
    """
    allowedMethods = ("PUT", "GET", "DELETE") 
[docs]class FacesAttributesCountHandler(FacesServiceBaseHandler):
    """
    Handler for getting count faces with attributes. See `spec_get_face_attribute_count`_.
        .. _spec_get_face_attribute_count:
            _static/api.html#operation/getFaceAttributeCount
    Resource: "/{api_version}/faces/attributes/count"
    """
    allowedMethods = ("GET",) 
[docs]class FacesAttributeSamplesHandler(FacesServiceBaseHandler):
    """
    Handler for work with face attribute samples. See `spec_get_face_attribute_samples`_.
        .. _spec_get_face_attribute_samples:
            _static/api.html#operation/getFaceAttributeSamples
    Resource: "/{api_version}/faces/{faceId}/attributes/samples"
    """
    allowedMethods = ("GET",)