from datetime import datetime from marshmallow import Schema, fields from server.publishers.clients.sns.utils import format_attributes from server.publishers.schemas.base import BaseMessageBodySchema, DumpMessageMixin class EventCreatedEvent(DumpMessageMixin, Schema): class EventBodySchema(BaseMessageBodySchema): code = fields.Str() created_at = fields.Function(lambda x: datetime.utcnow().isoformat()) _message_schema = EventBodySchema Id = fields.Function(lambda obj: str(obj.id)) MessageAttributes = fields.Function(lambda obj: format_attributes(code=obj.code))