UserStorege removed, RoleStorage removed
This commit is contained in:
@@ -1,35 +0,0 @@
|
||||
import asyncio
|
||||
|
||||
from sqlalchemy.orm import selectinload
|
||||
|
||||
from orm.rbac import Role
|
||||
|
||||
|
||||
class RoleStorage:
|
||||
roles = {}
|
||||
lock = asyncio.Lock()
|
||||
|
||||
@staticmethod
|
||||
def init(session):
|
||||
self = RoleStorage
|
||||
roles = session.query(Role).options(selectinload(Role.permissions)).all()
|
||||
self.roles = dict([(role.id, role) for role in roles])
|
||||
print("[auth.roles] %d precached" % len(roles))
|
||||
|
||||
@staticmethod
|
||||
async def get_role(id):
|
||||
self = RoleStorage
|
||||
async with self.lock:
|
||||
return self.roles.get(id)
|
||||
|
||||
@staticmethod
|
||||
async def add_role(role):
|
||||
self = RoleStorage
|
||||
async with self.lock:
|
||||
self.roles[id] = role
|
||||
|
||||
@staticmethod
|
||||
async def del_role(id):
|
||||
self = RoleStorage
|
||||
async with self.lock:
|
||||
del self.roles[id]
|
@@ -1,72 +0,0 @@
|
||||
import asyncio
|
||||
from sqlalchemy.orm import selectinload, exc
|
||||
from orm.user import User
|
||||
from base.orm import local_session
|
||||
|
||||
|
||||
class UserStorage:
|
||||
users = {}
|
||||
lock = asyncio.Lock()
|
||||
|
||||
@staticmethod
|
||||
def init(session):
|
||||
self = UserStorage
|
||||
users = (
|
||||
session.query(User)
|
||||
.options(selectinload(User.roles), selectinload(User.ratings))
|
||||
.all()
|
||||
)
|
||||
self.users = dict([(user.id, user) for user in users])
|
||||
print("[auth.users] %d precached" % len(self.users))
|
||||
|
||||
@staticmethod
|
||||
async def get_user(id):
|
||||
with local_session() as session:
|
||||
try:
|
||||
user = (
|
||||
session.query(User).options(
|
||||
selectinload(User.roles),
|
||||
selectinload(User.ratings)
|
||||
).filter(
|
||||
User.id == id
|
||||
).one()
|
||||
)
|
||||
return user
|
||||
except exc.NoResultFound:
|
||||
return None
|
||||
|
||||
@staticmethod
|
||||
async def get_all_users():
|
||||
self = UserStorage
|
||||
async with self.lock:
|
||||
aaa = list(self.users.values())
|
||||
aaa.sort(key=lambda user: user.createdAt)
|
||||
return aaa
|
||||
|
||||
@staticmethod
|
||||
async def get_top_users():
|
||||
self = UserStorage
|
||||
async with self.lock:
|
||||
aaa = list(self.users.values())
|
||||
aaa.sort(key=lambda user: user.rating)
|
||||
return aaa
|
||||
|
||||
@staticmethod
|
||||
async def get_user_by_slug(slug):
|
||||
self = UserStorage
|
||||
async with self.lock:
|
||||
for user in self.users.values():
|
||||
if user.slug == slug:
|
||||
return user
|
||||
|
||||
@staticmethod
|
||||
async def add_user(user):
|
||||
self = UserStorage
|
||||
async with self.lock:
|
||||
self.users[user.id] = user
|
||||
|
||||
@staticmethod
|
||||
async def del_user(id):
|
||||
self = UserStorage
|
||||
async with self.lock:
|
||||
del self.users[id]
|
@@ -1,5 +1,3 @@
|
||||
from services.auth.roles import RoleStorage
|
||||
from services.auth.users import UserStorage
|
||||
from services.search import SearchService
|
||||
from services.stat.viewed import ViewedStorage
|
||||
from base.orm import local_session
|
||||
@@ -7,9 +5,9 @@ from base.orm import local_session
|
||||
|
||||
async def storages_init():
|
||||
with local_session() as session:
|
||||
print('[main] initialize storages')
|
||||
RoleStorage.init(session)
|
||||
UserStorage.init(session)
|
||||
print('[main] initialize SearchService')
|
||||
await SearchService.init(session)
|
||||
session.commit()
|
||||
print('[main] SearchService initialized')
|
||||
print('[main] initialize storages')
|
||||
await ViewedStorage.init()
|
||||
print('[main] storages initialized')
|
||||
|
Reference in New Issue
Block a user