Пример #1
0
def list_agendas_veterinario():
    token = request.headers.get('Authorization')
    auth = UserModel.decode_jwt(token[7:])
    user = UserModel.select().where(UserModel.email == auth['payload']).get()
    agendas = AgendaModel.select().where(AgendaModel.veterinario == user.id,
                                         AgendaModel.eliminado.is_null(True))
    return agendas_schema.dumps(agendas), 200
Пример #2
0
def obtener_agenda(id):
    agenda = AgendaModel.get_or_none(id_agenda=id)

    if agenda == None:
        abort(
            make_response(jsonify(message="Agenda no existe", error=True),
                          404))

    return agenda_schema.dump(agenda), 200
Пример #3
0
def eliminar_agenda(id):
    agenda = AgendaModel.get_or_none(id_agenda=id)

    if agenda is None:
        abort(
            make_response(jsonify(message="Agenda no existe", error=True),
                          404))

    agenda.delete()
    return agenda_schema.dump(agenda)
Пример #4
0
def actualizar_agenda(id):
    j = request.get_json()
    token = request.headers.get('Authorization')
    auth = UserModel.decode_jwt(token[7:])
    user = UserModel.select().where(UserModel.email == auth['payload']).get()
    try:
        schema = agenda_schema.load(j)
    except ValidationError as err:
        abort(
            make_response(
                jsonify(message="Dato no válido",
                        error=True,
                        errors=err.messages), 404))

    try:
        agenda = AgendaModel.update(actualizado=datetime.now()).where(
            AgendaModel.id_agenda == id).execute()
        agenda = AgendaModel.update(
            usuario=user.id,
            **schema).where(AgendaModel.id_agenda == id).execute()
    except IntegrityError as err:
        return {"errors": f'{err}'}, 422

    return agenda_schema.dump(agenda), 202
Пример #5
0
def crear_agenda():
    j = request.get_json()
    token = request.headers.get('Authorization')
    auth = UserModel.decode_jwt(token[7:])
    user = UserModel.select().where(UserModel.email == auth['payload']).get()
    try:
        schema = agenda_schema.load(j)
    except ValidationError as err:
        abort(
            make_response(
                jsonify(message="Dato no válido",
                        error=True,
                        errors=err.messages), 422))

    try:
        agenda = AgendaModel.create(veterinario_id=user.id, **schema)
    except IntegrityError as err:
        return {"errors": f'{err}'}, 422

    return agenda_schema.dump(agenda), 201
Пример #6
0
def list_agendas():
    agendas = AgendaModel.select().where(AgendaModel.eliminado.is_null(True))
    return agendas_schema.dumps(agendas), 200