appwrite-console 0.1.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.
Files changed (552) hide show
  1. appwrite_console/__init__.py +1 -0
  2. appwrite_console/client.py +371 -0
  3. appwrite_console/encoders/__init__.py +1 -0
  4. appwrite_console/encoders/value_class_encoder.py +373 -0
  5. appwrite_console/enums/__init__.py +1 -0
  6. appwrite_console/enums/account_key_scopes.py +6 -0
  7. appwrite_console/enums/adapter.py +5 -0
  8. appwrite_console/enums/addon.py +7 -0
  9. appwrite_console/enums/appwrite_migration_resource.py +42 -0
  10. appwrite_console/enums/attribute_status.py +8 -0
  11. appwrite_console/enums/authentication_factor.py +7 -0
  12. appwrite_console/enums/authenticator_type.py +4 -0
  13. appwrite_console/enums/backup_services.py +10 -0
  14. appwrite_console/enums/billing_plan_group.py +6 -0
  15. appwrite_console/enums/block_mode.py +5 -0
  16. appwrite_console/enums/block_resource_type.py +12 -0
  17. appwrite_console/enums/browser.py +17 -0
  18. appwrite_console/enums/browser_permission.py +23 -0
  19. appwrite_console/enums/browser_theme.py +5 -0
  20. appwrite_console/enums/build_runtime.py +95 -0
  21. appwrite_console/enums/cache_database.py +6 -0
  22. appwrite_console/enums/cache_target.py +9 -0
  23. appwrite_console/enums/column_status.py +8 -0
  24. appwrite_console/enums/compression.py +6 -0
  25. appwrite_console/enums/console_resource_type.py +4 -0
  26. appwrite_console/enums/credit_card.py +20 -0
  27. appwrite_console/enums/database_status.py +17 -0
  28. appwrite_console/enums/database_type.py +10 -0
  29. appwrite_console/enums/databases_index_type.py +7 -0
  30. appwrite_console/enums/deployment_download_type.py +5 -0
  31. appwrite_console/enums/deployment_status.py +9 -0
  32. appwrite_console/enums/detection_framework_type.py +4 -0
  33. appwrite_console/enums/detection_runtime_type.py +4 -0
  34. appwrite_console/enums/documents_db_index_type.py +6 -0
  35. appwrite_console/enums/domain_purchase_status.py +7 -0
  36. appwrite_console/enums/domain_registration_type.py +7 -0
  37. appwrite_console/enums/domain_suggestion_type.py +5 -0
  38. appwrite_console/enums/domain_transfer_status_enum.py +11 -0
  39. appwrite_console/enums/embedding_model.py +7 -0
  40. appwrite_console/enums/execution_method.py +10 -0
  41. appwrite_console/enums/execution_status.py +8 -0
  42. appwrite_console/enums/execution_trigger.py +6 -0
  43. appwrite_console/enums/firebase_migration_resource.py +13 -0
  44. appwrite_console/enums/flag.py +198 -0
  45. appwrite_console/enums/framework.py +18 -0
  46. appwrite_console/enums/function_template_use_case.py +10 -0
  47. appwrite_console/enums/image_format.py +10 -0
  48. appwrite_console/enums/image_gravity.py +12 -0
  49. appwrite_console/enums/index_status.py +8 -0
  50. appwrite_console/enums/message_priority.py +5 -0
  51. appwrite_console/enums/message_status.py +8 -0
  52. appwrite_console/enums/messaging_provider_type.py +6 -0
  53. appwrite_console/enums/n_host_migration_resource.py +14 -0
  54. appwrite_console/enums/o_auth2_google_prompt.py +6 -0
  55. appwrite_console/enums/o_auth2_oidc_prompt.py +7 -0
  56. appwrite_console/enums/o_auth_provider.py +47 -0
  57. appwrite_console/enums/on_duplicate.py +6 -0
  58. appwrite_console/enums/order_by.py +5 -0
  59. appwrite_console/enums/organization_key_scopes.py +19 -0
  60. appwrite_console/enums/password_hash.py +14 -0
  61. appwrite_console/enums/platform.py +5 -0
  62. appwrite_console/enums/platform_type.py +8 -0
  63. appwrite_console/enums/project_auth_method_id.py +10 -0
  64. appwrite_console/enums/project_email_template_id.py +10 -0
  65. appwrite_console/enums/project_email_template_locale.py +134 -0
  66. appwrite_console/enums/project_key_scopes.py +107 -0
  67. appwrite_console/enums/project_o_auth2_google_prompt.py +6 -0
  68. appwrite_console/enums/project_o_auth2_oidc_prompt.py +7 -0
  69. appwrite_console/enums/project_o_auth_provider_id.py +47 -0
  70. appwrite_console/enums/project_policy_id.py +17 -0
  71. appwrite_console/enums/project_protocol_id.py +6 -0
  72. appwrite_console/enums/project_service_id.py +22 -0
  73. appwrite_console/enums/project_smtp_secure.py +5 -0
  74. appwrite_console/enums/project_usage_range.py +5 -0
  75. appwrite_console/enums/proxy_resource_type.py +5 -0
  76. appwrite_console/enums/proxy_rule_deployment_resource_type.py +5 -0
  77. appwrite_console/enums/proxy_rule_status.py +6 -0
  78. appwrite_console/enums/query_suggestion_resource.py +97 -0
  79. appwrite_console/enums/region.py +9 -0
  80. appwrite_console/enums/relation_mutate.py +6 -0
  81. appwrite_console/enums/relationship_type.py +7 -0
  82. appwrite_console/enums/runtime.py +95 -0
  83. appwrite_console/enums/schedule_resource_type.py +7 -0
  84. appwrite_console/enums/site_template_use_case.py +12 -0
  85. appwrite_console/enums/smtp_encryption.py +6 -0
  86. appwrite_console/enums/status.py +4 -0
  87. appwrite_console/enums/status_code.py +7 -0
  88. appwrite_console/enums/supabase_migration_resource.py +14 -0
  89. appwrite_console/enums/tables_db_index_type.py +7 -0
  90. appwrite_console/enums/template_reference_type.py +6 -0
  91. appwrite_console/enums/timezone.py +422 -0
  92. appwrite_console/enums/usage_range.py +6 -0
  93. appwrite_console/enums/vcs_detection_type.py +5 -0
  94. appwrite_console/enums/vcs_reference_type.py +6 -0
  95. appwrite_console/enums/vectors_db_index_type.py +9 -0
  96. appwrite_console/enums/waf_rule_action.py +8 -0
  97. appwrite_console/exception.py +7 -0
  98. appwrite_console/id.py +26 -0
  99. appwrite_console/input_file.py +21 -0
  100. appwrite_console/models/__init__.py +803 -0
  101. appwrite_console/models/activity_event.py +99 -0
  102. appwrite_console/models/activity_event_list.py +19 -0
  103. appwrite_console/models/additional_resource.py +30 -0
  104. appwrite_console/models/addon.py +42 -0
  105. appwrite_console/models/addon_list.py +19 -0
  106. appwrite_console/models/addon_price.py +36 -0
  107. appwrite_console/models/aggregation_breakdown.py +28 -0
  108. appwrite_console/models/aggregation_team.py +101 -0
  109. appwrite_console/models/aggregation_team_list.py +19 -0
  110. appwrite_console/models/algo_argon2.py +24 -0
  111. appwrite_console/models/algo_bcrypt.py +15 -0
  112. appwrite_console/models/algo_md5.py +15 -0
  113. appwrite_console/models/algo_phpass.py +15 -0
  114. appwrite_console/models/algo_scrypt.py +27 -0
  115. appwrite_console/models/algo_scrypt_modified.py +24 -0
  116. appwrite_console/models/algo_sha.py +15 -0
  117. appwrite_console/models/app.py +91 -0
  118. appwrite_console/models/app_installation.py +42 -0
  119. appwrite_console/models/app_installation_list.py +19 -0
  120. appwrite_console/models/app_key.py +39 -0
  121. appwrite_console/models/app_key_list.py +19 -0
  122. appwrite_console/models/app_scope.py +27 -0
  123. appwrite_console/models/app_scope_list.py +19 -0
  124. appwrite_console/models/app_secret.py +39 -0
  125. appwrite_console/models/app_secret_list.py +19 -0
  126. appwrite_console/models/app_secret_plaintext.py +39 -0
  127. appwrite_console/models/apps_list.py +19 -0
  128. appwrite_console/models/attribute_bigint.py +46 -0
  129. appwrite_console/models/attribute_boolean.py +40 -0
  130. appwrite_console/models/attribute_datetime.py +43 -0
  131. appwrite_console/models/attribute_email.py +43 -0
  132. appwrite_console/models/attribute_enum.py +46 -0
  133. appwrite_console/models/attribute_float.py +46 -0
  134. appwrite_console/models/attribute_integer.py +46 -0
  135. appwrite_console/models/attribute_ip.py +43 -0
  136. appwrite_console/models/attribute_line.py +40 -0
  137. appwrite_console/models/attribute_list.py +36 -0
  138. appwrite_console/models/attribute_longtext.py +43 -0
  139. appwrite_console/models/attribute_mediumtext.py +43 -0
  140. appwrite_console/models/attribute_object.py +37 -0
  141. appwrite_console/models/attribute_point.py +40 -0
  142. appwrite_console/models/attribute_polygon.py +40 -0
  143. appwrite_console/models/attribute_relationship.py +55 -0
  144. appwrite_console/models/attribute_string.py +46 -0
  145. appwrite_console/models/attribute_text.py +43 -0
  146. appwrite_console/models/attribute_url.py +43 -0
  147. appwrite_console/models/attribute_varchar.py +46 -0
  148. appwrite_console/models/attribute_vector.py +40 -0
  149. appwrite_console/models/backup_archive.py +48 -0
  150. appwrite_console/models/backup_archive_list.py +19 -0
  151. appwrite_console/models/backup_policy.py +48 -0
  152. appwrite_console/models/backup_policy_list.py +19 -0
  153. appwrite_console/models/backup_restoration.py +45 -0
  154. appwrite_console/models/backup_restoration_list.py +19 -0
  155. appwrite_console/models/base_model.py +27 -0
  156. appwrite_console/models/billing_address.py +36 -0
  157. appwrite_console/models/billing_address_list.py +19 -0
  158. appwrite_console/models/billing_limits.py +36 -0
  159. appwrite_console/models/billing_plan.py +226 -0
  160. appwrite_console/models/billing_plan_addon.py +19 -0
  161. appwrite_console/models/billing_plan_addon_details.py +36 -0
  162. appwrite_console/models/billing_plan_dedicated_database_limits.py +69 -0
  163. appwrite_console/models/billing_plan_limits.py +18 -0
  164. appwrite_console/models/billing_plan_list.py +19 -0
  165. appwrite_console/models/billing_plan_supported_addons.py +21 -0
  166. appwrite_console/models/block.py +45 -0
  167. appwrite_console/models/block_delete.py +19 -0
  168. appwrite_console/models/block_list.py +19 -0
  169. appwrite_console/models/branch.py +15 -0
  170. appwrite_console/models/branch_list.py +19 -0
  171. appwrite_console/models/bucket.py +54 -0
  172. appwrite_console/models/bucket_list.py +19 -0
  173. appwrite_console/models/campaign.py +49 -0
  174. appwrite_console/models/collection.py +67 -0
  175. appwrite_console/models/collection_list.py +19 -0
  176. appwrite_console/models/column_bigint.py +46 -0
  177. appwrite_console/models/column_boolean.py +40 -0
  178. appwrite_console/models/column_datetime.py +43 -0
  179. appwrite_console/models/column_email.py +43 -0
  180. appwrite_console/models/column_enum.py +46 -0
  181. appwrite_console/models/column_float.py +46 -0
  182. appwrite_console/models/column_index.py +42 -0
  183. appwrite_console/models/column_index_list.py +19 -0
  184. appwrite_console/models/column_integer.py +46 -0
  185. appwrite_console/models/column_ip.py +43 -0
  186. appwrite_console/models/column_line.py +40 -0
  187. appwrite_console/models/column_list.py +36 -0
  188. appwrite_console/models/column_longtext.py +43 -0
  189. appwrite_console/models/column_mediumtext.py +43 -0
  190. appwrite_console/models/column_point.py +40 -0
  191. appwrite_console/models/column_polygon.py +40 -0
  192. appwrite_console/models/column_relationship.py +55 -0
  193. appwrite_console/models/column_string.py +46 -0
  194. appwrite_console/models/column_text.py +43 -0
  195. appwrite_console/models/column_url.py +43 -0
  196. appwrite_console/models/column_varchar.py +46 -0
  197. appwrite_console/models/console_key_scope.py +24 -0
  198. appwrite_console/models/console_key_scope_list.py +19 -0
  199. appwrite_console/models/console_o_auth2_provider.py +19 -0
  200. appwrite_console/models/console_o_auth2_provider_list.py +19 -0
  201. appwrite_console/models/console_o_auth2_provider_parameter.py +24 -0
  202. appwrite_console/models/console_region.py +30 -0
  203. appwrite_console/models/console_region_list.py +19 -0
  204. appwrite_console/models/console_variables.py +96 -0
  205. appwrite_console/models/continent.py +18 -0
  206. appwrite_console/models/continent_list.py +19 -0
  207. appwrite_console/models/country.py +18 -0
  208. appwrite_console/models/country_list.py +19 -0
  209. appwrite_console/models/coupon.py +36 -0
  210. appwrite_console/models/credit.py +45 -0
  211. appwrite_console/models/credit_available.py +15 -0
  212. appwrite_console/models/credit_list.py +22 -0
  213. appwrite_console/models/currency.py +33 -0
  214. appwrite_console/models/currency_list.py +19 -0
  215. appwrite_console/models/database.py +52 -0
  216. appwrite_console/models/database_list.py +19 -0
  217. appwrite_console/models/database_migration.py +57 -0
  218. appwrite_console/models/database_migration_list.py +19 -0
  219. appwrite_console/models/database_status.py +57 -0
  220. appwrite_console/models/database_status_connections.py +18 -0
  221. appwrite_console/models/database_status_replica.py +24 -0
  222. appwrite_console/models/database_status_volume.py +24 -0
  223. appwrite_console/models/dedicated_database.py +159 -0
  224. appwrite_console/models/dedicated_database_backup.py +63 -0
  225. appwrite_console/models/dedicated_database_backup_list.py +19 -0
  226. appwrite_console/models/dedicated_database_backup_storage.py +27 -0
  227. appwrite_console/models/dedicated_database_branch.py +48 -0
  228. appwrite_console/models/dedicated_database_branch_list.py +16 -0
  229. appwrite_console/models/dedicated_database_execution.py +31 -0
  230. appwrite_console/models/dedicated_database_execution_column.py +18 -0
  231. appwrite_console/models/dedicated_database_extensions.py +22 -0
  232. appwrite_console/models/dedicated_database_list.py +19 -0
  233. appwrite_console/models/dedicated_database_member.py +24 -0
  234. appwrite_console/models/dedicated_database_operation.py +45 -0
  235. appwrite_console/models/dedicated_database_operation_list.py +19 -0
  236. appwrite_console/models/dedicated_database_pitr_windows.py +18 -0
  237. appwrite_console/models/dedicated_database_pooler.py +42 -0
  238. appwrite_console/models/dedicated_database_replicas.py +37 -0
  239. appwrite_console/models/dedicated_database_restoration.py +45 -0
  240. appwrite_console/models/dedicated_database_restoration_list.py +19 -0
  241. appwrite_console/models/dedicated_database_specification.py +39 -0
  242. appwrite_console/models/dedicated_database_specification_list.py +23 -0
  243. appwrite_console/models/dedicated_database_specification_pricing.py +27 -0
  244. appwrite_console/models/deployment.py +94 -0
  245. appwrite_console/models/deployment_list.py +19 -0
  246. appwrite_console/models/detection_framework.py +32 -0
  247. appwrite_console/models/detection_runtime.py +29 -0
  248. appwrite_console/models/detection_variable.py +18 -0
  249. appwrite_console/models/dev_key.py +36 -0
  250. appwrite_console/models/dev_key_list.py +19 -0
  251. appwrite_console/models/dns_record.py +48 -0
  252. appwrite_console/models/dns_records_list.py +19 -0
  253. appwrite_console/models/document.py +80 -0
  254. appwrite_console/models/document_list.py +32 -0
  255. appwrite_console/models/domain.py +53 -0
  256. appwrite_console/models/domain_price.py +30 -0
  257. appwrite_console/models/domain_purchase.py +43 -0
  258. appwrite_console/models/domain_suggestion.py +24 -0
  259. appwrite_console/models/domain_suggestions_list.py +19 -0
  260. appwrite_console/models/domain_transfer_out.py +15 -0
  261. appwrite_console/models/domain_transfer_status.py +22 -0
  262. appwrite_console/models/domains_list.py +19 -0
  263. appwrite_console/models/downgrade_feedback.py +42 -0
  264. appwrite_console/models/email_template.py +36 -0
  265. appwrite_console/models/email_template_list.py +19 -0
  266. appwrite_console/models/embedding.py +24 -0
  267. appwrite_console/models/embedding_list.py +19 -0
  268. appwrite_console/models/ephemeral_key.py +39 -0
  269. appwrite_console/models/estimation.py +37 -0
  270. appwrite_console/models/estimation_delete_organization.py +16 -0
  271. appwrite_console/models/estimation_item.py +18 -0
  272. appwrite_console/models/estimation_plan_change.py +29 -0
  273. appwrite_console/models/estimation_update_plan.py +40 -0
  274. appwrite_console/models/execution.py +69 -0
  275. appwrite_console/models/execution_list.py +19 -0
  276. appwrite_console/models/file.py +60 -0
  277. appwrite_console/models/file_list.py +19 -0
  278. appwrite_console/models/framework.py +28 -0
  279. appwrite_console/models/framework_adapter.py +27 -0
  280. appwrite_console/models/framework_list.py +19 -0
  281. appwrite_console/models/function.py +109 -0
  282. appwrite_console/models/function_list.py +19 -0
  283. appwrite_console/models/headers.py +18 -0
  284. appwrite_console/models/identity.py +42 -0
  285. appwrite_console/models/identity_list.py +19 -0
  286. appwrite_console/models/index.py +43 -0
  287. appwrite_console/models/index_list.py +19 -0
  288. appwrite_console/models/insight.py +64 -0
  289. appwrite_console/models/insight_cta.py +24 -0
  290. appwrite_console/models/insight_list.py +19 -0
  291. appwrite_console/models/installation.py +30 -0
  292. appwrite_console/models/installation_list.py +19 -0
  293. appwrite_console/models/invoice.py +82 -0
  294. appwrite_console/models/invoice_list.py +19 -0
  295. appwrite_console/models/jwt.py +15 -0
  296. appwrite_console/models/key.py +39 -0
  297. appwrite_console/models/key_list.py +19 -0
  298. appwrite_console/models/language.py +21 -0
  299. appwrite_console/models/language_list.py +19 -0
  300. appwrite_console/models/locale.py +66 -0
  301. appwrite_console/models/locale_code.py +18 -0
  302. appwrite_console/models/locale_code_list.py +19 -0
  303. appwrite_console/models/log.py +78 -0
  304. appwrite_console/models/log_list.py +19 -0
  305. appwrite_console/models/membership.py +57 -0
  306. appwrite_console/models/membership_list.py +19 -0
  307. appwrite_console/models/message.py +52 -0
  308. appwrite_console/models/message_list.py +19 -0
  309. appwrite_console/models/metric.py +18 -0
  310. appwrite_console/models/metric_breakdown.py +24 -0
  311. appwrite_console/models/mfa_challenge.py +24 -0
  312. appwrite_console/models/mfa_factors.py +24 -0
  313. appwrite_console/models/mfa_recovery_codes.py +15 -0
  314. appwrite_console/models/mfa_type.py +18 -0
  315. appwrite_console/models/migration.py +75 -0
  316. appwrite_console/models/migration_list.py +19 -0
  317. appwrite_console/models/migration_report.py +96 -0
  318. appwrite_console/models/mock_number.py +24 -0
  319. appwrite_console/models/mock_number_list.py +19 -0
  320. appwrite_console/models/notification.py +60 -0
  321. appwrite_console/models/notification_list.py +19 -0
  322. appwrite_console/models/o_auth2_amazon.py +24 -0
  323. appwrite_console/models/o_auth2_apple.py +30 -0
  324. appwrite_console/models/o_auth2_appwrite.py +24 -0
  325. appwrite_console/models/o_auth2_auth0.py +27 -0
  326. appwrite_console/models/o_auth2_authentik.py +27 -0
  327. appwrite_console/models/o_auth2_autodesk.py +24 -0
  328. appwrite_console/models/o_auth2_bitbucket.py +24 -0
  329. appwrite_console/models/o_auth2_bitly.py +24 -0
  330. appwrite_console/models/o_auth2_box.py +24 -0
  331. appwrite_console/models/o_auth2_dailymotion.py +24 -0
  332. appwrite_console/models/o_auth2_discord.py +24 -0
  333. appwrite_console/models/o_auth2_disqus.py +24 -0
  334. appwrite_console/models/o_auth2_dropbox.py +24 -0
  335. appwrite_console/models/o_auth2_etsy.py +24 -0
  336. appwrite_console/models/o_auth2_facebook.py +24 -0
  337. appwrite_console/models/o_auth2_figma.py +24 -0
  338. appwrite_console/models/o_auth2_fusion_auth.py +27 -0
  339. appwrite_console/models/o_auth2_github.py +24 -0
  340. appwrite_console/models/o_auth2_gitlab.py +27 -0
  341. appwrite_console/models/o_auth2_google.py +28 -0
  342. appwrite_console/models/o_auth2_keycloak.py +30 -0
  343. appwrite_console/models/o_auth2_kick.py +24 -0
  344. appwrite_console/models/o_auth2_linkedin.py +24 -0
  345. appwrite_console/models/o_auth2_microsoft.py +27 -0
  346. appwrite_console/models/o_auth2_notion.py +24 -0
  347. appwrite_console/models/o_auth2_oidc.py +43 -0
  348. appwrite_console/models/o_auth2_okta.py +30 -0
  349. appwrite_console/models/o_auth2_paypal.py +24 -0
  350. appwrite_console/models/o_auth2_podio.py +24 -0
  351. appwrite_console/models/o_auth2_provider_list.py +59 -0
  352. appwrite_console/models/o_auth2_salesforce.py +24 -0
  353. appwrite_console/models/o_auth2_slack.py +24 -0
  354. appwrite_console/models/o_auth2_spotify.py +24 -0
  355. appwrite_console/models/o_auth2_stripe.py +24 -0
  356. appwrite_console/models/o_auth2_tradeshift.py +24 -0
  357. appwrite_console/models/o_auth2_twitch.py +24 -0
  358. appwrite_console/models/o_auth2_word_press.py +24 -0
  359. appwrite_console/models/o_auth2_x.py +24 -0
  360. appwrite_console/models/o_auth2_yahoo.py +24 -0
  361. appwrite_console/models/o_auth2_yandex.py +24 -0
  362. appwrite_console/models/o_auth2_zoho.py +24 -0
  363. appwrite_console/models/o_auth2_zoom.py +24 -0
  364. appwrite_console/models/oauth2_approve.py +15 -0
  365. appwrite_console/models/oauth2_authorize.py +18 -0
  366. appwrite_console/models/oauth2_consent.py +42 -0
  367. appwrite_console/models/oauth2_consent_list.py +19 -0
  368. appwrite_console/models/oauth2_consent_token.py +45 -0
  369. appwrite_console/models/oauth2_consent_token_list.py +19 -0
  370. appwrite_console/models/oauth2_device_authorization.py +30 -0
  371. appwrite_console/models/oauth2_grant.py +48 -0
  372. appwrite_console/models/oauth2_organization.py +15 -0
  373. appwrite_console/models/oauth2_organization_list.py +19 -0
  374. appwrite_console/models/oauth2_par.py +18 -0
  375. appwrite_console/models/oauth2_project.py +21 -0
  376. appwrite_console/models/oauth2_project_list.py +19 -0
  377. appwrite_console/models/oauth2_reject.py +15 -0
  378. appwrite_console/models/oauth2_token.py +33 -0
  379. appwrite_console/models/organization.py +132 -0
  380. appwrite_console/models/organization_list.py +32 -0
  381. appwrite_console/models/payment_authentication.py +30 -0
  382. appwrite_console/models/payment_method.py +72 -0
  383. appwrite_console/models/payment_method_list.py +19 -0
  384. appwrite_console/models/phone.py +21 -0
  385. appwrite_console/models/phone_list.py +19 -0
  386. appwrite_console/models/plan_change_estimation_details.py +39 -0
  387. appwrite_console/models/plan_change_limits.py +28 -0
  388. appwrite_console/models/plan_change_project_compliance.py +28 -0
  389. appwrite_console/models/plan_change_resource_compliance.py +30 -0
  390. appwrite_console/models/platform_android.py +31 -0
  391. appwrite_console/models/platform_apple.py +31 -0
  392. appwrite_console/models/platform_linux.py +31 -0
  393. appwrite_console/models/platform_list.py +23 -0
  394. appwrite_console/models/platform_web.py +31 -0
  395. appwrite_console/models/platform_windows.py +31 -0
  396. appwrite_console/models/policy_deny_aliased_email.py +18 -0
  397. appwrite_console/models/policy_deny_corporate_email.py +18 -0
  398. appwrite_console/models/policy_deny_disposable_email.py +18 -0
  399. appwrite_console/models/policy_deny_free_email.py +18 -0
  400. appwrite_console/models/policy_list.py +32 -0
  401. appwrite_console/models/policy_membership_privacy.py +33 -0
  402. appwrite_console/models/policy_password_dictionary.py +18 -0
  403. appwrite_console/models/policy_password_history.py +18 -0
  404. appwrite_console/models/policy_password_personal_data.py +18 -0
  405. appwrite_console/models/policy_password_strength.py +30 -0
  406. appwrite_console/models/policy_session_alert.py +18 -0
  407. appwrite_console/models/policy_session_duration.py +18 -0
  408. appwrite_console/models/policy_session_invalidation.py +18 -0
  409. appwrite_console/models/policy_session_limit.py +18 -0
  410. appwrite_console/models/policy_user_limit.py +18 -0
  411. appwrite_console/models/postgres_extension.py +24 -0
  412. appwrite_console/models/postgres_extension_list.py +19 -0
  413. appwrite_console/models/preferences.py +52 -0
  414. appwrite_console/models/presence.py +39 -0
  415. appwrite_console/models/presence_list.py +19 -0
  416. appwrite_console/models/program.py +39 -0
  417. appwrite_console/models/project.py +153 -0
  418. appwrite_console/models/project_auth_method.py +19 -0
  419. appwrite_console/models/project_list.py +19 -0
  420. appwrite_console/models/project_protocol.py +19 -0
  421. appwrite_console/models/project_service.py +19 -0
  422. appwrite_console/models/provider.py +39 -0
  423. appwrite_console/models/provider_list.py +19 -0
  424. appwrite_console/models/provider_repository.py +42 -0
  425. appwrite_console/models/provider_repository_framework.py +45 -0
  426. appwrite_console/models/provider_repository_framework_list.py +22 -0
  427. appwrite_console/models/provider_repository_runtime.py +45 -0
  428. appwrite_console/models/provider_repository_runtime_list.py +22 -0
  429. appwrite_console/models/proxy_rule.py +59 -0
  430. appwrite_console/models/proxy_rule_list.py +19 -0
  431. appwrite_console/models/report.py +49 -0
  432. appwrite_console/models/report_list.py +19 -0
  433. appwrite_console/models/resource_token.py +33 -0
  434. appwrite_console/models/resource_token_list.py +19 -0
  435. appwrite_console/models/review.py +24 -0
  436. appwrite_console/models/roles.py +18 -0
  437. appwrite_console/models/row.py +80 -0
  438. appwrite_console/models/row_list.py +32 -0
  439. appwrite_console/models/runtime.py +36 -0
  440. appwrite_console/models/runtime_list.py +19 -0
  441. appwrite_console/models/schedule.py +45 -0
  442. appwrite_console/models/schedule_list.py +19 -0
  443. appwrite_console/models/session.py +99 -0
  444. appwrite_console/models/session_list.py +19 -0
  445. appwrite_console/models/site.py +115 -0
  446. appwrite_console/models/site_list.py +19 -0
  447. appwrite_console/models/specification.py +24 -0
  448. appwrite_console/models/specification_list.py +19 -0
  449. appwrite_console/models/stage.py +27 -0
  450. appwrite_console/models/stage_list.py +16 -0
  451. appwrite_console/models/subscriber.py +40 -0
  452. appwrite_console/models/subscriber_list.py +19 -0
  453. appwrite_console/models/table.py +67 -0
  454. appwrite_console/models/table_list.py +19 -0
  455. appwrite_console/models/target.py +39 -0
  456. appwrite_console/models/target_list.py +19 -0
  457. appwrite_console/models/team.py +43 -0
  458. appwrite_console/models/team_list.py +32 -0
  459. appwrite_console/models/template_framework.py +39 -0
  460. appwrite_console/models/template_function.py +65 -0
  461. appwrite_console/models/template_function_list.py +19 -0
  462. appwrite_console/models/template_runtime.py +24 -0
  463. appwrite_console/models/template_site.py +53 -0
  464. appwrite_console/models/template_site_list.py +19 -0
  465. appwrite_console/models/template_variable.py +33 -0
  466. appwrite_console/models/token.py +30 -0
  467. appwrite_console/models/topic.py +36 -0
  468. appwrite_console/models/topic_list.py +19 -0
  469. appwrite_console/models/transaction.py +30 -0
  470. appwrite_console/models/transaction_list.py +19 -0
  471. appwrite_console/models/usage_billing_plan.py +46 -0
  472. appwrite_console/models/usage_data_point.py +99 -0
  473. appwrite_console/models/usage_event_list.py +19 -0
  474. appwrite_console/models/usage_gauge_list.py +19 -0
  475. appwrite_console/models/usage_metric.py +19 -0
  476. appwrite_console/models/usage_organization.py +104 -0
  477. appwrite_console/models/usage_organization_project.py +73 -0
  478. appwrite_console/models/usage_presence.py +22 -0
  479. appwrite_console/models/usage_project.py +218 -0
  480. appwrite_console/models/usage_resources.py +36 -0
  481. appwrite_console/models/usage_users.py +28 -0
  482. appwrite_console/models/user.py +111 -0
  483. appwrite_console/models/user_list.py +32 -0
  484. appwrite_console/models/variable.py +36 -0
  485. appwrite_console/models/variable_list.py +19 -0
  486. appwrite_console/models/vcs_content.py +21 -0
  487. appwrite_console/models/vcs_content_list.py +19 -0
  488. appwrite_console/models/vcs_namespace.py +27 -0
  489. appwrite_console/models/vcs_namespace_list.py +19 -0
  490. appwrite_console/models/vectorsdb_collection.py +54 -0
  491. appwrite_console/models/vectorsdb_collection_list.py +19 -0
  492. appwrite_console/models/waf_rule.py +55 -0
  493. appwrite_console/models/waf_rule_bypass.py +55 -0
  494. appwrite_console/models/waf_rule_challenge.py +64 -0
  495. appwrite_console/models/waf_rule_deny.py +55 -0
  496. appwrite_console/models/waf_rule_list.py +19 -0
  497. appwrite_console/models/waf_rule_rate_limit.py +64 -0
  498. appwrite_console/models/waf_rule_redirect.py +61 -0
  499. appwrite_console/models/webhook.py +51 -0
  500. appwrite_console/models/webhook_list.py +19 -0
  501. appwrite_console/operator.py +150 -0
  502. appwrite_console/permission.py +21 -0
  503. appwrite_console/query.py +293 -0
  504. appwrite_console/role.py +111 -0
  505. appwrite_console/service.py +50 -0
  506. appwrite_console/services/__init__.py +1 -0
  507. appwrite_console/services/account.py +3328 -0
  508. appwrite_console/services/activities.py +89 -0
  509. appwrite_console/services/advisor.py +234 -0
  510. appwrite_console/services/apps.py +1156 -0
  511. appwrite_console/services/assistant.py +50 -0
  512. appwrite_console/services/avatars.py +531 -0
  513. appwrite_console/services/backups.py +572 -0
  514. appwrite_console/services/console.py +807 -0
  515. appwrite_console/services/databases.py +4976 -0
  516. appwrite_console/services/documents_db.py +2052 -0
  517. appwrite_console/services/domains.py +3047 -0
  518. appwrite_console/services/functions.py +1659 -0
  519. appwrite_console/services/graphql.py +92 -0
  520. appwrite_console/services/locale.py +243 -0
  521. appwrite_console/services/manager.py +301 -0
  522. appwrite_console/services/messaging.py +3137 -0
  523. appwrite_console/services/migrations.py +1036 -0
  524. appwrite_console/services/mongo.py +1683 -0
  525. appwrite_console/services/mysql.py +1861 -0
  526. appwrite_console/services/notifications.py +98 -0
  527. appwrite_console/services/oauth2.py +914 -0
  528. appwrite_console/services/organization.py +1039 -0
  529. appwrite_console/services/organizations.py +2245 -0
  530. appwrite_console/services/postgresql.py +1995 -0
  531. appwrite_console/services/presences.py +309 -0
  532. appwrite_console/services/project.py +5271 -0
  533. appwrite_console/services/projects.py +885 -0
  534. appwrite_console/services/proxy.py +394 -0
  535. appwrite_console/services/sites.py +1593 -0
  536. appwrite_console/services/storage.py +818 -0
  537. appwrite_console/services/tables_db.py +5189 -0
  538. appwrite_console/services/teams.py +993 -0
  539. appwrite_console/services/tokens.py +243 -0
  540. appwrite_console/services/usage.py +194 -0
  541. appwrite_console/services/users.py +2314 -0
  542. appwrite_console/services/vcs.py +599 -0
  543. appwrite_console/services/vectors_db.py +2054 -0
  544. appwrite_console/services/waf.py +1014 -0
  545. appwrite_console/services/webhooks.py +344 -0
  546. appwrite_console/utils/__init__.py +1 -0
  547. appwrite_console/utils/deprecated.py +51 -0
  548. appwrite_console-0.1.0.dist-info/METADATA +189 -0
  549. appwrite_console-0.1.0.dist-info/RECORD +552 -0
  550. appwrite_console-0.1.0.dist-info/WHEEL +5 -0
  551. appwrite_console-0.1.0.dist-info/licenses/LICENSE +12 -0
  552. appwrite_console-0.1.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,807 @@
