immich 1.2.1__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.
Files changed (387) hide show
  1. immich/.openapi-generator/FILES +372 -0
  2. immich/.openapi-generator/VERSION +1 -0
  3. immich/.openapi-generator-ignore +48 -0
  4. immich/__init__.py +3 -0
  5. immich/client/__init__.py +1162 -0
  6. immich/client/api/__init__.py +39 -0
  7. immich/client/api/activities_api.py +1092 -0
  8. immich/client/api/albums_api.py +3228 -0
  9. immich/client/api/api_keys_api.py +1484 -0
  10. immich/client/api/assets_api.py +5834 -0
  11. immich/client/api/authentication_admin_api.py +254 -0
  12. immich/client/api/authentication_api.py +3881 -0
  13. immich/client/api/deprecated_api.py +2199 -0
  14. immich/client/api/download_api.py +603 -0
  15. immich/client/api/duplicates_api.py +743 -0
  16. immich/client/api/faces_api.py +1053 -0
  17. immich/client/api/jobs_api.py +783 -0
  18. immich/client/api/libraries_api.py +2004 -0
  19. immich/client/api/maintenance_admin_api.py +533 -0
  20. immich/client/api/map_api.py +640 -0
  21. immich/client/api/memories_api.py +2250 -0
  22. immich/client/api/notifications_admin_api.py +808 -0
  23. immich/client/api/notifications_api.py +1564 -0
  24. immich/client/api/partners_api.py +1278 -0
  25. immich/client/api/people_api.py +2905 -0
  26. immich/client/api/plugins_api.py +730 -0
  27. immich/client/api/queues_api.py +1292 -0
  28. immich/client/api/search_api.py +3198 -0
  29. immich/client/api/server_api.py +3466 -0
  30. immich/client/api/sessions_api.py +1472 -0
  31. immich/client/api/shared_links_api.py +2177 -0
  32. immich/client/api/stacks_api.py +1769 -0
  33. immich/client/api/sync_api.py +1512 -0
  34. immich/client/api/system_config_api.py +967 -0
  35. immich/client/api/system_metadata_api.py +964 -0
  36. immich/client/api/tags_api.py +2296 -0
  37. immich/client/api/timeline_api.py +1193 -0
  38. immich/client/api/trash_api.py +739 -0
  39. immich/client/api/users_admin_api.py +2607 -0
  40. immich/client/api/users_api.py +3577 -0
  41. immich/client/api/views_api.py +503 -0
  42. immich/client/api/workflows_api.py +1257 -0
  43. immich/client/api_client.py +756 -0
  44. immich/client/api_response.py +20 -0
  45. immich/client/configuration.py +638 -0
  46. immich/client/exceptions.py +222 -0
  47. immich/client/models/__init__.py +424 -0
  48. immich/client/models/activity_create_dto.py +94 -0
  49. immich/client/models/activity_response_dto.py +121 -0
  50. immich/client/models/activity_statistics_response_dto.py +85 -0
  51. immich/client/models/add_users_dto.py +101 -0
  52. immich/client/models/admin_onboarding_update_dto.py +82 -0
  53. immich/client/models/album_response_dto.py +199 -0
  54. immich/client/models/album_statistics_response_dto.py +90 -0
  55. immich/client/models/album_user_add_dto.py +87 -0
  56. immich/client/models/album_user_create_dto.py +87 -0
  57. immich/client/models/album_user_response_dto.py +95 -0
  58. immich/client/models/album_user_role.py +34 -0
  59. immich/client/models/albums_add_assets_dto.py +86 -0
  60. immich/client/models/albums_add_assets_response_dto.py +86 -0
  61. immich/client/models/albums_response.py +83 -0
  62. immich/client/models/albums_update.py +85 -0
  63. immich/client/models/api_key_create_dto.py +87 -0
  64. immich/client/models/api_key_create_response_dto.py +94 -0
  65. immich/client/models/api_key_response_dto.py +102 -0
  66. immich/client/models/api_key_update_dto.py +87 -0
  67. immich/client/models/asset_bulk_delete_dto.py +84 -0
  68. immich/client/models/asset_bulk_update_dto.py +143 -0
  69. immich/client/models/asset_bulk_upload_check_dto.py +98 -0
  70. immich/client/models/asset_bulk_upload_check_item.py +85 -0
  71. immich/client/models/asset_bulk_upload_check_response_dto.py +101 -0
  72. immich/client/models/asset_bulk_upload_check_result.py +126 -0
  73. immich/client/models/asset_copy_dto.py +113 -0
  74. immich/client/models/asset_delta_sync_dto.py +87 -0
  75. immich/client/models/asset_delta_sync_response_dto.py +102 -0
  76. immich/client/models/asset_face_create_dto.py +110 -0
  77. immich/client/models/asset_face_delete_dto.py +82 -0
  78. immich/client/models/asset_face_response_dto.py +125 -0
  79. immich/client/models/asset_face_update_dto.py +96 -0
  80. immich/client/models/asset_face_update_item.py +86 -0
  81. immich/client/models/asset_face_without_person_response_dto.py +111 -0
  82. immich/client/models/asset_full_sync_dto.py +95 -0
  83. immich/client/models/asset_ids_dto.py +83 -0
  84. immich/client/models/asset_ids_response_dto.py +109 -0
  85. immich/client/models/asset_job_name.py +36 -0
  86. immich/client/models/asset_jobs_dto.py +87 -0
  87. immich/client/models/asset_media_response_dto.py +84 -0
  88. immich/client/models/asset_media_size.py +35 -0
  89. immich/client/models/asset_media_status.py +35 -0
  90. immich/client/models/asset_metadata_key.py +33 -0
  91. immich/client/models/asset_metadata_response_dto.py +92 -0
  92. immich/client/models/asset_metadata_upsert_dto.py +101 -0
  93. immich/client/models/asset_metadata_upsert_item_dto.py +84 -0
  94. immich/client/models/asset_ocr_response_dto.py +145 -0
  95. immich/client/models/asset_order.py +34 -0
  96. immich/client/models/asset_response_dto.py +291 -0
  97. immich/client/models/asset_stack_response_dto.py +90 -0
  98. immich/client/models/asset_stats_response_dto.py +90 -0
  99. immich/client/models/asset_type_enum.py +36 -0
  100. immich/client/models/asset_visibility.py +36 -0
  101. immich/client/models/audio_codec.py +36 -0
  102. immich/client/models/auth_status_response_dto.py +100 -0
  103. immich/client/models/avatar_update.py +83 -0
  104. immich/client/models/bulk_id_error_reason.py +36 -0
  105. immich/client/models/bulk_id_response_dto.py +102 -0
  106. immich/client/models/bulk_ids_dto.py +83 -0
  107. immich/client/models/cast_response.py +88 -0
  108. immich/client/models/cast_update.py +82 -0
  109. immich/client/models/change_password_dto.py +101 -0
  110. immich/client/models/check_existing_assets_dto.py +91 -0
  111. immich/client/models/check_existing_assets_response_dto.py +82 -0
  112. immich/client/models/clip_config.py +85 -0
  113. immich/client/models/colorspace.py +34 -0
  114. immich/client/models/contributor_count_response_dto.py +85 -0
  115. immich/client/models/cq_mode.py +35 -0
  116. immich/client/models/create_album_dto.py +112 -0
  117. immich/client/models/create_library_dto.py +103 -0
  118. immich/client/models/create_profile_image_response_dto.py +95 -0
  119. immich/client/models/database_backup_config.py +94 -0
  120. immich/client/models/download_archive_info.py +85 -0
  121. immich/client/models/download_info_dto.py +96 -0
  122. immich/client/models/download_response.py +90 -0
  123. immich/client/models/download_response_dto.py +100 -0
  124. immich/client/models/download_update.py +93 -0
  125. immich/client/models/duplicate_detection_config.py +89 -0
  126. immich/client/models/duplicate_response_dto.py +98 -0
  127. immich/client/models/email_notifications_response.py +90 -0
  128. immich/client/models/email_notifications_update.py +90 -0
  129. immich/client/models/exif_response_dto.py +284 -0
  130. immich/client/models/face_dto.py +83 -0
  131. immich/client/models/facial_recognition_config.py +107 -0
  132. immich/client/models/folders_response.py +92 -0
  133. immich/client/models/folders_update.py +85 -0
  134. immich/client/models/image_format.py +34 -0
  135. immich/client/models/job_create_dto.py +83 -0
  136. immich/client/models/job_name.py +87 -0
  137. immich/client/models/job_settings_dto.py +83 -0
  138. immich/client/models/library_response_dto.py +118 -0
  139. immich/client/models/library_stats_response_dto.py +92 -0
  140. immich/client/models/license_key_dto.py +98 -0
  141. immich/client/models/license_response_dto.py +101 -0
  142. immich/client/models/log_level.py +38 -0
  143. immich/client/models/login_credential_dto.py +85 -0
  144. immich/client/models/login_response_dto.py +109 -0
  145. immich/client/models/logout_response_dto.py +85 -0
  146. immich/client/models/machine_learning_availability_checks_dto.py +90 -0
  147. immich/client/models/maintenance_action.py +34 -0
  148. immich/client/models/maintenance_auth_dto.py +82 -0
  149. immich/client/models/maintenance_login_dto.py +82 -0
  150. immich/client/models/manual_job_name.py +38 -0
  151. immich/client/models/map_marker_response_dto.py +111 -0
  152. immich/client/models/map_reverse_geocode_response_dto.py +105 -0
  153. immich/client/models/memories_response.py +92 -0
  154. immich/client/models/memories_update.py +86 -0
  155. immich/client/models/memory_create_dto.py +112 -0
  156. immich/client/models/memory_response_dto.py +142 -0
  157. immich/client/models/memory_search_order.py +35 -0
  158. immich/client/models/memory_statistics_response_dto.py +82 -0
  159. immich/client/models/memory_type.py +33 -0
  160. immich/client/models/memory_update_dto.py +91 -0
  161. immich/client/models/merge_person_dto.py +83 -0
  162. immich/client/models/metadata_search_dto.py +277 -0
  163. immich/client/models/notification_create_dto.py +120 -0
  164. immich/client/models/notification_delete_all_dto.py +83 -0
  165. immich/client/models/notification_dto.py +112 -0
  166. immich/client/models/notification_level.py +36 -0
  167. immich/client/models/notification_type.py +38 -0
  168. immich/client/models/notification_update_all_dto.py +90 -0
  169. immich/client/models/notification_update_dto.py +88 -0
  170. immich/client/models/o_auth_authorize_response_dto.py +82 -0
  171. immich/client/models/o_auth_callback_dto.py +90 -0
  172. immich/client/models/o_auth_config_dto.py +90 -0
  173. immich/client/models/o_auth_token_endpoint_auth_method.py +34 -0
  174. immich/client/models/ocr_config.py +109 -0
  175. immich/client/models/on_this_day_dto.py +86 -0
  176. immich/client/models/onboarding_dto.py +82 -0
  177. immich/client/models/onboarding_response_dto.py +82 -0
  178. immich/client/models/partner_create_dto.py +83 -0
  179. immich/client/models/partner_direction.py +34 -0
  180. immich/client/models/partner_response_dto.py +108 -0
  181. immich/client/models/partner_update_dto.py +82 -0
  182. immich/client/models/people_response.py +92 -0
  183. immich/client/models/people_response_dto.py +104 -0
  184. immich/client/models/people_update.py +85 -0
  185. immich/client/models/people_update_dto.py +96 -0
  186. immich/client/models/people_update_item.py +128 -0
  187. immich/client/models/permission.py +177 -0
  188. immich/client/models/person_create_dto.py +117 -0
  189. immich/client/models/person_response_dto.py +115 -0
  190. immich/client/models/person_statistics_response_dto.py +82 -0
  191. immich/client/models/person_update_dto.py +125 -0
  192. immich/client/models/person_with_faces_response_dto.py +133 -0
  193. immich/client/models/pin_code_change_dto.py +90 -0
  194. immich/client/models/pin_code_reset_dto.py +85 -0
  195. immich/client/models/pin_code_setup_dto.py +82 -0
  196. immich/client/models/places_response_dto.py +100 -0
  197. immich/client/models/plugin_action_response_dto.py +112 -0
  198. immich/client/models/plugin_context_type.py +35 -0
  199. immich/client/models/plugin_filter_response_dto.py +112 -0
  200. immich/client/models/plugin_response_dto.py +139 -0
  201. immich/client/models/plugin_trigger_response_dto.py +87 -0
  202. immich/client/models/plugin_trigger_type.py +34 -0
  203. immich/client/models/purchase_response.py +88 -0
  204. immich/client/models/purchase_update.py +92 -0
  205. immich/client/models/queue_command.py +37 -0
  206. immich/client/models/queue_command_dto.py +86 -0
  207. immich/client/models/queue_delete_dto.py +85 -0
  208. immich/client/models/queue_job_response_dto.py +93 -0
  209. immich/client/models/queue_job_status.py +38 -0
  210. immich/client/models/queue_name.py +49 -0
  211. immich/client/models/queue_response_dto.py +97 -0
  212. immich/client/models/queue_response_legacy_dto.py +100 -0
  213. immich/client/models/queue_statistics_dto.py +103 -0
  214. immich/client/models/queue_status_legacy_dto.py +85 -0
  215. immich/client/models/queue_update_dto.py +82 -0
  216. immich/client/models/queues_response_legacy_dto.py +242 -0
  217. immich/client/models/random_search_dto.py +234 -0
  218. immich/client/models/ratings_response.py +84 -0
  219. immich/client/models/ratings_update.py +82 -0
  220. immich/client/models/reaction_level.py +34 -0
  221. immich/client/models/reaction_type.py +34 -0
  222. immich/client/models/reverse_geocoding_state_response_dto.py +101 -0
  223. immich/client/models/search_album_response_dto.py +114 -0
  224. immich/client/models/search_asset_response_dto.py +127 -0
  225. immich/client/models/search_explore_item.py +94 -0
  226. immich/client/models/search_explore_response_dto.py +98 -0
  227. immich/client/models/search_facet_count_response_dto.py +85 -0
  228. immich/client/models/search_facet_response_dto.py +103 -0
  229. immich/client/models/search_response_dto.py +100 -0
  230. immich/client/models/search_statistics_response_dto.py +82 -0
  231. immich/client/models/search_suggestion_type.py +38 -0
  232. immich/client/models/server_about_response_dto.py +156 -0
  233. immich/client/models/server_apk_links_dto.py +97 -0
  234. immich/client/models/server_config_dto.py +118 -0
  235. immich/client/models/server_features_dto.py +130 -0
  236. immich/client/models/server_media_types_response_dto.py +90 -0
  237. immich/client/models/server_ping_response.py +87 -0
  238. immich/client/models/server_stats_response_dto.py +119 -0
  239. immich/client/models/server_storage_response_dto.py +108 -0
  240. immich/client/models/server_theme_dto.py +82 -0
  241. immich/client/models/server_version_history_response_dto.py +91 -0
  242. immich/client/models/server_version_response_dto.py +90 -0
  243. immich/client/models/session_create_dto.py +96 -0
  244. immich/client/models/session_create_response_dto.py +120 -0
  245. immich/client/models/session_response_dto.py +117 -0
  246. immich/client/models/session_unlock_dto.py +85 -0
  247. immich/client/models/session_update_dto.py +84 -0
  248. immich/client/models/set_maintenance_mode_dto.py +83 -0
  249. immich/client/models/shared_link_create_dto.py +142 -0
  250. immich/client/models/shared_link_edit_dto.py +134 -0
  251. immich/client/models/shared_link_response_dto.py +173 -0
  252. immich/client/models/shared_link_type.py +34 -0
  253. immich/client/models/shared_links_response.py +92 -0
  254. immich/client/models/shared_links_update.py +85 -0
  255. immich/client/models/sign_up_dto.py +90 -0
  256. immich/client/models/smart_search_dto.py +245 -0
  257. immich/client/models/source_type.py +35 -0
  258. immich/client/models/stack_create_dto.py +86 -0
  259. immich/client/models/stack_response_dto.py +100 -0
  260. immich/client/models/stack_update_dto.py +83 -0
  261. immich/client/models/statistics_search_dto.py +217 -0
  262. immich/client/models/sync_ack_delete_dto.py +83 -0
  263. immich/client/models/sync_ack_dto.py +84 -0
  264. immich/client/models/sync_ack_set_dto.py +83 -0
  265. immich/client/models/sync_album_delete_v1.py +82 -0
  266. immich/client/models/sync_album_to_asset_delete_v1.py +85 -0
  267. immich/client/models/sync_album_to_asset_v1.py +85 -0
  268. immich/client/models/sync_album_user_delete_v1.py +85 -0
  269. immich/client/models/sync_album_user_v1.py +91 -0
  270. immich/client/models/sync_album_v1.py +122 -0
  271. immich/client/models/sync_asset_delete_v1.py +82 -0
  272. immich/client/models/sync_asset_exif_v1.py +296 -0
  273. immich/client/models/sync_asset_face_delete_v1.py +82 -0
  274. immich/client/models/sync_asset_face_v1.py +120 -0
  275. immich/client/models/sync_asset_metadata_delete_v1.py +86 -0
  276. immich/client/models/sync_asset_metadata_v1.py +91 -0
  277. immich/client/models/sync_asset_v1.py +187 -0
  278. immich/client/models/sync_auth_user_v1.py +154 -0
  279. immich/client/models/sync_entity_type.py +79 -0
  280. immich/client/models/sync_memory_asset_delete_v1.py +85 -0
  281. immich/client/models/sync_memory_asset_v1.py +85 -0
  282. immich/client/models/sync_memory_delete_v1.py +82 -0
  283. immich/client/models/sync_memory_v1.py +143 -0
  284. immich/client/models/sync_partner_delete_v1.py +88 -0
  285. immich/client/models/sync_partner_v1.py +90 -0
  286. immich/client/models/sync_person_delete_v1.py +82 -0
  287. immich/client/models/sync_person_v1.py +131 -0
  288. immich/client/models/sync_request_type.py +52 -0
  289. immich/client/models/sync_stack_delete_v1.py +82 -0
  290. immich/client/models/sync_stack_v1.py +101 -0
  291. immich/client/models/sync_stream_dto.py +86 -0
  292. immich/client/models/sync_user_delete_v1.py +82 -0
  293. immich/client/models/sync_user_metadata_delete_v1.py +84 -0
  294. immich/client/models/sync_user_metadata_v1.py +91 -0
  295. immich/client/models/sync_user_v1.py +118 -0
  296. immich/client/models/system_config_backups_dto.py +92 -0
  297. immich/client/models/system_config_dto.py +302 -0
  298. immich/client/models/system_config_f_fmpeg_dto.py +156 -0
  299. immich/client/models/system_config_faces_dto.py +82 -0
  300. immich/client/models/system_config_generated_fullsize_image_dto.py +92 -0
  301. immich/client/models/system_config_generated_image_dto.py +92 -0
  302. immich/client/models/system_config_image_dto.py +124 -0
  303. immich/client/models/system_config_job_dto.py +194 -0
  304. immich/client/models/system_config_library_dto.py +104 -0
  305. immich/client/models/system_config_library_scan_dto.py +85 -0
  306. immich/client/models/system_config_library_watch_dto.py +82 -0
  307. immich/client/models/system_config_logging_dto.py +86 -0
  308. immich/client/models/system_config_machine_learning_dto.py +147 -0
  309. immich/client/models/system_config_map_dto.py +90 -0
  310. immich/client/models/system_config_metadata_dto.py +92 -0
  311. immich/client/models/system_config_new_version_check_dto.py +82 -0
  312. immich/client/models/system_config_nightly_tasks_dto.py +103 -0
  313. immich/client/models/system_config_notifications_dto.py +92 -0
  314. immich/client/models/system_config_o_auth_dto.py +155 -0
  315. immich/client/models/system_config_password_login_dto.py +82 -0
  316. immich/client/models/system_config_reverse_geocoding_dto.py +82 -0
  317. immich/client/models/system_config_server_dto.py +94 -0
  318. immich/client/models/system_config_smtp_dto.py +100 -0
  319. immich/client/models/system_config_smtp_transport_dto.py +107 -0
  320. immich/client/models/system_config_storage_template_dto.py +94 -0
  321. immich/client/models/system_config_template_emails_dto.py +94 -0
  322. immich/client/models/system_config_template_storage_option_dto.py +109 -0
  323. immich/client/models/system_config_templates_dto.py +94 -0
  324. immich/client/models/system_config_theme_dto.py +82 -0
  325. immich/client/models/system_config_trash_dto.py +86 -0
  326. immich/client/models/system_config_user_dto.py +83 -0
  327. immich/client/models/tag_bulk_assets_dto.py +86 -0
  328. immich/client/models/tag_bulk_assets_response_dto.py +82 -0
  329. immich/client/models/tag_create_dto.py +111 -0
  330. immich/client/models/tag_response_dto.py +107 -0
  331. immich/client/models/tag_update_dto.py +87 -0
  332. immich/client/models/tag_upsert_dto.py +82 -0
  333. immich/client/models/tags_response.py +92 -0
  334. immich/client/models/tags_update.py +85 -0
  335. immich/client/models/template_dto.py +82 -0
  336. immich/client/models/template_response_dto.py +83 -0
  337. immich/client/models/test_email_response_dto.py +82 -0
  338. immich/client/models/time_bucket_asset_response_dto.py +195 -0
  339. immich/client/models/time_buckets_response_dto.py +88 -0
  340. immich/client/models/tone_mapping.py +36 -0
  341. immich/client/models/transcode_hw_accel.py +37 -0
  342. immich/client/models/transcode_policy.py +37 -0
  343. immich/client/models/trash_response_dto.py +82 -0
  344. immich/client/models/update_album_dto.py +106 -0
  345. immich/client/models/update_album_user_dto.py +83 -0
  346. immich/client/models/update_asset_dto.py +135 -0
  347. immich/client/models/update_library_dto.py +95 -0
  348. immich/client/models/usage_by_user_dto.py +117 -0
  349. immich/client/models/user_admin_create_dto.py +136 -0
  350. immich/client/models/user_admin_delete_dto.py +82 -0
  351. immich/client/models/user_admin_response_dto.py +176 -0
  352. immich/client/models/user_admin_update_dto.py +141 -0
  353. immich/client/models/user_avatar_color.py +42 -0
  354. immich/client/models/user_license.py +91 -0
  355. immich/client/models/user_metadata_key.py +35 -0
  356. immich/client/models/user_preferences_response_dto.py +186 -0
  357. immich/client/models/user_preferences_update_dto.py +197 -0
  358. immich/client/models/user_response_dto.py +105 -0
  359. immich/client/models/user_status.py +35 -0
  360. immich/client/models/user_update_me_dto.py +98 -0
  361. immich/client/models/validate_access_token_response_dto.py +82 -0
  362. immich/client/models/validate_library_dto.py +93 -0
  363. immich/client/models/validate_library_import_path_response_dto.py +92 -0
  364. immich/client/models/validate_library_response_dto.py +103 -0
  365. immich/client/models/version_check_state_response_dto.py +98 -0
  366. immich/client/models/video_codec.py +36 -0
  367. immich/client/models/video_container.py +36 -0
  368. immich/client/models/workflow_action_item_dto.py +89 -0
  369. immich/client/models/workflow_action_response_dto.py +105 -0
  370. immich/client/models/workflow_create_dto.py +128 -0
  371. immich/client/models/workflow_filter_item_dto.py +89 -0
  372. immich/client/models/workflow_filter_response_dto.py +105 -0
  373. immich/client/models/workflow_response_dto.py +144 -0
  374. immich/client/models/workflow_update_dto.py +128 -0
  375. immich/client/py.typed +0 -0
  376. immich/client/rest.py +199 -0
  377. immich/client_wrapper/__init__.py +15 -0
  378. immich/client_wrapper/assets_api_wrapped.py +87 -0
  379. immich/client_wrapper/download_api_wrapped.py +111 -0
  380. immich/client_wrapper/users_api_wrapped.py +41 -0
  381. immich/py.typed +0 -0
  382. immich/sdk.py +365 -0
  383. immich/utils.py +100 -0
  384. immich-1.2.1.dist-info/METADATA +166 -0
  385. immich-1.2.1.dist-info/RECORD +387 -0
  386. immich-1.2.1.dist-info/WHEEL +4 -0
  387. immich-1.2.1.dist-info/licenses/LICENSE +9 -0
