dart-tools 0.8.6__py3-none-any.whl → 0.8.7__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of dart-tools might be problematic. Click here for more details.

@@ -8,6 +8,9 @@ from ..types import UNSET, Unset
8
8
 
9
9
  if TYPE_CHECKING:
10
10
  from ..models.concise_doc import ConciseDoc
11
+ from ..models.paginated_concise_doc_list_meta_type_0 import (
12
+ PaginatedConciseDocListMetaType0,
13
+ )
11
14
 
12
15
 
13
16
  T = TypeVar("T", bound="PaginatedConciseDocList")
@@ -21,15 +24,21 @@ class PaginatedConciseDocList:
21
24
  results (list['ConciseDoc']):
22
25
  next_ (Union[None, Unset, str]): Example: http://api.example.org/accounts/?offset=400&limit=100.
23
26
  previous (Union[None, Unset, str]): Example: http://api.example.org/accounts/?offset=200&limit=100.
27
+ meta (Union['PaginatedConciseDocListMetaType0', None, Unset]):
24
28
  """
25
29
 
26
30
  count: int
27
31
  results: list["ConciseDoc"]
28
32
  next_: Union[None, Unset, str] = UNSET
29
33
  previous: Union[None, Unset, str] = UNSET
34
+ meta: Union["PaginatedConciseDocListMetaType0", None, Unset] = UNSET
30
35
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
31
36
 
32
37
  def to_dict(self) -> dict[str, Any]:
38
+ from ..models.paginated_concise_doc_list_meta_type_0 import (
39
+ PaginatedConciseDocListMetaType0,
40
+ )
41
+
33
42
  count = self.count
34
43
 
35
44
  results = []
@@ -49,6 +58,14 @@ class PaginatedConciseDocList:
49
58
  else:
50
59
  previous = self.previous
51
60
 
61
+ meta: Union[None, Unset, dict[str, Any]]
62
+ if isinstance(self.meta, Unset):
63
+ meta = UNSET
64
+ elif isinstance(self.meta, PaginatedConciseDocListMetaType0):
65
+ meta = self.meta.to_dict()
66
+ else:
67
+ meta = self.meta
68
+
52
69
  field_dict: dict[str, Any] = {}
53
70
  field_dict.update(self.additional_properties)
54
71
  field_dict.update(
@@ -61,12 +78,17 @@ class PaginatedConciseDocList:
61
78
  field_dict["next"] = next_
62
79
  if previous is not UNSET:
63
80
  field_dict["previous"] = previous
81
+ if meta is not UNSET:
82
+ field_dict["meta"] = meta
64
83
 
65
84
  return field_dict
66
85
 
67
86
  @classmethod
68
87
  def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
69
88
  from ..models.concise_doc import ConciseDoc
89
+ from ..models.paginated_concise_doc_list_meta_type_0 import (
90
+ PaginatedConciseDocListMetaType0,
91
+ )
70
92
 
71
93
  d = dict(src_dict)
72
94
  count = d.pop("count")
@@ -96,11 +118,31 @@ class PaginatedConciseDocList:
96
118
 
97
119
  previous = _parse_previous(d.pop("previous", UNSET))
98
120
 
121
+ def _parse_meta(
122
+ data: object,
123
+ ) -> Union["PaginatedConciseDocListMetaType0", None, Unset]:
124
+ if data is None:
125
+ return data
126
+ if isinstance(data, Unset):
127
+ return data
128
+ try:
129
+ if not isinstance(data, dict):
130
+ raise TypeError()
131
+ meta_type_0 = PaginatedConciseDocListMetaType0.from_dict(data)
132
+
133
+ return meta_type_0
134
+ except: # noqa: E722
135
+ pass
136
+ return cast(Union["PaginatedConciseDocListMetaType0", None, Unset], data)
137
+
138
+ meta = _parse_meta(d.pop("meta", UNSET))
139
+
99
140
  paginated_concise_doc_list = cls(
100
141
  count=count,
101
142
  results=results,
102
143
  next_=next_,
103
144
  previous=previous,
145
+ meta=meta,
104
146
  )
105
147
 
106
148
  paginated_concise_doc_list.additional_properties = d
@@ -0,0 +1,109 @@
1
+ from collections.abc import Mapping
2
+ from typing import TYPE_CHECKING, Any, TypeVar, Union, cast
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ from ..types import UNSET, Unset
8
+
9
+ if TYPE_CHECKING:
10
+ from ..models.paginated_concise_doc_list_meta_type_0_applied_default_filters import (
11
+ PaginatedConciseDocListMetaType0AppliedDefaultFilters,
12
+ )
13
+
14
+
15
+ T = TypeVar("T", bound="PaginatedConciseDocListMetaType0")
16
+
17
+
18
+ @_attrs_define
19
+ class PaginatedConciseDocListMetaType0:
20
+ """
21
+ Attributes:
22
+ defaults_applied (Union[Unset, bool]): Whether default filters or ordering were applied to the response.
23
+ applied_default_filters (Union[Unset, PaginatedConciseDocListMetaType0AppliedDefaultFilters]): The default
24
+ filters that were applied automatically, if any.
25
+ applied_default_sorts (Union[Unset, list[str]]): The default ordering fields that were applied automatically, if
26
+ any.
27
+ instructions (Union[Unset, str]): Guidance on how to disable or override default filters and ordering.
28
+ """
29
+
30
+ defaults_applied: Union[Unset, bool] = UNSET
31
+ applied_default_filters: Union[Unset, "PaginatedConciseDocListMetaType0AppliedDefaultFilters"] = UNSET
32
+ applied_default_sorts: Union[Unset, list[str]] = UNSET
33
+ instructions: Union[Unset, str] = UNSET
34
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
35
+
36
+ def to_dict(self) -> dict[str, Any]:
37
+ defaults_applied = self.defaults_applied
38
+
39
+ applied_default_filters: Union[Unset, dict[str, Any]] = UNSET
40
+ if not isinstance(self.applied_default_filters, Unset):
41
+ applied_default_filters = self.applied_default_filters.to_dict()
42
+
43
+ applied_default_sorts: Union[Unset, list[str]] = UNSET
44
+ if not isinstance(self.applied_default_sorts, Unset):
45
+ applied_default_sorts = self.applied_default_sorts
46
+
47
+ instructions = self.instructions
48
+
49
+ field_dict: dict[str, Any] = {}
50
+ field_dict.update(self.additional_properties)
51
+ field_dict.update({})
52
+ if defaults_applied is not UNSET:
53
+ field_dict["defaultsApplied"] = defaults_applied
54
+ if applied_default_filters is not UNSET:
55
+ field_dict["appliedDefaultFilters"] = applied_default_filters
56
+ if applied_default_sorts is not UNSET:
57
+ field_dict["appliedDefaultSorts"] = applied_default_sorts
58
+ if instructions is not UNSET:
59
+ field_dict["instructions"] = instructions
60
+
61
+ return field_dict
62
+
63
+ @classmethod
64
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
65
+ from ..models.paginated_concise_doc_list_meta_type_0_applied_default_filters import (
66
+ PaginatedConciseDocListMetaType0AppliedDefaultFilters,
67
+ )
68
+
69
+ d = dict(src_dict)
70
+ defaults_applied = d.pop("defaultsApplied", UNSET)
71
+
72
+ _applied_default_filters = d.pop("appliedDefaultFilters", UNSET)
73
+ applied_default_filters: Union[Unset, PaginatedConciseDocListMetaType0AppliedDefaultFilters]
74
+ if isinstance(_applied_default_filters, Unset):
75
+ applied_default_filters = UNSET
76
+ else:
77
+ applied_default_filters = PaginatedConciseDocListMetaType0AppliedDefaultFilters.from_dict(
78
+ _applied_default_filters
79
+ )
80
+
81
+ applied_default_sorts = cast(list[str], d.pop("appliedDefaultSorts", UNSET))
82
+
83
+ instructions = d.pop("instructions", UNSET)
84
+
85
+ paginated_concise_doc_list_meta_type_0 = cls(
86
+ defaults_applied=defaults_applied,
87
+ applied_default_filters=applied_default_filters,
88
+ applied_default_sorts=applied_default_sorts,
89
+ instructions=instructions,
90
+ )
91
+
92
+ paginated_concise_doc_list_meta_type_0.additional_properties = d
93
+ return paginated_concise_doc_list_meta_type_0
94
+
95
+ @property
96
+ def additional_keys(self) -> list[str]:
97
+ return list(self.additional_properties.keys())
98
+
99
+ def __getitem__(self, key: str) -> Any:
100
+ return self.additional_properties[key]
101
+
102
+ def __setitem__(self, key: str, value: Any) -> None:
103
+ self.additional_properties[key] = value
104
+
105
+ def __delitem__(self, key: str) -> None:
106
+ del self.additional_properties[key]
107
+
108
+ def __contains__(self, key: str) -> bool:
109
+ return key in self.additional_properties
@@ -0,0 +1,44 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ T = TypeVar("T", bound="PaginatedConciseDocListMetaType0AppliedDefaultFilters")
8
+
9
+
10
+ @_attrs_define
11
+ class PaginatedConciseDocListMetaType0AppliedDefaultFilters:
12
+ """The default filters that were applied automatically, if any."""
13
+
14
+ additional_properties: dict[str, str] = _attrs_field(init=False, factory=dict)
15
+
16
+ def to_dict(self) -> dict[str, Any]:
17
+ field_dict: dict[str, Any] = {}
18
+ field_dict.update(self.additional_properties)
19
+
20
+ return field_dict
21
+
22
+ @classmethod
23
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
24
+ d = dict(src_dict)
25
+ paginated_concise_doc_list_meta_type_0_applied_default_filters = cls()
26
+
27
+ paginated_concise_doc_list_meta_type_0_applied_default_filters.additional_properties = d
28
+ return paginated_concise_doc_list_meta_type_0_applied_default_filters
29
+
30
+ @property
31
+ def additional_keys(self) -> list[str]:
32
+ return list(self.additional_properties.keys())
33
+
34
+ def __getitem__(self, key: str) -> str:
35
+ return self.additional_properties[key]
36
+
37
+ def __setitem__(self, key: str, value: str) -> None:
38
+ self.additional_properties[key] = value
39
+
40
+ def __delitem__(self, key: str) -> None:
41
+ del self.additional_properties[key]
42
+
43
+ def __contains__(self, key: str) -> bool:
44
+ return key in self.additional_properties
@@ -8,6 +8,9 @@ from ..types import UNSET, Unset
8
8
 
9
9
  if TYPE_CHECKING:
10
10
  from ..models.concise_task import ConciseTask
11
+ from ..models.paginated_concise_task_list_meta_type_0 import (
12
+ PaginatedConciseTaskListMetaType0,
13
+ )
11
14
 
12
15
 
13
16
  T = TypeVar("T", bound="PaginatedConciseTaskList")
@@ -21,15 +24,21 @@ class PaginatedConciseTaskList:
21
24
  results (list['ConciseTask']):
22
25
  next_ (Union[None, Unset, str]): Example: http://api.example.org/accounts/?offset=400&limit=100.
23
26
  previous (Union[None, Unset, str]): Example: http://api.example.org/accounts/?offset=200&limit=100.
27
+ meta (Union['PaginatedConciseTaskListMetaType0', None, Unset]):
24
28
  """
