Update application
This commit is contained in:
@@ -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
21
myapp/ns_api/page.py
Normal 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
28
myapp/ns_api/tag.py
Normal 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()
|
||||
@@ -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():
|
||||
"""
|
||||
Показать список пользователей
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user