-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathworkspace.py
More file actions
56 lines (45 loc) · 1.59 KB
/
workspace.py
File metadata and controls
56 lines (45 loc) · 1.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
from __future__ import annotations
from datetime import datetime
from typing import List, Optional
from pydantic.fields import Field
from toggl_python.schemas.base import BaseSchema, SinceParamSchemaMixin
class WorkspaceResponseBase(BaseSchema):
admin: bool
at: datetime
business_ws: bool = Field(description="Is workspace on Premium subscription")
csv_upload: Optional[List]
default_currency: str
default_hourly_rate: Optional[float]
hide_start_end_times: bool
ical_enabled: bool
ical_url: Optional[str]
id: int
last_modified: Optional[datetime]
logo_url: str
name: str
only_admins_may_create_projects: bool
only_admins_may_create_tags: bool
only_admins_see_team_dashboard: bool
organization_id: int
premium: bool
projects_billable_by_default: bool
projects_enforce_billable: bool
projects_private_by_default: bool
rate_last_updated: Optional[datetime]
reports_collapse: bool
role: str
rounding: int = Field(le=1, ge=-1)
rounding_minutes: int
server_deleted_at: Optional[datetime]
suspended_at: Optional[datetime]
working_hours_in_minutes: Optional[int]
class WorkspaceResponse(WorkspaceResponseBase):
pass
class GetWorkspacesQueryParams(SinceParamSchemaMixin, BaseSchema):
pass
class UpdateWorkspaceRequest(BaseSchema):
admins: Optional[List[int]] = None
only_admins_may_create_tags: Optional[bool] = None
only_admins_see_team_dashboard: Optional[bool] = None
reports_collapse: Optional[bool] = None
name: Optional[str] = Field(default=None, min_length=1, max_length=140)