1
Fork 0
mirror of https://github.com/pds-nest/nest.git synced 2024-11-23 05:24:18 +00:00
pds-2021-g2-nest/code/backend/nest_backend/api_schemas.py
2021-05-06 17:20:07 +02:00

79 lines
3.1 KiB
Python

from marshmallow import Schema, fields
class UserSchema(Schema):
email = fields.String(description="The user's email.")
username = fields.String(description="The user's username.")
isAdmin = fields.Boolean(description="True if the user is an administrator.")
class LoginSchema(Schema):
access_token = fields.String(description="The access token that authorizes the user to proceed.")
expiration = fields.DateTime(description="The expiration date of the authorization code.")
user = fields.Nested(UserSchema)
class InputLoginSchema(Schema):
email = fields.String(description="The user's email.")
password = fields.String(description="The user's password.")
class ErrorSchema(Schema):
result = fields.String(description="Contains a string that informs if the procedure was successful.")
msg = fields.String(description="Contains a description of the error.")
class SuccesSchema(Schema):
result = fields.String(description="Contains a string that informs if the procedure was successful.")
data = fields.String(description="The content of the response.")
class EmailParameterSchema(Schema):
email = fields.String(description="The target user's email.")
class IntegerParameterSchema(Schema):
rid = fields.Integer(description="The target numeric id.")
class CreateUser(Schema):
email = fields.String(description="The new user's email.")
username = fields.String(description="The new user's username.")
password = fields.String(description="The new user's password.")
class ConditionSchema(Schema):
id = fields.Integer(description="The condition id.")
type = fields.Integer(description="The condition type.")
content = fields.String(description="The condition content. Meaning may change according to type.")
class RepositorySchema(Schema):
id = fields.Integer(description="The repository id.")
name = fields.String(description="The repository name.")
start = fields.DateTime(description="The start date of the repository.")
is_active = fields.Boolean(description="True if the repository is active.")
end = fields.DateTime(description="The end date of the repository")
owner = fields.Nested(UserSchema)
conditions = fields.Nested(ConditionSchema, many=True)
evaluation_mode = fields.Integer(description="The mode with which conditions are evaluated.")
class CreateRepository(Schema):
name = fields.String(description="The repository name.")
class RepositoryUpdate(Schema):
name = fields.String(description="If present, it changes the name of the repository.")
close = fields.String(description="If present, it closes the repository.")
open = fields.String(description="If present, it opens the repository.")
evaluation_mode = fields.Integer(description="If present, it alters the Condition evaluation mode.")
class CreateCondition(Schema):
type = fields.Integer(description="The condition type.")
content = fields.String(description="The condition content. Meaning may change according to type.")
class ConditionParameterSchema(Schema):
cid = fields.Integer(description="The condition id.")