'holder': fields.String(), 'holder_url': fields.Uri(), 'licence': fields.String(), 'licence_url': fields.Uri(), 'year': fields.Integer(), 'logo': fields.String() }) EVENT_CFS = api.model( 'EventCFS', { 'announcement': fields.String(), 'start_date': fields.DateTime(), 'end_date': fields.DateTime(), 'timezone': fields.String(), 'privacy': EventPrivacyField() # [public, private] }) EVENT_VERSION = api.model( 'EventVersion', { 'event_ver': fields.Integer(), 'sessions_ver': fields.Integer(), 'speakers_ver': fields.Integer(), 'tracks_ver': fields.Integer(), 'sponsors_ver': fields.Integer(), 'microlocations_ver': fields.Integer() }) SOCIAL_LINK = api.model( 'SocialLink', { 'id': fields.Integer(),
'start_time': fields.DateTime(required=True), 'end_time': fields.DateTime(required=True), 'timezone': fields.String(), 'latitude': fields.Float(), 'longitude': fields.Float(), 'event_url': fields.Uri(), 'background_url': fields.ImageUri(), 'description': fields.String(), 'location_name': fields.String(), 'organizer_name': fields.String(), 'organizer_description': fields.String(), 'state': fields.String(), 'closing_datetime': fields.DateTime(), 'type': EventTypeField(), 'topic': EventTopicField(), 'privacy': EventPrivacyField(), 'ticket_url': fields.Uri(), 'creator': fields.Nested(EVENT_CREATOR, allow_null=True), 'schedule_published_on': fields.DateTime(), 'code_of_conduct': fields.String(), 'social_links': fields.List(fields.Nested(EVENT_SOCIAL), attribute='social_link') }) EVENT_PAGINATED = api.clone('EventPaginated', PAGINATED_MODEL, { 'results': fields.List(fields.Nested(EVENT)) }) EVENT_POST = api.clone('EventPost', EVENT) SOCIAL_LINK_POST = api.clone('SocialLinkPost', EVENT_SOCIAL) del EVENT_POST['id']