12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- # -*- coding: utf-8 -*-
- import marshmallow
-
- class NoContentSchema(marshmallow.Schema):
- pass
-
- class AboutResponseSchema(marshmallow.Schema):
- version = marshmallow.fields.String(required=True,)
- datetime = marshmallow.fields.DateTime(required=True)
-
-
- class UserPathSchema(marshmallow.Schema):
- id = marshmallow.fields.Int(
- required=True,
- validate=marshmallow.validate.Range(min=1),
- )
-
-
- class UserSchema(marshmallow.Schema):
- id = marshmallow.fields.Int(required=True)
- username = marshmallow.fields.String(
- required=True,
- validate = marshmallow.validate.Regexp(regex='[\w-]+'),
- )
- email_address = marshmallow.fields.Email(required=True)
- first_name = marshmallow.fields.String(required=True)
- last_name = marshmallow.fields.String(required=True)
- display_name = marshmallow.fields.String(required=True)
- company = marshmallow.fields.String(required=True)
-
-
- class PaginationSchema(marshmallow.Schema):
- first_id = marshmallow.fields.Int(required=True)
- last_id = marshmallow.fields.Int(required=True)
- current_id = marshmallow.fields.Int(required=True)
-
-
- class ListsUserSchema(marshmallow.Schema):
- item_nb = marshmallow.fields.Int(
- required=True,
- validate=marshmallow.validate.Range(min=0)
- )
- items = marshmallow.fields.Nested(
- UserSchema,
- many=True,
- only=['id', 'username', 'display_name', 'company']
- )
- # TODO - G.M - 2017-12-05 - Fix nested schema import into doc !
- # Can't add doc for nested Schema properly
- # When schema item isn't added through their own method
- # Ex : Pagination Schema doesn't work here but UserSchema is ok.
- pagination = marshmallow.fields.Nested(
- PaginationSchema
- )
|