waldur-api-client 7.8.0__py3-none-any.whl → 7.8.2__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 waldur-api-client might be problematic. Click here for more details.

Files changed (212) hide show
  1. waldur_api_client/api/booking_resources/booking_resources_count.py +10 -13
  2. waldur_api_client/api/booking_resources/booking_resources_list.py +10 -13
  3. waldur_api_client/api/call_managing_organisations/call_managing_organisations_create.py +44 -7
  4. waldur_api_client/api/call_managing_organisations/call_managing_organisations_partial_update.py +46 -7
  5. waldur_api_client/api/call_managing_organisations/call_managing_organisations_update.py +44 -7
  6. waldur_api_client/api/checklists_admin/checklists_admin_checklist_questions.py +49 -0
  7. waldur_api_client/api/checklists_admin/checklists_admin_count.py +43 -0
  8. waldur_api_client/api/checklists_admin/checklists_admin_list.py +43 -0
  9. waldur_api_client/api/checklists_admin_categories/checklists_admin_categories_create.py +44 -7
  10. waldur_api_client/api/checklists_admin_categories/checklists_admin_categories_partial_update.py +44 -7
  11. waldur_api_client/api/checklists_admin_categories/checklists_admin_categories_update.py +44 -7
  12. waldur_api_client/api/customers/customers_create.py +44 -7
  13. waldur_api_client/api/customers/customers_partial_update.py +44 -7
  14. waldur_api_client/api/customers/customers_update.py +44 -7
  15. waldur_api_client/api/external_links/external_links_create.py +44 -7
  16. waldur_api_client/api/external_links/external_links_partial_update.py +44 -7
  17. waldur_api_client/api/external_links/external_links_update.py +44 -7
  18. waldur_api_client/api/invoices/invoices_paid.py +44 -7
  19. waldur_api_client/api/marketplace_categories/marketplace_categories_create.py +44 -7
  20. waldur_api_client/api/marketplace_categories/marketplace_categories_partial_update.py +44 -7
  21. waldur_api_client/api/marketplace_categories/marketplace_categories_update.py +44 -7
  22. waldur_api_client/api/marketplace_category_groups/marketplace_category_groups_create.py +44 -7
  23. waldur_api_client/api/marketplace_category_groups/marketplace_category_groups_partial_update.py +44 -7
  24. waldur_api_client/api/marketplace_category_groups/marketplace_category_groups_update.py +44 -7
  25. waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_count.py +96 -0
  26. waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_list.py +96 -0
  27. waldur_api_client/api/marketplace_offering_files/marketplace_offering_files_create.py +44 -7
  28. waldur_api_client/api/marketplace_offering_user_checklist_completions/__init__.py +1 -0
  29. waldur_api_client/api/marketplace_offering_user_checklist_completions/marketplace_offering_user_checklist_completions_count.py +286 -0
  30. waldur_api_client/api/marketplace_offering_user_checklist_completions/marketplace_offering_user_checklist_completions_list.py +289 -0
  31. waldur_api_client/api/marketplace_offering_user_checklist_completions/marketplace_offering_user_checklist_completions_retrieve.py +141 -0
  32. waldur_api_client/api/marketplace_orders/marketplace_orders_update_attachment.py +44 -7
  33. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_create.py +44 -7
  34. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_list_course_accounts_retrieve.py +177 -0
  35. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_refresh_offering_usernames.py +0 -22
  36. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_update_compliance_checklist.py +105 -0
  37. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_update_image.py +44 -7
  38. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_update_thumbnail.py +30 -5
  39. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_count.py +10 -13
  40. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_list.py +10 -13
  41. waldur_api_client/api/marketplace_resources/marketplace_resources_count.py +10 -13
  42. waldur_api_client/api/marketplace_resources/marketplace_resources_list.py +10 -13
  43. waldur_api_client/api/marketplace_screenshots/marketplace_screenshots_create.py +44 -7
  44. waldur_api_client/api/marketplace_screenshots/marketplace_screenshots_update.py +44 -7
  45. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_course_accounts_list.py +98 -0
  46. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_create.py +44 -7
  47. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_partial_update.py +44 -7
  48. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_update.py +44 -7
  49. waldur_api_client/api/override_settings/override_settings.py +30 -5
  50. waldur_api_client/api/payments/payments_create.py +44 -7
  51. waldur_api_client/api/payments/payments_partial_update.py +44 -7
  52. waldur_api_client/api/payments/payments_update.py +44 -7
  53. waldur_api_client/api/projects/projects_create.py +44 -7
  54. waldur_api_client/api/projects/projects_partial_update.py +44 -7
  55. waldur_api_client/api/projects/projects_update.py +44 -7
  56. waldur_api_client/api/proposal_proposals/proposal_proposals_attach_document.py +30 -5
  57. waldur_api_client/api/slurm_jobs/slurm_jobs_create.py +44 -7
  58. waldur_api_client/api/slurm_jobs/slurm_jobs_update.py +44 -7
  59. waldur_api_client/api/support_attachments/support_attachments_create.py +44 -7
  60. waldur_api_client/api/user_group_invitations/user_group_invitations_count.py +15 -0
  61. waldur_api_client/api/user_group_invitations/user_group_invitations_list.py +15 -0
  62. waldur_api_client/api/user_invitations/user_invitations_count.py +15 -0
  63. waldur_api_client/api/user_invitations/user_invitations_list.py +15 -0
  64. waldur_api_client/api/users/users_create.py +44 -7
  65. waldur_api_client/api/users/users_partial_update.py +44 -7
  66. waldur_api_client/api/users/users_update.py +44 -7
  67. waldur_api_client/models/__init__.py +172 -4
  68. waldur_api_client/models/agent_type_enum.py +13 -0
  69. waldur_api_client/models/attachment_request_form.py +70 -0
  70. waldur_api_client/models/attachment_request_multipart.py +83 -0
  71. waldur_api_client/models/booking_offerings_list_field_item.py +1 -0
  72. waldur_api_client/models/booking_offerings_retrieve_field_item.py +1 -0
  73. waldur_api_client/models/booking_resource.py +18 -0
  74. waldur_api_client/models/booking_resources_list_field_item.py +2 -0
  75. waldur_api_client/models/booking_resources_retrieve_field_item.py +2 -0
  76. waldur_api_client/models/call_managing_organisation_request_form.py +103 -0
  77. waldur_api_client/models/call_managing_organisation_request_multipart.py +122 -0
  78. waldur_api_client/models/call_round.py +11 -1
  79. waldur_api_client/models/category_group_request_form.py +103 -0
  80. waldur_api_client/models/category_group_request_multipart.py +122 -0
  81. waldur_api_client/models/checklist_category_request_form.py +103 -0
  82. waldur_api_client/models/checklist_category_request_multipart.py +122 -0
  83. waldur_api_client/models/checklists_admin_checklist_questions_checklist_type.py +11 -0
  84. waldur_api_client/models/checklists_admin_checklist_questions_checklist_type_in_item.py +11 -0
  85. waldur_api_client/models/checklists_admin_count_checklist_type.py +11 -0
  86. waldur_api_client/models/checklists_admin_count_checklist_type_in_item.py +11 -0
  87. waldur_api_client/models/checklists_admin_list_checklist_type.py +11 -0
  88. waldur_api_client/models/checklists_admin_list_checklist_type_in_item.py +11 -0
  89. waldur_api_client/models/constance_settings.py +9 -0
  90. waldur_api_client/models/constance_settings_request.py +9 -0
  91. waldur_api_client/models/constance_settings_request_form.py +1547 -0
  92. waldur_api_client/models/constance_settings_request_multipart.py +2173 -0
  93. waldur_api_client/models/course_account.py +24 -0
  94. waldur_api_client/models/customer.py +9 -0
  95. waldur_api_client/models/customer_request.py +9 -0
  96. waldur_api_client/models/customer_request_form.py +312 -0
  97. waldur_api_client/models/customer_request_multipart.py +394 -0
  98. waldur_api_client/models/customers_list_field_item.py +1 -0
  99. waldur_api_client/models/customers_retrieve_field_item.py +1 -0
  100. waldur_api_client/models/external_link_request_form.py +111 -0
  101. waldur_api_client/models/external_link_request_multipart.py +132 -0
  102. waldur_api_client/models/firecrest_job_request_form.py +104 -0
  103. waldur_api_client/models/firecrest_job_request_multipart.py +127 -0
  104. waldur_api_client/models/group_invitation.py +8 -0
  105. waldur_api_client/models/integration_status.py +21 -4
  106. waldur_api_client/models/invitation.py +8 -0
  107. waldur_api_client/models/managed_rancher_cluster_resources_list_field_item.py +2 -0
  108. waldur_api_client/models/managed_rancher_cluster_resources_retrieve_field_item.py +2 -0
  109. waldur_api_client/models/marketplace_category_request_form.py +153 -0
  110. waldur_api_client/models/marketplace_category_request_multipart.py +187 -0
  111. waldur_api_client/models/marketplace_course_accounts_count_o_item.py +23 -0
  112. waldur_api_client/models/marketplace_course_accounts_list_o_item.py +23 -0
  113. waldur_api_client/models/marketplace_offering_user_checklist_completions_count_o_item.py +11 -0
  114. waldur_api_client/models/marketplace_offering_user_checklist_completions_list_o_item.py +11 -0
  115. waldur_api_client/models/marketplace_orders_list_field_item.py +3 -0
  116. waldur_api_client/models/marketplace_orders_retrieve_field_item.py +3 -0
  117. waldur_api_client/models/marketplace_provider_offerings_list_course_accounts_retrieve_field_item.py +73 -0
  118. waldur_api_client/models/marketplace_provider_offerings_list_customer_service_accounts_retrieve_field_item.py +1 -0
  119. waldur_api_client/models/marketplace_provider_offerings_list_field_item.py +1 -0
  120. waldur_api_client/models/marketplace_provider_offerings_list_project_service_accounts_retrieve_field_item.py +1 -0
  121. waldur_api_client/models/marketplace_provider_offerings_retrieve_field_item.py +1 -0
  122. waldur_api_client/models/marketplace_provider_offerings_stats_retrieve_field_item.py +1 -0
  123. waldur_api_client/models/marketplace_provider_offerings_user_has_resource_access_retrieve_field_item.py +1 -0
  124. waldur_api_client/models/marketplace_provider_resources_details_retrieve_field_item.py +2 -0
  125. waldur_api_client/models/marketplace_provider_resources_list_field_item.py +2 -0
  126. waldur_api_client/models/marketplace_provider_resources_retrieve_field_item.py +2 -0
  127. waldur_api_client/models/marketplace_public_offerings_list_field_item.py +1 -0
  128. waldur_api_client/models/marketplace_public_offerings_retrieve_field_item.py +1 -0
  129. waldur_api_client/models/marketplace_resources_details_retrieve_field_item.py +2 -0
  130. waldur_api_client/models/marketplace_resources_list_field_item.py +2 -0
  131. waldur_api_client/models/marketplace_resources_retrieve_field_item.py +2 -0
  132. waldur_api_client/models/marketplace_service_providers_course_accounts_list_o_item.py +23 -0
  133. waldur_api_client/models/marketplace_service_providers_offerings_list_field_item.py +1 -0
  134. waldur_api_client/models/merged_plugin_options.py +9 -0
  135. waldur_api_client/models/merged_plugin_options_request.py +9 -0
  136. waldur_api_client/models/nested_round.py +9 -0
  137. waldur_api_client/models/nested_round_request.py +9 -0
  138. waldur_api_client/models/notification.py +11 -0
  139. waldur_api_client/models/notification_context_fields.py +47 -0
  140. waldur_api_client/models/offering.py +20 -0
  141. waldur_api_client/models/offering_compliance_checklist_update_request.py +82 -0
  142. waldur_api_client/models/offering_create.py +20 -0
  143. waldur_api_client/models/offering_create_request.py +20 -0
  144. waldur_api_client/models/{provider_offering_details_request.py → offering_create_request_form.py} +77 -5
  145. waldur_api_client/models/offering_create_request_form_limits.py +57 -0
  146. waldur_api_client/models/offering_create_request_multipart.py +599 -0
  147. waldur_api_client/models/offering_create_request_multipart_limits.py +57 -0
  148. waldur_api_client/models/offering_file_request_form.py +78 -0
  149. waldur_api_client/models/offering_file_request_multipart.py +93 -0
  150. waldur_api_client/models/offering_image_request_form.py +62 -0
  151. waldur_api_client/models/offering_image_request_multipart.py +73 -0
  152. waldur_api_client/models/offering_thumbnail_request_form.py +62 -0
  153. waldur_api_client/models/offering_thumbnail_request_multipart.py +73 -0
  154. waldur_api_client/models/offering_user.py +5 -5
  155. waldur_api_client/models/{offering_user_state_enum.py → offering_user_state.py} +1 -1
  156. waldur_api_client/models/order_attachment_request_form.py +84 -0
  157. waldur_api_client/models/order_attachment_request_multipart.py +98 -0
  158. waldur_api_client/models/order_details.py +34 -0
  159. waldur_api_client/models/paid_request_form.py +81 -0
  160. waldur_api_client/models/paid_request_multipart.py +94 -0
  161. waldur_api_client/models/patched_call_managing_organisation_request_form.py +92 -0
  162. waldur_api_client/models/patched_call_managing_organisation_request_multipart.py +109 -0
  163. waldur_api_client/models/patched_category_group_request_form.py +101 -0
  164. waldur_api_client/models/patched_category_group_request_multipart.py +121 -0
  165. waldur_api_client/models/patched_checklist_category_request_form.py +102 -0
  166. waldur_api_client/models/patched_checklist_category_request_multipart.py +122 -0
  167. waldur_api_client/models/patched_customer_request.py +9 -0
  168. waldur_api_client/models/patched_customer_request_form.py +310 -0
  169. waldur_api_client/models/patched_customer_request_multipart.py +393 -0
  170. waldur_api_client/models/patched_external_link_request_form.py +110 -0
  171. waldur_api_client/models/patched_external_link_request_multipart.py +133 -0
  172. waldur_api_client/models/patched_marketplace_category_request_form.py +151 -0
  173. waldur_api_client/models/patched_marketplace_category_request_multipart.py +186 -0
  174. waldur_api_client/models/patched_payment_request_form.py +119 -0
  175. waldur_api_client/models/patched_payment_request_multipart.py +142 -0
  176. waldur_api_client/models/patched_project_request_form.py +279 -0
  177. waldur_api_client/models/patched_project_request_multipart.py +342 -0
  178. waldur_api_client/models/patched_service_provider_request_form.py +101 -0
  179. waldur_api_client/models/patched_service_provider_request_multipart.py +121 -0
  180. waldur_api_client/models/patched_user_request_form.py +241 -0
  181. waldur_api_client/models/patched_user_request_multipart.py +306 -0
  182. waldur_api_client/models/payment_request_form.py +113 -0
  183. waldur_api_client/models/payment_request_multipart.py +134 -0
  184. waldur_api_client/models/project_request_form.py +280 -0
  185. waldur_api_client/models/project_request_multipart.py +341 -0
  186. waldur_api_client/models/project_user.py +9 -0
  187. waldur_api_client/models/proposal.py +8 -0
  188. waldur_api_client/models/proposal_documentation_request_form.py +84 -0
  189. waldur_api_client/models/proposal_documentation_request_multipart.py +98 -0
  190. waldur_api_client/models/proposal_proposals_count_o_item.py +3 -1
  191. waldur_api_client/models/proposal_proposals_list_o_item.py +3 -1
  192. waldur_api_client/models/proposal_review.py +40 -0
  193. waldur_api_client/models/protected_proposal_list.py +8 -0
  194. waldur_api_client/models/protected_proposal_list_request.py +8 -0
  195. waldur_api_client/models/protected_round.py +8 -0
  196. waldur_api_client/models/provider_offering.py +21 -1
  197. waldur_api_client/models/provider_offering_details.py +20 -0
  198. waldur_api_client/models/public_offering_details.py +20 -0
  199. waldur_api_client/models/resource.py +18 -0
  200. waldur_api_client/models/resource_update_limits_request.py +1 -34
  201. waldur_api_client/models/screenshot_request_form.py +87 -0
  202. waldur_api_client/models/screenshot_request_multipart.py +105 -0
  203. waldur_api_client/models/service_provider_request_form.py +112 -0
  204. waldur_api_client/models/service_provider_request_multipart.py +134 -0
  205. waldur_api_client/models/user_checklist_completion.py +265 -0
  206. waldur_api_client/models/user_request_form.py +250 -0
  207. waldur_api_client/models/user_request_multipart.py +316 -0
  208. waldur_api_client/models/visible_invitation_details.py +8 -0
  209. {waldur_api_client-7.8.0.dist-info → waldur_api_client-7.8.2.dist-info}/METADATA +1 -1
  210. {waldur_api_client-7.8.0.dist-info → waldur_api_client-7.8.2.dist-info}/RECORD +212 -127
  211. {waldur_api_client-7.8.0.dist-info → waldur_api_client-7.8.2.dist-info}/WHEEL +1 -1
  212. {waldur_api_client-7.8.0.dist-info → waldur_api_client-7.8.2.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,122 @@
1
+ from collections.abc import Mapping
2
+ from io import BytesIO
3
+ from typing import Any, TypeVar, Union, cast
4
+
5
+ from attrs import define as _attrs_define
6
+ from attrs import field as _attrs_field
7
+
8
+ from .. import types
9
+ from ..types import UNSET, File, Unset
10
+
11
+ T = TypeVar("T", bound="CategoryGroupRequestMultipart")
12
+
13
+
14
+ @_attrs_define
15
+ class CategoryGroupRequestMultipart:
16
+ """
17
+ Attributes:
18
+ title (str):
19
+ description (Union[Unset, str]):
20
+ icon (Union[File, None, Unset]):
21
+ """
22
+
23
+ title: str
24
+ description: Union[Unset, str] = UNSET
25
+ icon: Union[File, None, Unset] = UNSET
26
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
27
+
28
+ def to_dict(self) -> dict[str, Any]:
29
+ title = self.title
30
+
31
+ description = self.description
32
+
33
+ icon: Union[None, Unset, types.FileTypes]
34
+ if isinstance(self.icon, Unset):
35
+ icon = UNSET
36
+ elif isinstance(self.icon, File):
37
+ icon = self.icon.to_tuple()
38
+
39
+ else:
40
+ icon = self.icon
41
+
42
+ field_dict: dict[str, Any] = {}
43
+ field_dict.update(self.additional_properties)
44
+ field_dict.update(
45
+ {
46
+ "title": title,
47
+ }
48
+ )
49
+ if description is not UNSET:
50
+ field_dict["description"] = description
51
+ if icon is not UNSET:
52
+ field_dict["icon"] = icon
53
+
54
+ return field_dict
55
+
56
+ def to_multipart(self) -> types.RequestFiles:
57
+ files: types.RequestFiles = []
58
+
59
+ files.append(("title", (None, str(self.title).encode(), "text/plain")))
60
+
61
+ if not isinstance(self.description, Unset):
62
+ files.append(("description", (None, str(self.description).encode(), "text/plain")))
63
+
64
+ if not isinstance(self.icon, Unset):
65
+ if isinstance(self.icon, File):
66
+ files.append(("icon", self.icon.to_tuple()))
67
+ else:
68
+ files.append(("icon", (None, str(self.icon).encode(), "text/plain")))
69
+
70
+ for prop_name, prop in self.additional_properties.items():
71
+ files.append((prop_name, (None, str(prop).encode(), "text/plain")))
72
+
73
+ return files
74
+
75
+ @classmethod
76
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
77
+ d = dict(src_dict)
78
+ title = d.pop("title")
79
+
80
+ description = d.pop("description", UNSET)
81
+
82
+ def _parse_icon(data: object) -> Union[File, None, Unset]:
83
+ if data is None:
84
+ return data
85
+ if isinstance(data, Unset):
86
+ return data
87
+ try:
88
+ if not isinstance(data, bytes):
89
+ raise TypeError()
90
+ icon_type_0 = File(payload=BytesIO(data))
91
+
92
+ return icon_type_0
93
+ except: # noqa: E722
94
+ pass
95
+ return cast(Union[File, None, Unset], data)
96
+
97
+ icon = _parse_icon(d.pop("icon", UNSET))
98
+
99
+ category_group_request_multipart = cls(
100
+ title=title,
101
+ description=description,
102
+ icon=icon,
103
+ )
104
+
105
+ category_group_request_multipart.additional_properties = d
106
+ return category_group_request_multipart
107
+
108
+ @property
109
+ def additional_keys(self) -> list[str]:
110
+ return list(self.additional_properties.keys())
111
+
112
+ def __getitem__(self, key: str) -> Any:
113
+ return self.additional_properties[key]
114
+
115
+ def __setitem__(self, key: str, value: Any) -> None:
116
+ self.additional_properties[key] = value
117
+
118
+ def __delitem__(self, key: str) -> None:
119
+ del self.additional_properties[key]
120
+
121
+ def __contains__(self, key: str) -> bool:
122
+ return key in self.additional_properties
@@ -0,0 +1,103 @@
1
+ from collections.abc import Mapping
2
+ from io import BytesIO
3
+ from typing import Any, TypeVar, Union, cast
4
+
5
+ from attrs import define as _attrs_define
6
+ from attrs import field as _attrs_field
7
+
8
+ from .. import types
9
+ from ..types import UNSET, File, Unset
10
+
11
+ T = TypeVar("T", bound="ChecklistCategoryRequestForm")
12
+
13
+
14
+ @_attrs_define
15
+ class ChecklistCategoryRequestForm:
16
+ """
17
+ Attributes:
18
+ name (str):
19
+ icon (Union[File, None, Unset]):
20
+ description (Union[Unset, str]):
21
+ """
22
+
23
+ name: str
24
+ icon: Union[File, None, Unset] = UNSET
25
+ description: Union[Unset, str] = UNSET
26
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
27
+
28
+ def to_dict(self) -> dict[str, Any]:
29
+ name = self.name
30
+
31
+ icon: Union[None, Unset, types.FileTypes]
32
+ if isinstance(self.icon, Unset):
33
+ icon = UNSET
34
+ elif isinstance(self.icon, File):
35
+ icon = self.icon.to_tuple()
36
+
37
+ else:
38
+ icon = self.icon
39
+
40
+ description = self.description
41
+
42
+ field_dict: dict[str, Any] = {}
43
+ field_dict.update(self.additional_properties)
44
+ field_dict.update(
45
+ {
46
+ "name": name,
47
+ }
48
+ )
49
+ if icon is not UNSET:
50
+ field_dict["icon"] = icon
51
+ if description is not UNSET:
52
+ field_dict["description"] = description
53
+
54
+ return field_dict
55
+
56
+ @classmethod
57
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
58
+ d = dict(src_dict)
59
+ name = d.pop("name")
60
+
61
+ def _parse_icon(data: object) -> Union[File, None, Unset]:
62
+ if data is None:
63
+ return data
64
+ if isinstance(data, Unset):
65
+ return data
66
+ try:
67
+ if not isinstance(data, bytes):
68
+ raise TypeError()
69
+ icon_type_0 = File(payload=BytesIO(data))
70
+
71
+ return icon_type_0
72
+ except: # noqa: E722
73
+ pass
74
+ return cast(Union[File, None, Unset], data)
75
+
76
+ icon = _parse_icon(d.pop("icon", UNSET))
77
+
78
+ description = d.pop("description", UNSET)
79
+
80
+ checklist_category_request_form = cls(
81
+ name=name,
82
+ icon=icon,
83
+ description=description,
84
+ )
85
+
86
+ checklist_category_request_form.additional_properties = d
87
+ return checklist_category_request_form
88
+
89
+ @property
90
+ def additional_keys(self) -> list[str]:
91
+ return list(self.additional_properties.keys())
92
+
93
+ def __getitem__(self, key: str) -> Any:
94
+ return self.additional_properties[key]
95
+
96
+ def __setitem__(self, key: str, value: Any) -> None:
97
+ self.additional_properties[key] = value
98
+
99
+ def __delitem__(self, key: str) -> None:
100
+ del self.additional_properties[key]
101
+
102
+ def __contains__(self, key: str) -> bool:
103
+ return key in self.additional_properties
@@ -0,0 +1,122 @@
1
+ from collections.abc import Mapping
2
+ from io import BytesIO
3
+ from typing import Any, TypeVar, Union, cast
4
+
5
+ from attrs import define as _attrs_define
6
+ from attrs import field as _attrs_field
7
+
8
+ from .. import types
9
+ from ..types import UNSET, File, Unset
10
+
11
+ T = TypeVar("T", bound="ChecklistCategoryRequestMultipart")
12
+
13
+
14
+ @_attrs_define
15
+ class ChecklistCategoryRequestMultipart:
16
+ """
17
+ Attributes:
18
+ name (str):
19
+ icon (Union[File, None, Unset]):
20
+ description (Union[Unset, str]):
21
+ """
22
+
23
+ name: str
24
+ icon: Union[File, None, Unset] = UNSET
25
+ description: Union[Unset, str] = UNSET
26
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
27
+
28
+ def to_dict(self) -> dict[str, Any]:
29
+ name = self.name
30
+
31
+ icon: Union[None, Unset, types.FileTypes]
32
+ if isinstance(self.icon, Unset):
33
+ icon = UNSET
34
+ elif isinstance(self.icon, File):
35
+ icon = self.icon.to_tuple()
36
+
37
+ else:
38
+ icon = self.icon
39
+
40
+ description = self.description
41
+
42
+ field_dict: dict[str, Any] = {}
43
+ field_dict.update(self.additional_properties)
44
+ field_dict.update(
45
+ {
46
+ "name": name,
47
+ }
48
+ )
49
+ if icon is not UNSET:
50
+ field_dict["icon"] = icon
51
+ if description is not UNSET:
52
+ field_dict["description"] = description
53
+
54
+ return field_dict
55
+
56
+ def to_multipart(self) -> types.RequestFiles:
57
+ files: types.RequestFiles = []
58
+
59
+ files.append(("name", (None, str(self.name).encode(), "text/plain")))
60
+
61
+ if not isinstance(self.icon, Unset):
62
+ if isinstance(self.icon, File):
63
+ files.append(("icon", self.icon.to_tuple()))
64
+ else:
65
+ files.append(("icon", (None, str(self.icon).encode(), "text/plain")))
66
+
67
+ if not isinstance(self.description, Unset):
68
+ files.append(("description", (None, str(self.description).encode(), "text/plain")))
69
+
70
+ for prop_name, prop in self.additional_properties.items():
71
+ files.append((prop_name, (None, str(prop).encode(), "text/plain")))
72
+
73
+ return files
74
+
75
+ @classmethod
76
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
77
+ d = dict(src_dict)
78
+ name = d.pop("name")
79
+
80
+ def _parse_icon(data: object) -> Union[File, None, Unset]:
81
+ if data is None:
82
+ return data
83
+ if isinstance(data, Unset):
84
+ return data
85
+ try:
86
+ if not isinstance(data, bytes):
87
+ raise TypeError()
88
+ icon_type_0 = File(payload=BytesIO(data))
89
+
90
+ return icon_type_0
91
+ except: # noqa: E722
92
+ pass
93
+ return cast(Union[File, None, Unset], data)
94
+
95
+ icon = _parse_icon(d.pop("icon", UNSET))
96
+
97
+ description = d.pop("description", UNSET)
98
+
99
+ checklist_category_request_multipart = cls(
100
+ name=name,
101
+ icon=icon,
102
+ description=description,
103
+ )
104
+
105
+ checklist_category_request_multipart.additional_properties = d
106
+ return checklist_category_request_multipart
107
+
108
+ @property
109
+ def additional_keys(self) -> list[str]:
110
+ return list(self.additional_properties.keys())
111
+
112
+ def __getitem__(self, key: str) -> Any:
113
+ return self.additional_properties[key]
114
+
115
+ def __setitem__(self, key: str, value: Any) -> None:
116
+ self.additional_properties[key] = value
117
+
118
+ def __delitem__(self, key: str) -> None:
119
+ del self.additional_properties[key]
120
+
121
+ def __contains__(self, key: str) -> bool:
122
+ return key in self.additional_properties
@@ -0,0 +1,11 @@
1
+ from enum import Enum
2
+
3
+
4
+ class ChecklistsAdminChecklistQuestionsChecklistType(str, Enum):
5
+ OFFERING_COMPLIANCE = "offering_compliance"
6
+ PROJECT_COMPLIANCE = "project_compliance"
7
+ PROJECT_METADATA = "project_metadata"
8
+ PROPOSAL_COMPLIANCE = "proposal_compliance"
9
+
10
+ def __str__(self) -> str:
11
+ return str(self.value)
@@ -0,0 +1,11 @@
1
+ from enum import Enum
2
+
3
+
4
+ class ChecklistsAdminChecklistQuestionsChecklistTypeInItem(str, Enum):
5
+ OFFERING_COMPLIANCE = "offering_compliance"
6
+ PROJECT_COMPLIANCE = "project_compliance"
7
+ PROJECT_METADATA = "project_metadata"
8
+ PROPOSAL_COMPLIANCE = "proposal_compliance"
9
+
10
+ def __str__(self) -> str:
11
+ return str(self.value)
@@ -0,0 +1,11 @@
1
+ from enum import Enum
2
+
3
+
4
+ class ChecklistsAdminCountChecklistType(str, Enum):
5
+ OFFERING_COMPLIANCE = "offering_compliance"
6
+ PROJECT_COMPLIANCE = "project_compliance"
7
+ PROJECT_METADATA = "project_metadata"
8
+ PROPOSAL_COMPLIANCE = "proposal_compliance"
9
+
10
+ def __str__(self) -> str:
11
+ return str(self.value)
@@ -0,0 +1,11 @@
1
+ from enum import Enum
2
+
3
+
4
+ class ChecklistsAdminCountChecklistTypeInItem(str, Enum):
5
+ OFFERING_COMPLIANCE = "offering_compliance"
6
+ PROJECT_COMPLIANCE = "project_compliance"
7
+ PROJECT_METADATA = "project_metadata"
8
+ PROPOSAL_COMPLIANCE = "proposal_compliance"
9
+
10
+ def __str__(self) -> str:
11
+ return str(self.value)
@@ -0,0 +1,11 @@
1
+ from enum import Enum
2
+
3
+
4
+ class ChecklistsAdminListChecklistType(str, Enum):
5
+ OFFERING_COMPLIANCE = "offering_compliance"
6
+ PROJECT_COMPLIANCE = "project_compliance"
7
+ PROJECT_METADATA = "project_metadata"
8
+ PROPOSAL_COMPLIANCE = "proposal_compliance"
9
+
10
+ def __str__(self) -> str:
11
+ return str(self.value)
@@ -0,0 +1,11 @@
1
+ from enum import Enum
2
+
3
+
4
+ class ChecklistsAdminListChecklistTypeInItem(str, Enum):
5
+ OFFERING_COMPLIANCE = "offering_compliance"
6
+ PROJECT_COMPLIANCE = "project_compliance"
7
+ PROJECT_METADATA = "project_metadata"
8
+ PROPOSAL_COMPLIANCE = "proposal_compliance"
9
+
10
+ def __str__(self) -> str:
11
+ return str(self.value)
@@ -143,6 +143,7 @@ class ConstanceSettings:
143
143
  oidc_client_secret (Union[Unset, str]):
144
144
  oidc_user_field (Union[Unset, str]):
145
145
  oidc_cache_timeout (Union[Unset, int]):
146
+ oidc_block_creation_of_uninvited_users (Union[Unset, bool]):
146
147
  deactivate_user_if_no_roles (Union[Unset, bool]):
147
148
  maintenance_announcement_notify_before_minutes (Union[Unset, int]):
148
149
  maintenance_announcement_notify_system (Union[Unset, list[str]]):
@@ -279,6 +280,7 @@ class ConstanceSettings:
279
280
  oidc_client_secret: Union[Unset, str] = UNSET
280
281
  oidc_user_field: Union[Unset, str] = UNSET
281
282
  oidc_cache_timeout: Union[Unset, int] = UNSET
283
+ oidc_block_creation_of_uninvited_users: Union[Unset, bool] = UNSET
282
284
  deactivate_user_if_no_roles: Union[Unset, bool] = UNSET
283
285
  maintenance_announcement_notify_before_minutes: Union[Unset, int] = UNSET
284
286
  maintenance_announcement_notify_system: Union[Unset, list[str]] = UNSET
@@ -598,6 +600,8 @@ class ConstanceSettings:
598
600
 
599
601
  oidc_cache_timeout = self.oidc_cache_timeout
600
602
 
603
+ oidc_block_creation_of_uninvited_users = self.oidc_block_creation_of_uninvited_users
604
+
601
605
  deactivate_user_if_no_roles = self.deactivate_user_if_no_roles
602
606
 
603
607
  maintenance_announcement_notify_before_minutes = self.maintenance_announcement_notify_before_minutes
@@ -875,6 +879,8 @@ class ConstanceSettings:
875
879
  field_dict["OIDC_USER_FIELD"] = oidc_user_field
876
880
  if oidc_cache_timeout is not UNSET:
877
881
  field_dict["OIDC_CACHE_TIMEOUT"] = oidc_cache_timeout
882
+ if oidc_block_creation_of_uninvited_users is not UNSET:
883
+ field_dict["OIDC_BLOCK_CREATION_OF_UNINVITED_USERS"] = oidc_block_creation_of_uninvited_users
878
884
  if deactivate_user_if_no_roles is not UNSET:
879
885
  field_dict["DEACTIVATE_USER_IF_NO_ROLES"] = deactivate_user_if_no_roles
880
886
  if maintenance_announcement_notify_before_minutes is not UNSET:
@@ -1239,6 +1245,8 @@ class ConstanceSettings:
1239
1245
 
1240
1246
  oidc_cache_timeout = d.pop("OIDC_CACHE_TIMEOUT", UNSET)
1241
1247
 
1248
+ oidc_block_creation_of_uninvited_users = d.pop("OIDC_BLOCK_CREATION_OF_UNINVITED_USERS", UNSET)
1249
+
1242
1250
  deactivate_user_if_no_roles = d.pop("DEACTIVATE_USER_IF_NO_ROLES", UNSET)
1243
1251
 
1244
1252
  maintenance_announcement_notify_before_minutes = d.pop("MAINTENANCE_ANNOUNCEMENT_NOTIFY_BEFORE_MINUTES", UNSET)
@@ -1378,6 +1386,7 @@ class ConstanceSettings:
1378
1386
  oidc_client_secret=oidc_client_secret,
1379
1387
  oidc_user_field=oidc_user_field,
1380
1388
  oidc_cache_timeout=oidc_cache_timeout,
1389
+ oidc_block_creation_of_uninvited_users=oidc_block_creation_of_uninvited_users,
1381
1390
  deactivate_user_if_no_roles=deactivate_user_if_no_roles,
1382
1391
  maintenance_announcement_notify_before_minutes=maintenance_announcement_notify_before_minutes,
1383
1392
  maintenance_announcement_notify_system=maintenance_announcement_notify_system,
@@ -145,6 +145,7 @@ class ConstanceSettingsRequest:
145
145
  oidc_client_secret (Union[Unset, str]):
146
146
  oidc_user_field (Union[Unset, str]):
147
147
  oidc_cache_timeout (Union[Unset, int]):
148
+ oidc_block_creation_of_uninvited_users (Union[Unset, bool]):
148
149
  deactivate_user_if_no_roles (Union[Unset, bool]):
149
150
  maintenance_announcement_notify_before_minutes (Union[Unset, int]):
150
151
  maintenance_announcement_notify_system (Union[Unset, list[str]]):
@@ -281,6 +282,7 @@ class ConstanceSettingsRequest:
281
282
  oidc_client_secret: Union[Unset, str] = UNSET
282
283
  oidc_user_field: Union[Unset, str] = UNSET
283
284
  oidc_cache_timeout: Union[Unset, int] = UNSET
285
+ oidc_block_creation_of_uninvited_users: Union[Unset, bool] = UNSET
284
286
  deactivate_user_if_no_roles: Union[Unset, bool] = UNSET
285
287
  maintenance_announcement_notify_before_minutes: Union[Unset, int] = UNSET
286
288
  maintenance_announcement_notify_system: Union[Unset, list[str]] = UNSET
@@ -636,6 +638,8 @@ class ConstanceSettingsRequest:
636
638
 
637
639
  oidc_cache_timeout = self.oidc_cache_timeout
638
640
 
641
+ oidc_block_creation_of_uninvited_users = self.oidc_block_creation_of_uninvited_users
642
+
639
643
  deactivate_user_if_no_roles = self.deactivate_user_if_no_roles
640
644
 
641
645
  maintenance_announcement_notify_before_minutes = self.maintenance_announcement_notify_before_minutes
@@ -913,6 +917,8 @@ class ConstanceSettingsRequest:
913
917
  field_dict["OIDC_USER_FIELD"] = oidc_user_field
914
918
  if oidc_cache_timeout is not UNSET:
915
919
  field_dict["OIDC_CACHE_TIMEOUT"] = oidc_cache_timeout
920
+ if oidc_block_creation_of_uninvited_users is not UNSET:
921
+ field_dict["OIDC_BLOCK_CREATION_OF_UNINVITED_USERS"] = oidc_block_creation_of_uninvited_users
916
922
  if deactivate_user_if_no_roles is not UNSET:
917
923
  field_dict["DEACTIVATE_USER_IF_NO_ROLES"] = deactivate_user_if_no_roles
918
924
  if maintenance_announcement_notify_before_minutes is not UNSET:
@@ -1373,6 +1379,8 @@ class ConstanceSettingsRequest:
1373
1379
 
1374
1380
  oidc_cache_timeout = d.pop("OIDC_CACHE_TIMEOUT", UNSET)
1375
1381
 
1382
+ oidc_block_creation_of_uninvited_users = d.pop("OIDC_BLOCK_CREATION_OF_UNINVITED_USERS", UNSET)
1383
+
1376
1384
  deactivate_user_if_no_roles = d.pop("DEACTIVATE_USER_IF_NO_ROLES", UNSET)
1377
1385
 
1378
1386
  maintenance_announcement_notify_before_minutes = d.pop("MAINTENANCE_ANNOUNCEMENT_NOTIFY_BEFORE_MINUTES", UNSET)
@@ -1512,6 +1520,7 @@ class ConstanceSettingsRequest:
1512
1520
  oidc_client_secret=oidc_client_secret,
1513
1521
  oidc_user_field=oidc_user_field,
1514
1522
  oidc_cache_timeout=oidc_cache_timeout,
1523
+ oidc_block_creation_of_uninvited_users=oidc_block_creation_of_uninvited_users,
1515
1524
  deactivate_user_if_no_roles=deactivate_user_if_no_roles,
1516
1525
  maintenance_announcement_notify_before_minutes=maintenance_announcement_notify_before_minutes,
1517
1526
  maintenance_announcement_notify_system=maintenance_announcement_notify_system,