Skip to content
Snippets Groups Projects
dto.py 2.27 KiB
Newer Older
  • Learn to ignore specific revisions
  • import app.core.rich_schemas as rich_schemas
    import app.core.schemas as schemas
    
    from flask_restx import Namespace
    
    from flask_uploads import IMAGES, UploadSet
    
    
    
    class ComponentDTO:
        api = Namespace("component")
        schema = schemas.ComponentSchema(many=False)
        list_schema = schemas.ComponentSchema(many=True)
    
    
    
    class MediaDTO:
        api = Namespace("media")
        image_set = UploadSet("photos", IMAGES)
        schema = schemas.MediaSchema(many=False)
        list_schema = schemas.MediaSchema(many=True)
    
    
    
    class AuthDTO:
        api = Namespace("auth")
    
        schema = schemas.UserSchema(many=False)
        list_schema = schemas.UserSchema(many=True)
    
    
    
    class UserDTO:
        api = Namespace("users")
    
        schema = schemas.UserSchema(many=False)
    
        list_schema = schemas.UserSchema(many=True)
    
    
    
    class CompetitionDTO:
        api = Namespace("competitions")
    
        schema = schemas.CompetitionSchema(many=False)
    
        list_schema = schemas.CompetitionSchema(many=True)
    
        rich_schema = rich_schemas.CompetitionSchemaRich(many=False)
    
    class CodeDTO:
        api = Namespace("codes")
    
        schema = schemas.CodeSchema(many=False)
    
        list_schema = schemas.CodeSchema(many=True)
    
    
    
    class SlideDTO:
        api = Namespace("slides")
    
        schema = schemas.SlideSchema(many=False)
        list_schema = schemas.SlideSchema(many=True)
    
    
    class TeamDTO:
        api = Namespace("teams")
    
        schema = schemas.TeamSchema(many=False)
        list_schema = schemas.TeamSchema(many=True)
    
    
    
    class MiscDTO:
        api = Namespace("misc")
    
        role_schema = schemas.RoleSchema(many=True)
        question_type_schema = schemas.QuestionTypeSchema(many=True)
        media_type_schema = schemas.MediaTypeSchema(many=True)
    
        component_type_schema = schemas.ComponentTypeSchema(many=True)
        view_type_schema = schemas.ViewTypeSchema(many=True)
    
        city_schema = schemas.CitySchema(many=True)
    
    
    
    class QuestionDTO:
        api = Namespace("questions")
    
        schema = schemas.QuestionSchema(many=False)
    
        list_schema = schemas.QuestionSchema(many=True)
    
    
    
    class QuestionAlternativeDTO:
        api = Namespace("alternatives")
        schema = schemas.QuestionAlternativeSchema(many=False)
        list_schema = schemas.QuestionAlternativeSchema(many=True)
    
    
    class QuestionAnswerDTO:
        api = Namespace("answers")
        schema = schemas.QuestionAnswerSchema(many=False)
        list_schema = schemas.QuestionAnswerSchema(many=True)