25
29
 
26
30
  count: int
27
31
  results: list["ConciseTask"]
28
32
  next_: Union[None, Unset, str] = UNSET
29
33
  previous: Union[None, Unset, str] = UNSET
34
+ meta: Union["PaginatedConciseTaskListMetaType0", None, Unset] = UNSET
30
35
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
31
36
 
32
37
  def to_dict(self) -> dict[str, Any]:
38
+ from ..models.paginated_concise_task_list_meta_type_0 import (
39
+ PaginatedConciseTaskListMetaType0,
40
+ )
41
+
33
42
  count = self.count
34
43
 
35
44
  results = []
@@ -49,6 +58,14 @@ class PaginatedConciseTaskList:
49
58
  else:
50
59
  previous = self.previous
51
60
 
61
+ meta: Union[None, Unset, dict[str, Any]]
62
+ if isinstance(self.meta, Unset):
63
+ meta = UNSET
64
+ elif isinstance(self.meta, PaginatedConciseTaskListMetaType0):
65
+ meta = self.meta.to_dict()
66
+ else:
67
+ meta = self.meta
68
+
52
69
  field_dict: dict[str, Any] = {}
53
70
  field_dict.update(self.additional_properties)
54
71
  field_dict.update(
@@ -61,12 +78,17 @@ class PaginatedConciseTaskList:
61
78
  field_dict["next"] = next_
62
79
  if previous is not UNSET:
63
80
  field_dict["previous"] = previous
81
+ if meta is not UNSET:
82
+ field_dict["meta"] = meta
64
83
 
65
84
  return field_dict
66
85
 
67
86
  @classmethod
68
87
  def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
69
88
  from ..models.concise_task import ConciseTask
89
+ from ..models.paginated_concise_task_list_meta_type_0 import (
90
+ PaginatedConciseTaskListMetaType0,
91
+ )
70
92
 
71
93
  d = dict(src_dict)
72
94
  count = d.pop("count")
@@ -96,11 +118,31 @@ class PaginatedConciseTaskList:
96
118
 
97
119
  previous = _parse_previous(d.pop("previous", UNSET))
98
120
 
121
+ def _parse_meta(
122
+ data: object,
123
+ ) -> Union["PaginatedConciseTaskListMetaType0", None, Unset]:
124
+ if data is None:
125
+ return data
126
+ if isinstance(data, Unset):
127
+ return data
128
+ try:
129
+ if not isinstance(data, dict):
130
+ raise TypeError()
131
+ meta_type_0 = PaginatedConciseTaskListMetaType0.from_dict(data)
132
+
133
+ return meta_type_0
134
+ except: # noqa: E722
135
+ pass
136
+ return cast(Union["PaginatedConciseTaskListMetaType0", None, Unset], data)
137
+
138
+ meta = _parse_meta(d.pop("meta", UNSET))
139
+
99
140
  paginated_concise_task_list = cls(
100
141
  count=count,
101
142
  results=results,
102
143
  next_=next_,
103
144
  previous=previous,
145
+ meta=meta,
104
146
  )
105
147
 
106
148
  paginated_concise_task_list.additional_properties = d
@@ -0,0 +1,109 @@
1
+ from collections.abc import Mapping
2
+ from typing import TYPE_CHECKING, Any, TypeVar, Union, cast
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ from ..types import UNSET, Unset
8
+
9
+ if TYPE_CHECKING:
10
+ from ..models.paginated_concise_task_list_meta_type_0_applied_default_filters import (
11
+ PaginatedConciseTaskListMetaType0AppliedDefaultFilters,
12
+ )
13
+
14
+
15
+ T = TypeVar("T", bound="PaginatedConciseTaskListMetaType0")
16
+
17
+
18
+ @_attrs_define
19
+ class PaginatedConciseTaskListMetaType0:
20
+ """
21
+ Attributes:
22
+ defaults_applied (Union[Unset, bool]): Whether default filters or ordering were applied to the response.
23
+ applied_default_filters (Union[Unset, PaginatedConciseTaskListMetaType0AppliedDefaultFilters]): The default
24
+ filters that were applied automatically, if any.
25
+ applied_default_sorts (Union[Unset, list[str]]): The default ordering fields that were applied automatically, if
26
+ any.
27
+ instructions (Union[Unset, str]): Guidance on how to disable or override default filters and ordering.
28
+ """
29
+
30
+ defaults_applied: Union[Unset, bool] = UNSET
31
+ applied_default_filters: Union[Unset, "PaginatedConciseTaskListMetaType0AppliedDefaultFilters"] = UNSET
32
+ applied_default_sorts: Union[Unset, list[str]] = UNSET
33
+ instructions: Union[Unset, str] = UNSET
34
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
35
+
36
+ def to_dict(self) -> dict[str, Any]:
37
+ defaults_applied = self.defaults_applied
38
+
39
+ applied_default_filters: Union[Unset, dict[str, Any]] = UNSET
40
+ if not isinstance(self.applied_default_filters, Unset):
41
+ applied_default_filters = self.applied_default_filters.to_dict()
42
+
43
+ applied_default_sorts: Union[Unset, list[str]] = UNSET
44
+ if not isinstance(self.applied_default_sorts, Unset):
45
+ applied_default_sorts = self.applied_default_sorts
46
+
47
+ instructions = self.instructions
48
+
49
+ field_dict: dict[str, Any] = {}
50
+ field_dict.update(self.additional_properties)
51
+ field_dict.update({})
52
+ if defaults_applied is not UNSET:
53
+ field_dict["defaultsApplied"] = defaults_applied
54
+ if applied_default_filters is not UNSET:
55
+ field_dict["appliedDefaultFilters"] = applied_default_filters
56
+ if applied_default_sorts is not UNSET:
57
+ field_dict["appliedDefaultSorts"] = applied_default_sorts
58
+ if instructions is not UNSET:
59
+ field_dict["instructions"] = instructions
60
+
61
+ return field_dict
62
+
63
+ @classmethod
64
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
65
+ from ..models.paginated_concise_task_list_meta_type_0_applied_default_filters import (
66
+ PaginatedConciseTaskListMetaType0AppliedDefaultFilters,
67
+ )
68
+
69
+ d = dict(src_dict)
70
+ defaults_applied = d.pop("defaultsApplied", UNSET)
71
+
72
+ _applied_default_filters = d.pop("appliedDefaultFilters", UNSET)
73
+ applied_default_filters: Union[Unset, PaginatedConciseTaskListMetaType0AppliedDefaultFilters]
74
+ if isinstance(_applied_default_filters, Unset):
75
+ applied_default_filters = UNSET
76
+ else:
77
+ applied_default_filters = PaginatedConciseTaskListMetaType0AppliedDefaultFilters.from_dict(
78
+ _applied_default_filters
79
+ )
80
+
81
+ applied_default_sorts = cast(list[str], d.pop("appliedDefaultSorts", UNSET))
82
+
83
+ instructions = d.pop("instructions", UNSET)
84
+
85
+ paginated_concise_task_list_meta_type_0 = cls(
86
+ defaults_applied=defaults_applied,
87
+ applied_default_filters=applied_default_filters,
88
+ applied_default_sorts=applied_default_sorts,
89
+ instructions=instructions,
90
+ )
91
+
92
+ paginated_concise_task_list_meta_type_0.additional_properties = d
93
+ return paginated_concise_task_list_meta_type_0
94
+
95
+ @property
96
+ def additional_keys(self) -> list[str]:
97
+ return list(self.additional_properties.keys())
98
+
99
+ def __getitem__(self, key: str) -> Any:
100
+ return self.additional_properties[key]
101
+
102
+ def __setitem__(self, key: str, value: Any) -> None:
103
+ self.additional_properties[key] = value
104
+
105
+ def __delitem__(self, key: str) -> None:
106
+ del self.additional_properties[key]
107
+
108
+ def __contains__(self, key: str) -> bool:
109
+ return key in self.additional_properties
@@ -0,0 +1,44 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ T = TypeVar("T", bound="PaginatedConciseTaskListMetaType0AppliedDefaultFilters")
8
+
9
+
10
+ @_attrs_define
11
+ class PaginatedConciseTaskListMetaType0AppliedDefaultFilters:
12
+ """The default filters that were applied automatically, if any."""
13
+
14
+ additional_properties: dict[str, str] = _attrs_field(init=False, factory=dict)
15
+
16
+ def to_dict(self) -> dict[str, Any]:
17
+ field_dict: dict[str, Any] = {}
18
+ field_dict.update(self.additional_properties)
19
+
20
+ return field_dict
21
+
22
+ @classmethod
23
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
24
+ d = dict(src_dict)
25
+ paginated_concise_task_list_meta_type_0_applied_default_filters = cls()
26
+
27
+ paginated_concise_task_list_meta_type_0_applied_default_filters.additional_properties = d
28
+ return paginated_concise_task_list_meta_type_0_applied_default_filters
29
+
30
+ @property
31
+ def additional_keys(self) -> list[str]:
32
+ return list(self.additional_properties.keys())
33
+
34
+ def __getitem__(self, key: str) -> str:
35
+ return self.additional_properties[key]
36
+
37
+ def __setitem__(self, key: str, value: str) -> None:
38
+ self.additional_properties[key] = value
39
+
40
+ def __delitem__(self, key: str) -> None:
41
+ del self.additional_properties[key]
42
+
43
+ def __contains__(self, key: str) -> bool:
44
+ return key in self.additional_properties
@@ -0,0 +1,94 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar, Union, cast
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ from ..types import UNSET, Unset
8
+
9
+ T = TypeVar("T", bound="TaskMove")
10
+
11
+
12
+ @_attrs_define
13
+ class TaskMove:
14
+ """
15
+ Attributes:
16
+ before_task_id (Union[None, Unset, str]): Move the task immediately before this task. For example: if tasks are
17
+ [A, B, C], then beforeTaskId=B produces [A, moved_task, B, C]. Use null to move to the beginning (first
18
+ position).
19
+ after_task_id (Union[None, Unset, str]): Move the task immediately after this task. For example: if tasks are
20
+ [A, B, C], then afterTaskId=B produces [A, B, moved_task, C]. Use null to move to the end (last position).
21
+ """
22
+
23
+ before_task_id: Union[None, Unset, str] = UNSET
24
+ after_task_id: Union[None, Unset, str] = UNSET
25
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
26
+
27
+ def to_dict(self) -> dict[str, Any]:
28
+ before_task_id: Union[None, Unset, str]
29
+ if isinstance(self.before_task_id, Unset):
30
+ before_task_id = UNSET
31
+ else:
32
+ before_task_id = self.before_task_id
33
+
34
+ after_task_id: Union[None, Unset, str]
35
+ if isinstance(self.after_task_id, Unset):
36
+ after_task_id = UNSET
37
+ else:
38
+ after_task_id = self.after_task_id
39
+
40
+ field_dict: dict[str, Any] = {}
41
+ field_dict.update(self.additional_properties)
42
+ field_dict.update({})
43
+ if before_task_id is not UNSET:
44
+ field_dict["beforeTaskId"] = before_task_id
45
+ if after_task_id is not UNSET:
46
+ field_dict["afterTaskId"] = after_task_id
47
+
48
+ return field_dict
49
+
50
+ @classmethod
51
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
52
+ d = dict(src_dict)
53
+
54
+ def _parse_before_task_id(data: object) -> Union[None, Unset, str]:
55
+ if data is None:
56
+ return data
57
+ if isinstance(data, Unset):
58
+ return data
59
+ return cast(Union[None, Unset, str], data)
60
+
61
+ before_task_id = _parse_before_task_id(d.pop("beforeTaskId", UNSET))
62
+
63
+ def _parse_after_task_id(data: object) -> Union[None, Unset, str]:
64
+ if data is None:
65
+ return data
66
+ if isinstance(data, Unset):
67
+ return data
68
+ return cast(Union[None, Unset, str], data)
69
+
70
+ after_task_id = _parse_after_task_id(d.pop("afterTaskId", UNSET))
71
+
72
+ task_move = cls(
73
+ before_task_id=before_task_id,
74
+ after_task_id=after_task_id,
75
+ )
76
+
77
+ task_move.additional_properties = d
78
+ return task_move
79
+
80
+ @property
81
+ def additional_keys(self) -> list[str]:
82
+ return list(self.additional_properties.keys())
83
+
84
+ def __getitem__(self, key: str) -> Any:
85
+ return self.additional_properties[key]
86
+
87
+ def __setitem__(self, key: str, value: Any) -> None:
88
+ self.additional_properties[key] = value
89
+
90
+ def __delitem__(self, key: str) -> None:
91
+ del self.additional_properties[key]
92
+
93
+ def __contains__(self, key: str) -> bool:
94
+ return key in self.additional_properties
@@ -0,0 +1,84 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar, Union, cast
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ T = TypeVar("T", bound="TaskTimeTrackingCreate")
8
+
9
+
10
+ @_attrs_define
11
+ class TaskTimeTrackingCreate:
12
+ """
13
+ Attributes:
14
+ user (Union[None, str]): The name or email of the user to attribute the tracked time to or null to use the
15
+ current user.
16
+ started_at (str): The start timestamp for the tracked time entry in ISO 8601 format.
17
+ finished_at (str): The end timestamp for the tracked time entry in ISO 8601 format. Must be after the start
18
+ time.
19
+ """
20
+
21
+ user: Union[None, str]
22
+ started_at: str
23
+ finished_at: str
24
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
25
+
26
+ def to_dict(self) -> dict[str, Any]:
27
+ user: Union[None, str]
28
+ user = self.user
29
+
30
+ started_at = self.started_at
31
+
32
+ finished_at = self.finished_at
33
+
34
+ field_dict: dict[str, Any] = {}
35
+ field_dict.update(self.additional_properties)
36
+ field_dict.update(
37
+ {
38
+ "user": user,
39
+ "startedAt": started_at,
40
+ "finishedAt": finished_at,
41
+ }
42
+ )
43
+
44
+ return field_dict
45
+
46
+ @classmethod
47
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
48
+ d = dict(src_dict)
49
+
50
+ def _parse_user(data: object) -> Union[None, str]:
51
+ if data is None:
52
+ return data
53
+ return cast(Union[None, str], data)
54
+
55
+ user = _parse_user(d.pop("user"))
56
+
57
+ started_at = d.pop("startedAt")
58
+
59
+ finished_at = d.pop("finishedAt")
60
+
61
+ task_time_tracking_create = cls(
62
+ user=user,
63
+ started_at=started_at,
64
+ finished_at=finished_at,
65
+ )
66
+
67
+ task_time_tracking_create.additional_properties = d
68
+ return task_time_tracking_create
69
+
70
+ @property
71
+ def additional_keys(self) -> list[str]:
72
+ return list(self.additional_properties.keys())
73
+
74
+ def __getitem__(self, key: str) -> Any:
75
+ return self.additional_properties[key]
76
+
77
+ def __setitem__(self, key: str, value: Any) -> None:
78
+ self.additional_properties[key] = value
79
+
80
+ def __delitem__(self, key: str) -> None:
81
+ del self.additional_properties[key]
82
+
83
+ def __contains__(self, key: str) -> bool:
84
+ return key in self.additional_properties
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dart-tools
3
- Version: 0.8.6
3
+ Version: 0.8.7
4
4
  Summary: The Dart CLI and Python Library
5
5
  Author-email: Dart <software@dartai.com>
6
6
  License: MIT License