-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathschemas.py
More file actions
34 lines (26 loc) · 1.13 KB
/
Copy pathschemas.py
File metadata and controls
34 lines (26 loc) · 1.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
from marshmallow import fields
from app.ext import ma
class UsersSchema(ma.Schema):
userId = fields.Integer(dump_only=True)
public_id = fields.String(dump_only=True)
name = fields.String(required=True)
password = fields.String(required=True)
admin = fields.Boolean(dump_only=True)
# Relaciones
tokens = fields.List(fields.Nested(lambda: BlacklistTokenSchema(exclude=("users",))), dump_only=True)
# Ordenar el Output
class Meta:
fields = ("userId", "public_id", "name", "password", "admin", "tokens")
ordered = True
class BlacklistTokenSchema(ma.Schema):
token_id = fields.Integer(required=True, dump_only=True)
jti = fields.String(required=True, dump_only=True)
token_type = fields.String(required=True, dump_only=True)
user_identity = fields.String(required=True, dump_only=True)
expires = fields.DateTime(required=True, dump_only=True)
# Relaciones
users = fields.Nested(UsersSchema(exclude=("tokens",)), dump_only=True)
# Ordenar el Output
class Meta:
fields = ("token_id", "jti", "token_type", "user_identity", "expires", "users")
ordered = True