Finaliza ajustes para iniciar Repositorio Git do SDK de Integração do Notion separado do meu projeto original
--- - Cria singleton de `client` com func `configure` para inicializar e `get_instance` para buscar instância do client; - Ajusta clients para buscar headers vindo do pai `client` e fixa versão legacy no client de databases; - Adiciona inicialização de `client` no init do projeto com api_token e api_version informados pelo usuário; - Altera `NotionConfig` para inserir `database_id` no lugar de `database_name`; - Altera sistema para receber `database_id` no lugar de `database_name`; - Altera tipo de `properties` em `schemas.responses.pages.Page` de `Union[Dict[str, Any]], TDB` para `Union[Any, TDB]` para resolver reclamações de type hint; - Adiciona param `generic_response` no init de `client` e nos clients e databases e pages para pular uso de mapping ao usar `.generic`; - Adiciona param `raw_response` para pular parser e mappings e retornar resposta original da api; - Finaliza `types` com subpastas para importações mas com init mãe vazio para evitar dependência circular e permitir uso de `notion.types.` pelo usuário; - Remove importações do projeto original não relacionadas com o SDK; - Adiciona param `timezone` na func `start_date` em `orm.common.SetProperty` que antes vinha do env, para posteriormente puxar da init da integração; - Monta `LICENSE`, `README.md` e `pyproject.toml` base simples para commit inicial do projeto permitindo build de pacote; ---
This commit is contained in:
Executable
+24
@@ -0,0 +1,24 @@
|
||||
from ....schemas.dto import BaseModelSdk
|
||||
from pydantic import ConfigDict
|
||||
from typing import Optional, Any, Dict, Generic, TypeVar, Union
|
||||
from datetime import datetime
|
||||
from ....orm.mapping.database import NotionDatabase as _NotionDatabase
|
||||
from ..users.User import User as _User
|
||||
from .Parent import Parent as _Parent
|
||||
|
||||
TDB = TypeVar('TDB', bound = _NotionDatabase)
|
||||
|
||||
class Page(BaseModelSdk, Generic[TDB]):
|
||||
model_config = ConfigDict(title="Notion_Responses_Pages_Page")
|
||||
id: str
|
||||
created_time: datetime
|
||||
last_edited_time: datetime
|
||||
created_by: _User
|
||||
last_edited_by: _User
|
||||
cover: Optional[Dict[str, Any]]
|
||||
icon: Optional[Dict[str, Any]]
|
||||
parent: _Parent
|
||||
archived: bool
|
||||
properties: Union[Any, TDB]
|
||||
url: str
|
||||
public_url: Optional[str]
|
||||
Executable
+9
@@ -0,0 +1,9 @@
|
||||
from ....schemas.dto import BaseModelSdk
|
||||
from pydantic import ConfigDict
|
||||
from typing import Optional, Literal
|
||||
|
||||
class Parent(BaseModelSdk):
|
||||
model_config = ConfigDict(title="Notion_Responses_Pages_Parent")
|
||||
type: Literal ["page_id", "data_source_id", "database_id"]
|
||||
data_source_id: Optional[str] = None
|
||||
database_id: Optional[str] = None
|
||||
Executable
+9
@@ -0,0 +1,9 @@
|
||||
from .Page import Page as _Page
|
||||
from .Parent import Parent as _Parent
|
||||
|
||||
class Schemas:
|
||||
|
||||
Page = _Page
|
||||
Parent = _Parent
|
||||
|
||||
__all__ = ["Schemas"]
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
from .....schemas.dto import BaseModelSdk
|
||||
from pydantic import ConfigDict
|
||||
from typing import Dict, Any, Optional
|
||||
|
||||
class RichText(BaseModelSdk):
|
||||
model_config = ConfigDict(title="Notion_Responses_Pages_Properties_RichText")
|
||||
type: str
|
||||
text: 'Text'
|
||||
annotations: 'Annotations'
|
||||
plain_text: Optional[str]
|
||||
href: Optional[str]
|
||||
|
||||
class Text(BaseModelSdk):
|
||||
content: Optional[str]
|
||||
link: Optional[str]
|
||||
|
||||
class Annotations(BaseModelSdk):
|
||||
bold: bool
|
||||
italic: bool
|
||||
strikethrough: bool
|
||||
underline: bool
|
||||
code: bool
|
||||
color: str
|
||||
@@ -0,0 +1,7 @@
|
||||
from .RichText import RichText as _RichText
|
||||
|
||||
class Schemas:
|
||||
|
||||
RichText = _RichText
|
||||
|
||||
__all__ = ["Schemas"]
|
||||
Reference in New Issue
Block a user