1
+ from ..service import Service
2
+ from urllib.parse import quote
3
+ from typing import Any, Dict, List, Optional, Union, Type, TypeVar
4
+ from ..exception import AppwriteException
5
+ from appwrite_console.utils.deprecated import deprecated
6
+ from ..models.campaign import Campaign
7
+ from ..models.coupon import Coupon
8
+ from ..models.database_list import DatabaseList
9
+ from ..models.console_o_auth2_provider_list import ConsoleOAuth2ProviderList
10
+ from ..enums.platform import Platform
11
+ from ..models.billing_plan_list import BillingPlanList
12
+ from ..models.billing_plan import BillingPlan
13
+ from ..models.postgres_extension_list import PostgresExtensionList
14
+ from ..models.program import Program
15
+ from ..models.organization import Organization
16
+ from ..models.console_region_list import ConsoleRegionList
17
+ from ..enums.console_resource_type import ConsoleResourceType
18
+ from ..models.console_key_scope_list import ConsoleKeyScopeList
19
+ from ..models.column_list import ColumnList
20
+ from ..models.column_index_list import ColumnIndexList
21
+ from ..enums.query_suggestion_resource import QuerySuggestionResource
22
+ from ..enums.project_email_template_id import ProjectEmailTemplateId
23
+ from ..enums.project_email_template_locale import ProjectEmailTemplateLocale
24
+ from ..models.email_template import EmailTemplate
25
+ from ..models.console_variables import ConsoleVariables
26
+
27
+ T = TypeVar('T')
28
+
29
+ class Console(Service):
30
+
31
+ def __init__(self, client) -> None:
32
+ super(Console, self).__init__(client)
33
+
34
+ def get_campaign(
35
+ self,
36
+ campaign_id: str
37
+ ) -> Campaign:
38
+ """
39
+ Receive the details of a campaign using its ID.
40
+
41
+ Parameters
42
+ ----------
43
+ campaign_id : str
44
+ ID of the campaign
45
+
46
+ Returns
47
+ -------
48
+ Campaign
49
+ API response as a typed Pydantic model
50
+
51
+ Raises
52
+ ------
53
+ AppwriteException
54
+ If API request fails
55
+ """
56
+
57
+ api_path = '/console/campaigns/{campaignId}'
58
+ api_params = {}
59
+ if campaign_id is None:
60
+ raise AppwriteException('Missing required parameter: "campaign_id"')
61
+
62
+ api_path = api_path.replace('{campaignId}', str(self._normalize_value(campaign_id)))
63
+
64
+
65
+ response = self.client.call('get', api_path, {
66
+ 'X-Appwrite-Project': self.client.get_config('project'),
67
+ 'accept': 'application/json',
68
+ }, api_params)
69
+
70
+ return self._parse_response(response, model=Campaign)
71
+
72
+
73
+ def get_coupon(
74
+ self,
75
+ coupon_id: str
76
+ ) -> Coupon:
77
+ """
78
+ Get the details of a coupon using it's coupon ID.
79
+
80
+ Parameters
81
+ ----------
82
+ coupon_id : str
83
+ ID of the coupon
84
+
85
+ Returns
86
+ -------
87
+ Coupon
88
+ API response as a typed Pydantic model
89
+
90
+ Raises
91
+ ------
92
+ AppwriteException
93
+ If API request fails
94
+ """
95
+
96
+ api_path = '/console/coupons/{couponId}'
97
+ api_params = {}
98
+ if coupon_id is None:
99
+ raise AppwriteException('Missing required parameter: "coupon_id"')
100
+
101
+ api_path = api_path.replace('{couponId}', str(self._normalize_value(coupon_id)))
102
+
103
+
104
+ response = self.client.call('get', api_path, {
105
+ 'X-Appwrite-Project': self.client.get_config('project'),
106
+ 'accept': 'application/json',
107
+ }, api_params)
108
+
109
+ return self._parse_response(response, model=Coupon)
110
+
111
+
112
+ def list_databases(
113
+ self,
114
+ queries: Optional[List[str]] = None,
115
+ search: Optional[str] = None,
116
+ total: Optional[bool] = None
117
+ ) -> DatabaseList:
118
+ """
119
+ Get a list of all the project's databases. You can use the query params to filter your results. This returns every database across all types and product APIs in a single call.
120
+
121
+
122
+ Parameters
123
+ ----------
124
+ queries : Optional[List[str]]
125
+ Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name
126
+ search : Optional[str]
127
+ Search term to filter your list results. Max length: 256 chars.
128
+ total : Optional[bool]
129
+ When set to false, the total count returned will be 0 and will not be calculated.
130
+
131
+ Returns
132
+ -------
133
+ DatabaseList
134
+ API response as a typed Pydantic model
135
+
136
+ Raises
137
+ ------
138
+ AppwriteException
139
+ If API request fails
140
+ """
141
+
142
+ api_path = '/console/databases'
143
+ api_params = {}
144
+
145
+ if queries is not None:
146
+ api_params['queries'] = self._normalize_value(queries)
147
+ if search is not None:
148
+ api_params['search'] = self._normalize_value(search)
149
+ if total is not None:
150
+ api_params['total'] = self._normalize_value(total)
151
+
152
+ response = self.client.call('get', api_path, {
153
+ 'X-Appwrite-Project': self.client.get_config('project'),
154
+ 'accept': 'application/json',
155
+ }, api_params)
156
+
157
+ return self._parse_response(response, model=DatabaseList)
158
+
159
+
160
+ def list_o_auth2_providers(
161
+ self
162
+ ) -> ConsoleOAuth2ProviderList:
163
+ """
164
+ List all OAuth2 providers supported by the Appwrite server, along with the parameters required to configure each provider. The response excludes mock providers but includes sandbox providers.
165
+
166
+ Returns
167
+ -------
168
+ ConsoleOAuth2ProviderList
169
+ API response as a typed Pydantic model
170
+
171
+ Raises
172
+ ------
173
+ AppwriteException
174
+ If API request fails
175
+ """
176
+
177
+ api_path = '/console/oauth2-providers'
178
+ api_params = {}
179
+
180
+ response = self.client.call('get', api_path, {
181
+ 'X-Appwrite-Project': self.client.get_config('project'),
182
+ 'accept': 'application/json',
183
+ }, api_params)
184
+
185
+ return self._parse_response(response, model=ConsoleOAuth2ProviderList)
186
+
187
+
188
+ def get_plans(
189
+ self,
190
+ platform: Optional[Platform] = None
191
+ ) -> BillingPlanList:
192
+ """
193
+ Return a list of all available plans.
194
+
195
+ Parameters
196
+ ----------
197
+ platform : Optional[Platform]
198
+ Platform type
199
+
200
+ Returns
201
+ -------
202
+ BillingPlanList
203
+ API response as a typed Pydantic model
204
+
205
+ Raises
206
+ ------
207
+ AppwriteException
208
+ If API request fails
209
+ """
210
+
211
+ api_path = '/console/plans'
212
+ api_params = {}
213
+
214
+ if platform is not None:
215
+ api_params['platform'] = self._normalize_value(platform)
216
+
217
+ response = self.client.call('get', api_path, {
218
+ 'X-Appwrite-Project': self.client.get_config('project'),
219
+ 'accept': 'application/json',
220
+ }, api_params)
221
+
222
+ return self._parse_response(response, model=BillingPlanList)
223
+
224
+
225
+ def get_plan(
226
+ self,
227
+ plan_id: str
228
+ ) -> BillingPlan:
229
+ """
230
+ Get the details of a plan using its plan ID.
231
+
232
+ Parameters
233
+ ----------
234
+ plan_id : str
235
+ Plan id
236
+
237
+ Returns
238
+ -------
239
+ BillingPlan
240
+ API response as a typed Pydantic model
241
+
242
+ Raises
243
+ ------
244
+ AppwriteException
245
+ If API request fails
246
+ """
247
+
248
+ api_path = '/console/plans/{planId}'
249
+ api_params = {}
250
+ if plan_id is None:
251
+ raise AppwriteException('Missing required parameter: "plan_id"')
252
+
253
+ api_path = api_path.replace('{planId}', str(self._normalize_value(plan_id)))
254
+
255
+
256
+ response = self.client.call('get', api_path, {
257
+ 'X-Appwrite-Project': self.client.get_config('project'),
258
+ 'accept': 'application/json',
259
+ }, api_params)
260
+
261
+ return self._parse_response(response, model=BillingPlan)
262
+
263
+
264
+ def list_postgres_extensions(
265
+ self
266
+ ) -> PostgresExtensionList:
267
+ """
268
+ Get the catalog of Postgres extensions that can be installed on a dedicated Postgres database.
269
+
270
+
271
+ Returns
272
+ -------
273
+ PostgresExtensionList
274
+ API response as a typed Pydantic model
275
+
276
+ Raises
277
+ ------
278
+ AppwriteException
279
+ If API request fails
280
+ """
281
+
282
+ api_path = '/console/postgres-extensions'
283
+ api_params = {}
284
+
285
+ response = self.client.call('get', api_path, {
286
+ 'X-Appwrite-Project': self.client.get_config('project'),
287
+ 'accept': 'application/json',
288
+ }, api_params)
289
+
290
+ return self._parse_response(response, model=PostgresExtensionList)
291
+
292
+
293
+ def get_program(
294
+ self,
295
+ program_id: str
296
+ ) -> Program:
297
+ """
298
+ Receive the details of a program using its ID.
299
+
300
+ Parameters
301
+ ----------
302
+ program_id : str
303
+ ID of the program
304
+
305
+ Returns
306
+ -------
307
+ Program
308
+ API response as a typed Pydantic model
309
+
310
+ Raises
311
+ ------
312
+ AppwriteException
313
+ If API request fails
314
+ """
315
+
316
+ api_path = '/console/programs/{programId}'
317
+ api_params = {}
318
+ if program_id is None:
319
+ raise AppwriteException('Missing required parameter: "program_id"')
320
+
321
+ api_path = api_path.replace('{programId}', str(self._normalize_value(program_id)))
322
+
323
+
324
+ response = self.client.call('get', api_path, {
325
+ 'X-Appwrite-Project': self.client.get_config('project'),
326
+ 'accept': 'application/json',
327
+ }, api_params)
328
+
329
+ return self._parse_response(response, model=Program)
330
+
331
+
332
+ def create_program_membership(
333
+ self,
334
+ program_id: str,
335
+ model_type: Type[T] = dict
336
+ ) -> Organization[T]:
337
+ """
338
+ Create a new membership for an account to a program.
339
+
340
+ Parameters
341
+ ----------
342
+ program_id : str
343
+ ID of the program
344
+
345
+ model_type : Type[T], optional
346
+ Pydantic model class for the user-defined data. Defaults to dict for backward compatibility.
347
+
348
+ Returns
349
+ -------
350
+ Organization[T]
351
+ API response as a typed Pydantic model
352
+
353
+ Raises
354
+ ------
355
+ AppwriteException
356
+ If API request fails
357
+ """
358
+
359
+ api_path = '/console/programs/{programId}/memberships'
360
+ api_params = {}
361
+ if program_id is None:
362
+ raise AppwriteException('Missing required parameter: "program_id"')
363
+
364
+ api_path = api_path.replace('{programId}', str(self._normalize_value(program_id)))
365
+
366
+
367
+ response = self.client.call('post', api_path, {
368
+ 'X-Appwrite-Project': self.client.get_config('project'),
369
+ 'content-type': 'application/json',
370
+ 'accept': 'application/json',
371
+ }, api_params)
372
+
373
+ return Organization.with_data(response, model_type)
374
+
375
+
376
+ def list_regions(
377
+ self
378
+ ) -> ConsoleRegionList:
379
+ """
380
+ Get all available regions for the console.
381
+
382
+ Returns
383
+ -------
384
+ ConsoleRegionList
385
+ API response as a typed Pydantic model
386
+
387
+ Raises
388
+ ------
389
+ AppwriteException
390
+ If API request fails
391
+ """
392
+
393
+ api_path = '/console/regions'
394
+ api_params = {}
395
+
396
+ response = self.client.call('get', api_path, {
397
+ 'X-Appwrite-Project': self.client.get_config('project'),
398
+ 'accept': 'application/json',
399
+ }, api_params)
400
+
401
+ return self._parse_response(response, model=ConsoleRegionList)
402
+
403
+
404
+ def get_resource(
405
+ self,
406
+ value: str,
407
+ type: ConsoleResourceType
408
+ ) -> Dict[str, Any]:
409
+ """
410
+ Check if a resource ID is available.
411
+
412
+ Parameters
413
+ ----------
414
+ value : str
415
+ Resource value.
416
+ type : ConsoleResourceType
417
+ Resource type.
418
+
419
+ Returns
420
+ -------
421
+ Dict[str, Any]
422
+ API response as a dictionary
423
+
424
+ Raises
425
+ ------
426
+ AppwriteException
427
+ If API request fails
428
+ """
429
+
430
+ api_path = '/console/resources'
431
+ api_params = {}
432
+ if value is None:
433
+ raise AppwriteException('Missing required parameter: "value"')
434
+
435
+ if type is None:
436
+ raise AppwriteException('Missing required parameter: "type"')
437
+
438
+
439
+ api_params['value'] = self._normalize_value(value)
440
+ api_params['type'] = self._normalize_value(type)
441
+
442
+ response = self.client.call('get', api_path, {
443
+ 'X-Appwrite-Project': self.client.get_config('project'),
444
+ }, api_params)
445
+
446
+ return response
447
+
448
+
449
+ def list_organization_scopes(
450
+ self
451
+ ) -> ConsoleKeyScopeList:
452
+ """
453
+ List all scopes available for organization API keys, along with a description for each scope.
454
+
455
+ Returns
456
+ -------
457
+ ConsoleKeyScopeList
458
+ API response as a typed Pydantic model
459
+
460
+ Raises
461
+ ------
462
+ AppwriteException
463
+ If API request fails
464
+ """
465
+
466
+ api_path = '/console/scopes/organization'
467
+ api_params = {}
468
+
469
+ response = self.client.call('get', api_path, {
470
+ 'X-Appwrite-Project': self.client.get_config('project'),
471
+ 'accept': 'application/json',
472
+ }, api_params)
473
+
474
+ return self._parse_response(response, model=ConsoleKeyScopeList)
475
+
476
+
477
+ def list_project_scopes(
478
+ self
479
+ ) -> ConsoleKeyScopeList:
480
+ """
481
+ List all scopes available for project API keys, along with a description for each scope.
482
+
483
+ Returns
484
+ -------
485
+ ConsoleKeyScopeList
486
+ API response as a typed Pydantic model
487
+
488
+ Raises
489
+ ------
490
+ AppwriteException
491
+ If API request fails
492
+ """
493
+
494
+ api_path = '/console/scopes/project'
495
+ api_params = {}
496
+
497
+ response = self.client.call('get', api_path, {
498
+ 'X-Appwrite-Project': self.client.get_config('project'),
499
+ 'accept': 'application/json',
500
+ }, api_params)
501
+
502
+ return self._parse_response(response, model=ConsoleKeyScopeList)
503
+
504
+
505
+ def create_source(
506
+ self,
507
+ ref: Optional[str] = None,
508
+ referrer: Optional[str] = None,
509
+ utm_source: Optional[str] = None,
510
+ utm_campaign: Optional[str] = None,
511
+ utm_medium: Optional[str] = None
512
+ ) -> Dict[str, Any]:
513
+ """
514
+ Create a new source.
515
+
516
+ Parameters
517
+ ----------
518
+ ref : Optional[str]
519
+ Ref param
520
+ referrer : Optional[str]
521
+ Referrer
522
+ utm_source : Optional[str]
523
+ Utm source
524
+ utm_campaign : Optional[str]
525
+ Utm campaign
526
+ utm_medium : Optional[str]
527
+ Utm medium
528
+
529
+ Returns
530
+ -------
531
+ Dict[str, Any]
532
+ API response as a dictionary
533
+
534
+ Raises
535
+ ------
536
+ AppwriteException
537
+ If API request fails
538
+ """
539
+
540
+ api_path = '/console/sources'
541
+ api_params = {}
542
+
543
+ if ref is not None:
544
+ api_params['ref'] = self._normalize_value(ref)
545
+ if referrer is not None:
546
+ api_params['referrer'] = self._normalize_value(referrer)
547
+ if utm_source is not None:
548
+ api_params['utmSource'] = self._normalize_value(utm_source)
549
+ if utm_campaign is not None:
550
+ api_params['utmCampaign'] = self._normalize_value(utm_campaign)
551
+ if utm_medium is not None:
552
+ api_params['utmMedium'] = self._normalize_value(utm_medium)
553
+
554
+ response = self.client.call('post', api_path, {
555
+ 'X-Appwrite-Project': self.client.get_config('project'),
556
+ 'content-type': 'application/json',
557
+ 'accept': 'application/json',
558
+ }, api_params)
559
+
560
+ return response
561
+
562
+
563
+ def suggest_columns(
564
+ self,
565
+ database_id: str,
566
+ table_id: str,
567
+ context: Optional[str] = None,
568
+ min: Optional[float] = None,
569
+ max: Optional[float] = None
570
+ ) -> ColumnList:
571
+ """
572
+ Suggests column names and their size limits based on the provided table name. The API will also analyze other tables in the same database to provide context-aware suggestions, ensuring consistency across schema design. Users may optionally provide custom context to further refine the suggestions.
573
+
574
+ Parameters
575
+ ----------
576
+ database_id : str
577
+ Database ID.
578
+ table_id : str
579
+ Table ID.
580
+ context : Optional[str]
581
+ Optional user provided context to refine suggestions.
582
+ min : Optional[float]
583
+ Minimum number of suggestions to generate.
584
+ max : Optional[float]
585
+ Maximum number of suggestions to generate.
586
+
587
+ Returns
588
+ -------
589
+ ColumnList
590
+ API response as a typed Pydantic model
591
+
592
+ Raises
593
+ ------
594
+ AppwriteException
595
+ If API request fails
596
+ """
597
+
598
+ api_path = '/console/suggestions/columns'
599
+ api_params = {}
600
+ if database_id is None:
601
+ raise AppwriteException('Missing required parameter: "database_id"')
602
+
603
+ if table_id is None:
604
+ raise AppwriteException('Missing required parameter: "table_id"')
605
+
606
+
607
+ api_params['databaseId'] = self._normalize_value(database_id)
608
+ api_params['tableId'] = self._normalize_value(table_id)
609
+ if context is not None:
610
+ api_params['context'] = self._normalize_value(context)
611
+ if min is not None:
612
+ api_params['min'] = self._normalize_value(min)
613
+ if max is not None:
614
+ api_params['max'] = self._normalize_value(max)
615
+
616
+ response = self.client.call('get', api_path, {
617
+ 'X-Appwrite-Project': self.client.get_config('project'),
618
+ 'accept': 'application/json',
619
+ }, api_params)
620
+
621
+ return self._parse_response(response, model=ColumnList)
622
+
623
+
624
+ def suggest_indexes(
625
+ self,
626
+ database_id: str,
627
+ table_id: str,
628
+ min: Optional[float] = None,
629
+ max: Optional[float] = None
630
+ ) -> ColumnIndexList:
631
+ """
632
+ Suggests database indexes for table columns based on the provided table structure and existing columns. The API will also analyze the table's column types, names, and patterns to recommend optimal indexes that improve query performance for common database operations like filtering, sorting, and searching.
633
+
634
+ Parameters
635
+ ----------
636
+ database_id : str
637
+ Database ID.
638
+ table_id : str
639
+ Table ID.
640
+ min : Optional[float]
641
+ Minimum number of suggestions to generate.
642
+ max : Optional[float]
643
+ Maximum number of suggestions to generate.
644
+
645
+ Returns
646
+ -------
647
+ ColumnIndexList
648
+ API response as a typed Pydantic model
649
+
650
+ Raises
651
+ ------
652
+ AppwriteException
653
+ If API request fails
654
+ """
655
+
656
+ api_path = '/console/suggestions/indexes'
657
+ api_params = {}
658
+ if database_id is None:
659
+ raise AppwriteException('Missing required parameter: "database_id"')
660
+
661
+ if table_id is None:
662
+ raise AppwriteException('Missing required parameter: "table_id"')
663
+
664
+
665
+ api_params['databaseId'] = self._normalize_value(database_id)
666
+ api_params['tableId'] = self._normalize_value(table_id)
667
+ if min is not None:
668
+ api_params['min'] = self._normalize_value(min)
669
+ if max is not None:
670
+ api_params['max'] = self._normalize_value(max)
671
+
672
+ response = self.client.call('get', api_path, {
673
+ 'X-Appwrite-Project': self.client.get_config('project'),
674
+ 'accept': 'application/json',
675
+ }, api_params)
676
+
677
+ return self._parse_response(response, model=ColumnIndexList)
678
+
679
+
680
+ def suggest_queries(
681
+ self,
682
+ resource: QuerySuggestionResource,
683
+ input: str,
684
+ database_id: Optional[str] = None,
685
+ table_id: Optional[str] = None
686
+ ) -> Dict[str, Any]:
687
+ """
688
+ Suggest valid Appwrite query JSON objects for a supported list resource from free-text user intent. The endpoint picks a validator based on `resource` — for system resources it uses the static validator and its allowed attributes, and for user-owned table rows it loads the table schema and validates against those attributes at request time. The returned queries are guaranteed to parse and pass the relevant queries validator.
689
+
690
+
691
+ Parameters
692
+ ----------
693
+ resource : QuerySuggestionResource
694
+ Resource to generate queries for.
695
+ input : str
696
+ Natural language query intent used to generate filters/sorting/pagination.
697
+ database_id : Optional[str]
698
+ Database ID. Required when resource is `tables` or `rows`.
699
+ table_id : Optional[str]
700
+ Table ID. Required when resource is `rows`.
701
+
702
+ Returns
703
+ -------
704
+ Dict[str, Any]
705
+ API response as a dictionary
706
+
707
+ Raises
708
+ ------
709
+ AppwriteException
710
+ If API request fails
711
+ """
712
+
713
+ api_path = '/console/suggestions/queries'
714
+ api_params = {}
715
+ if resource is None:
716
+ raise AppwriteException('Missing required parameter: "resource"')
717
+
718
+ if input is None:
719
+ raise AppwriteException('Missing required parameter: "input"')
720
+
721
+
722
+ api_params['resource'] = self._normalize_value(resource)
723
+ api_params['input'] = self._normalize_value(input)
724
+ if database_id is not None:
725
+ api_params['databaseId'] = self._normalize_value(database_id)
726
+ if table_id is not None:
727
+ api_params['tableId'] = self._normalize_value(table_id)
728
+
729
+ response = self.client.call('get', api_path, {
730
+ 'X-Appwrite-Project': self.client.get_config('project'),
731
+ 'accept': 'application/json',
732
+ }, api_params)
733
+
734
+ return response
735
+
736
+
737
+ def get_email_template(
738
+ self,
739
+ template_id: ProjectEmailTemplateId,
740
+ locale: Optional[ProjectEmailTemplateLocale] = None
741
+ ) -> EmailTemplate:
742
+ """
743
+ Get the Appwrite built-in default email template for the specified type and locale. Always returns the unmodified default, ignoring any custom project overrides.
744
+
745
+ Parameters
746
+ ----------
747
+ template_id : ProjectEmailTemplateId
748
+ Email template type. Can be one of: verification, magicSession, recovery, invitation, mfaChallenge, sessionAlert, otpSession
749
+ locale : Optional[ProjectEmailTemplateLocale]
750
+ Template locale. If left empty, the fallback locale (en) will be used.
751
+
752
+ Returns
753
+ -------
754
+ EmailTemplate
755
+ API response as a typed Pydantic model
756
+
757
+ Raises
758
+ ------
759
+ AppwriteException
760
+ If API request fails
761
+ """
762
+
763
+ api_path = '/console/templates/email/{templateId}'
764
+ api_params = {}
765
+ if template_id is None:
766
+ raise AppwriteException('Missing required parameter: "template_id"')
767
+
768
+ api_path = api_path.replace('{templateId}', str(self._normalize_value(template_id)))
769
+
770
+ if locale is not None:
771
+ api_params['locale'] = self._normalize_value(locale)
772
+
773
+ response = self.client.call('get', api_path, {
774
+ 'X-Appwrite-Project': self.client.get_config('project'),
775
+ 'accept': 'application/json',
776
+ }, api_params)
777
+
778
+ return self._parse_response(response, model=EmailTemplate)
779
+
780
+
781
+ def variables(
782
+ self
783
+ ) -> ConsoleVariables:
784
+ """
785
+ Get all Environment Variables that are relevant for the console.
786
+
787
+ Returns
788
+ -------
789
+ ConsoleVariables
790
+ API response as a typed Pydantic model
791
+
792
+ Raises
793
+ ------
794
+ AppwriteException
795
+ If API request fails
796
+ """
797
+
798
+ api_path = '/console/variables'
799
+ api_params = {}
800
+
801
+ response = self.client.call('get', api_path, {
802
+ 'X-Appwrite-Project': self.client.get_config('project'),
803
+ 'accept': 'application/json',
804
+ }, api_params)
805
+
806
+ return self._parse_response(response, model=ConsoleVariables)
807
+