@@ -0,0 +1,302 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Immich
5
+
6
+ Immich API
7
+
8
+ The version of the OpenAPI document: 2.4.1
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+ from __future__ import annotations
15
+ import pprint
16
+ import re # noqa: F401
17
+ import json
18
+
19
+ from pydantic import BaseModel, ConfigDict, Field
20
+ from typing import Any, ClassVar, Dict, List
21
+ from immich.client.models.system_config_backups_dto import SystemConfigBackupsDto
22
+ from immich.client.models.system_config_f_fmpeg_dto import SystemConfigFFmpegDto
23
+ from immich.client.models.system_config_image_dto import SystemConfigImageDto
24
+ from immich.client.models.system_config_job_dto import SystemConfigJobDto
25
+ from immich.client.models.system_config_library_dto import SystemConfigLibraryDto
26
+ from immich.client.models.system_config_logging_dto import SystemConfigLoggingDto
27
+ from immich.client.models.system_config_machine_learning_dto import (
28
+ SystemConfigMachineLearningDto,
29
+ )
30
+ from immich.client.models.system_config_map_dto import SystemConfigMapDto
31
+ from immich.client.models.system_config_metadata_dto import SystemConfigMetadataDto
32
+ from immich.client.models.system_config_new_version_check_dto import (
33
+ SystemConfigNewVersionCheckDto,
34
+ )
35
+ from immich.client.models.system_config_nightly_tasks_dto import (
36
+ SystemConfigNightlyTasksDto,
37
+ )
38
+ from immich.client.models.system_config_notifications_dto import (
39
+ SystemConfigNotificationsDto,
40
+ )
41
+ from immich.client.models.system_config_o_auth_dto import SystemConfigOAuthDto
42
+ from immich.client.models.system_config_password_login_dto import (
43
+ SystemConfigPasswordLoginDto,
44
+ )
45
+ from immich.client.models.system_config_reverse_geocoding_dto import (
46
+ SystemConfigReverseGeocodingDto,
47
+ )
48
+ from immich.client.models.system_config_server_dto import SystemConfigServerDto
49
+ from immich.client.models.system_config_storage_template_dto import (
50
+ SystemConfigStorageTemplateDto,
51
+ )
52
+ from immich.client.models.system_config_templates_dto import SystemConfigTemplatesDto
53
+ from immich.client.models.system_config_theme_dto import SystemConfigThemeDto
54
+ from immich.client.models.system_config_trash_dto import SystemConfigTrashDto
55
+ from immich.client.models.system_config_user_dto import SystemConfigUserDto
56
+ from typing import Optional, Set
57
+ from typing_extensions import Self
58
+
59
+
60
+ class SystemConfigDto(BaseModel):
61
+ """
62
+ SystemConfigDto
63
+ """ # noqa: E501
64
+
65
+ backup: SystemConfigBackupsDto
66
+ ffmpeg: SystemConfigFFmpegDto
67
+ image: SystemConfigImageDto
68
+ job: SystemConfigJobDto
69
+ library: SystemConfigLibraryDto
70
+ logging: SystemConfigLoggingDto
71
+ machine_learning: SystemConfigMachineLearningDto = Field(alias="machineLearning")
72
+ map: SystemConfigMapDto
73
+ metadata: SystemConfigMetadataDto
74
+ new_version_check: SystemConfigNewVersionCheckDto = Field(alias="newVersionCheck")
75
+ nightly_tasks: SystemConfigNightlyTasksDto = Field(alias="nightlyTasks")
76
+ notifications: SystemConfigNotificationsDto
77
+ oauth: SystemConfigOAuthDto
78
+ password_login: SystemConfigPasswordLoginDto = Field(alias="passwordLogin")
79
+ reverse_geocoding: SystemConfigReverseGeocodingDto = Field(alias="reverseGeocoding")
80
+ server: SystemConfigServerDto
81
+ storage_template: SystemConfigStorageTemplateDto = Field(alias="storageTemplate")
82
+ templates: SystemConfigTemplatesDto
83
+ theme: SystemConfigThemeDto
84
+ trash: SystemConfigTrashDto
85
+ user: SystemConfigUserDto
86
+ __properties: ClassVar[List[str]] = [
87
+ "backup",
88
+ "ffmpeg",
89
+ "image",
90
+ "job",
91
+ "library",
92
+ "logging",
93
+ "machineLearning",
94
+ "map",
95
+ "metadata",
96
+ "newVersionCheck",
97
+ "nightlyTasks",
98
+ "notifications",
99
+ "oauth",
100
+ "passwordLogin",
101
+ "reverseGeocoding",
102
+ "server",
103
+ "storageTemplate",
104
+ "templates",
105
+ "theme",
106
+ "trash",
107
+ "user",
108
+ ]
109
+
110
+ model_config = ConfigDict(
111
+ populate_by_name=True,
112
+ validate_assignment=True,
113
+ protected_namespaces=(),
114
+ )
115
+
116
+ def to_str(self) -> str:
117
+ """Returns the string representation of the model using alias"""
118
+ return pprint.pformat(self.model_dump(by_alias=True))
119
+
120
+ def to_json(self) -> str:
121
+ """Returns the JSON representation of the model using alias"""
122
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
123
+ return json.dumps(self.to_dict())
124
+
125
+ @classmethod
126
+ def from_json(cls, json_str: str) -> Optional[Self]:
127
+ """Create an instance of SystemConfigDto from a JSON string"""
128
+ return cls.from_dict(json.loads(json_str))
129
+
130
+ def to_dict(self) -> Dict[str, Any]:
131
+ """Return the dictionary representation of the model using alias.
132
+
133
+ This has the following differences from calling pydantic's
134
+ `self.model_dump(by_alias=True)`:
135
+
136
+ * `None` is only added to the output dict for nullable fields that
137
+ were set at model initialization. Other fields with value `None`
138
+ are ignored.
139
+ """
140
+ excluded_fields: Set[str] = set([])
141
+
142
+ _dict = self.model_dump(
143
+ by_alias=True,
144
+ exclude=excluded_fields,
145
+ exclude_none=True,
146
+ )
147
+ # override the default output from pydantic by calling `to_dict()` of backup
148
+ if self.backup:
149
+ _dict["backup"] = self.backup.to_dict()
150
+ # override the default output from pydantic by calling `to_dict()` of ffmpeg
151
+ if self.ffmpeg:
152
+ _dict["ffmpeg"] = self.ffmpeg.to_dict()
153
+ # override the default output from pydantic by calling `to_dict()` of image
154
+ if self.image:
155
+ _dict["image"] = self.image.to_dict()
156
+ # override the default output from pydantic by calling `to_dict()` of job
157
+ if self.job:
158
+ _dict["job"] = self.job.to_dict()
159
+ # override the default output from pydantic by calling `to_dict()` of library
160
+ if self.library:
161
+ _dict["library"] = self.library.to_dict()
162
+ # override the default output from pydantic by calling `to_dict()` of logging
163
+ if self.logging:
164
+ _dict["logging"] = self.logging.to_dict()
165
+ # override the default output from pydantic by calling `to_dict()` of machine_learning
166
+ if self.machine_learning:
167
+ _dict["machineLearning"] = self.machine_learning.to_dict()
168
+ # override the default output from pydantic by calling `to_dict()` of map
169
+ if self.map:
170
+ _dict["map"] = self.map.to_dict()
171
+ # override the default output from pydantic by calling `to_dict()` of metadata
172
+ if self.metadata:
173
+ _dict["metadata"] = self.metadata.to_dict()
174
+ # override the default output from pydantic by calling `to_dict()` of new_version_check
175
+ if self.new_version_check:
176
+ _dict["newVersionCheck"] = self.new_version_check.to_dict()
177
+ # override the default output from pydantic by calling `to_dict()` of nightly_tasks
178
+ if self.nightly_tasks:
179
+ _dict["nightlyTasks"] = self.nightly_tasks.to_dict()
180
+ # override the default output from pydantic by calling `to_dict()` of notifications
181
+ if self.notifications:
182
+ _dict["notifications"] = self.notifications.to_dict()
183
+ # override the default output from pydantic by calling `to_dict()` of oauth
184
+ if self.oauth:
185
+ _dict["oauth"] = self.oauth.to_dict()
186
+ # override the default output from pydantic by calling `to_dict()` of password_login
187
+ if self.password_login:
188
+ _dict["passwordLogin"] = self.password_login.to_dict()
189
+ # override the default output from pydantic by calling `to_dict()` of reverse_geocoding
190
+ if self.reverse_geocoding:
191
+ _dict["reverseGeocoding"] = self.reverse_geocoding.to_dict()
192
+ # override the default output from pydantic by calling `to_dict()` of server
193
+ if self.server:
194
+ _dict["server"] = self.server.to_dict()
195
+ # override the default output from pydantic by calling `to_dict()` of storage_template
196
+ if self.storage_template:
197
+ _dict["storageTemplate"] = self.storage_template.to_dict()
198
+ # override the default output from pydantic by calling `to_dict()` of templates
199
+ if self.templates:
200
+ _dict["templates"] = self.templates.to_dict()
201
+ # override the default output from pydantic by calling `to_dict()` of theme
202
+ if self.theme:
203
+ _dict["theme"] = self.theme.to_dict()
204
+ # override the default output from pydantic by calling `to_dict()` of trash
205
+ if self.trash:
206
+ _dict["trash"] = self.trash.to_dict()
207
+ # override the default output from pydantic by calling `to_dict()` of user
208
+ if self.user:
209
+ _dict["user"] = self.user.to_dict()
210
+ return _dict
211
+
212
+ @classmethod
213
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
214
+ """Create an instance of SystemConfigDto from a dict"""
215
+ if obj is None:
216
+ return None
217
+
218
+ if not isinstance(obj, dict):
219
+ return cls.model_validate(obj)
220
+
221
+ _obj = cls.model_validate(
222
+ {
223
+ "backup": SystemConfigBackupsDto.from_dict(obj["backup"])
224
+ if obj.get("backup") is not None
225
+ else None,
226
+ "ffmpeg": SystemConfigFFmpegDto.from_dict(obj["ffmpeg"])
227
+ if obj.get("ffmpeg") is not None
228
+ else None,
229
+ "image": SystemConfigImageDto.from_dict(obj["image"])
230
+ if obj.get("image") is not None
231
+ else None,
232
+ "job": SystemConfigJobDto.from_dict(obj["job"])
233
+ if obj.get("job") is not None
234
+ else None,
235
+ "library": SystemConfigLibraryDto.from_dict(obj["library"])
236
+ if obj.get("library") is not None
237
+ else None,
238
+ "logging": SystemConfigLoggingDto.from_dict(obj["logging"])
239
+ if obj.get("logging") is not None
240
+ else None,
241
+ "machineLearning": SystemConfigMachineLearningDto.from_dict(
242
+ obj["machineLearning"]
243
+ )
244
+ if obj.get("machineLearning") is not None
245
+ else None,
246
+ "map": SystemConfigMapDto.from_dict(obj["map"])
247
+ if obj.get("map") is not None
248
+ else None,
249
+ "metadata": SystemConfigMetadataDto.from_dict(obj["metadata"])
250
+ if obj.get("metadata") is not None
251
+ else None,
252
+ "newVersionCheck": SystemConfigNewVersionCheckDto.from_dict(
253
+ obj["newVersionCheck"]
254
+ )
255
+ if obj.get("newVersionCheck") is not None
256
+ else None,
257
+ "nightlyTasks": SystemConfigNightlyTasksDto.from_dict(
258
+ obj["nightlyTasks"]
259
+ )
260
+ if obj.get("nightlyTasks") is not None
261
+ else None,
262
+ "notifications": SystemConfigNotificationsDto.from_dict(
263
+ obj["notifications"]
264
+ )
265
+ if obj.get("notifications") is not None
266
+ else None,
267
+ "oauth": SystemConfigOAuthDto.from_dict(obj["oauth"])
268
+ if obj.get("oauth") is not None
269
+ else None,
270
+ "passwordLogin": SystemConfigPasswordLoginDto.from_dict(
271
+ obj["passwordLogin"]
272
+ )
273
+ if obj.get("passwordLogin") is not None
274
+ else None,
275
+ "reverseGeocoding": SystemConfigReverseGeocodingDto.from_dict(
276
+ obj["reverseGeocoding"]
277
+ )
278
+ if obj.get("reverseGeocoding") is not None
279
+ else None,
280
+ "server": SystemConfigServerDto.from_dict(obj["server"])
281
+ if obj.get("server") is not None
282
+ else None,
283
+ "storageTemplate": SystemConfigStorageTemplateDto.from_dict(
284
+ obj["storageTemplate"]
285
+ )
286
+ if obj.get("storageTemplate") is not None
287
+ else None,
288
+ "templates": SystemConfigTemplatesDto.from_dict(obj["templates"])
289
+ if obj.get("templates") is not None
290
+ else None,
291
+ "theme": SystemConfigThemeDto.from_dict(obj["theme"])
292
+ if obj.get("theme") is not None
293
+ else None,
294
+ "trash": SystemConfigTrashDto.from_dict(obj["trash"])
295
+ if obj.get("trash") is not None
296
+ else None,
297
+ "user": SystemConfigUserDto.from_dict(obj["user"])
298
+ if obj.get("user") is not None
299
+ else None,
300
+ }
301
+ )
302
+ return _obj
@@ -0,0 +1,156 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Immich
5
+
6
+ Immich API
7
+
8
+ The version of the OpenAPI document: 2.4.1
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+ from __future__ import annotations
15
+ import pprint
16
+ import re # noqa: F401
17
+ import json
18
+
19
+ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
20
+ from typing import Any, ClassVar, Dict, List
21
+ from typing_extensions import Annotated
22
+ from immich.client.models.audio_codec import AudioCodec
23
+ from immich.client.models.cq_mode import CQMode
24
+ from immich.client.models.tone_mapping import ToneMapping
25
+ from immich.client.models.transcode_hw_accel import TranscodeHWAccel
26
+ from immich.client.models.transcode_policy import TranscodePolicy
27
+ from immich.client.models.video_codec import VideoCodec
28
+ from immich.client.models.video_container import VideoContainer
29
+ from typing import Optional, Set
30
+ from typing_extensions import Self
31
+
32
+
33
+ class SystemConfigFFmpegDto(BaseModel):
34
+ """
35
+ SystemConfigFFmpegDto
36
+ """ # noqa: E501
37
+
38
+ accel: TranscodeHWAccel
39
+ accel_decode: StrictBool = Field(alias="accelDecode")
40
+ accepted_audio_codecs: List[AudioCodec] = Field(alias="acceptedAudioCodecs")
41
+ accepted_containers: List[VideoContainer] = Field(alias="acceptedContainers")
42
+ accepted_video_codecs: List[VideoCodec] = Field(alias="acceptedVideoCodecs")
43
+ bframes: Annotated[int, Field(le=16, strict=True, ge=-1)]
44
+ cq_mode: CQMode = Field(alias="cqMode")
45
+ crf: Annotated[int, Field(le=51, strict=True, ge=0)]
46
+ gop_size: Annotated[int, Field(strict=True, ge=0)] = Field(alias="gopSize")
47
+ max_bitrate: StrictStr = Field(alias="maxBitrate")
48
+ preferred_hw_device: StrictStr = Field(alias="preferredHwDevice")
49
+ preset: StrictStr
50
+ refs: Annotated[int, Field(le=6, strict=True, ge=0)]
51
+ target_audio_codec: AudioCodec = Field(alias="targetAudioCodec")
52
+ target_resolution: StrictStr = Field(alias="targetResolution")
53
+ target_video_codec: VideoCodec = Field(alias="targetVideoCodec")
54
+ temporal_aq: StrictBool = Field(alias="temporalAQ")
55
+ threads: Annotated[int, Field(strict=True, ge=0)]
56
+ tonemap: ToneMapping
57
+ transcode: TranscodePolicy
58
+ two_pass: StrictBool = Field(alias="twoPass")
59
+ __properties: ClassVar[List[str]] = [
60
+ "accel",
61
+ "accelDecode",
62
+ "acceptedAudioCodecs",
63
+ "acceptedContainers",
64
+ "acceptedVideoCodecs",
65
+ "bframes",
66
+ "cqMode",
67
+ "crf",
68
+ "gopSize",
69
+ "maxBitrate",
70
+ "preferredHwDevice",
71
+ "preset",
72
+ "refs",
73
+ "targetAudioCodec",
74
+ "targetResolution",
75
+ "targetVideoCodec",
76
+ "temporalAQ",
77
+ "threads",
78
+ "tonemap",
79
+ "transcode",
80
+ "twoPass",
81
+ ]
82
+
83
+ model_config = ConfigDict(
84
+ populate_by_name=True,
85
+ validate_assignment=True,
86
+ protected_namespaces=(),
87
+ )
88
+
89
+ def to_str(self) -> str:
90
+ """Returns the string representation of the model using alias"""
91
+ return pprint.pformat(self.model_dump(by_alias=True))
92
+
93
+ def to_json(self) -> str:
94
+ """Returns the JSON representation of the model using alias"""
95
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
96
+ return json.dumps(self.to_dict())
97
+
98
+ @classmethod
99
+ def from_json(cls, json_str: str) -> Optional[Self]:
100
+ """Create an instance of SystemConfigFFmpegDto from a JSON string"""
101
+ return cls.from_dict(json.loads(json_str))
102
+
103
+ def to_dict(self) -> Dict[str, Any]:
104
+ """Return the dictionary representation of the model using alias.
105
+
106
+ This has the following differences from calling pydantic's
107
+ `self.model_dump(by_alias=True)`:
108
+
109
+ * `None` is only added to the output dict for nullable fields that
110
+ were set at model initialization. Other fields with value `None`
111
+ are ignored.
112
+ """
113
+ excluded_fields: Set[str] = set([])
114
+
115
+ _dict = self.model_dump(
116
+ by_alias=True,
117
+ exclude=excluded_fields,
118
+ exclude_none=True,
119
+ )
120
+ return _dict
121
+
122
+ @classmethod
123
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
124
+ """Create an instance of SystemConfigFFmpegDto from a dict"""
125
+ if obj is None:
126
+ return None
127
+
128
+ if not isinstance(obj, dict):
129
+ return cls.model_validate(obj)
130
+
131
+ _obj = cls.model_validate(
132
+ {
133
+ "accel": obj.get("accel"),
134
+ "accelDecode": obj.get("accelDecode"),
135
+ "acceptedAudioCodecs": obj.get("acceptedAudioCodecs"),
136
+ "acceptedContainers": obj.get("acceptedContainers"),
137
+ "acceptedVideoCodecs": obj.get("acceptedVideoCodecs"),
138
+ "bframes": obj.get("bframes"),
139
+ "cqMode": obj.get("cqMode"),
140
+ "crf": obj.get("crf"),
141
+ "gopSize": obj.get("gopSize"),
142
+ "maxBitrate": obj.get("maxBitrate"),
143
+ "preferredHwDevice": obj.get("preferredHwDevice"),
144
+ "preset": obj.get("preset"),
145
+ "refs": obj.get("refs"),
146
+ "targetAudioCodec": obj.get("targetAudioCodec"),
147
+ "targetResolution": obj.get("targetResolution"),
148
+ "targetVideoCodec": obj.get("targetVideoCodec"),
149
+ "temporalAQ": obj.get("temporalAQ"),
150
+ "threads": obj.get("threads"),
151
+ "tonemap": obj.get("tonemap"),
152
+ "transcode": obj.get("transcode"),
153
+ "twoPass": obj.get("twoPass"),
154
+ }
155
+ )
156
+ return _obj
@@ -0,0 +1,82 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Immich
5
+
6
+ Immich API
7
+
8
+ The version of the OpenAPI document: 2.4.1
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+ from __future__ import annotations
15
+ import pprint
16
+ import re # noqa: F401
17
+ import json
18
+
19
+ from pydantic import BaseModel, ConfigDict, Field, StrictBool
20
+ from typing import Any, ClassVar, Dict, List
21
+ from typing import Optional, Set
22
+ from typing_extensions import Self
23
+
24
+
25
+ class SystemConfigFacesDto(BaseModel):
26
+ """
27
+ SystemConfigFacesDto
28
+ """ # noqa: E501
29
+
30
+ var_import: StrictBool = Field(alias="import")
31
+ __properties: ClassVar[List[str]] = ["import"]
32
+
33
+ model_config = ConfigDict(
34
+ populate_by_name=True,
35
+ validate_assignment=True,
36
+ protected_namespaces=(),
37
+ )
38
+
39
+ def to_str(self) -> str:
40
+ """Returns the string representation of the model using alias"""
41
+ return pprint.pformat(self.model_dump(by_alias=True))
42
+
43
+ def to_json(self) -> str:
44
+ """Returns the JSON representation of the model using alias"""
45
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
46
+ return json.dumps(self.to_dict())
47
+
48
+ @classmethod
49
+ def from_json(cls, json_str: str) -> Optional[Self]:
50
+ """Create an instance of SystemConfigFacesDto from a JSON string"""
51
+ return cls.from_dict(json.loads(json_str))
52
+
53
+ def to_dict(self) -> Dict[str, Any]:
54
+ """Return the dictionary representation of the model using alias.
55
+
56
+ This has the following differences from calling pydantic's
57
+ `self.model_dump(by_alias=True)`:
58
+
59
+ * `None` is only added to the output dict for nullable fields that
60
+ were set at model initialization. Other fields with value `None`
61
+ are ignored.
62
+ """
63
+ excluded_fields: Set[str] = set([])
64
+
65
+ _dict = self.model_dump(
66
+ by_alias=True,
67
+ exclude=excluded_fields,
68
+ exclude_none=True,
69
+ )
70
+ return _dict
71
+
72
+ @classmethod
73
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
74
+ """Create an instance of SystemConfigFacesDto from a dict"""
75
+ if obj is None:
76
+ return None
77
+
78
+ if not isinstance(obj, dict):
79
+ return cls.model_validate(obj)
80
+
81
+ _obj = cls.model_validate({"import": obj.get("import")})
82
+ return _obj
@@ -0,0 +1,92 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Immich
5
+
6
+ Immich API
7
+
8
+ The version of the OpenAPI document: 2.4.1
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+ from __future__ import annotations
15
+ import pprint
16
+ import re # noqa: F401
17
+ import json
18
+
19
+ from pydantic import BaseModel, ConfigDict, Field, StrictBool
20
+ from typing import Any, ClassVar, Dict, List
21
+ from typing_extensions import Annotated
22
+ from immich.client.models.image_format import ImageFormat
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+
27
+ class SystemConfigGeneratedFullsizeImageDto(BaseModel):
28
+ """
29
+ SystemConfigGeneratedFullsizeImageDto
30
+ """ # noqa: E501
31
+
32
+ enabled: StrictBool
33
+ format: ImageFormat
34
+ quality: Annotated[int, Field(le=100, strict=True, ge=1)]
35
+ __properties: ClassVar[List[str]] = ["enabled", "format", "quality"]
36
+
37
+ model_config = ConfigDict(
38
+ populate_by_name=True,
39
+ validate_assignment=True,
40
+ protected_namespaces=(),
41
+ )
42
+
43
+ def to_str(self) -> str:
44
+ """Returns the string representation of the model using alias"""
45
+ return pprint.pformat(self.model_dump(by_alias=True))
46
+
47
+ def to_json(self) -> str:
48
+ """Returns the JSON representation of the model using alias"""
49
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
50
+ return json.dumps(self.to_dict())
51
+
52
+ @classmethod
53
+ def from_json(cls, json_str: str) -> Optional[Self]:
54
+ """Create an instance of SystemConfigGeneratedFullsizeImageDto from a JSON string"""
55
+ return cls.from_dict(json.loads(json_str))
56
+
57
+ def to_dict(self) -> Dict[str, Any]:
58
+ """Return the dictionary representation of the model using alias.
59
+
60
+ This has the following differences from calling pydantic's
61
+ `self.model_dump(by_alias=True)`:
62
+
63
+ * `None` is only added to the output dict for nullable fields that
64
+ were set at model initialization. Other fields with value `None`
65
+ are ignored.
66
+ """
67
+ excluded_fields: Set[str] = set([])
68
+
69
+ _dict = self.model_dump(
70
+ by_alias=True,
71
+ exclude=excluded_fields,
72
+ exclude_none=True,
73
+ )
74
+ return _dict
75
+
76
+ @classmethod
77
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
78
+ """Create an instance of SystemConfigGeneratedFullsizeImageDto from a dict"""
79
+ if obj is None:
80
+ return None
81
+
82
+ if not isinstance(obj, dict):
83
+ return cls.model_validate(obj)
84
+
85
+ _obj = cls.model_validate(
86
+ {
87
+ "enabled": obj.get("enabled"),
88
+ "format": obj.get("format"),
89
+ "quality": obj.get("quality"),
90
+ }
91
+ )
92
+ return _obj