windmill-api 1.448.1__py3-none-any.whl → 1.449.0__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 windmill-api might be problematic. Click here for more details.

Files changed (107) hide show
  1. windmill_api/api/postgres_trigger/__init__.py +0 -0
  2. windmill_api/api/postgres_trigger/create_postgres_publication.py +121 -0
  3. windmill_api/api/postgres_trigger/create_postgres_replication_slot.py +113 -0
  4. windmill_api/api/postgres_trigger/create_postgres_trigger.py +105 -0
  5. windmill_api/api/postgres_trigger/create_template_script.py +105 -0
  6. windmill_api/api/postgres_trigger/delete_postgres_publication.py +109 -0
  7. windmill_api/api/postgres_trigger/delete_postgres_replication_slot.py +113 -0
  8. windmill_api/api/postgres_trigger/delete_postgres_trigger.py +101 -0
  9. windmill_api/api/postgres_trigger/exists_postgres_trigger.py +160 -0
  10. windmill_api/api/postgres_trigger/get_postgres_publication.py +180 -0
  11. windmill_api/api/postgres_trigger/get_postgres_trigger.py +166 -0
  12. windmill_api/api/postgres_trigger/get_template_script.py +101 -0
  13. windmill_api/api/postgres_trigger/is_valid_postgres_configuration.py +160 -0
  14. windmill_api/api/postgres_trigger/list_postgres_publication.py +161 -0
  15. windmill_api/api/postgres_trigger/list_postgres_replication_slot.py +171 -0
  16. windmill_api/api/postgres_trigger/list_postgres_triggers.py +237 -0
  17. windmill_api/api/postgres_trigger/set_postgres_trigger_enabled.py +113 -0
  18. windmill_api/api/postgres_trigger/update_postgres_publication.py +121 -0
  19. windmill_api/api/postgres_trigger/update_postgres_trigger.py +113 -0
  20. windmill_api/api/teams/__init__.py +0 -0
  21. windmill_api/api/teams/sync_teams.py +131 -0
  22. windmill_api/api/workspace/update_operator_settings.py +109 -0
  23. windmill_api/models/add_granular_acls_kind.py +1 -0
  24. windmill_api/models/channel_info.py +80 -0
  25. windmill_api/models/create_postgres_publication_json_body.py +90 -0
  26. windmill_api/models/create_postgres_publication_json_body_table_to_track_item.py +86 -0
  27. windmill_api/models/create_postgres_publication_json_body_table_to_track_item_table_to_track_item.py +79 -0
  28. windmill_api/models/create_postgres_replication_slot_json_body.py +58 -0
  29. windmill_api/models/create_postgres_trigger_json_body.py +125 -0
  30. windmill_api/models/create_postgres_trigger_json_body_publication.py +92 -0
  31. windmill_api/models/create_postgres_trigger_json_body_publication_table_to_track_item.py +86 -0
  32. windmill_api/models/create_postgres_trigger_json_body_publication_table_to_track_item_table_to_track_item.py +79 -0
  33. windmill_api/models/create_template_script_json_body.py +90 -0
  34. windmill_api/models/create_template_script_json_body_language.py +8 -0
  35. windmill_api/models/create_template_script_json_body_relations_item.py +86 -0
  36. windmill_api/models/create_template_script_json_body_relations_item_table_to_track_item.py +79 -0
  37. windmill_api/models/delete_postgres_replication_slot_json_body.py +58 -0
  38. windmill_api/models/edit_postgres_trigger.py +123 -0
  39. windmill_api/models/edit_postgres_trigger_publication.py +90 -0
  40. windmill_api/models/edit_postgres_trigger_publication_table_to_track_item.py +86 -0
  41. windmill_api/models/edit_postgres_trigger_publication_table_to_track_item_table_to_track_item.py +79 -0
  42. windmill_api/models/get_granular_acls_kind.py +1 -0
  43. windmill_api/models/get_http_trigger_response_200.py +36 -36
  44. windmill_api/models/get_postgres_publication_response_200.py +90 -0
  45. windmill_api/models/get_postgres_publication_response_200_table_to_track_item.py +86 -0
  46. windmill_api/models/get_postgres_publication_response_200_table_to_track_item_table_to_track_item.py +79 -0
  47. windmill_api/models/get_postgres_trigger_response_200.py +178 -0
  48. windmill_api/models/get_postgres_trigger_response_200_extra_perms.py +44 -0
  49. windmill_api/models/get_settings_response_200.py +19 -0
  50. windmill_api/models/get_settings_response_200_operator_settings.py +114 -0
  51. windmill_api/models/get_triggers_count_of_flow_response_200.py +8 -0
  52. windmill_api/models/get_triggers_count_of_script_response_200.py +8 -0
  53. windmill_api/models/get_used_triggers_response_200.py +7 -0
  54. windmill_api/models/get_websocket_trigger_response_200.py +37 -37
  55. windmill_api/models/http_trigger.py +36 -36
  56. windmill_api/models/language.py +8 -0
  57. windmill_api/models/list_http_triggers_response_200_item.py +36 -36
  58. windmill_api/models/list_postgres_replication_slot_response_200_item.py +66 -0
  59. windmill_api/models/list_postgres_triggers_response_200_item.py +182 -0
  60. windmill_api/models/list_postgres_triggers_response_200_item_extra_perms.py +44 -0
  61. windmill_api/models/list_user_workspaces_response_200_workspaces_item.py +32 -1
  62. windmill_api/models/list_user_workspaces_response_200_workspaces_item_operator_settings.py +114 -0
  63. windmill_api/models/list_websocket_triggers_response_200_item.py +37 -37
  64. windmill_api/models/new_postgres_trigger.py +125 -0
  65. windmill_api/models/new_postgres_trigger_publication.py +90 -0
  66. windmill_api/models/new_postgres_trigger_publication_table_to_track_item.py +86 -0
  67. windmill_api/models/new_postgres_trigger_publication_table_to_track_item_table_to_track_item.py +79 -0
  68. windmill_api/models/operator_settings.py +114 -0
  69. windmill_api/models/postgres_trigger.py +178 -0
  70. windmill_api/models/postgres_trigger_extra_perms.py +44 -0
  71. windmill_api/models/publication_data.py +86 -0
  72. windmill_api/models/publication_data_table_to_track_item.py +84 -0
  73. windmill_api/models/publication_data_table_to_track_item_table_to_track_item.py +79 -0
  74. windmill_api/models/relations.py +80 -0
  75. windmill_api/models/relations_table_to_track_item.py +79 -0
  76. windmill_api/models/remove_granular_acls_kind.py +1 -0
  77. windmill_api/models/script_lang.py +25 -0
  78. windmill_api/models/set_postgres_trigger_enabled_json_body.py +58 -0
  79. windmill_api/models/slot.py +58 -0
  80. windmill_api/models/slot_list.py +66 -0
  81. windmill_api/models/sync_teams_response_200_item.py +87 -0
  82. windmill_api/models/sync_teams_response_200_item_channels_item.py +80 -0
  83. windmill_api/models/table_to_track_item.py +79 -0
  84. windmill_api/models/team_info.py +87 -0
  85. windmill_api/models/team_info_channels_item.py +80 -0
  86. windmill_api/models/template_script.py +90 -0
  87. windmill_api/models/template_script_language.py +8 -0
  88. windmill_api/models/template_script_relations_item.py +82 -0
  89. windmill_api/models/template_script_relations_item_table_to_track_item.py +79 -0
  90. windmill_api/models/trigger_extra_property.py +95 -0
  91. windmill_api/models/trigger_extra_property_extra_perms.py +44 -0
  92. windmill_api/models/triggers_count.py +8 -0
  93. windmill_api/models/update_operator_settings_json_body.py +114 -0
  94. windmill_api/models/update_postgres_publication_json_body.py +90 -0
  95. windmill_api/models/update_postgres_publication_json_body_table_to_track_item.py +86 -0
  96. windmill_api/models/update_postgres_publication_json_body_table_to_track_item_table_to_track_item.py +79 -0
  97. windmill_api/models/update_postgres_trigger_json_body.py +123 -0
  98. windmill_api/models/update_postgres_trigger_json_body_publication.py +92 -0
  99. windmill_api/models/update_postgres_trigger_json_body_publication_table_to_track_item.py +86 -0
  100. windmill_api/models/update_postgres_trigger_json_body_publication_table_to_track_item_table_to_track_item.py +79 -0
  101. windmill_api/models/user_workspace_list_workspaces_item.py +30 -1
  102. windmill_api/models/user_workspace_list_workspaces_item_operator_settings.py +114 -0
  103. windmill_api/models/websocket_trigger.py +37 -37
  104. {windmill_api-1.448.1.dist-info → windmill_api-1.449.0.dist-info}/METADATA +1 -1
  105. {windmill_api-1.448.1.dist-info → windmill_api-1.449.0.dist-info}/RECORD +107 -20
  106. {windmill_api-1.448.1.dist-info → windmill_api-1.449.0.dist-info}/LICENSE +0 -0
  107. {windmill_api-1.448.1.dist-info → windmill_api-1.449.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,123 @@
1
+ from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar, Union
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..types import UNSET, Unset
7
+
8
+ if TYPE_CHECKING:
9
+ from ..models.edit_postgres_trigger_publication import EditPostgresTriggerPublication
10
+
11
+
12
+ T = TypeVar("T", bound="EditPostgresTrigger")
13
+
14
+
15
+ @_attrs_define
16
+ class EditPostgresTrigger:
17
+ """
18
+ Attributes:
19
+ replication_slot_name (str):
20
+ publication_name (str):
21
+ path (str):
22
+ script_path (str):
23
+ is_flow (bool):
24
+ enabled (bool):
25
+ postgres_resource_path (str):
26
+ publication (Union[Unset, EditPostgresTriggerPublication]):
27
+ """
28
+
29
+ replication_slot_name: str
30
+ publication_name: str
31
+ path: str
32
+ script_path: str
33
+ is_flow: bool
34
+ enabled: bool
35
+ postgres_resource_path: str
36
+ publication: Union[Unset, "EditPostgresTriggerPublication"] = UNSET
37
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
38
+
39
+ def to_dict(self) -> Dict[str, Any]:
40
+ replication_slot_name = self.replication_slot_name
41
+ publication_name = self.publication_name
42
+ path = self.path
43
+ script_path = self.script_path
44
+ is_flow = self.is_flow
45
+ enabled = self.enabled
46
+ postgres_resource_path = self.postgres_resource_path
47
+ publication: Union[Unset, Dict[str, Any]] = UNSET
48
+ if not isinstance(self.publication, Unset):
49
+ publication = self.publication.to_dict()
50
+
51
+ field_dict: Dict[str, Any] = {}
52
+ field_dict.update(self.additional_properties)
53
+ field_dict.update(
54
+ {
55
+ "replication_slot_name": replication_slot_name,
56
+ "publication_name": publication_name,
57
+ "path": path,
58
+ "script_path": script_path,
59
+ "is_flow": is_flow,
60
+ "enabled": enabled,
61
+ "postgres_resource_path": postgres_resource_path,
62
+ }
63
+ )
64
+ if publication is not UNSET:
65
+ field_dict["publication"] = publication
66
+
67
+ return field_dict
68
+
69
+ @classmethod
70
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
71
+ from ..models.edit_postgres_trigger_publication import EditPostgresTriggerPublication
72
+
73
+ d = src_dict.copy()
74
+ replication_slot_name = d.pop("replication_slot_name")
75
+
76
+ publication_name = d.pop("publication_name")
77
+
78
+ path = d.pop("path")
79
+
80
+ script_path = d.pop("script_path")
81
+
82
+ is_flow = d.pop("is_flow")
83
+
84
+ enabled = d.pop("enabled")
85
+
86
+ postgres_resource_path = d.pop("postgres_resource_path")
87
+
88
+ _publication = d.pop("publication", UNSET)
89
+ publication: Union[Unset, EditPostgresTriggerPublication]
90
+ if isinstance(_publication, Unset):
91
+ publication = UNSET
92
+ else:
93
+ publication = EditPostgresTriggerPublication.from_dict(_publication)
94
+
95
+ edit_postgres_trigger = cls(
96
+ replication_slot_name=replication_slot_name,
97
+ publication_name=publication_name,
98
+ path=path,
99
+ script_path=script_path,
100
+ is_flow=is_flow,
101
+ enabled=enabled,
102
+ postgres_resource_path=postgres_resource_path,
103
+ publication=publication,
104
+ )
105
+
106
+ edit_postgres_trigger.additional_properties = d
107
+ return edit_postgres_trigger
108
+
109
+ @property
110
+ def additional_keys(self) -> List[str]:
111
+ return list(self.additional_properties.keys())
112
+
113
+ def __getitem__(self, key: str) -> Any:
114
+ return self.additional_properties[key]
115
+
116
+ def __setitem__(self, key: str, value: Any) -> None:
117
+ self.additional_properties[key] = value
118
+
119
+ def __delitem__(self, key: str) -> None:
120
+ del self.additional_properties[key]
121
+
122
+ def __contains__(self, key: str) -> bool:
123
+ return key in self.additional_properties
@@ -0,0 +1,90 @@
1
+ from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar, Union, cast
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..types import UNSET, Unset
7
+
8
+ if TYPE_CHECKING:
9
+ from ..models.edit_postgres_trigger_publication_table_to_track_item import (
10
+ EditPostgresTriggerPublicationTableToTrackItem,
11
+ )
12
+
13
+
14
+ T = TypeVar("T", bound="EditPostgresTriggerPublication")
15
+
16
+
17
+ @_attrs_define
18
+ class EditPostgresTriggerPublication:
19
+ """
20
+ Attributes:
21
+ transaction_to_track (List[str]):
22
+ table_to_track (Union[Unset, List['EditPostgresTriggerPublicationTableToTrackItem']]):
23
+ """
24
+
25
+ transaction_to_track: List[str]
26
+ table_to_track: Union[Unset, List["EditPostgresTriggerPublicationTableToTrackItem"]] = UNSET
27
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
28
+
29
+ def to_dict(self) -> Dict[str, Any]:
30
+ transaction_to_track = self.transaction_to_track
31
+
32
+ table_to_track: Union[Unset, List[Dict[str, Any]]] = UNSET
33
+ if not isinstance(self.table_to_track, Unset):
34
+ table_to_track = []
35
+ for table_to_track_item_data in self.table_to_track:
36
+ table_to_track_item = table_to_track_item_data.to_dict()
37
+
38
+ table_to_track.append(table_to_track_item)
39
+
40
+ field_dict: Dict[str, Any] = {}
41
+ field_dict.update(self.additional_properties)
42
+ field_dict.update(
43
+ {
44
+ "transaction_to_track": transaction_to_track,
45
+ }
46
+ )
47
+ if table_to_track is not UNSET:
48
+ field_dict["table_to_track"] = table_to_track
49
+
50
+ return field_dict
51
+
52
+ @classmethod
53
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
54
+ from ..models.edit_postgres_trigger_publication_table_to_track_item import (
55
+ EditPostgresTriggerPublicationTableToTrackItem,
56
+ )
57
+
58
+ d = src_dict.copy()
59
+ transaction_to_track = cast(List[str], d.pop("transaction_to_track"))
60
+
61
+ table_to_track = []
62
+ _table_to_track = d.pop("table_to_track", UNSET)
63
+ for table_to_track_item_data in _table_to_track or []:
64
+ table_to_track_item = EditPostgresTriggerPublicationTableToTrackItem.from_dict(table_to_track_item_data)
65
+
66
+ table_to_track.append(table_to_track_item)
67
+
68
+ edit_postgres_trigger_publication = cls(
69
+ transaction_to_track=transaction_to_track,
70
+ table_to_track=table_to_track,
71
+ )
72
+
73
+ edit_postgres_trigger_publication.additional_properties = d
74
+ return edit_postgres_trigger_publication
75
+
76
+ @property
77
+ def additional_keys(self) -> List[str]:
78
+ return list(self.additional_properties.keys())
79
+
80
+ def __getitem__(self, key: str) -> Any:
81
+ return self.additional_properties[key]
82
+
83
+ def __setitem__(self, key: str, value: Any) -> None:
84
+ self.additional_properties[key] = value
85
+
86
+ def __delitem__(self, key: str) -> None:
87
+ del self.additional_properties[key]
88
+
89
+ def __contains__(self, key: str) -> bool:
90
+ return key in self.additional_properties
@@ -0,0 +1,86 @@
1
+ from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ if TYPE_CHECKING:
7
+ from ..models.edit_postgres_trigger_publication_table_to_track_item_table_to_track_item import (
8
+ EditPostgresTriggerPublicationTableToTrackItemTableToTrackItem,
9
+ )
10
+
11
+
12
+ T = TypeVar("T", bound="EditPostgresTriggerPublicationTableToTrackItem")
13
+
14
+
15
+ @_attrs_define
16
+ class EditPostgresTriggerPublicationTableToTrackItem:
17
+ """
18
+ Attributes:
19
+ schema_name (str):
20
+ table_to_track (List['EditPostgresTriggerPublicationTableToTrackItemTableToTrackItem']):
21
+ """
22
+
23
+ schema_name: str
24
+ table_to_track: List["EditPostgresTriggerPublicationTableToTrackItemTableToTrackItem"]
25
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
26
+
27
+ def to_dict(self) -> Dict[str, Any]:
28
+ schema_name = self.schema_name
29
+ table_to_track = []
30
+ for table_to_track_item_data in self.table_to_track:
31
+ table_to_track_item = table_to_track_item_data.to_dict()
32
+
33
+ table_to_track.append(table_to_track_item)
34
+
35
+ field_dict: Dict[str, Any] = {}
36
+ field_dict.update(self.additional_properties)
37
+ field_dict.update(
38
+ {
39
+ "schema_name": schema_name,
40
+ "table_to_track": table_to_track,
41
+ }
42
+ )
43
+
44
+ return field_dict
45
+
46
+ @classmethod
47
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
48
+ from ..models.edit_postgres_trigger_publication_table_to_track_item_table_to_track_item import (
49
+ EditPostgresTriggerPublicationTableToTrackItemTableToTrackItem,
50
+ )
51
+
52
+ d = src_dict.copy()
53
+ schema_name = d.pop("schema_name")
54
+
55
+ table_to_track = []
56
+ _table_to_track = d.pop("table_to_track")
57
+ for table_to_track_item_data in _table_to_track:
58
+ table_to_track_item = EditPostgresTriggerPublicationTableToTrackItemTableToTrackItem.from_dict(
59
+ table_to_track_item_data
60
+ )
61
+
62
+ table_to_track.append(table_to_track_item)
63
+
64
+ edit_postgres_trigger_publication_table_to_track_item = cls(
65
+ schema_name=schema_name,
66
+ table_to_track=table_to_track,
67
+ )
68
+
69
+ edit_postgres_trigger_publication_table_to_track_item.additional_properties = d
70
+ return edit_postgres_trigger_publication_table_to_track_item
71
+
72
+ @property
73
+ def additional_keys(self) -> List[str]:
74
+ return list(self.additional_properties.keys())
75
+
76
+ def __getitem__(self, key: str) -> Any:
77
+ return self.additional_properties[key]
78
+
79
+ def __setitem__(self, key: str, value: Any) -> None:
80
+ self.additional_properties[key] = value
81
+
82
+ def __delitem__(self, key: str) -> None:
83
+ del self.additional_properties[key]
84
+
85
+ def __contains__(self, key: str) -> bool:
86
+ return key in self.additional_properties
@@ -0,0 +1,79 @@
1
+ from typing import Any, Dict, List, Type, TypeVar, Union, cast
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..types import UNSET, Unset
7
+
8
+ T = TypeVar("T", bound="EditPostgresTriggerPublicationTableToTrackItemTableToTrackItem")
9
+
10
+
11
+ @_attrs_define
12
+ class EditPostgresTriggerPublicationTableToTrackItemTableToTrackItem:
13
+ """
14
+ Attributes:
15
+ table_name (str):
16
+ columns_name (Union[Unset, List[str]]):
17
+ where_clause (Union[Unset, str]):
18
+ """
19
+
20
+ table_name: str
21
+ columns_name: Union[Unset, List[str]] = UNSET
22
+ where_clause: Union[Unset, str] = UNSET
23
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
24
+
25
+ def to_dict(self) -> Dict[str, Any]:
26
+ table_name = self.table_name
27
+ columns_name: Union[Unset, List[str]] = UNSET
28
+ if not isinstance(self.columns_name, Unset):
29
+ columns_name = self.columns_name
30
+
31
+ where_clause = self.where_clause
32
+
33
+ field_dict: Dict[str, Any] = {}
34
+ field_dict.update(self.additional_properties)
35
+ field_dict.update(
36
+ {
37
+ "table_name": table_name,
38
+ }
39
+ )
40
+ if columns_name is not UNSET:
41
+ field_dict["columns_name"] = columns_name
42
+ if where_clause is not UNSET:
43
+ field_dict["where_clause"] = where_clause
44
+
45
+ return field_dict
46
+
47
+ @classmethod
48
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
49
+ d = src_dict.copy()
50
+ table_name = d.pop("table_name")
51
+
52
+ columns_name = cast(List[str], d.pop("columns_name", UNSET))
53
+
54
+ where_clause = d.pop("where_clause", UNSET)
55
+
56
+ edit_postgres_trigger_publication_table_to_track_item_table_to_track_item = cls(
57
+ table_name=table_name,
58
+ columns_name=columns_name,
59
+ where_clause=where_clause,
60
+ )
61
+
62
+ edit_postgres_trigger_publication_table_to_track_item_table_to_track_item.additional_properties = d
63
+ return edit_postgres_trigger_publication_table_to_track_item_table_to_track_item
64
+
65
+ @property
66
+ def additional_keys(self) -> List[str]:
67
+ return list(self.additional_properties.keys())
68
+
69
+ def __getitem__(self, key: str) -> Any:
70
+ return self.additional_properties[key]
71
+
72
+ def __setitem__(self, key: str, value: Any) -> None:
73
+ self.additional_properties[key] = value
74
+
75
+ def __delitem__(self, key: str) -> None:
76
+ del self.additional_properties[key]
77
+
78
+ def __contains__(self, key: str) -> bool:
79
+ return key in self.additional_properties
@@ -9,6 +9,7 @@ class GetGranularAclsKind(str, Enum):
9
9
  HTTP_TRIGGER = "http_trigger"
10
10
  KAFKA_TRIGGER = "kafka_trigger"
11
11
  NATS_TRIGGER = "nats_trigger"
12
+ POSTGRES_TRIGGER = "postgres_trigger"
12
13
  RAW_APP = "raw_app"
13
14
  RESOURCE = "resource"
14
15
  SCHEDULE = "schedule"
@@ -21,51 +21,51 @@ class GetHttpTriggerResponse200:
21
21
  """
22
22
  Attributes:
23
23
  path (str):
24
- edited_by (str):
25
- edited_at (datetime.datetime):
26
24
  script_path (str):
27
25
  route_path (str):
28
26
  is_flow (bool):
29
- extra_perms (GetHttpTriggerResponse200ExtraPerms):
30
- email (str):
31
- workspace_id (str):
32
27
  http_method (GetHttpTriggerResponse200HttpMethod):
33
28
  is_async (bool):
34
29
  requires_auth (bool):
30
+ email (str):
31
+ extra_perms (GetHttpTriggerResponse200ExtraPerms):
32
+ workspace_id (str):
33
+ edited_by (str):
34
+ edited_at (datetime.datetime):
35
35
  static_asset_config (Union[Unset, GetHttpTriggerResponse200StaticAssetConfig]):
36
36
  """
37
37
 
38
38
  path: str
39
- edited_by: str
40
- edited_at: datetime.datetime
41
39
  script_path: str
42
40
  route_path: str
43
41
  is_flow: bool
44
- extra_perms: "GetHttpTriggerResponse200ExtraPerms"
45
- email: str
46
- workspace_id: str
47
42
  http_method: GetHttpTriggerResponse200HttpMethod
48
43
  is_async: bool
49
44
  requires_auth: bool
45
+ email: str
46
+ extra_perms: "GetHttpTriggerResponse200ExtraPerms"
47
+ workspace_id: str
48
+ edited_by: str
49
+ edited_at: datetime.datetime
50
50
  static_asset_config: Union[Unset, "GetHttpTriggerResponse200StaticAssetConfig"] = UNSET
51
51
  additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
52
52
 
53
53
  def to_dict(self) -> Dict[str, Any]:
54
54
  path = self.path
55
- edited_by = self.edited_by
56
- edited_at = self.edited_at.isoformat()
57
-
58
55
  script_path = self.script_path
59
56
  route_path = self.route_path
60
57
  is_flow = self.is_flow
61
- extra_perms = self.extra_perms.to_dict()
62
-
63
- email = self.email
64
- workspace_id = self.workspace_id
65
58
  http_method = self.http_method.value
66
59
 
67
60
  is_async = self.is_async
68
61
  requires_auth = self.requires_auth
62
+ email = self.email
63
+ extra_perms = self.extra_perms.to_dict()
64
+
65
+ workspace_id = self.workspace_id
66
+ edited_by = self.edited_by
67
+ edited_at = self.edited_at.isoformat()
68
+
69
69
  static_asset_config: Union[Unset, Dict[str, Any]] = UNSET
70
70
  if not isinstance(self.static_asset_config, Unset):
71
71
  static_asset_config = self.static_asset_config.to_dict()
@@ -75,17 +75,17 @@ class GetHttpTriggerResponse200:
75
75
  field_dict.update(
76
76
  {
77
77
  "path": path,
78
- "edited_by": edited_by,
79
- "edited_at": edited_at,
80
78
  "script_path": script_path,
81
79
  "route_path": route_path,
82
80
  "is_flow": is_flow,
83
- "extra_perms": extra_perms,
84
- "email": email,
85
- "workspace_id": workspace_id,
86
81
  "http_method": http_method,
87
82
  "is_async": is_async,
88
83
  "requires_auth": requires_auth,
84
+ "email": email,
85
+ "extra_perms": extra_perms,
86
+ "workspace_id": workspace_id,
87
+ "edited_by": edited_by,
88
+ "edited_at": edited_at,
89
89
  }
90
90
  )
91
91
  if static_asset_config is not UNSET:
@@ -103,27 +103,27 @@ class GetHttpTriggerResponse200:
103
103
  d = src_dict.copy()
104
104
  path = d.pop("path")
105
105
 
106
- edited_by = d.pop("edited_by")
107
-
108
- edited_at = isoparse(d.pop("edited_at"))
109
-
110
106
  script_path = d.pop("script_path")
111
107
 
112
108
  route_path = d.pop("route_path")
113
109
 
114
110
  is_flow = d.pop("is_flow")
115
111
 
116
- extra_perms = GetHttpTriggerResponse200ExtraPerms.from_dict(d.pop("extra_perms"))
112
+ http_method = GetHttpTriggerResponse200HttpMethod(d.pop("http_method"))
113
+
114
+ is_async = d.pop("is_async")
115
+
116
+ requires_auth = d.pop("requires_auth")
117
117
 
118
118
  email = d.pop("email")
119
119
 
120
- workspace_id = d.pop("workspace_id")
120
+ extra_perms = GetHttpTriggerResponse200ExtraPerms.from_dict(d.pop("extra_perms"))
121
121
 
122
- http_method = GetHttpTriggerResponse200HttpMethod(d.pop("http_method"))
122
+ workspace_id = d.pop("workspace_id")
123
123
 
124
- is_async = d.pop("is_async")
124
+ edited_by = d.pop("edited_by")
125
125
 
126
- requires_auth = d.pop("requires_auth")
126
+ edited_at = isoparse(d.pop("edited_at"))
127
127
 
128
128
  _static_asset_config = d.pop("static_asset_config", UNSET)
129
129
  static_asset_config: Union[Unset, GetHttpTriggerResponse200StaticAssetConfig]
@@ -134,17 +134,17 @@ class GetHttpTriggerResponse200:
134
134
 
135
135
  get_http_trigger_response_200 = cls(
136
136
  path=path,
137
- edited_by=edited_by,
138
- edited_at=edited_at,
139
137
  script_path=script_path,
140
138
  route_path=route_path,
141
139
  is_flow=is_flow,
142
- extra_perms=extra_perms,
143
- email=email,
144
- workspace_id=workspace_id,
145
140
  http_method=http_method,
146
141
  is_async=is_async,
147
142
  requires_auth=requires_auth,
143
+ email=email,
144
+ extra_perms=extra_perms,
145
+ workspace_id=workspace_id,
146
+ edited_by=edited_by,
147
+ edited_at=edited_at,
148
148
  static_asset_config=static_asset_config,
149
149
  )
150
150
 
@@ -0,0 +1,90 @@
1
+ from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar, Union, cast
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..types import UNSET, Unset
7
+
8
+ if TYPE_CHECKING:
9
+ from ..models.get_postgres_publication_response_200_table_to_track_item import (
10
+ GetPostgresPublicationResponse200TableToTrackItem,
11
+ )
12
+
13
+
14
+ T = TypeVar("T", bound="GetPostgresPublicationResponse200")
15
+
16
+
17
+ @_attrs_define
18
+ class GetPostgresPublicationResponse200:
19
+ """
20
+ Attributes:
21
+ transaction_to_track (List[str]):
22
+ table_to_track (Union[Unset, List['GetPostgresPublicationResponse200TableToTrackItem']]):
23
+ """
24
+
25
+ transaction_to_track: List[str]
26
+ table_to_track: Union[Unset, List["GetPostgresPublicationResponse200TableToTrackItem"]] = UNSET
27
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
28
+
29
+ def to_dict(self) -> Dict[str, Any]:
30
+ transaction_to_track = self.transaction_to_track
31
+
32
+ table_to_track: Union[Unset, List[Dict[str, Any]]] = UNSET
33
+ if not isinstance(self.table_to_track, Unset):
34
+ table_to_track = []
35
+ for table_to_track_item_data in self.table_to_track:
36
+ table_to_track_item = table_to_track_item_data.to_dict()
37
+
38
+ table_to_track.append(table_to_track_item)
39
+
40
+ field_dict: Dict[str, Any] = {}
41
+ field_dict.update(self.additional_properties)
42
+ field_dict.update(
43
+ {
44
+ "transaction_to_track": transaction_to_track,
45
+ }
46
+ )
47
+ if table_to_track is not UNSET:
48
+ field_dict["table_to_track"] = table_to_track
49
+
50
+ return field_dict
51
+
52
+ @classmethod
53
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
54
+ from ..models.get_postgres_publication_response_200_table_to_track_item import (
55
+ GetPostgresPublicationResponse200TableToTrackItem,
56
+ )
57
+
58
+ d = src_dict.copy()
59
+ transaction_to_track = cast(List[str], d.pop("transaction_to_track"))
60
+
61
+ table_to_track = []
62
+ _table_to_track = d.pop("table_to_track", UNSET)
63
+ for table_to_track_item_data in _table_to_track or []:
64
+ table_to_track_item = GetPostgresPublicationResponse200TableToTrackItem.from_dict(table_to_track_item_data)
65
+
66
+ table_to_track.append(table_to_track_item)
67
+
68
+ get_postgres_publication_response_200 = cls(
69
+ transaction_to_track=transaction_to_track,
70
+ table_to_track=table_to_track,
71
+ )
72
+
73
+ get_postgres_publication_response_200.additional_properties = d
74
+ return get_postgres_publication_response_200
75
+
76
+ @property
77
+ def additional_keys(self) -> List[str]:
78
+ return list(self.additional_properties.keys())
79
+
80
+ def __getitem__(self, key: str) -> Any:
81
+ return self.additional_properties[key]
82
+
83
+ def __setitem__(self, key: str, value: Any) -> None:
84
+ self.additional_properties[key] = value
85
+
86
+ def __delitem__(self, key: str) -> None:
87
+ del self.additional_properties[key]
88
+
89
+ def __contains__(self, key: str) -> bool:
90
+ return key in self.additional_properties