Files
Kralot 0ecb6e3530 Melhorias gerais no projeto como alterações de imports, nomes, e criação de singleton para configuração extra do ORM via init geral como timezone
---

- Muda nome de `Database` para `DatabaseClient` em `orm.respositories.databases`;
- Importa `DatabaseClient` em `types.orm` para facilitar uso pelo usuário;
- Define `BaseModelSdk` como base para `NotionDatabase` em `orm.mapping.database` no lugar de `BaseModel` original;
- Muda imports de models Database em `notion.types.orm` para `notion.types.orm.databases` e remove 'Database' dos nomes;
- Muda nome da func `get_database_id` para `id` em `orm.mapping.database`;
- Muda nome da func `get_notion_field_name` para `field_name` em `orm.mapping.database`;
- Muda nome da func `get_all_mappings` para `mappings` em `orm.mapping.database`;
- Cria `orm.config` para configuração de timezone e afins e inicializa singleton no init do pacote com `ORMConfig.configure(timezone = timezone)`;
- Altera link de 'Repository' do `pyproject.toml` para o GitHub;

---
2026-01-21 22:15:36 -03:00

57 lines
1.7 KiB
Python
Executable File

from typing import Generic, TypeVar
from ...mapping.database import NotionDatabase as _NotionDatabase
from ..pages import _Pages as _Pages
from .CreateDatabasePage import CreateDatabasePage as _CreateDatabasePage
from .SearchPage import SearchPage as _SearchPage
from .SearchPageProperty import SearchPageProperty as _SearchPageProperty
TDB = TypeVar('TDB', bound = _NotionDatabase)
class DatabaseClient(Generic[TDB]):
def __init__(self,
database_id : str,
generic_response : bool = False
) -> None:
self._database_id = database_id
self._generic_response = generic_response
@property
def CreateDatabasePage(self) -> _CreateDatabasePage[TDB]:
return _CreateDatabasePage(
database_id = self._database_id,
generic_response = self._generic_response
)
@property
def SearchPage(self) -> _SearchPage[TDB]:
return _SearchPage(
database_id = self._database_id,
generic_response = self._generic_response
)
@property
def SearchPageProperty(self) -> _SearchPageProperty:
return _SearchPageProperty(
database_id = self._database_id
)
@property
def page(self) -> _Pages[TDB]:
return _Pages(
database_id = self._database_id,
generic_response = self._generic_response
)
@staticmethod
def generic(database_id : str) -> 'DatabaseClient[_NotionDatabase]':
"Acessa database sem schema definido"
return DatabaseClient(
database_id = database_id,
generic_response = True
)
__all__ = ["DatabaseClient"]