| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- import sqlmodel
- import sqlalchemy.engine.base
- from .settings import settings
- from .user import user
- from .user import user_builder
- from .user_loader import user_loader
- class application:
- def __init__(self, config: settings) -> None:
- self.__config = config
- self.__init_database(config.database)
- def get_provider(self) -> dict:
- return {
- "app_name": self.config.app_name,
- "description": self.config.app_description,
- "organization_name": self.config.organization_name
- }
- def post_register(self, nick: str, password: str) -> dict:
- builder = user_builder()
- builder.nick = nick
- builder.set_password(password)
- with user_loader(self.database) as loader:
- if loader.register(builder.result):
- return {
- "status": True
- }
- return {
- "status": False
- }
- @property
- def config(self) -> settings:
- return self.__config
- @property
- def database(self) -> sqlalchemy.engine.base.Engine:
- return self.__database
- def __init_database(self, url: str) -> None:
- self.__database = sqlmodel.create_engine(url)
- sqlmodel.SQLModel.metadata.create_all(self.__database)
|