Ejemplo n.º 1
0
    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
Ejemplo n.º 2
0
    def post(self):
        json_data = load_request_data_as_json(request)

        data = _load_user_data_for_registration(json_data)

        _check_user_does_not_exist(data)

        user = _create_new_user(data)

        result = {"message": "Created new user", "user": user.to_dict()}

        return result, 201
Ejemplo n.º 3
0
    def put(self, group_id):
        json_data = load_request_data_as_json(request)

        data = _load_group_data(json_data)

        _validate_group_data(data, group_id)

        group = check_group_exists(group_id)

        check_user_is_member_of_group(get_authorized_user(), group)

        _update_group_data(group, data)

        return {"message": "Edited group"}, 200
Ejemplo n.º 4
0
    def put(self, bill_id):
        json_data = load_request_data_as_json(request)

        bill = check_bill_exists(bill_id)

        data = _load_bill_data(json_data)

        _validate_bill_data(data)

        _check_user_is_allowed_to_modify_bill(get_authorized_user(), bill)

        _update_bill_data(bill, data)

        _update_friends(bill)

        return {"message": "Updated bill"}, 200
Ejemplo n.º 5
0
    def post(self):
        json_data = load_request_data_as_json(request)

        data = _load_bill_data(json_data)

        _validate_bill(data)

        bill = _create_new_bill(data)

        user_id_list = [member["user_id"] for member in data["members"]]
        update_friends(user_id_list)

        return {
            "message": "Created new bill",
            "bill": bill.to_dict()
        }, 201
Ejemplo n.º 6
0
    def post(self):
        json_data = load_request_data_as_json(request)

        data = _load_group_data(json_data)

        _validate_group(data)

        group = _create_new_group(data)

        user_id_list = [
            _get_user_from_member_data(member).id for member in data["members"]
        ]
        update_friends(user_id_list)

        result = {"message": "Created new group", "group": group.to_dict()}

        return result, 201
Ejemplo n.º 7
0
    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