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
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
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)
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
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
def list_agendas(): agendas = AgendaModel.select().where(AgendaModel.eliminado.is_null(True)) return agendas_schema.dumps(agendas), 200