def patch(self, id): raw_dict = request.get_json(force=True) try: schema.validate(raw_dict) request_dict = raw_dict['data']['attributes'] request_dict['password'] = generate_password_hash(request_dict['password']) if is_superuser(g.roles): admin = Admins.query.get_or_404(id) if is_admin(g.roles): admin = Admins.query.filter_by(id=g.id) for key, value in request_dict.items(): setattr(admin, key, value) admin.update() return self.get(id) except ValidationError as err: response = jsonify({"error": err.messages}) response.status_code = 401 return response except SQLAlchemyError as e: db.session.rollback() response = jsonify({"error": str(e)}) response.status_code = 401 return response
def post(self): if is_superuser(g.roles): raw_dict = request.get_json(force=True) try: schema.validate(raw_dict) request_dict = raw_dict['data']['attributes'] request_dict['roles'] = 'admin' admin = Admins(request_dict['roles'], request_dict['username'], generate_password_hash(request_dict['password']), request_dict['messager_id'], request_dict['is_active'],) admin.add(admin) query = Admins.query.get(admin.id) results = schema.dump(query).data return results, 201 except ValidationError as err: response = jsonify({"error": err.messages}) response.status_code = 403 return response except SQLAlchemyError as e: db.session.rollback() response = jsonify({"error": str(e)}) response.status_code = 403 return response
def post(self): raw_dict = request.get_json(force=True) try: schema.validate(raw_dict) request_dict = raw_dict['data']['attributes'] role = Roles(request_dict['name'], ) role.add(role) query = Roles.query.get(role.id) results = schema.dump(query).data return results, 201 except ValidationError as err: resp = jsonify({"error": err.messages}) resp.status_code = 403 return resp except SQLAlchemyError as e: db.session.rollback() resp = jsonify({"error": str(e)}) resp.status_code = 403 return resp
def patch(self, id): role = Roles.query.get_or_404(id) raw_dict = request.get_json(force=True) try: schema.validate(raw_dict) request_dict = raw_dict['data']['attributes'] for key, value in request_dict.items(): setattr(role, key, value) role.update() return self.get(id) except ValidationError as err: resp = jsonify({"error": err.messages}) resp.status_code = 401 return resp except SQLAlchemyError as e: db.session.rollback() resp = jsonify({"error": str(e)}) resp.status_code = 401 return resp