Skip to content

Instantly share code, notes, and snippets.

@JosXa
Last active September 21, 2020 18:52
Show Gist options
  • Save JosXa/eda7ef5eef7c8b6b48e5004cd8aea407 to your computer and use it in GitHub Desktop.
Save JosXa/eda7ef5eef7c8b6b48e5004cd8aea407 to your computer and use it in GitHub Desktop.
# generated by datamodel-codegen:
# filename: todoist-cache.json
# timestamp: 2020-09-21T18:40:06+00:00
from typing import Any, Dict, List, Optional, Union
from pydantic import BaseModel, Field
class CollaboratorState(BaseModel):
is_deleted: bool
project_id: int
state: str
user_id: int
class Collaborator(BaseModel):
email: str
full_name: str
id: int
image_id: str
timezone: str
class DayOrders(BaseModel):
field_3107961958: int = Field(..., alias='3107961958')
field_3111771294: int = Field(..., alias='3111771294')
field_3116015269: int = Field(..., alias='3116015269')
field_3117828967: int = Field(..., alias='3117828967')
field_3118146161: int = Field(..., alias='3118146161')
field_3118192051: int = Field(..., alias='3118192051')
field_3119886522: int = Field(..., alias='3119886522')
field_3119898324: int = Field(..., alias='3119898324')
field_3123789068: int = Field(..., alias='3123789068')
field_3123922614: int = Field(..., alias='3123922614')
field_3125192464: int = Field(..., alias='3125192464')
field_3125265269: int = Field(..., alias='3125265269')
field_3125470031: int = Field(..., alias='3125470031')
field_3125642734: int = Field(..., alias='3125642734')
field_3127042157: int = Field(..., alias='3127042157')
field_3127043569: int = Field(..., alias='3127043569')
field_3238258310: int = Field(..., alias='3238258310')
field_3317759738: int = Field(..., alias='3317759738')
field_3330046446: int = Field(..., alias='3330046446')
field_3331312312: int = Field(..., alias='3331312312')
field_3333105594: int = Field(..., alias='3333105594')
field_3341892725: int = Field(..., alias='3341892725')
field_3344419373: int = Field(..., alias='3344419373')
field_3347520993: int = Field(..., alias='3347520993')
field_3347521052: int = Field(..., alias='3347521052')
field_3347521210: int = Field(..., alias='3347521210')
field_3348901361: int = Field(..., alias='3348901361')
field_3412403494: int = Field(..., alias='3412403494')
field_3416715239: int = Field(..., alias='3416715239')
field_3789823355: int = Field(..., alias='3789823355')
field_3831870191: int = Field(..., alias='3831870191')
field_3900256192: int = Field(..., alias='3900256192')
field_3901060264: int = Field(..., alias='3901060264')
field_3904945696: int = Field(..., alias='3904945696')
field_3910032144: int = Field(..., alias='3910032144')
field_3911600427: int = Field(..., alias='3911600427')
field_3915108473: int = Field(..., alias='3915108473')
field_3915223258: int = Field(..., alias='3915223258')
field_3918440430: int = Field(..., alias='3918440430')
field_4074425316: int = Field(..., alias='4074425316')
field_4074441503: int = Field(..., alias='4074441503')
field_4086424911: int = Field(..., alias='4086424911')
field_4086534414: int = Field(..., alias='4086534414')
field_4086620273: int = Field(..., alias='4086620273')
field_4086640674: int = Field(..., alias='4086640674')
field_4087379700: int = Field(..., alias='4087379700')
field_4088170885: int = Field(..., alias='4088170885')
field_4088173844: int = Field(..., alias='4088173844')
field_4088177298: int = Field(..., alias='4088177298')
field_4088180098: int = Field(..., alias='4088180098')
field_4088183034: int = Field(..., alias='4088183034')
field_4088185185: int = Field(..., alias='4088185185')
field_4088210581: int = Field(..., alias='4088210581')
field_4088262462: int = Field(..., alias='4088262462')
field_4088276438: int = Field(..., alias='4088276438')
field_4088283615: int = Field(..., alias='4088283615')
field_4088299261: int = Field(..., alias='4088299261')
field_4088303151: int = Field(..., alias='4088303151')
field_4088303650: int = Field(..., alias='4088303650')
class Filter(BaseModel):
color: int
id: int
is_deleted: int
is_favorite: int
item_order: int
name: str
query: str
class DueItem(BaseModel):
date: str
is_recurring: bool
lang: str
string: str
timezone: Any
class Item(BaseModel):
added_by_uid: int
assigned_by_uid: int
checked: int
child_order: int
collapsed: int
content: str
date_added: str
date_completed: Any
day_order: int
due: Union[Any, DueItem]
has_more_notes: bool
id: int
in_history: int
is_deleted: int
labels: List[int]
parent_id: int
priority: int
project_id: int
responsible_uid: Any
section_id: int
sync_id: int
user_id: int
class Label(BaseModel):
color: int
id: int
is_deleted: int
is_favorite: int
item_order: int
name: str
class LiveNotification(BaseModel):
assigned_by_uid: Optional[int] = None
created: str
from_uid: Optional[int] = None
id: int
is_deleted: int
is_unread: int
item_content: Optional[str] = None
item_id: Optional[int] = None
notification_key: str
notification_type: str
project_id: Optional[int] = None
responsible_uid: Optional[Any] = None
invitation_id: Optional[int] = None
project_name: Optional[str] = None
completed_tasks: Optional[int] = None
date_reached: Optional[str] = None
karma_level: Optional[int] = None
promo_img: Optional[str] = None
top_procent: Optional[int] = None
note_content: Optional[str] = None
note_id: Optional[int] = None
completed_last_month: Optional[int] = None
completed_in_days: Optional[int] = None
class FileAttachmentItem(BaseModel):
description: Optional[str] = None
resource_type: str
title: Optional[str] = None
url: Optional[str] = None
favicon: Optional[str] = None
image: Optional[str] = None
image_height: Optional[int] = None
image_width: Optional[int] = None
site_name: Optional[str] = None
upload_state: Optional[str] = None
file_name: Optional[str] = None
file_size: Optional[int] = None
file_type: Optional[str] = None
file_url: Optional[str] = None
class Note(BaseModel):
content: str
file_attachment: Union[Any, FileAttachmentItem]
id: int
is_deleted: int
item_id: int
posted: str
posted_uid: int
project_id: int
reactions: Any
uids_to_notify: List
class Project(BaseModel):
child_order: int
collapsed: int
color: int
has_more_notes: bool
id: int
inbox_project: Optional[bool] = None
is_archived: int
is_deleted: int
is_favorite: int
name: str
parent_id: int
shared: bool
sync_id: int
class Section(BaseModel):
collapsed: bool
date_added: str
date_archived: Any
id: int
is_archived: bool
is_deleted: bool
name: str
project_id: int
section_order: int
sync_id: Any
user_id: int
class Features(BaseModel):
beta: int
dateist_inline_disabled: bool
dateist_lang: Any
has_push_reminders: bool
karma_disabled: bool
karma_vacation: bool
restriction: int
class TzInfo(BaseModel):
gmt_string: str
hours: int
is_dst: int
minutes: int
timezone: str
class User(BaseModel):
auto_reminder: int
avatar_big: str
avatar_medium: str
avatar_s640: str
avatar_small: str
business_account_id: Any
daily_goal: int
date_format: int
dateist_inline_disabled: bool
dateist_lang: Any
days_off: List[int]
default_reminder: str
email: str
features: Features
full_name: str
id: int
image_id: str
inbox_project: int
is_biz_admin: bool
is_premium: bool
join_date: str
karma: float
karma_trend: str
lang: str
mobile_host: Any
mobile_number: Any
next_week: int
premium_until: str
share_limit: int
sort_order: int
start_day: int
start_page: str
theme: int
time_format: int
token: str
tz_info: TzInfo
unique_prefix: int
websocket_url: str
weekly_goal: int
class UserSettings(BaseModel):
legacy_pricing: bool
reminder_desktop: bool
reminder_email: bool
reminder_push: bool
sound_on_completed: bool
class Model(BaseModel):
collaborator_states: List[CollaboratorState]
collaborators: List[Collaborator]
day_orders: DayOrders
day_orders_timestamp: str
filters: List[Filter]
items: List[Item]
labels: List[Label]
live_notifications: List[LiveNotification]
live_notifications_last_read_id: int
locations: List
notes: List[Note]
project_notes: List
projects: List[Project]
reminders: List
sections: List[Section]
settings_notifications: Dict[str, Any]
user: User
user_settings: UserSettings
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment