Пример #1
0
class RulesSerializer(Serializer):
    user = fields.ObjectField(UserRulesSerializer, required=True)
    post = fields.ObjectField(PostRulesSerializer, required=True)
    comment = fields.ObjectField(CommentRulesSerializer, required=True)

    class Meta(object):
        model = Rules
Пример #2
0
class UserProfileDtoSerializer(Serializer):

    href = fields.StringField(required=True)
    username = fields.StringField(
        required=True,
        validators=[
            NotEmptyValidator(),
            CharLenValidator(min=settings.rules.user.username_min_char,
                             max=settings.rules.user.username_max_char),
            RegexValidator(pattern=USERNAME_PATTERN)
        ])
    full_name = fields.StringField(
        required=True,
        name='fullName',
        validators=[
            NotEmptyValidator(),
            CharLenValidator(min=settings.rules.user.name_min_char,
                             max=settings.rules.user.name_max_char)
        ])
    avatar_href = fields.StringField(name='avatarHref')
    email = fields.StringField(
        required=True, validators=[NotEmptyValidator(),
                                   EmailValidator()])
    posts = fields.ListField(fields.ObjectField(PostDtoSerializer))
    comments = fields.ListField(fields.ObjectField(CommentDtoSerializer))
    liked_posts = fields.ListField(fields.ObjectField(PostDtoSerializer),
                                   name='likedPosts')
    last_posted = fields.DateTimeField(name='lastPosted')
    last_activity = fields.DateTimeField(name='lastActivity')
    register_date = fields.DateTimeField(required=True, name='registerDate')
    links = fields.ListField(fields.ObjectField(LinkDtoSerializer))

    class Meta(object):

        model = UserProfileDto
Пример #3
0
class PostDtoSerializer(Serializer):

    href = fields.StringField()
    author = fields.StringField()
    title = fields.StringField(validators=[
        NotEmptyValidator(),
        CharLenValidator(min=settings.rules.post.title_min_char,
                         max=settings.rules.post.title_max_char)
    ])
    description = fields.StringField(validators=[
        NotEmptyValidator(),
        CharLenValidator(min=settings.rules.post.title_min_char,
                         max=settings.rules.post.title_max_char)
    ])
    content = fields.StringField(validators=[NotEmptyValidator()])
    tags = fields.ListField(
        fields.StringField(validators=[
            NotEmptyValidator(),
            CharLenValidator(min=settings.rules.post.tag_min_char,
                             max=settings.rules.post.tag_max_char)
        ]))
    private = fields.BooleanField()
    featured = fields.BooleanField()
    created = fields.DateTimeField()
    edited = fields.DateTimeField()
    comments = fields.ListField(fields.ObjectField(CommentDtoSerializer))
    likes = fields.IntegerField()
    views = fields.IntegerField()
    links = fields.ListField(fields.ObjectField(LinkDtoSerializer))

    class Meta(object):

        model = PostDto
Пример #4
0
class SettingsSerializer(Serializer):
    login = fields.ObjectField(LoginSettingsSerializer, required=True)
    post = fields.ObjectField(PostSettingsSerializer, required=True)
    user = fields.ObjectField(UserSettingsSerializer, required=True)
    rules = fields.ObjectField(RulesSerializer, required=True)

    class Meta(object):
        model = Settings
Пример #5
0
class ServiceDescriptionDtoSerializer(Serializer):

    links = fields.ListField(fields.ObjectField(LinkDtoSerializer))

    class Meta(object):

        model = ServiceDescriptionDto
Пример #6
0
class PostCollectionV2DtoSerializer(Serializer):

    posts = fields.ListField(fields.ObjectField(PostV2DtoSerializer))

    class Model(object):

        model = PostCollectionV2Dto
Пример #7
0
class CategoryDtoSerializer(Serializer):
    links = fields.ListField(fields.ObjectField(LinkDtoSerializer))
    category_id = fields.IntegerField(name='categoryId')
    category_parent_id = fields.IntegerField(name='categoryParentId')
    category_level = fields.IntegerField(name='categoryLevel')
    category_name = fields.StringField(name='categoryName')
    category_updated = fields.IntegerField(name='categoryUpdated')
    best_offer_enabled = fields.BooleanField(name='bestOffersEnabled')
    expired = fields.BooleanField()
    last_updated = fields.IntegerField(name='lastUpdated')

    class Meta(object):
        model = CategoryDto
Пример #8
0
class CommentDtoSerializer(Serializer):

    href = fields.StringField()
    author = fields.StringField()
    content = fields.StringField(validators=[
        NotEmptyValidator(),
        CharLenValidator(min=settings.rules.comment.content_min_char,
                         max=settings.rules.comment.content_max_char)
    ])
    created = fields.DateTimeField()
    edited = fields.DateTimeField()
    likes = fields.IntegerField()
    links = fields.ListField(fields.ObjectField(LinkDtoSerializer))

    class Meta(object):

        model = CommentDto
Пример #9
0
class CommentCollectionDtoSerializer(Serializer):

    comments = fields.ListField(fields.ObjectField(CommentDtoSerializer))
Пример #10
0
class CategoryCollectionDtoSerializer(Serializer):
    categories = fields.ListField(fields.ObjectField(CategoryDtoSerializer))
    links = fields.ListField(fields.ObjectField(LinkDtoSerializer))

    class Meta(object):
        model = CategoryCollectionDto
Пример #11
0
    category_id = fields.IntegerField(name='categoryId')
    category_parent_id = fields.IntegerField(name='categoryParentId')
    category_level = fields.IntegerField(name='categoryLevel')
    category_name = fields.StringField(name='categoryName')
    category_updated = fields.IntegerField(name='categoryUpdated')
    best_offer_enabled = fields.BooleanField(name='bestOffersEnabled')
    expired = fields.BooleanField()
    last_updated = fields.IntegerField(name='lastUpdated')

    class Meta(object):
        model = CategoryDto


# manual insert for meta data, cannot reference class before it's created
CategoryDtoSerializer.fields.append(
    fields.ListField(fields.ObjectField(CategoryDtoSerializer),
                     name='children'))


class CategoryCollectionDto(object):
    def __init__(self, categories=None, links=None):
        self.categories = categories or []
        self.links = links or []


class CategoryCollectionDtoSerializer(Serializer):
    categories = fields.ListField(fields.ObjectField(CategoryDtoSerializer))
    links = fields.ListField(fields.ObjectField(LinkDtoSerializer))

    class Meta(object):
        model = CategoryCollectionDto