Ejemplo n.º 1
0
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')
Ejemplo n.º 2
0
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')
Ejemplo n.º 3
0
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')
Ejemplo n.º 4
0
class DatedBadgeSchema(Schema):
    class Meta:
        type_ = 'dated-badges'
        kwargs = {'id': '<id>'}

    id = fields.Str(required=True, dump_only=True)
    start_date = fields.Date(required=True)
    end_date = fields.Date(required=True)
Ejemplo n.º 5
0
class DeptEmpSchema(Schema):
    id = fields.Str(dump_only=True)
    dept_no = fields.Str(dump_only=True)
    from_date = fields.Date()
    to_date = fields.Date()

    class Meta:
        type_ = 'dept_emp'
Ejemplo n.º 6
0
class PlantingPhysicalSourceSchema(Schema):
    class Meta:
        type_ = 'plantingphysicalsources'
        self_view = 'plantingphysicalsource_detail'
        self_view_kwargs = {'id': '<id>'}
        self_view_many = 'plantingphysicalsource_list'

    id = fields.Str(dump_only=True)
    created = fields.Date()
    modified = fields.Date()
    enum = fields.String(required=True)
    name = fields.String(required=True)
Ejemplo n.º 7
0
class MoveCommentSchema(Schema):
    @validates('comment')
    def validate_comment_blank(self, data):
        data = characterentities.decode(data).replace('\x00', '').strip()
        if not data:
            raise UnprocessableEntity("Comment cannot be blank",
                                      {'pointer': '/data/attributes/comment'})

    @validates('type')
    def validate_type_value(self, data):
        if data not in MOVE_COMMENT_TYPES_LIST:
            raise UnprocessableEntity("Comment type is invalid",
                                      {'pointer': '/data/attributes/type'})

    class Meta:
        type_ = 'move-comment'
        self_view = 'v1.move_comment_details'
        self_view_kwargs = {'id': '<id>'}
        self_view_many = 'v1.move_comment_list'
        inflect = dasherize
        ordered = True

    id = fields.Integer(as_string=True, dump_only=True)
    comment = fields.Str(required=True)
    type = fields.Integer(allow_none=False)
    created_on_datetime = fields.Date(dump_only=True)
    updated_on_datetime = fields.Date(dump_only=True)

    author = Relationship(
        attribute='author',
        self_view='v1.move_comment_author',
        self_view_kwargs={'id': '<id>'},
        related_view='v1.user_details',
        related_view_kwargs={'move_comment_id': '<id>'},
        schema='UserSchema',
        type_='user',
        include_resource_linkage=True,
    )

    move = Relationship(
        attribute='move',
        self_view='v1.move_comment_move',
        self_view_kwargs={'id': '<id>'},
        related_view='v1.move_details',
        related_view_kwargs={'move_comment_id': '<id>'},
        schema='NewsSchema',
        type_='move',
        include_resource_linkage=True,
        required=True,
    )
Ejemplo n.º 8
0
class EmployeesSchema(Schema):
    id = fields.Str(dump_only=True)
    birth_date = fields.Date(required=True)
    hire_date = fields.Date(required=True)
    first_name = fields.Str(required=True)
    gender = fields.Str()

    department = Relationship(
        related_view='department_detail',
        include_data=True,
        type_='departments'
    )

    class Meta:
        type_ = 'employees'
Ejemplo n.º 9
0
class BadgeSchema(Schema):
    @validates('name')
    def validate_title_blank(self, data):
        data = characterentities.decode(data).replace('\x00', '').strip()
        if not data:
            raise UnprocessableEntity("Badge name cannot be blank",
                                      {'pointer': '/data/attributes/name'})

    class Meta:
        type_ = 'badge'
        self_view = 'v1.badge_details'
        self_view_kwargs = {'id': '<id>'}
        self_view_many = 'v1.badges_list'
        inflect = dasherize
        strict = True
        ordered = True
        dateformat = "%Y-%m-%dT%H:%M:%S"

    id = fields.Integer(as_string=True, dump_only=True)
    name = fields.Str(required=True)
    description = fields.Str(allow_none=True)
    filename = fields.Str(dump_only=True)
    created_on_datetime = fields.Date(dump_only=True)
    upload_url = fields.Str(dump_only=True)

    author = Relationship(attribute='author',
                          self_view='v1.badge_author',
                          self_view_kwargs={'id': '<id>'},
                          related_view='v1.user_details',
                          related_view_kwargs={'badge_author_id': '<id>'},
                          schema='UserSchema',
                          type_='user',
                          include_resource_linkage=True)
