Exemplo n.º 1
0
class MessageSchema(ma.ModelSchema):
    id = Integer(required=False)
    text = Str(required=True)
    created_at = DateTime(required=False)
    author = Pluck('UserSchema', "id", required=True, many=False)
    chat = Pluck('ChatSchema', "id", required=True, many=False)

    class Meta(BaseSchema.Meta):
        model = Message
Exemplo n.º 2
0
class ChatSchema(ma.ModelSchema):
    id = Integer(required=False, data_key="chat")
    name = Str(required=True)
    created_at = DateTime(required=False)
    messages = Nested('MessageSchema', many=True, exclude=('chat', ), required=False)
    users = Pluck('UserSchema', 'id', many=True, required=True)
    event = Pluck('EventSchema', 'id', many=False, required=True)

    class Meta(BaseSchema.Meta):
        model = Chat
Exemplo n.º 3
0
class MessageSchema(ma.ModelSchema):
    id = Integer(required=False)
    text = Str(required=True)
    created_at = DateTime(required=False)
    author = Pluck('UserSchema', "id", required=True)
    chat = Pluck('ChatSchema', "id", required=True)

    class Meta(BaseSchema.Meta):
        model = Message

    @validates_schema
    def validate_text(self, data, **kwargs):
        if not data.get('text'):
            raise ValidationError('Missing text')
Exemplo n.º 4
0
class RejectedCipherSuiteSchema(SQLAlchemyAutoSchema):
    class Meta(BaseSchema.Meta):
        model = db_models.RejectedCipherSuite
        include_relationships = True

    ciphersuite = Nested(CipherSuiteSchema)
    handshake_error_message = Pluck("RejectedCipherHandshakeErrorMessageSchema", "handshake_error_message")
Exemplo n.º 5
0
class AcceptedCipherSuiteSchema(SQLAlchemyAutoSchema):
    class Meta(BaseSchema.Meta):
        model = db_models.AcceptedCipherSuite
        include_relationships = True

    ciphersuite = Nested(CipherSuiteSchema)
    post_handshake_response = Pluck("AcceptedCipherPostHandshakeResponseSchema", "post_handshake_response")
Exemplo n.º 6
0
class EjercicioSchema(SQLAlchemySchema):
    class Meta:
        model = Ejercicio
        load_instance = True
        unknown = EXCLUDE

    idEjercicio = auto_field("id_ejercicio")
    nombre = auto_field()
    patron = Pluck(PatronSchema(session=db.session), "nombre", dump_only=True)
    urlVideo = auto_field("url_video")
    pesoInicial = auto_field("peso_inicial")
    esTemporal = auto_field("es_temporal")
    creado_en = auto_field(dump_only=True)
    actualizado_en = auto_field(dump_only=True)
Exemplo n.º 7
0
class ChatSchema(ma.ModelSchema):
    id = Integer(required=False, data_key="chat")
    name = Str(required=True)
    created_at = DateTime(required=False)
    messages = Nested('MessageSchema', many=True, exclude=('chat',), required=False)
    users = Pluck('UserSchema', 'id', many=True, required=True)

    class Meta(BaseSchema.Meta):
        model = Chat

    @validates_schema
    def validate_name(self, data, **kwargs):
        if data.get('id'):
            return
        elif not data.get('name'):
            raise ValidationError('Missing chat name')
Exemplo n.º 8
0
class BlockingSchema(mm.SQLAlchemyAutoSchema):
    blocked_rooms = Nested(BlockedRoomSchema, many=True)
    allowed = PrincipalList()
    permissions = Method('_get_permissions')
    created_by = Pluck(UserSchema, 'full_name', attribute='created_by_user')

    class Meta:
        model = Blocking
        fields = ('id', 'start_date', 'end_date', 'reason', 'blocked_rooms', 'allowed', 'created_by', 'permissions')

    def _get_permissions(self, blocking):
        methods = ('can_delete', 'can_edit')
        admin_permissions = None
        user_permissions = {x: getattr(blocking, x)(session.user, allow_admin=False) for x in methods}
        if rb_is_admin(session.user):
            admin_permissions = {x: getattr(blocking, x)(session.user) for x in methods}
        return {'user': user_permissions, 'admin': admin_permissions}