def remove_user_sensors(user_id): data = request.get_json() or {} if "sensors" not in data: return bad_request("must include sensors field") if not Sensor.are_valid_sensors(data["sensors"]): return bad_request("invalid sensor(s) in included sensors") user = User.query.get_or_404(user_id) user.remove_sensors(data["sensors"]) db.session.add(user) db.session.commit() response = jsonify() response.status_code = 204 response.headers["Location"] = url_for("api.get_user_sensors", user_id=user.id) return response
def create_user(): data = request.get_json() or {} if "name" not in data: return bad_request("must include name field") if "password" not in data: return bad_request("must include password field") if "sensors" not in data: return bad_request("must include sensors field") if not Sensor.are_valid_sensors(data["sensors"]): return bad_request("invalid sensor(s) in included sensors") if User.query.filter_by(name=data["name"]).first(): return bad_request("please use a different name") user = User() user.from_dict(data) db.session.add(user) db.session.commit() response = jsonify(user.to_dict()) response.status_code = 201 response.headers["Location"] = url_for("api.get_user", user_id=user.id) return response