diff --git a/api/__init__.py b/api/__init__.py index d4bdc90..7cdd795 100644 --- a/api/__init__.py +++ b/api/__init__.py @@ -23,7 +23,7 @@ from xml.etree import ElementTree import simplejson import uuid -from web import app +from web import app, store from managers.user import UserManager @app.before_request @@ -58,7 +58,7 @@ def authorize(): error = request.error_formatter(40, 'Unauthorized'), 401 if request.authorization: - status, user = UserManager.try_auth(request.authorization.username, request.authorization.password) + status, user = UserManager.try_auth(store, request.authorization.username, request.authorization.password) if status == UserManager.SUCCESS: request.username = request.authorization.username request.user = user @@ -68,7 +68,7 @@ def authorize(): if not username or not password: return error - status, user = UserManager.try_auth(username, password) + status, user = UserManager.try_auth(store, username, password) if status != UserManager.SUCCESS: return error @@ -184,7 +184,7 @@ def get_entity(req, ent, param = 'id'): except: return False, req.error_formatter(0, 'Invalid %s id' % ent.__name__) - entity = ent.query.get(eid) + entity = store.get(ent, eid) if not entity: return False, (req.error_formatter(70, '%s not found' % ent.__name__), 404) diff --git a/api/user.py b/api/user.py index 3c4db73..39c296a 100644 --- a/api/user.py +++ b/api/user.py @@ -19,7 +19,7 @@ # along with this program. If not, see . from flask import request -from web import app +from web import app, store from db import User from managers.user import UserManager @@ -32,7 +32,7 @@ def user_info(): if username != request.username and not request.user.admin: return request.error_formatter(50, 'Admin restricted') - user = User.query.filter(User.name == username).first() + user = store.find(User, User.name == username).one() if user is None: return request.error_formatter(0, 'Unknown user') @@ -43,7 +43,7 @@ def users_info(): if not request.user.admin: return request.error_formatter(50, 'Admin restricted') - return request.formatter({ 'users': { 'user': [ u.as_subsonic_user() for u in User.query.all() ] } }) + return request.formatter({ 'users': { 'user': [ u.as_subsonic_user() for u in store.find(User) ] } }) @app.route('/rest/createUser.view', methods = [ 'GET', 'POST' ]) def user_add(): @@ -55,7 +55,7 @@ def user_add(): return request.error_formatter(10, 'Missing parameter') admin = True if admin in (True, 'True', 'true', 1, '1') else False - status = UserManager.add(username, password, email, admin) + status = UserManager.add(store, username, password, email, admin) if status == UserManager.NAME_EXISTS: return request.error_formatter(0, 'There is already a user with that username') @@ -67,11 +67,11 @@ def user_del(): return request.error_formatter(50, 'Admin restricted') username = request.args.get('username') - user = User.query.filter(User.name == username).first() + user = store.find(User, User.name == username).one() if not user: return request.error_formatter(70, 'Unknown user') - status = UserManager.delete(user.id) + status = UserManager.delete(store, user.id) if status != UserManager.SUCCESS: return request.error_formatter(0, UserManager.error_str(status)) @@ -86,7 +86,7 @@ def user_changepass(): if username != request.username and not request.user.admin: return request.error_formatter(50, 'Admin restricted') - status = UserManager.change_password2(username, password) + status = UserManager.change_password2(store, username, password) if status != UserManager.SUCCESS: return request.error_formatter(0, UserManager.error_str(status))