コード例 #1
0
ファイル: tokens.py プロジェクト: FlexW/splitbills_server
    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
コード例 #2
0
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
コード例 #3
0
ファイル: users.py プロジェクト: FlexW/splitbills_server
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
コード例 #4
0
ファイル: group.py プロジェクト: FlexW/splitbills_server
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
コード例 #5
0
ファイル: bills.py プロジェクト: FlexW/splitbills_server
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
コード例 #6
0
ファイル: token.py プロジェクト: FlexW/splitbills_server
    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