class ImageMetadataSchema(AssetMetadataSchema): """Data structure storing image asset metadata.""" mime_type = SingleLine(missing=required, validator=image_mime_type_validator) detail = Resource(dimensions=Dimensions(width=800, height=800)) thumbnail = Resource(dimensions=Dimensions(width=100, height=100))
class ImageMetadataSchema(AssetMetadataSchema): """Data structure storing image asset metadata.""" detail = Resource(dimensions=Dimensions(width=800, height=800), readonly=True) thumbnail = Resource(dimensions=Dimensions(width=100, height=100), readonly=True)
def _get_x_user_headers(request: Request) -> tuple: """Return tuple with the X-User-Path/Token values or (None, None).""" schema = Resource().bind(request=request, context=request.context) user_url = request.headers.get('X-User-Path', None) user_path = None if user_url is not None: try: user = schema.deserialize(user_url) user_path = resource_path(user) except Invalid: # TODO: raise a proper colander error. pass token = request.headers.get('X-User-Token', None) return (user_path, token)
class POSTPasswordResetRequestSchema(MappingSchema): """Schema to get a user password reset resource.""" path = Resource( missing=required, validator=validate_password_reset_path, ) password = Password(missing=required)
class IntroImageSchema(ImageMetadataSchema): thumbnail = Resource(dimensions=Dimensions(width=105, height=90)) detail = Resource(dimensions=Dimensions(width=800, height=350))
class VersionNotification(Notification): """ServerNotification involving a version.""" version = Resource()
class ChildNotification(Notification): """ServerNotification involving a child resource.""" child = Resource()
class Notification(colander.MappingSchema): """Notification sent to a client if a resource has changed.""" event = Event() resource = Resource()
class ClientRequestSchema(colander.MappingSchema): """Data structure for client requests.""" action = Action(missing=colander.required) resource = Resource(missing=colander.required)
def make_one(self): from adhocracy_core.schema import Resource return Resource()
def create_arbitrary_filter_node(index, example_value, query): return Resource()
class GETItemResponseSchema(ResourcePathAndContentSchema): """Data structure for responses of IItem requests.""" first_version_path = Resource()
class ItemResponseSchema(ResourceResponseSchema): """Data structure for responses of IItem requests.""" first_version_path = Resource()