Ejemplo n.º 10
0
class UserBadges(Schema):
    class Meta:
        type_ = 'my-badges'
        self_view = 'generateBadges.get_badges'
        kwargs = {'id': '<id>'}

    id = fields.Str(required=True, dump_only=True)
    badge_name = fields.Str(required=True)
    image = fields.Str(required=True)
    csv = fields.Str(required=True)
    badge_id = fields.Str(required=True)
    text_color = fields.Str(required=True)
    badge_size = fields.Str(required=True)
    download_link = fields.Str(required=True)
    created_at = fields.Date(required=True)
    image_link = fields.Str(required=True)
    paper_size = fields.Str(required=True)
    user_id = fields.Relationship(
        self_url='/api/upload/get_file',
        self_url_kwargs={'file_id': '<id>'},
        related_url='/user/register',
        related_url_kwargs={'id': '<id>'},
        include_resource_linkage=True,
        type_='User'
    )
Ejemplo n.º 11
0
class AllGenBadges(Schema):
    class Meta:
        type_ = 'all-badges'
        kwargs = {'id': '<id>'}

    id = fields.Date(required=True, dump_only=True)
    cnt = fields.Str(required=True)
Ejemplo n.º 12
0
class NewsCommentSchema(Schema):
    class Meta:
        type_ = 'news-comment'
        self_view = 'v1.news_comment_details'
        self_view_kwargs = {'id': '<id>'}
        self_view_many = 'v1.news_comments_list'
        inflect = dasherize
        ordered = True

    id = fields.Str(dump_only=True)
    comment = fields.Str()
    icon = fields.Integer(dump_only=True)
    created_on_date = fields.Date(dump_only=True)

    author = Relationship(attribute='author',
                          self_view='v1.news_comments_author',
                          self_view_kwargs={'id': '<id>'},
                          related_view='v1.user_details',
                          related_view_kwargs={'id': '<author_id>'},
                          schema='UserSchema',
                          type_='user',
                          required=True)

    news = Relationship(attribute='news',
                        self_view='v1.news_comments_news',
                        self_view_kwargs={'id': '<id>'},
                        related_view='v1.news_details',
                        related_view_kwargs={'id': '<news_id>'},
                        schema='NewsSchema',
                        type_='news',
                        required=True)
Ejemplo n.º 13
0
class FeatureRequestSchema(Schema):
    class Meta:
        type_ = 'feature_request'
        self_view = 'feature_request_detail'
        self_view_kwargs = {'id': '<id>'}
        self_view_many = 'feature_request_list'

    id = fields.Integer(as_string=True, dump_only=True)
    title = fields.Str(requried=True)
    description = fields.Str(requried=True)
    client = Relationship(attribute='client',
                          self_view='client_detail',
                          self_view_kwargs={'id': '<id>'},
                          schema='ClientSchema',
                          type_='client')
    client_priority = Relationship(attribute='client_priority',
                                   self_view='priority_detail',
                                   self_view_kwargs={'id': '<id>'},
                                   schema='PrioritySchema',
                                   type_='priority')
    target_date = fields.Date(requried=True)
    product_area = Relationship(attribute='product_area',
                                self_view='product_area_detail',
                                self_view_kwargs={'id': '<id>'},
                                schema='ProductAreaSchema',
                                type_='product_area')
Ejemplo n.º 14
0
class MatchSchema(Schema):
    id = fields.Integer()
    instatid = fields.Integer()
    league_id = fields.Integer()
    league_instatid = fields.Integer()
    league = fields.String()
    country = fields.String()
    home_team_id = fields.Integer()
    guest_team_id = fields.Integer()
    home_team_instatid = fields.Integer()
    guest_team_instatid = fields.Integer()
    season = fields.String()
    match_date = fields.String()
    upload_time = fields.Date()
    home_team = fields.String()
    guest_team = fields.String()
    match_result = fields.String()

    # self links
    def get_top_level_links(self, data, many):
        if many:
            self_link = "/data/"
        else:
            self_link = "/data/{}".format(data['id'])
        return {'self': self_link}

    class Meta:
        type_ = 'data'
Ejemplo n.º 15
0
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.Integer(as_string=True, dump_only=True)
    subscribed_on_datetime = fields.Date(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={'news_subscription_id': '<id>'},
        schema='UserSchema',
        type_='user',
        include_resource_linkage=True,
    )

    news = Relationship(
        attribute='news',
        self_view='v1.news_subscription_news',
        self_view_kwargs={'id': '<id>'},
        related_view='v1.news_details',
        related_view_kwargs={'news_subscription_id': '<id>'},
        schema='NewsSchema',
        type_='news',
        required=True,
        include_resource_linkage=True,
    )
Ejemplo n.º 16
0
class SearchedUserSchema(Schema):
    class Meta:
        type_ = 'all-users'

    id = fields.Str(required=True, dump_only=True)
    username = fields.Str(required=True)
    email = fields.Str(required=True)
    password = fields.Str(required=True)
    created_at = fields.Date(required=True)
    photoURL = fields.Str(required=True)
    deleted_at = fields.Date()
    isAdmin = fields.Bool()
    isUser = fields.Bool()
    isSales = fields.Bool()
    lastLoginIp = fields.Str(allow_none=True)
    lastLoginDate = fields.Str(allow_none=True)
Ejemplo n.º 17
0
class AllUserStat(Schema):
    class Meta:
        type_ = 'admin-stat-users'
        kwargs = {'id': '<id>'}

    id = fields.Date(required=True, dump_only=True)
    superAdmin = fields.Str(required=True)
    registered = fields.Str(required=True)
Ejemplo n.º 18
0
class PlantGenerationSchema(Schema):
    class Meta:
        type_ = 'plantgenerations'
        self_view = 'plantgeneration_detail'
        self_view_kwargs = {'id': '<id>'}
        self_view_many = 'plantgeneration_list'

    id = fields.Str(dump_only=True)
    created = fields.Date()
    modified = fields.Date()
    plantings = Relationship(self_view='plantgeneration_plantings',
                             self_view_kwargs={'id': '<id>'},
                             related_view='planting_list',
                             related_view_kwargs={'id': '<id>'},
                             many=True,
                             schema='PlantingSchema',
                             type_='plantings')
Ejemplo n.º 19
0
class AllUsersSchema(Schema):
    class Meta:
        type_ = 'all-users'
        self_views = 'admin.show_all_users'
        kwargs = {'id': '<id>'}

    id = fields.Str(required=True, dump_only=True, attribute='User.id')
    username = fields.Str(required=True, attribute='User.username')
    email = fields.Str(required=True, attribute='User.email')
    password = fields.Str(required=True, attribute='User.password')
    created_at = fields.Date(required=True, attribute='User.created_at')
    photoURL = fields.Str(required=True, attribute='User.photoURL')
    deleted_at = fields.Date(attribute='User.deleted_at')
    isAdmin = fields.Bool(attribute='Permissions.isAdmin')
    isUser = fields.Bool(attribute='Permissions.isUser')
    isSales = fields.Bool(attribute='Permissions.isSales')
    lastLoginIp = fields.Str(allow_none=True, attribute='User.last_login_ip')
    lastLoginDate = fields.DateTime(allow_none=True, attribute='User.last_login_date')
Ejemplo n.º 20
0
class ExchangeSchema(Schema):
    id = fields.Str(dump_only=True)
    currency_from = fields.String()
    currency_to = fields.String()
    date = fields.Date()
    value = fields.String()

    class Meta:
        type_ = 'currency_exchange'
Ejemplo n.º 21
0
class PlantingNotesSchema(Schema):
    class Meta:
        type_ = 'plantingnotes'
        self_view = 'plantingnote_detail'
        self_view_kwargs = {'id': '<id>'}
        self_view_many = 'plantingnote_list'

    id = fields.Str(dump_only=True)
    created = fields.Date()
    modified = fields.Date()
    notedate = fields.Date(attribute='note_date')
    note = fields.String()
    planting = Relationship(self_view='plantingnote_planting',
                            self_view_kwargs={'id': '<id>'},
                            related_view='planting_detail',
                            related_view_kwargs={'id': '<id>'},
                            schema='PlantingSchema',
                            type_='plantings')
Ejemplo n.º 22
0
class MomentSchema(Schema):
    id = fields.Str(dump_only=True)
    event_date = fields.Date(required=True)
    details = fields.Str(required=True, validate=not_blank)

    class Meta:
        type_ = 'moment'
        self_url = '/moment/{id}'
        self_url_kwargs = {'id': '<id>'}
        self_url_many = '/moments'
Ejemplo n.º 23
0
class LifespanSchema(Schema):
    class Meta:
        type_ = 'lifespans'
        self_view = 'lifespan_detail'
        self_view_kwargs = {'id': '<id>'}
        self_view_many = 'lifespan_list'

    id = fields.Str(dump_only=True)
    created = fields.Date()
    modified = fields.Date()
    enum = fields.String(required=True)
    name = fields.String(required=True)
    plants = Relationship(self_view='lifespan_plant',
                          self_view_kwargs={'id': '<id>'},
                          related_view='plant_detail',
                          related_view_kwargs={'id': '<id>'},
                          many=True,
                          schema='PlantSchema',
                          type_='plants')
