40 lines
1.0 KiB
Python
40 lines
1.0 KiB
Python
__author__ = 'RemiZOffAlex'
|
|
__copyright__ = '(c) RemiZOffAlex'
|
|
__license__ = 'MIT'
|
|
__email__ = 'remizoffalex@mail.ru'
|
|
__url__ = 'https://remizoffalex.ru'
|
|
|
|
from functools import wraps
|
|
from flask_jsonrpc import JSONRPC
|
|
from flask import session
|
|
|
|
from .. import app, models
|
|
|
|
def login_required(func):
|
|
@wraps(func)
|
|
def decorated_function(*args, **kwargs):
|
|
if 'logged_in' in session and 'user_id' in session:
|
|
user = models.db_session.query(
|
|
models.User
|
|
).filter(
|
|
models.User.id==session['user_id']
|
|
).first()
|
|
if user:
|
|
return func(*args, **kwargs)
|
|
else:
|
|
session.pop('logged_in', None)
|
|
session.pop('user_id', None)
|
|
raise Exception('Необходима авторизация')
|
|
else:
|
|
raise Exception('Необходима авторизация')
|
|
return decorated_function
|
|
|
|
jsonrpc = JSONRPC(app, '/api')
|
|
|
|
from . import (
|
|
login,
|
|
page,
|
|
tag,
|
|
user
|
|
)
|