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
+13
@@ -0,0 +1,13 @@
|
||||
from .databases import Schemas as _databases
|
||||
from .pages import Schemas as _pages
|
||||
from .users import Schemas as _users
|
||||
from .errors import Schemas as _errors
|
||||
|
||||
class Schemas:
|
||||
|
||||
databases = _databases
|
||||
pages = _pages
|
||||
users = _users
|
||||
errors = _errors
|
||||
|
||||
__all__ = ["Schemas"]
|
||||
Executable
+15
@@ -0,0 +1,15 @@
|
||||
from ....schemas.dto import BaseModelSdk
|
||||
from pydantic import ConfigDict
|
||||
from typing import Optional, List, TypeVar, Generic
|
||||
from ....orm.mapping.database import NotionDatabase as _NotionDatabase
|
||||
from ..pages.Page import Page as _Page
|
||||
|
||||
TDB = TypeVar('TDB', bound = _NotionDatabase)
|
||||
|
||||
class Query(BaseModelSdk, Generic[TDB]):
|
||||
model_config = ConfigDict(title="Notion_Responses_Databases_Query")
|
||||
results: List[_Page[TDB]]
|
||||
next_cursor: Optional[str] = None
|
||||
has_more: bool = False
|
||||
type: str = "page_or_database"
|
||||
page_or_database: dict = {}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
from .Query import Query as _Query
|
||||
|
||||
class Schemas:
|
||||
|
||||
Query = _Query
|
||||
|
||||
__all__ = ["Schemas"]
|
||||
Executable
+8
@@ -0,0 +1,8 @@
|
||||
from ....schemas.dto import BaseModelSdk
|
||||
from pydantic import ConfigDict
|
||||
|
||||
class Error(BaseModelSdk):
|
||||
model_config = ConfigDict(title="Notion_Responses_Errors_Error")
|
||||
status: int
|
||||
code: str
|
||||
message: str
|
||||
Executable
+7
@@ -0,0 +1,7 @@
|
||||
from .Error import Error as _Error
|
||||
|
||||
class Schemas:
|
||||
|
||||
Error = _Error
|
||||
|
||||
__all__ = ["Schemas"]
|
||||
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"]
|
||||
Executable
+11
@@ -0,0 +1,11 @@
|
||||
from ....schemas.dto import BaseModelSdk
|
||||
from pydantic import ConfigDict
|
||||
from .type.Bot import Bot as _Bot
|
||||
|
||||
class Bot(BaseModelSdk):
|
||||
model_config = ConfigDict(title="Notion_Responses_Users_Bot")
|
||||
id: str
|
||||
type: str = "bot"
|
||||
bot: _Bot
|
||||
name: str
|
||||
avatar_url: str
|
||||
Executable
+11
@@ -0,0 +1,11 @@
|
||||
from ....schemas.dto import BaseModelSdk
|
||||
from pydantic import ConfigDict
|
||||
from .type.Person import Person as _Person
|
||||
|
||||
class Person(BaseModelSdk):
|
||||
model_config = ConfigDict(title="Notion_Responses_Users_Person")
|
||||
id: str
|
||||
type: str = "person"
|
||||
person: _Person
|
||||
name: str
|
||||
avatar_url: str
|
||||
Executable
+6
@@ -0,0 +1,6 @@
|
||||
from ....schemas.dto import BaseModelSdk
|
||||
from pydantic import ConfigDict
|
||||
|
||||
class User(BaseModelSdk):
|
||||
model_config = ConfigDict(title="Notion_Responses_Users_User")
|
||||
id: str
|
||||
Executable
+13
@@ -0,0 +1,13 @@
|
||||
from .type import Schemas as _type
|
||||
from .User import User as _User
|
||||
from .Person import Person as _Person
|
||||
from .Bot import Bot as _Bot
|
||||
|
||||
class Schemas:
|
||||
|
||||
type = _type
|
||||
User = _User
|
||||
Person = _Person
|
||||
Bot = _Bot
|
||||
|
||||
__all__ = ["Schemas"]
|
||||
Executable
+6
@@ -0,0 +1,6 @@
|
||||
from .....schemas.dto import BaseModelSdk
|
||||
from pydantic import ConfigDict
|
||||
|
||||
class Bot(BaseModelSdk):
|
||||
model_config = ConfigDict(title="Notion_Responses_Users_Type_Bot")
|
||||
...
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
from .....schemas.dto import BaseModelSdk
|
||||
from pydantic import ConfigDict
|
||||
|
||||
class Person(BaseModelSdk):
|
||||
model_config = ConfigDict(title="Notion_Responses_Users_Type_Person")
|
||||
email: str
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
from .Person import Person as _Person
|
||||
from .Bot import Bot as _Bot
|
||||
|
||||
class Schemas:
|
||||
|
||||
Person = _Person
|
||||
Bot = _Bot
|
||||
|
||||
__all__ = ["Schemas"]
|
||||
Reference in New Issue
Block a user