def obtener_usuario(): token = request.headers.get('Authorization') auth = UserModel.decode_jwt(token[7:]) user_token = UserModel.select().where( UserModel.email == auth['payload']).get() user = UserModel.get_or_none(id=user_token.id) return user_schema.dump(user), 200
def eliminar_usuario(id): user = UserModel.get_or_none(id=id) if user is None: abort( make_response(jsonify(message="Usuario no existe", error=True), 404)) user.delete() return user_schema.dump(user)
def crear_usuario(): data = request.get_json() try: schema = user_schema.load(data) except: abort(make_response(jsonify(message="Dato inválido", error=True), 422)) try: user = UserModel.create(rol_id=2, **schema) except IntegrityError as err: return {"errors": f'{err}'}, 422 return user_schema.dump(user), 201
def create_user(): data = request.get_json() try: schema = user_schema.load(data) except: abort(make_response(jsonify(message="Dato inválido", error=True), 422)) try: user = UserModel.create(rol_id=3, **schema) except: abort(make_response(jsonify(message="Dato inválido", error=True), 422)) user: UserModel = UserModel.login(email=data['email'], password=data['password']) user.create_jwt() #user = UserModel.select(UserModel, RolModel).join(RolModel).where(UserModel.email == user.email).get() user.rol.get() return user_schema.dump(user), 201
def sesion_login(): data = request.get_json() try: schema = sesion_schema.load(data) except ValidationError as err: abort( make_response( jsonify( message= 'Lo sentimos, sus credenciales no son correctas. Verifique o regístrese antes de volver a intentarlo', err=err.messages), 422)) user: UserModel = UserModel.login(email=data['email'], password=data['password']) user.create_jwt() user = UserModel.select( UserModel, RolModel).join(RolModel).where(UserModel.email == data['email']).get() return user_schema.dump(user), 202
def actualizar_usuario(): 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 = user_schema.load(j) except ValidationError as error: abort( make_response( jsonify(message="Dato inválido", error=True, errors=error.messages), 422)) try: usuario = UserModel.update( actualizado=datetime.now(), **schema).where(UserModel.id == user.id).execute() except IntegrityError as err: return {"errors": f'{err}'}, 422 usuario = UserModel.get(id=user.id) return user_schema.dump(usuario), 202
def obtener_datos_usuario(id): usuario = UserModel.get_or_none(id=id) return make_response(jsonify(user_schema.dump(usuario))), 200