migrated to poetry; updated all packages

This commit is contained in:
2023-10-13 12:01:01 +02:00
parent c4b54357f7
commit 6e2fa6c101
19 changed files with 92 additions and 878 deletions

View File

@@ -10,21 +10,16 @@ import json
from pprint import pprint
import flask
from datetime import datetime, timedelta
import jwt
from flask import request, jsonify, current_app, url_for, Response, session, redirect, make_response
from flask_jwt_extended import create_access_token, create_refresh_token, jwt_refresh_token_required, get_jwt_identity, \
get_raw_jwt, jwt_required
from functools import wraps
from random import randint
from flask import request, jsonify, current_app, url_for, redirect, make_response
from flask_jwt_extended import create_access_token, create_refresh_token, get_jwt, get_jwt_identity, jwt_required
from flask_login import logout_user, login_user
from typing import Iterable
from flask_restplus import Resource, fields
from flask_restx import Resource, fields
from werkzeug.routing import BuildError
from backend import db, app, jwt_extended
from backend import db, app
from backend.api import auth_api_bp, auth_api_providers_ns, auth_api_register_ns
from backend.auth import AUTH_PROVIDERS, oidc_auth
from backend.models.user_model import User, Group, BlacklistToken
@@ -58,19 +53,19 @@ def register():
return jsonify(user.to_dict()), 201
@auth_api_register_ns.route('/')
@auth_api_register_ns.expect(auth_api_register_ns.model('RegisterModel', {
'nickname': fields.String(required=False, description='The user\'s nickname'),
'first_name': fields.String(required=False, description='The user\'s first name'),
'last_name': fields.String(required=False, description='The user\'s last name'),
'lang': fields.String(required=False, description='The user\'s preferred language'),
'timezone': fields.String(required=False, description='The user\'s preferred timezone'),
'email': fields.String(required=True, description='The user\'s e-mail address'),
'password': fields.String(required=False, description='The group\'s name')
}))
class AuthProviders(Resource):
def get(self):
return register()
# @auth_api_register_ns.route('/')
# @auth_api_register_ns.expect(auth_api_register_ns.model('RegisterModel', {
# 'nickname': fields.String(required=False, description='The user\'s nickname'),
# 'first_name': fields.String(required=False, description='The user\'s first name'),
# 'last_name': fields.String(required=False, description='The user\'s last name'),
# 'lang': fields.String(required=False, description='The user\'s preferred language'),
# 'timezone': fields.String(required=False, description='The user\'s preferred timezone'),
# 'email': fields.String(required=True, description='The user\'s e-mail address'),
# 'password': fields.String(required=False, description='The group\'s name')
# }))
# class AuthProviders(Resource):
# def get(self):
# return register()
@auth_api_bp.route('/login', methods=('GET', 'POST',))
@@ -96,7 +91,7 @@ def login():
@auth_api_bp.route('/logout', methods=['GET', 'DELETE'])
@jwt_required
def logout():
jti = get_raw_jwt()['jti']
jti = get_jwt()['jti']
db.session.add(BlacklistToken(token=jti))
db.session.commit()
return jsonify({"msg": "Successfully logged out"}), 200
@@ -104,9 +99,9 @@ def logout():
# Endpoint for revoking the current users refresh token
@auth_api_bp.route('/logout2', methods=['GET', 'DELETE'])
@jwt_refresh_token_required
@jwt_required(refresh=True)
def logout2():
jti = get_raw_jwt()['jti']
jti = get_jwt()['jti']
db.session.add(BlacklistToken(token=jti))
db.session.commit()
return jsonify({"msg": "Successfully logged out"}), 200
@@ -182,7 +177,7 @@ def oidc(redirect_url=None):
@auth_api_bp.route('/refresh', methods=['GET'])
@jwt_refresh_token_required
@jwt_required(refresh=True)
def refresh():
"""Refresh token endpoint. This will generate a new access token from
the refresh token, but will mark that access token as non-fresh,