2
from config import Config
3
from flask import Flask, g
4
from flask_restful import Api, Resource, abort, reqparse, request
5
from flask_sqlalchemy import SQLAlchemy
6
from flask_migrate import Migrate
7
from flask_marshmallow import Marshmallow
8
from flask_httpauth import HTTPBasicAuth
9
from flask_apispec.extension import FlaskApiSpec
10
from flask_mail import Mail, Message
11
from flask_babel import Babel
13
app = Flask(__name__, static_folder=Config.UPLOAD_FOLDER)
15
app.config.from_object(Config)
19
migrate = Migrate(app, db)
22
docs = FlaskApiSpec(app)
26
logging.basicConfig(filename='record.log',
28
format=f'%(asctime)s %(levelname)s %(name)s : %(message)s')
29
app.logger.setLevel(logging.INFO)
30
logging.getLogger('werkzeug').setLevel(logging.WARNING)
35
return request.accept_languages.best_match(app.config['LANGUAGES'])
39
def verify_password(username_or_token, password):
40
from api.models.user import UserModel
44
user = UserModel.verify_auth_token(username_or_token)
47
user = UserModel.query.filter_by(username=username_or_token).first()
48
if not user or not user.verify_password(password):
55
def get_user_roles(user):
56
return g.user.get_roles()