Compare commits
1 Commits
f82086b2e5
...
b874441f06
| Author | SHA1 | Date |
|---|---|---|
|
|
b874441f06 |
|
|
@ -1,8 +1,9 @@
|
|||
from dataclasses import dataclass, field
|
||||
from json import loads
|
||||
from typing import Any
|
||||
from os import environ
|
||||
from typing import Any, Callable
|
||||
|
||||
from pydantic import AliasPath, BaseModel, Field, field_validator
|
||||
from pydantic_settings import BaseSettings
|
||||
|
||||
from urllib.request import Request, urlopen
|
||||
|
||||
|
|
@ -105,10 +106,15 @@ class ClickupTask(BaseModel):
|
|||
return ret
|
||||
|
||||
|
||||
class ClickupSession(BaseSettings):
|
||||
auth_key: str = Field(alias="CLICKUP_AUTH", default=...)
|
||||
workspace_id: str = Field(alias="CLICKUP_WORKSPACE_ID", default=...)
|
||||
user_id: str = Field(alias="CLICKUP_USER_ID", default=...)
|
||||
def get_env_var(var_name: str) -> Callable[[], str]:
|
||||
return lambda var=var_name: environ[var]
|
||||
|
||||
|
||||
@dataclass
|
||||
class ClickupSession:
|
||||
auth_key: str = field(default_factory=get_env_var("CLICKUP_AUTH"))
|
||||
workspace_id: str = field(default_factory=get_env_var("CLICKUP_WORKSPACE_ID"))
|
||||
user_id: str = field(default_factory=get_env_var("CLICKUP_USER_ID"))
|
||||
base_url: str = "https://api.clickup.com/api/v2"
|
||||
|
||||
def _get(self, endpoint: str, **query_params: Any) -> dict[str, Any]:
|
||||
|
|
|
|||
Loading…
Reference in New Issue