Update application

This commit is contained in:
RemiZOffAlex
2019-10-27 19:40:03 +03:00
parent 1e9ac7eb97
commit 4a04efc355
28 changed files with 572 additions and 90 deletions

View File

@@ -4,10 +4,35 @@ __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
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 user
from . import (
page,
tag,
user
)

21
myapp/ns_api/page.py Normal file
View File

@@ -0,0 +1,21 @@
__author__ = 'RemiZOffAlex'
__copyright__ = '(c) RemiZOffAlex'
__license__ = 'MIT'
__email__ = 'remizoffalex@mail.ru'
__url__ = 'https://remizoffalex.ru'
from . import jsonrpc, login_required
from .. import models
@jsonrpc.method('page.update(title=str, text=str)')
@login_required
def page_update(title, text):
"""
Обновить статью
"""
result = {
"title": title,
"text": text
}
return result

28
myapp/ns_api/tag.py Normal file
View File

@@ -0,0 +1,28 @@
__author__ = 'RemiZOffAlex'
__copyright__ = '(c) RemiZOffAlex'
__license__ = 'MIT'
__email__ = 'remizoffalex@mail.ru'
__url__ = 'https://remizoffalex.ru'
from . import jsonrpc, login_required
from .. import models
@jsonrpc.method('tag.add(name=str)')
@login_required
def tag_add(name):
"""
Добавить новый тег
"""
exist = models.db_session.query(
models.Tag
).filter(
models.Tag.name == name
).first()
if exist:
raise ValueError
newTag = models.Tag(name)
models.db_session.add(newTag)
models.db_session.commit()
return newTag.as_dict()

View File

@@ -4,14 +4,12 @@ __license__ = 'MIT'
__email__ = 'remizoffalex@mail.ru'
__url__ = 'https://remizoffalex.ru'
from flask import abort, escape
from . import jsonrpc
from .. import models
@jsonrpc.method('users.getList')
def users_getList():
@jsonrpc.method('users')
def users_list():
"""
Показать список пользователей
"""