Added logic to create default api-key for frontend #162-3
This commit is contained in:
44
kdb-bot/src/modules/technician/api_key_seeder.py
Normal file
44
kdb-bot/src/modules/technician/api_key_seeder.py
Normal file
@@ -0,0 +1,44 @@
|
||||
from cpl_core.configuration import ConfigurationABC
|
||||
from cpl_core.database.context import DatabaseContextABC
|
||||
from cpl_discord.service import DiscordBotServiceABC
|
||||
|
||||
from bot_core.logging.database_logger import DatabaseLogger
|
||||
from bot_data.abc.api_key_repository_abc import ApiKeyRepositoryABC
|
||||
from bot_data.abc.data_seeder_abc import DataSeederABC
|
||||
from bot_data.abc.user_repository_abc import UserRepositoryABC
|
||||
from bot_data.model.api_key import ApiKey
|
||||
|
||||
|
||||
class ApiKeySeeder(DataSeederABC):
|
||||
def __init__(
|
||||
self,
|
||||
logger: DatabaseLogger,
|
||||
config: ConfigurationABC,
|
||||
bot: DiscordBotServiceABC,
|
||||
db: DatabaseContextABC,
|
||||
users: UserRepositoryABC,
|
||||
api_keys: ApiKeyRepositoryABC,
|
||||
):
|
||||
DataSeederABC.__init__(self)
|
||||
|
||||
self._logger = logger
|
||||
self._config = config
|
||||
self._bot = bot
|
||||
self._db = db
|
||||
self._users = users
|
||||
self._api_keys = api_keys
|
||||
|
||||
async def seed(self):
|
||||
self._logger.debug(__name__, f"API-Key seeder started")
|
||||
|
||||
if self._api_keys.get_api_keys().count() > 0:
|
||||
self._logger.debug(__name__, f"Skip API-Key seeder")
|
||||
return
|
||||
|
||||
try:
|
||||
frontend_key = ApiKey("frontend", "87f529fd-a32e-40b3-a1d1-7a1583cf3ff5", None)
|
||||
self._api_keys.add_api_key(frontend_key)
|
||||
self._db.save_changes()
|
||||
self._logger.info(__name__, f"Created frontend API-Key")
|
||||
except Exception as e:
|
||||
self._logger.fatal(__name__, "Cannot create frontend API-Key", e)
|
@@ -5,8 +5,10 @@ from cpl_discord.service.discord_collection_abc import DiscordCollectionABC
|
||||
|
||||
from bot_core.abc.module_abc import ModuleABC
|
||||
from bot_core.configuration.feature_flags_enum import FeatureFlagsEnum
|
||||
from bot_data.abc.data_seeder_abc import DataSeederABC
|
||||
from modules.base.abc.base_helper_abc import BaseHelperABC
|
||||
from modules.base.service.base_helper_service import BaseHelperService
|
||||
from modules.technician.api_key_seeder import ApiKeySeeder
|
||||
from modules.technician.command.api_key_group import ApiKeyGroup
|
||||
from modules.technician.command.log_command import LogCommand
|
||||
from modules.technician.command.restart_command import RestartCommand
|
||||
@@ -21,6 +23,7 @@ class TechnicianModule(ModuleABC):
|
||||
pass
|
||||
|
||||
def configure_services(self, services: ServiceCollectionABC, env: ApplicationEnvironmentABC):
|
||||
services.add_transient(DataSeederABC, ApiKeySeeder)
|
||||
services.add_transient(BaseHelperABC, BaseHelperService)
|
||||
# commands
|
||||
self._dc.add_command(RestartCommand)
|
||||
|
Reference in New Issue
Block a user