Added logic to create default api-key for frontend #162-3
This commit is contained in:
@@ -22,7 +22,7 @@ class ApiKeyMigration(MigrationABC):
|
||||
`Id` BIGINT NOT NULL AUTO_INCREMENT,
|
||||
`Identifier` VARCHAR(255) NOT NULL,
|
||||
`Key` VARCHAR(255) NOT NULL,
|
||||
`CreatorId` BIGINT,
|
||||
`CreatorId` BIGINT NULL,
|
||||
`CreatedAt` DATETIME(6),
|
||||
`LastModifiedAt` DATETIME(6),
|
||||
PRIMARY KEY(`Id`),
|
||||
|
@@ -1,4 +1,5 @@
|
||||
from datetime import datetime
|
||||
from typing import Optional
|
||||
|
||||
from cpl_core.database import TableABC
|
||||
|
||||
@@ -10,7 +11,7 @@ class ApiKey(TableABC):
|
||||
self,
|
||||
identifier: str,
|
||||
key: str,
|
||||
creator: User,
|
||||
creator: Optional[User],
|
||||
created_at: datetime = None,
|
||||
modified_at: datetime = None,
|
||||
id=0,
|
||||
@@ -33,7 +34,7 @@ class ApiKey(TableABC):
|
||||
return self._key
|
||||
|
||||
@property
|
||||
def creator(self) -> User:
|
||||
def creator(self) -> Optional[User]:
|
||||
return self._creator
|
||||
|
||||
@staticmethod
|
||||
@@ -72,7 +73,7 @@ class ApiKey(TableABC):
|
||||
) VALUES (
|
||||
'{self._identifier}',
|
||||
'{self._key}',
|
||||
'{self._creator.user_id}',
|
||||
{"NULL" if self._creator is None else self._creator.user_id},
|
||||
'{self._created_at}',
|
||||
'{self._modified_at}'
|
||||
);
|
||||
|
@@ -31,10 +31,11 @@ class ApiKeyRepositoryService(ApiKeyRepositoryABC):
|
||||
return value
|
||||
|
||||
def _api_key_from_result(self, sql_result: tuple) -> ApiKey:
|
||||
creator = self._get_value_from_result(sql_result[3])
|
||||
api_key = ApiKey(
|
||||
self._get_value_from_result(sql_result[1]),
|
||||
self._get_value_from_result(sql_result[2]),
|
||||
self._users.get_user_by_id(int(self._get_value_from_result(sql_result[3]))),
|
||||
None if creator is None else self._users.get_user_by_id(int(creator)),
|
||||
self._get_value_from_result(sql_result[4]),
|
||||
self._get_value_from_result(sql_result[5]),
|
||||
id=self._get_value_from_result(sql_result[0]),
|
||||
|
@@ -1,6 +1,5 @@
|
||||
from cpl_core.database.context import DatabaseContextABC
|
||||
from cpl_core.dependency_injection import ServiceProviderABC
|
||||
from cpl_query.extension import List
|
||||
|
||||
from bot_core.logging.database_logger import DatabaseLogger
|
||||
from bot_data.abc.data_seeder_abc import DataSeederABC
|
||||
@@ -18,12 +17,10 @@ class SeederService:
|
||||
|
||||
self._db = db
|
||||
|
||||
self._seeder = List(type, DataSeederABC.__subclasses__())
|
||||
|
||||
async def seed(self):
|
||||
self._logger.info(__name__, f"Seed data")
|
||||
for seeder in self._seeder:
|
||||
seeder_as_service: DataSeederABC = self._services.get_service(seeder)
|
||||
self._logger.debug(__name__, f"Starting seeder {seeder.__name__}")
|
||||
await seeder_as_service.seed()
|
||||
for seeder in self._services.get_services(list[DataSeederABC]):
|
||||
seeder: DataSeederABC = seeder
|
||||
self._logger.debug(__name__, f"Starting seeder {type(seeder).__name__}")
|
||||
await seeder.seed()
|
||||
self._db.save_changes()
|
||||
|
Reference in New Issue
Block a user