class AnnotationSchema(BaseAnnotationSchema): required = fields.Boolean(default=False) ignore = fields.Boolean(default=False) ignore_beneath = fields.Boolean(default=False) variant = fields.Integer(default=False) slice = fields.List(fields.Integer()) pre_text = fields.Str() post_text = fields.Str() selection_mode = fields.Str() field = fields.Relationship( related_url='/api/projects/{project_id}/schemas/{schema_id}/fields/' '{field_id}', related_url_kwargs={ 'project_id': '<project_id>', 'schema_id': '<schema_id>', 'field_id': '<field.id>' }, type_='fields', include_resource_linkage=True) extractors = fields.Relationship( related_url='/api/projects/{project_id}/extractors', related_url_kwargs={'project_id': '<project_id>'}, many=True, include_resource_linkage=True, type_='extractors') class Meta: type_ = 'annotations'
class CustomFormSchema(SoftDeletionSchema): """ API Schema for Custom Forms database model """ class Meta: """ Meta class for CustomForm Schema """ type_ = 'custom-form' self_view = 'v1.custom_form_detail' self_view_kwargs = {'id': '<id>'} inflect = dasherize id = fields.Integer(dump_only=True) field_identifier = fields.Str(required=True) form = fields.Str(required=True) type = fields.Str(default="text", validate=validate.OneOf( choices=["text", "checkbox", "select", "file", "image", "email", "number"])) description = fields.Str(allow_none=True) is_required = fields.Boolean(default=False) is_included = fields.Boolean(default=False) is_complex = fields.Boolean(default=False) is_fixed = fields.Boolean(default=False) event = Relationship(attribute='event', self_view='v1.custom_form_event', self_view_kwargs={'id': '<id>'}, related_view='v1.event_detail', related_view_kwargs={'custom_form_id': '<id>'}, schema='EventSchemaPublic', type_='event')
class TaxSchema(Schema): class Meta: type_ = 'tax' self_view = 'v1.tax_detail' self_view_kwargs = {'id': '<id>'} inflect = dasherize id = fields.Str(dump_only=True) country = fields.Str(allow_none=True) name = fields.Str(required=True) rate = fields.Float(validate=lambda n: 0 <= n <= 100, required=True) tax_id = fields.Str(required=True) should_send_invoice = fields.Boolean(default=False) registered_company = fields.Str(allow_none=True) address = fields.Str(allow_none=True) city = fields.Str(allow_none=True) state = fields.Str(allow_none=True) zip = fields.Integer(allow_none=True) invoice_footer = fields.Str(allow_none=True) is_tax_included_in_price = fields.Boolean(default=False) event = Relationship(attribute='event', self_view='v1.tax_event', self_view_kwargs={'id': '<id>'}, related_view='v1.event_detail', related_view_kwargs={'tax_id': '<id>'}, schema='EventSchemaPublic', type_='event')
class EmailNotificationSchema(SoftDeletionSchema): """ API Schema for email notification Model """ class Meta: """ Meta class for email notification API schema """ type_ = 'email-notification' self_view = 'v1.email_notification_detail' self_view_kwargs = {'id': '<id>'} inflect = dasherize id = fields.Integer(dump_only=True) next_event = fields.Boolean(default=False, allow_none=True) new_paper = fields.Boolean(default=False, allow_none=True) session_accept_reject = fields.Boolean(default=False, allow_none=True) session_schedule = fields.Boolean(default=False, allow_none=True) after_ticket_purchase = fields.Boolean(default=True, allow_none=True) event_id = fields.Integer(allow_none=True) event = Relationship(attribute='event', self_view='v1.email_notification_event', self_view_kwargs={'id': '<id>'}, related_view='v1.event_detail', related_view_kwargs={'email_notification_id': '<id>'}, schema='EventSchemaPublic', type_='event') user = Relationship(attribute='user', self_view='v1.email_notification_user', self_view_kwargs={'id': '<id>'}, related_view='v1.user_detail', related_view_kwargs={'email_notification_id': '<id>'}, schema='UserSchema', type_='user')
class EventImageSizeSchema(Schema): """ Api schema for image_size Model """ class Meta: """ Meta class for image_size Api Schema """ type_ = 'event-image-size' self_view = 'v1.event_image_size_detail' self_view_kwargs = {'id': '<id>'} inflect = dasherize id = fields.Str(dump_only=True) type = fields.Str(allow_none=True) full_width = fields.Integer(validate=lambda n: n >= 0, allow_none=True) full_height = fields.Integer(validate=lambda n: n >= 0, allow_none=True) full_aspect = fields.Boolean(default=False) full_quality = fields.Integer(validate=lambda n: 0 <= n <= 100, allow_none=True) icon_width = fields.Integer(validate=lambda n: n >= 0, allow_none=True) icon_height = fields.Integer(validate=lambda n: n >= 0, allow_none=True) icon_aspect = fields.Boolean(default=False) icon_quality = fields.Integer(validate=lambda n: 0 <= n <= 100, allow_none=True) thumbnail_width = fields.Integer(validate=lambda n: n >= 0, allow_none=True) thumbnail_height = fields.Integer(validate=lambda n: n >= 0, allow_none=True) thumbnail_aspect = fields.Boolean(default=False) thumbnail_quality = fields.Integer(validate=lambda n: 0 <= n <= 100, allow_none=True) logo_width = fields.Integer(validate=lambda n: n >= 0, allow_none=True) logo_height = fields.Integer(validate=lambda n: n >= 0, allow_none=True)
class AvailableOSUpdateSchema(Schema): class Meta: type_ = 'available_os_updates' self_view = 'api_app.available_os_update_detail' self_view_kwargs = {'available_os_update_id': '<id>'} self_view_many = 'api_app.available_os_updates_list' id = fields.Int(dump_only=True) allows_install_later = fields.Boolean() # app_identifiers_to_close = fields.List(fields.String()) human_readable_name = fields.Str() human_readable_name_locale = fields.Str() is_config_data_update = fields.Boolean() is_critical = fields.Boolean() is_firmware_update = fields.Boolean() metadata_url = fields.URL() product_key = fields.String() restart_required = fields.Boolean() version = fields.String() device = Relationship( related_view='api_app.device_detail', related_view_kwargs={'device_id': '<device_id>'}, type_='devices', )
class AttendeeSchemaPublic(SoftDeletionSchema): """ Api schema for Ticket Holder Model """ class Meta: """ Meta class for Attendee API Schema """ type_ = 'attendee' self_view = 'v1.attendee_detail' self_view_kwargs = {'id': '<id>'} inflect = dasherize id = fields.Str(dump_only=True) firstname = fields.Str(required=True) lastname = fields.Str(required=True) email = fields.Str(allow_none=True) address = fields.Str(allow_none=True) city = fields.Str(allow_none=True) state = fields.Str(allow_none=True) country = fields.Str(allow_none=True) job_title = fields.Str(allow_none=True) phone = fields.Str(allow_none=True) tax_business_info = fields.Str(allow_none=True) billing_address = fields.Str(allow_none=True) home_address = fields.Str(allow_none=True) shipping_address = fields.Str(allow_none=True) company = fields.Str(allow_none=True) work_address = fields.Str(allow_none=True) work_phone = fields.Str(allow_none=True) website = fields.Url(allow_none=True) blog = fields.Url(allow_none=True) twitter = fields.Url(allow_none=True) facebook = fields.Url(allow_none=True) github = fields.Url(allow_none=True) gender = fields.Str(allow_none=True) birth_date = fields.DateTime(allow_none=True) ticket_id = fields.Str(allow_none=True) is_checked_in = fields.Boolean() device_name_checkin = fields.Str(allow_none=True) checkin_times = fields.Str(allow_none=True) checkout_times = fields.Str(allow_none=True, dump_only=True) attendee_notes = fields.Str(allow_none=True) is_checked_out = fields.Boolean() pdf_url = fields.Url(dump_only=True) event = Relationship(attribute='event', self_view='v1.attendee_event', self_view_kwargs={'id': '<id>'}, related_view='v1.event_detail', related_view_kwargs={'attendee_id': '<id>'}, schema='EventSchema', type_='event') user = Relationship(attribute='user', self_view='v1.attendee_user', self_view_kwargs={'id': '<id>'}, related_view='v1.user_detail', related_view_kwargs={'attendee_id': '<id>'}, schema='UserSchemaPublic', type_='user')
class UserSchema(Schema): class Meta: sqla_session = db.session model = user_models.User type_ = "users" self_view = "rest_api.user" self_view_kwargs = {"id": "<id>"} id = f.Int(attribute="user_id", required=False, allow_none=True, as_string=True) username = f.String() email = f.String() salt = f.String() password = f.String() created_at = f.DateTime() first_name = f.String() last_name = f.String() active = f.Boolean() admin = f.Boolean(attribute="is_admin") api_token = f.String() reports = Relationship( related_view="rest_api.user_reportlist", related_view_kwargs={"id": "<user_id>"}, many=True, type_="reports", required=False, schema="ReportSchema", )
class EventsRolePermissionSchema(Schema): """ API Schema for Permission Model """ class Meta: """ Meta class for Notification API schema """ type_ = 'event-role-permission' self_view = 'v1.events_role_detail' self_view_kwargs = {'id': '<id>'} self_view_many = 'v1.events_role_list' inflect = dasherize id = fields.Str(dump_only=True) can_create = fields.Boolean(default=False) can_read = fields.Boolean(default=False) can_update = fields.Boolean(default=False) can_delete = fields.Boolean(default=False) role = Relationship(attribute='role', self_view='v1.event_role_role', self_view_kwargs={'id': '<id>'}, related_view='v1.role_detail', related_view_kwargs={'id': '<role_id>'}, schema='RoleSchema', type_='role') service = Relationship(attribute='service', self_view='v1.event_role_service', self_view_kwargs={'id': '<id>'}, related_view='v1.service_detail', related_view_kwargs={'id': '<service_id>'}, schema='ServiceSchema', type_='service')
class PlantSchema(Schema): class Meta: type_ = 'plants' self_view = 'plant_detail' self_view_kwargs = {'id': '<id>'} self_view_many = 'plant_list' id = fields.Str(dump_only=True) created = fields.Date() modified = fields.Date() friendlyname = fields.String(attribute='friendly_name', required=True) latinname = fields.String(attribute='latin_name') droughttolerant = fields.Boolean(attribute='drought_tolerant') medicinal = fields.Boolean() edible = fields.Boolean() imagelarge = fields.String(attribute='image_large') imagesmall = fields.String(attribute='image_small') types = Relationship(attribute='type', self_view='plant_type', self_view_kwargs={'id': '<id>'}, related_view='type_detail', related_view_kwargs={'id': '<id>'}, schema='TypeSchema', type_='types') woodtypes = Relationship(attribute='wood_type', self_view='plant_type', self_view_kwargs={'id': '<id>'}, related_view='woodtype_detail', related_view_kwargs={'id': '<id>'}, schema='WoodTypeSchema', type_='woodtypes') lifespans = Relationship(attribute='lifespan', self_view='plant_type', self_view_kwargs={'id': '<id>'}, related_view='lifespan_detail', related_view_kwargs={'id': '<id>'}, schema='LifespanSchema', type_='lifespans') leafcycles = Relationship(attribute='leaf_cycle', self_view='plant_type', self_view_kwargs={'id': '<id>'}, related_view='leafcycle_detail', related_view_kwargs={'id': '<id>'}, schema='LeafCycleSchema', type_='leafcycles') plantnotes = Relationship(self_view='plant_notes', self_view_kwargs={'id': '<id>'}, related_view='plantnote_list', related_view_kwargs={'id': '<id>'}, many=True, schema='PlantNoteSchema', type_='plantnotes') plantlineages = Relationship(self_view='plant_lineages', self_view_kwargs={'id': '<id>'}, related_view='plantlineage_list', related_view_kwargs={'id': '<id>'}, many=True, schema='PlantLineageSchema', type_='plantlineages')
class ModuleSchema(Schema): class Meta: type_ = 'modules' id = fields.Integer(dump_only=True, as_string=True) ticketInclude = fields.Boolean(required=True) paymentInclude = fields.Boolean(required=True) donationInclude = fields.Boolean(required=True)
class ModifyPermissionsDone(Schema): class Meta: type_ = 'modification-done' id = fields.Str(required=True, dump_only=True) isUser = fields.Boolean(dump_only=True) isAdmin = fields.Boolean(dump_only=True) isSales = fields.Boolean(dump_only=True)
class SpiderSchema(SlydSchema): id = fields.Str(dump_only=True, load_from='name') name = fields.Str() start_urls = fields.List(fields.Str(), default=[]) links_to_follow = fields.Str(default='patterns') follow_patterns = fields.List(fields.Str(), default=[]) exclude_patterns = fields.List(fields.Str(), default=[]) js_enabled = fields.Boolean(default=False) js_enable_patterns = fields.List(fields.Str(), default=[]) js_disable_patterns = fields.List(fields.Str(), default=[]) respect_nofollow = fields.Boolean(default=True) allowed_domains = fields.List(fields.Str(), default=[]) login_url = fields.Str() login_user = fields.Str() login_password = fields.Str() perform_login = fields.Boolean(default=False) template_names = fields.List(fields.Str(), default=[]) samples = fields.Relationship( related_url='/api/projects/{project_id}/spider/{spider_id}/samples', related_url_kwargs={ 'project_id': '<project_id>', 'spider_id': '<spider_id>' }, many=True, include_resource_linkage=True, type_='samples') project = fields.Relationship( related_url='/api/projects/{project_id}', related_url_kwargs={'project_id': '<project_id>'}, type_='projects', include_resource_linkage=True) @pre_dump def _dump_login_data(self, item): init_requests = item.pop('init_requests', None) if init_requests: login_request = init_requests[0] item['login_url'] = login_request['loginurl'] item['login_user'] = login_request['username'] item['login_password'] = login_request['password'] return item @post_load def _load_login_data(self, item): fields = ('login_url', 'login_user', 'login_password') if all(field in item and item[field] for field in fields): item['init_requests'] = [{ 'type': 'login', 'loginurl': item.pop('login_url'), 'username': item.pop('login_user'), 'password': item.pop('login_password') }] for field in fields: item.pop(field, None) return item class Meta: type_ = 'spiders'
class MessageSettingSchema(Schema): """ API Schema for Message Setting Model """ class Meta: """ Meta class for Message Setting API schema """ type_ = 'message-setting' self_view = 'v1.message_setting_detail' self_view_kwargs = {'id': '<id>'} inflect = dasherize id = fields.Str(dump_only=True) action = fields.Str( allow_none=True, dump_only=True, validate=validate.OneOf( choices=[ INVITE_PAPERS, NEW_SESSION, USER_CONFIRM, USER_REGISTER, PASSWORD_RESET, EVENT_ROLE, SESSION_ACCEPT_REJECT, SESSION_SCHEDULE, NEXT_EVENT, EVENT_PUBLISH, AFTER_EVENT, USER_CHANGE_EMAIL, USER_REGISTER_WITH_PASSWORD, TICKET_PURCHASED, EVENT_EXPORTED, EVENT_EXPORT_FAIL, MAIL_TO_EXPIRED_ORDERS, MONTHLY_PAYMENT_EMAIL, MONTHLY_PAYMENT_FOLLOWUP_EMAIL, EVENT_IMPORTED, EVENT_IMPORT_FAIL, TICKET_PURCHASED_ORGANIZER, TICKET_CANCELLED, TICKET_PURCHASED_ATTENDEE, PASSWORD_CHANGE, ] ), ) mail_status = fields.Boolean(default=False) notification_status = fields.Boolean(default=False) user_control_status = fields.Boolean(default=False) email_message = fields.Str(dump_only=True) recipient = fields.Str(dump_only=True) email_subject = fields.Str(dump_only=True) notification_title = fields.Str(dump_only=True) notification_message = fields.Str(dump_only=True) sent_at = fields.DateTime(dump_only=True)
class ModifyPermissionsIncoming(Schema): class Meta: type_ = 'modify-permissions' id = fields.Str(required=True, dump_only=True) uid = fields.Str(required=True) isUser = fields.Boolean(default=True) isAdmin = fields.Boolean(default=False) isSales = fields.Boolean(default=False)
class SubdomainSchema(Schema): class Meta: type_ = "subdomain" strict = True inflect = drinkingCamel id = fields.Str() name = fields.Str() in_use = fields.Boolean() reserved = fields.Boolean()
class VideoStreamExtraOptionsSchema(JsonSchema): record = fields.Boolean(default=True) autoStartRecording = fields.Boolean(default=False) muteOnStart = fields.Boolean(default=True) welcome = fields.String(required=False, allow_none=True) maxParticipants = fields.Integer(required=False, allow_none=True) duration = fields.Integer(required=False, allow_none=True) moderatorOnlyMessage = fields.String(required=False, allow_none=True) logo = fields.URL(required=False, allow_none=True) bannerText = fields.String(required=False, allow_none=True) bannerColor = fields.String(required=False, allow_none=True) guestPolicy = fields.String(required=False, allow_none=True) allowModsToUnmuteUsers = fields.Boolean(default=True) endCurrentMeeting = fields.Boolean(default=False)
class NotificationSchema(SoftDeletionSchema): """ API Schema for Notification Model """ class Meta: """ Meta class for Notification API schema """ type_ = 'notification' self_view = 'v1.notification_detail' self_view_kwargs = {'id': '<id>'} inflect = dasherize id = fields.Str(dump_only=True) title = fields.Str(allow_none=True, dump_only=True) message = fields.Str(allow_none=True, dump_only=True) received_at = fields.DateTime(dump_only=True) accept = fields.Str(allow_none=True, dump_only=True) is_read = fields.Boolean() notification_actions = Relationship( attribute='actions', schema='NotificationActionSchema', self_view='v1.notification_actions', self_view_kwargs={'id': '<id>'}, related_view='v1.notification_actions_list', related_view_kwargs={'notification_id': '<id>'}, many=True, type_='notification-action') user = Relationship(attribute='user', self_view='v1.notification_user', self_view_kwargs={'id': '<id>'}, related_view='v1.user_detail', related_view_kwargs={'notification_id': '<id>'}, schema='UserSchema', type_='user')
class DiscountCodeSchemaPublic(Schema): """ API Schema for discount_code Model For endpoints which allow somebody other than co-organizer/admin to access the resource. """ class Meta: type_ = 'discount-code' self_view = 'v1.discount_code_detail' self_view_kwargs = {'id': '<id>'} inflect = dasherize id = fields.Integer() code = fields.Str(required=True) discount_url = fields.Url(allow_none=True) value = fields.Float(required=True) type = fields.Str(validate=validate.OneOf(choices=["amount", "percent"]), required=True) is_active = fields.Boolean() tickets_number = fields.Integer(validate=lambda n: n >= 0, allow_none=True) min_quantity = fields.Integer(validate=lambda n: n >= 0, allow_none=True) max_quantity = fields.Integer(validate=lambda n: n >= 0, allow_none=True) valid_from = fields.DateTime(allow_none=True) valid_till = fields.DateTime(allow_none=True) used_for = fields.Str(validate=validate.OneOf(choices=["event", "ticket"]), allow_none=False) created_at = fields.DateTime(allow_none=True) tickets = fields.Str(allow_none=True) event = Relationship(attribute='event', self_view='v1.discount_code_event', self_view_kwargs={'id': '<id>'}, related_view='v1.event_detail', related_view_kwargs={'discount_code_id': '<id>'}, schema='EventSchemaPublic', type_='event')
class ExampleSchema(marshmallow_jsonapi.Schema): id = fields.UUID(required=True) body = fields.Str() is_active = fields.Boolean(attribute='active') class Meta: type_ = 'example'
class PanelPermissionSchema(Schema): """ API Schema for panel permission Model """ class Meta: """ Meta class for user email API schema """ type_ = 'panel-permission' self_view = 'v1.panel_permission_detail' self_view_kwargs = {'id': '<id>'} inflect = dasherize id = fields.Str(dump_only=True) panel_name = fields.String(allow_none=False) can_access = fields.Boolean() custom_system_roles = Relationship(attribute='custom_system_roles', many=True, self_view='v1.panel_permissions_custom_system_roles', self_view_kwargs={'id': '<id>'}, related_view='v1.custom_system_role_list', related_view_kwargs={'panel_id': '<id>'}, schema='CustomSystemRoleSchema', type_='custom-system-role')
class ProfileSchema(Schema): class Meta: type_ = 'profiles' self_view = 'profiles_api.profile_detail' self_view_kwargs = {'profile_id': '<id>'} self_view_many = 'profiles_api.profiles_list' id = fields.Int(dump_only=True) data = fields.String() description = fields.Str() display_name = fields.Str() expiration_date = fields.DateTime() identifier = fields.Str() organization = fields.Str() uuid = fields.UUID() removal_disallowed = fields.Boolean() version = fields.Int() scope = fields.Str() removal_date = fields.DateTime() duration_until_removal = fields.Int() consent_en = fields.Str() tags = Relationship(related_view='api_app.tag_detail', related_view_kwargs={'tag_id': '<id>'}, many=True, schema='TagSchema', type_='tags')
class StatusSchema(Schema): id = fields.Str(dump_only=True) connect = fields.Boolean() details = fields.Str() def __init__(self): ip = IPRoute() pppLinksIds = ip.link_lookup(ifname=INTERFACE) if len(pppLinksIds) > 0: state = ip.get_links(pppLinksIds)[0].get_attr('IFLA_OPERSTATE') if state == 'UP': self.connect = True self.details = INTERFACE + " interface UP" else: self.connect = False self.details = INTERFACE + " exist but no UP" ip.close() else: self.connect = False self.details = INTERFACE + " interface no exist" super(StatusSchema, self).__init__() class Meta: type_ = 'pppoe_status' strict = True
class NewsSubscriptionSchema(Schema): class Meta: type_ = 'news-subscription' self_view = 'v1.news_subscription_details' self_view_kwargs = {'id': '<id>'} self_view_many = 'v1.news_subscriptions_list' inflect = dasherize strict = True ordered = True id = fields.Str(dump_only=True) subscribed = fields.Boolean(required=True) subscribed_on_date_time = fields.DateTime(dump_only=True) user = Relationship( attribute='user', self_view='v1.news_subscription_user', self_view_kwargs={'id': '<id>'}, related_view='v1.user_details', related_view_kwargs={'id': '<user_id>'}, schema='UserSchema', type_='user', ) news = Relationship(attribute='news', self_view='v1.news_subscription_news', self_view_kwargs={'id': '<news.id>'}, related_view='v1.news_details', related_view_kwargs={'id': '<news.id>'}, schema='NewsSchema', type_='news', required=True)
class PlantLineageGenerationSchema(Schema): class Meta: type_ = 'plantlineagegenerations' self_view = 'plantlineagegeneration_detail' self_view_kwargs = {'id': '<id>'} self_view_many = 'plantlineagegeneration_list' id = fields.Str(dump_only=True) created = fields.Date() modified = fields.Date() generationslot = fields.Integer(attribute='generation_slot') isorigin = fields.Boolean(attribute='is_origin') plantlineage = Relationship( attribute='plant_lineage', self_view='plantlineagegeneration_plantlineage', self_view_kwargs={'id': '<id>'}, related_view='plantlineage_detail', related_view_kwargs={'id': '<id>'}, schema='PlantLineageSchema', type_='plantlineages') plantgeneration = Relationship( attribute='plant_generation', self_view='plantlineagegeneration_plantgeneration', self_view_kwargs={'id': '<id>'}, related_view='plantgeneration_detail', related_view_kwargs={'id': '<id>'}, schema='PlantGenerationSchema', type_='plantgenerations')
class GeokretSchemaPublic(Schema): class Meta: type_ = 'geokret' self_view = 'v1.geokret_details' self_view_kwargs = {'id': '<id>'} self_view_many = 'v1.geokrety_list' inflect = dasherize ordered = True id = fields.Str(dump_only=True) name = fields.Str(required=True) description = fields.Str() missing = fields.Boolean(dump_only=True) distance = fields.Integer(dump_only=True) caches_count = fields.Integer(dump_only=True) pictures_count = fields.Integer(dump_only=True) average_rating = fields.Float(dump_only=True) created_on_date_time = fields.Date(dump_only=True) updated_on_date_time = fields.Date(dump_only=True) owner = Relationship(attribute='owner', self_view='v1.geokret_owner', self_view_kwargs={'id': '<id>'}, related_view='v1.user_details', related_view_kwargs={'id': '<owner_id>'}, schema='UserSchemaPublic', type_='user') holder = Relationship(attribute='holder', self_view='v1.geokret_holder', self_view_kwargs={'id': '<id>'}, related_view='v1.user_details', related_view_kwargs={'id': '<holder_id>'}, schema='UserSchemaPublic', type_='user')
class NotificationSchema(Schema): """ API Schema for Notification Model """ class Meta: """ Meta class for Notification API schema """ type_ = 'notification' self_view = 'v1.notification_detail' self_view_kwargs = {'id': '<id>'} inflect = dasherize id = fields.Str(dump_only=True) created_at = fields.DateTime(dump_only=True) is_read = fields.Boolean() content = fields.Nested(NotificationContentSchema) user = Relationship( self_view='v1.notification_user', self_view_kwargs={'id': '<id>'}, related_view='v1.user_detail', related_view_kwargs={'notification_id': '<id>'}, schema='UserSchema', type_='user', )
class SCEPConfigFlatSchema(FlatSchema): url = fields.Url(relative=False, schemes=['http', 'https'], required=True) challenge_enabled = fields.Boolean() ca_fingerprint = fields.String() subject = fields.String() key_size = fields.Integer() key_type = fields.String(dump_only=True) key_usage = fields.Integer() subject_alt_name = fields.String() retries = fields.Integer() retry_delay = fields.Integer() certificate_renewal_time_interval = fields.Integer() @post_load def make_scepconfig(self, data: dict) -> SCEPConfig: """Construct a model from a parsed JSON schema.""" rows = db.session.query(SCEPConfig).count() if rows == 1: db.session.query(SCEPConfig).update(data) o = db.session.query(SCEPConfig).first() else: o = SCEPConfig(**data) db.session.add(o) return o
class UserSchemaPublic(SoftDeletionSchema): """ Api schema for User Model which can be accessed by any resource to which user is related. Co-organizers of events to which the user will be related will have access to this info. """ class Meta: """ Meta class for User Api Schema """ type_ = 'user' self_view = 'v1.user_detail' self_view_kwargs = {'id': '<id>'} inflect = dasherize id = fields.Str(dump_only=True) email = fields.Email(required=True) avatar_url = fields.Url(allow_none=True) first_name = fields.Str(allow_none=True) last_name = fields.Str(allow_none=True) original_image_url = fields.Url(dump_only=True, allow_none=True) thumbnail_image_url = fields.Url(dump_only=True, allow_none=True) small_image_url = fields.Url(dump_only=True, allow_none=True) icon_image_url = fields.Url(dump_only=True, allow_none=True) was_registered_with_order = fields.Boolean()
class SampleFilterSchema(OptionalLinkSchema): class Meta: sqla_session = db.session type_ = "filters" model = models.SampleFilter self_view = "rest_api.filter" self_view_many = "rest_api.filterlist" self_view_kwargs = {"id": "<id>"} id = f.Integer(attribute="sample_filter_id", allow_none=True, as_string=True) tag = f.String(attribute="sample_filter_tag") name = f.String(attribute="sample_filter_name") public = f.Boolean(attribute="is_public") data = JsonString(attribute="sample_filter_data") user = Relationship( related_view="rest_api.user", related_view_kwargs={"id": "<user_id>"}, type_="users", include_resource_linkage=True, id_field="user_id", schema="UserSchema", )