def post(self): json_data = load_request_data_as_json(request) email = get_attribute(json_data, "email") password = get_attribute(json_data, "password") _check_user_is_registered(email, password) access_token = create_access_token(identity=email) refresh_token = create_refresh_token(identity=email) access_token_id = add_token_to_database( access_token, current_app.config["JWT_IDENTITY_CLAIM"]) refresh_token_id = add_token_to_database( refresh_token, current_app.config["JWT_IDENTITY_CLAIM"]) result = { "message": "Created access and refresh token", "access_token": { "id": access_token_id, "token": access_token }, "refresh_token": { "id": refresh_token_id, "token": refresh_token } } return result, 201
def _load_group_data(json_data): get_attribute(json_data, "name") members = get_attribute(json_data, "members", ttype=list) for member in members: id = get_attribute_if_existing(member, "id", ttype=int) email = get_attribute_if_existing(member, "email", ttype=str) if id is None and email is None: abort(400, "Attribute id or email needs to be set") return json_data
def _load_user_data_for_registration(json_data): email = get_attribute(json_data, "email") first_name = get_attribute(json_data, "first_name") last_name = get_attribute(json_data, "last_name") password = get_attribute(json_data, "password") data = { "email": email, "first_name": first_name, "last_name": last_name, "password": password } return data
def _load_group_data(json_data): get_attribute(json_data, "id", ttype=int) get_attribute(json_data, "name") members = get_attribute(json_data, "members", ttype=list) for member in members: get_attribute(member, "id", ttype=int) return json_data
def _load_bill_data(json_data): check_has_not_attribute(json_data, "id") check_has_not_attribute(json_data, "valid") description = get_attribute(json_data, "description") date = get_attribute_if_existing(json_data, "date") date_created = get_attribute_if_existing(json_data, "date_created") group_id = get_attribute_if_existing(json_data, "group_id", ttype=int) members = get_attribute(json_data, "members", ttype=list) data = {} data["description"] = description if date is not None: data["date"] = convert_string_to_datetime(date) if date_created is not None: data["date_created"] = convert_string_to_datetime(date_created) if group_id is not None: data["group_id"] = group_id data["members"] = [] for member in members: member_id = get_attribute_if_existing(member, "user_id", ttype=int) if member_id is None: member_email = get_attribute(member, "email", ttype=str) user = get_user_by_email(member_email) if user is None: user = User(email=member_email) insert_user(user) member_id = user.id amount = get_attribute(member, "amount", ttype=int) data["members"].append({ "user_id": member_id, "amount": amount }) return data
def put(self, token_id): # Get and verify the desired revoked status from the body json_data = load_request_data_as_json(request) revoke = get_attribute(json_data, "revoke", ttype=bool) # Revoke or unrevoke the token based on what was passed to this function user_identity = get_jwt_identity() try: if revoke: revoke_token(token_id, user_identity) return {"message": "Token revoked"}, 200 else: unrevoke_token(token_id, user_identity) return {"message": "Token unrevoked"}, 200 except TokenNotFound: return {"message": "The specified token was not found"}, 404