Ejemplo n.º 24
0
class PlantHarvestNoteSchema(Schema):
    class Meta:
        type_ = 'plantharvestnotes'
        self_view = 'plantharvestnote_detail'
        self_view_kwargs = {'id': '<id>'}
        self_view_many = 'plantharvestnote_list'

    id = fields.Str(dump_only=True)
    created = fields.Date()
    modified = fields.Date()
    notedate = fields.Date(attribute='note_date')
    note = fields.String()
    plantharvest = Relationship(attribute='plant_harvest',
                                self_view='harvestnote_harvest',
                                self_view_kwargs={'id': '<id>'},
                                related_view='plantharvest_detail',
                                related_view_kwargs={'id': '<id>'},
                                schema='PlantHarvestSchema',
                                type_='plantharvests')
Ejemplo n.º 25
0
class AdminReportSchema(Schema):
    class Meta:
        type_ = 'admin-reports'

    id = fields.Date(required=True, dump_only=True)
    mailSentCount = fields.Int(as_string=True)
    badgeCount = fields.Int(as_string=True)
    badgeDeletionCount = fields.Int(as_string=True)
    userCreationCount = fields.Int(as_string=True)
    userDeletionCount = fields.Int(as_string=True)
Ejemplo n.º 26
0
class AdminMailStat(Schema):
    class Meta:
        type_ = 'admin-stat-mails'
        kwargs = {'id': '<id>'}

    id = fields.Date(required=True, dump_only=True)
    lastDayCount = fields.Str(required=True, default='0')
    lastThreeDays = fields.Str(required=True, default='0')
    lastSevenDays = fields.Str(required=True, default='0')
    lastMonth = fields.Str(required=True, default='0')
Ejemplo n.º 27
0
class UserSchemaPublic(Schema):
    class Meta:
        type_ = 'user'
        self_view = 'v1.user_details'
        self_view_kwargs = {'id': '<id>'}
        self_view_many = 'v1.users_list'
        inflect = dasherize
        ordered = True

    id = fields.Str(dump_only=True)
    name = fields.Str(required=True)
    language = fields.Str()
    country = fields.Str(dump_only=True)
    join_date_time = fields.Date(dump_only=True)

    # statpic = Relationship()
    news = Relationship(self_view='v1.user_news',
                        self_view_kwargs={'id': '<id>'},
                        related_view='v1.news_list',
                        related_view_kwargs={'author_id': '<id>'},
                        many=True,
                        schema='NewsSchema',
                        type_='news')

    news_comments = Relationship(
        self_view='v1.user_news_comments',
        self_view_kwargs={'id': '<id>'},
        related_view='v1.news_comments_list',
        related_view_kwargs={'author_id': '<id>'},
        many=True,
        schema='NewsCommentSchema',
        type_='news-comment',
        # include_resource_linkage=True
    )

    geokrety_owned = Relationship(
        self_view='v1.user_geokrety_owned',
        self_view_kwargs={'id': '<id>'},
        related_view='v1.geokrety_list',
        related_view_kwargs={'owner_id': '<id>'},
        many=True,
        schema='GeokretSchemaPublic',
        type_='geokret',
    )

    geokrety_held = Relationship(
        self_view='v1.user_geokrety_held',
        self_view_kwargs={'id': '<id>'},
        related_view='v1.geokrety_list',
        related_view_kwargs={'holder_id': '<id>'},
        many=True,
        schema='GeokretSchemaPublic',
        type_='geokret',
    )
Ejemplo n.º 28
0
class PlantHarvestSchema(Schema):
    class Meta:
        type_ = 'plantharvests'
        self_view = 'plantharvest_detail'
        self_view_kwargs = {'id': '<id>'}
        self_view_many = 'plantharvest_list'

    id = fields.Str(dump_only=True)
    created = fields.Date()
    modified = fields.Date()
    startdate = fields.Date(attribute='start_date')
    finishdate = fields.Date(attribute='finish_date')
    gramsharvested = fields.Integer(attribute='grams_harvested')
    plantgeneration = Relationship(attribute='plant_generation',
                                   self_view='harvest_plantgeneration',
                                   self_view_kwargs={'id': '<id>'},
                                   related_view='plantgeneration_detail',
                                   related_view_kwargs={'id': '<id>'},
                                   schema='PlantGenerationSchema',
                                   type_='plantgenerations')
Ejemplo n.º 29
0
class user_schema(Schema):
    # not_blank = validate.Length(min=1, error='Field cannot be blank')
    id = fields.Integer(dump_only=True)
    userid = fields.String()
    email = fields.String()
    password = fields.String()
    firstname = fields.String()
    lastname = fields.String()
    birthdate = fields.Date()

    class Meta:
        type_ = 'users'
Ejemplo n.º 30
0
class Person(Schema):
    id = fields.Integer()
    name = fields.String()
    kids_name = fields.String(attribute='name')
    age = fields.Integer()
    birth_date = fields.Date()
    updated_at = fields.DateTime()
    student = fields.Relationship(schema='Student')

    class Meta:
        inflect = dasherize
        type_ = 'people'