Source code for luna_faces.app.handlers.attribute_samples_handler
"""
Module realize handler for getting attribute samples.
"""
from itertools import chain
from sanic.response import HTTPResponse
from app.handlers.base_handler import AttributesBaseRequestHandler
from crutches_on_wheels.cow.web.query_getters import uuidGetter
[docs]class AttributeSamplesHandler(AttributesBaseRequestHandler):
"""
Handler for getting all attribute samples.
Resource: "/{api_version}/attributes/{attributeId}/samples"
"""
[docs] async def get(self, attributeId: str) -> HTTPResponse:
"""
Get temporary attribute. See `spec_get_attribute_samples`_.
.. _spec_get_attribute_samples:
_static/api.html#operation/getAttributeSamples
Returns:
response json samples
"""
accountId = self.getQueryParam("account_id", uuidGetter)
attributes = await self.attributesContext.get(attributeId=attributeId, accountId=accountId)
samples = {"samples": list(set(chain(attributes.basicAttributesSamples, attributes.descriptorSamples)))}
return self.success(200, outputJson=samples)