Added database context
This commit is contained in:
1
src/gismo_data/service/__init__.py
Normal file
1
src/gismo_data/service/__init__.py
Normal file
@@ -0,0 +1 @@
|
||||
# imports
|
37
src/gismo_data/service/server_repository_service.py
Normal file
37
src/gismo_data/service/server_repository_service.py
Normal file
@@ -0,0 +1,37 @@
|
||||
from cpl_core.database.context import DatabaseContextABC
|
||||
from cpl_query.extension import List
|
||||
from gismo_data.abc.server_repository_abc import ServerRepositoryABC
|
||||
from gismo_data.model.server import Server
|
||||
|
||||
|
||||
class ServerRepositoryService(ServerRepositoryABC):
|
||||
|
||||
def __init__(self, db_context: DatabaseContextABC):
|
||||
self._context = db_context
|
||||
|
||||
ServerRepositoryABC.__init__(self)
|
||||
|
||||
def get_servers(self) -> List[Server]:
|
||||
servers = List(Server)
|
||||
results = self._context.select(Server.get_select_all_string())
|
||||
for result in results:
|
||||
servers.append(Server(
|
||||
result[1],
|
||||
id=result[0]
|
||||
))
|
||||
|
||||
return servers
|
||||
|
||||
def get_server_by_id(self, id: int) -> Server:
|
||||
result = self._context.select(Server.get_select_by_id_string(id))
|
||||
return Server(
|
||||
result[1],
|
||||
id=result[0]
|
||||
)
|
||||
|
||||
def get_server_by_discord_id(self, discord_id: int) -> Server:
|
||||
result = self._context.select(Server.get_select_by_discord_id_string(discord_id))
|
||||
return Server(
|
||||
result[1],
|
||||
id=result[0]
|
||||
)
|
47
src/gismo_data/service/user_repository_service.py
Normal file
47
src/gismo_data/service/user_repository_service.py
Normal file
@@ -0,0 +1,47 @@
|
||||
from cpl_core.database.context import DatabaseContextABC
|
||||
from cpl_query.extension import List
|
||||
from gismo_data.abc.server_repository_abc import ServerRepositoryABC
|
||||
|
||||
from gismo_data.abc.user_repository_abc import UserRepositoryABC
|
||||
from gismo_data.model.user import User
|
||||
|
||||
|
||||
class UserRepositoryService(UserRepositoryABC):
|
||||
|
||||
def __init__(self, db_context: DatabaseContextABC, servers: ServerRepositoryABC):
|
||||
self._context = db_context
|
||||
|
||||
self._servers = servers
|
||||
|
||||
UserRepositoryABC.__init__(self)
|
||||
|
||||
def get_users(self) -> List[User]:
|
||||
users = List(User)
|
||||
results = self._context.select(User.get_select_all_string())
|
||||
for result in results:
|
||||
users.append(User(
|
||||
result[1],
|
||||
result[2],
|
||||
self._servers.get_server_by_id(result[3]),
|
||||
id=result[0]
|
||||
))
|
||||
|
||||
return users
|
||||
|
||||
def get_user_by_id(self, id: int) -> User:
|
||||
result = self._context.select(User.get_select_by_id_string(id))
|
||||
return User(
|
||||
result[1],
|
||||
result[2],
|
||||
self._servers.get_server_by_id(result[3]),
|
||||
id=result[0]
|
||||
)
|
||||
|
||||
def get_user_by_discord_id(self, discord_id: int) -> User:
|
||||
result = self._context.select(User.get_select_by_discord_id_string(discord_id))
|
||||
return User(
|
||||
result[1],
|
||||
result[2],
|
||||
self._servers.get_server_by_id(result[3]),
|
||||
id=result[0]
|
||||
)
|
Reference in New Issue
Block a user