Changed config loading from file to db #127
This commit is contained in:
@@ -3,25 +3,25 @@ from cpl_core.configuration import ConfigurationABC
|
||||
from cpl_core.logging import LoggerABC
|
||||
from cpl_discord.service import DiscordBotServiceABC
|
||||
|
||||
from bot_core.configuration.bot_settings import BotSettings
|
||||
from bot_data.model.server_config import ServerConfig
|
||||
from bot_data.model.team_member_type_enum import TeamMemberTypeEnum
|
||||
from bot_data.model.technician_config import TechnicianConfig
|
||||
from modules.permission.abc.permission_service_abc import PermissionServiceABC
|
||||
from modules.permission.configuration.permission_server_settings import (
|
||||
PermissionServerSettings,
|
||||
)
|
||||
|
||||
|
||||
class PermissionService(PermissionServiceABC):
|
||||
def __init__(
|
||||
self,
|
||||
technician_settings: TechnicianConfig,
|
||||
logger: LoggerABC,
|
||||
bot: DiscordBotServiceABC,
|
||||
config: ConfigurationABC,
|
||||
bot_settings: BotSettings,
|
||||
):
|
||||
PermissionServiceABC.__init__(self)
|
||||
self._logger = logger
|
||||
self._bot = bot
|
||||
self._config = config
|
||||
self._technician_settings = technician_settings
|
||||
|
||||
self._admin_role_ids: dict[int, list[int]] = {}
|
||||
self._admin_roles: dict[int, list[discord.Role]] = {}
|
||||
@@ -31,7 +31,7 @@ class PermissionService(PermissionServiceABC):
|
||||
self._moderator_roles: dict[int, list[discord.Role]] = {}
|
||||
self._moderators: dict[int, list[discord.Member]] = {}
|
||||
|
||||
self._technician_ids: list[int] = bot_settings.technicians
|
||||
self._technician_ids: list[int] = technician_settings.technician_ids.to_list()
|
||||
self._technicians: list[discord.Member] = []
|
||||
|
||||
def on_ready(self):
|
||||
@@ -45,13 +45,21 @@ class PermissionService(PermissionServiceABC):
|
||||
continue
|
||||
self._technicians.append(technician)
|
||||
|
||||
settings: PermissionServerSettings = self._config.get_configuration(f"PermissionServerSettings_{guild.id}")
|
||||
settings: ServerConfig = self._config.get_configuration(f"ServerConfig_{guild.id}")
|
||||
if settings is None:
|
||||
self._logger.error(__name__, "Permission settings not found")
|
||||
self._logger.error(__name__, "Server settings not found")
|
||||
return
|
||||
|
||||
self._admin_role_ids[guild.id] = settings.admin_roles
|
||||
self._moderator_role_ids[guild.id] = settings.moderator_roles
|
||||
self._admin_role_ids[guild.id] = (
|
||||
settings.team_role_ids.where(lambda x: x.team_member_type == TeamMemberTypeEnum.admin)
|
||||
.select(lambda x: x.role_id)
|
||||
.to_list()
|
||||
)
|
||||
self._moderator_role_ids[guild.id] = (
|
||||
settings.team_role_ids.where(lambda x: x.team_member_type == TeamMemberTypeEnum.moderator)
|
||||
.select(lambda x: x.role_id)
|
||||
.to_list()
|
||||
)
|
||||
|
||||
admin_roles = []
|
||||
admins = []
|
||||
|
Reference in New Issue
Block a user