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,599 @@
1
+ from ..service import Service
2
+ from urllib.parse import quote
3
+ from typing import Any, Dict, List, Optional, Union
4
+ from ..exception import AppwriteException
5
+ from appwrite_console.utils.deprecated import deprecated
6
+ from ..enums.vcs_detection_type import VCSDetectionType
7
+ from ..models.detection_runtime import DetectionRuntime
8
+ from ..models.detection_framework import DetectionFramework
9
+ from ..models.provider_repository_runtime_list import ProviderRepositoryRuntimeList
10
+ from ..models.provider_repository_framework_list import ProviderRepositoryFrameworkList
11
+ from ..models.provider_repository import ProviderRepository
12
+ from ..models.branch_list import BranchList
13
+ from ..models.vcs_content_list import VcsContentList
14
+ from ..models.installation_list import InstallationList
15
+ from ..models.installation import Installation
16
+ from ..models.vcs_namespace_list import VcsNamespaceList
17
+
18
+ class Vcs(Service):
19
+
20
+ def __init__(self, client) -> None:
21
+ super(Vcs, self).__init__(client)
22
+
23
+ def create_repository_detection(
24
+ self,
25
+ installation_id: str,
26
+ provider_repository_id: str,
27
+ type: VCSDetectionType,
28
+ provider_root_directory: Optional[str] = None
29
+ ) -> Union[DetectionRuntime, DetectionFramework]:
30
+ """
31
+ Analyze a GitHub repository to automatically detect the programming language and runtime environment. This endpoint scans the repository's files and language statistics to determine the appropriate runtime settings for your function. The GitHub installation must be properly configured and the repository must be accessible through your installation for this endpoint to work.
32
+
33
+ Parameters
34
+ ----------
35
+ installation_id : str
36
+ Installation Id
37
+ provider_repository_id : str
38
+ Repository Id
39
+ type : VCSDetectionType
40
+ Detector type. Must be one of the following: runtime, framework
41
+ provider_root_directory : Optional[str]
42
+ Path to Root Directory
43
+
44
+ Returns
45
+ -------
46
+ Union[DetectionRuntime, DetectionFramework]
47
+ API response as one of the typed response models
48
+
49
+ Raises
50
+ ------
51
+ AppwriteException
52
+ If API request fails
53
+ """
54
+
55
+ api_path = '/vcs/github/installations/{installationId}/detections'
56
+ api_params = {}
57
+ if installation_id is None:
58
+ raise AppwriteException('Missing required parameter: "installation_id"')
59
+
60
+ if provider_repository_id is None:
61
+ raise AppwriteException('Missing required parameter: "provider_repository_id"')
62
+
63
+ if type is None:
64
+ raise AppwriteException('Missing required parameter: "type"')
65
+
66
+ api_path = api_path.replace('{installationId}', str(self._normalize_value(installation_id)))
67
+
68
+ api_params['providerRepositoryId'] = self._normalize_value(provider_repository_id)
69
+ api_params['type'] = self._normalize_value(type)
70
+ if provider_root_directory is not None:
71
+ api_params['providerRootDirectory'] = self._normalize_value(provider_root_directory)
72
+
73
+ response = self.client.call('post', api_path, {
74
+ 'X-Appwrite-Project': self.client.get_config('project'),
75
+ 'content-type': 'application/json',
76
+ 'accept': 'application/json',
77
+ }, api_params)
78
+ if not isinstance(response, dict):
79
+ raise AppwriteException('Expected object response when hydrating a response model')
80
+
81
+ if response.get('type') == 'runtime':
82
+ return self._parse_response(response, model=DetectionRuntime)
83
+
84
+ if response.get('type') == 'framework':
85
+ return self._parse_response(response, model=DetectionFramework)
86
+
87
+ raise AppwriteException('Unable to match response to any known model')
88
+
89
+
90
+ def list_repositories(
91
+ self,
92
+ installation_id: str,
93
+ type: VCSDetectionType,
94
+ search: Optional[str] = None,
95
+ queries: Optional[List[str]] = None
96
+ ) -> Union[ProviderRepositoryRuntimeList, ProviderRepositoryFrameworkList]:
97
+ """
98
+ Get a list of GitHub repositories available through your installation. This endpoint returns repositories with their basic information, detected runtime environments, and latest push dates. You can optionally filter repositories using a search term. Each repository's runtime is automatically detected based on its contents and language statistics. The GitHub installation must be properly configured for this endpoint to work.
99
+
100
+ Parameters
101
+ ----------
102
+ installation_id : str
103
+ Installation Id
104
+ type : VCSDetectionType
105
+ Detector type. Must be one of the following: runtime, framework
106
+ search : Optional[str]
107
+ Search term to filter your list results. Max length: 256 chars.
108
+ queries : Optional[List[str]]
109
+ Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Only supported methods are limit, offset, and equal on namespace.
110
+
111
+ Returns
112
+ -------
113
+ Union[ProviderRepositoryRuntimeList, ProviderRepositoryFrameworkList]
114
+ API response as one of the typed response models
115
+
116
+ Raises
117
+ ------
118
+ AppwriteException
119
+ If API request fails
120
+ """
121
+
122
+ api_path = '/vcs/github/installations/{installationId}/providerRepositories'
123
+ api_params = {}
124
+ if installation_id is None:
125
+ raise AppwriteException('Missing required parameter: "installation_id"')
126
+
127
+ if type is None:
128
+ raise AppwriteException('Missing required parameter: "type"')
129
+
130
+ api_path = api_path.replace('{installationId}', str(self._normalize_value(installation_id)))
131
+
132
+ api_params['type'] = self._normalize_value(type)
133
+ if search is not None:
134
+ api_params['search'] = self._normalize_value(search)
135
+ if queries is not None:
136
+ api_params['queries'] = self._normalize_value(queries)
137
+
138
+ response = self.client.call('get', api_path, {
139
+ 'X-Appwrite-Project': self.client.get_config('project'),
140
+ 'accept': 'application/json',
141
+ }, api_params)
142
+ if not isinstance(response, dict):
143
+ raise AppwriteException('Expected object response when hydrating a response model')
144
+
145
+ if response.get('type') == 'runtime':
146
+ return self._parse_response(response, model=ProviderRepositoryRuntimeList)
147
+
148
+ if response.get('type') == 'framework':
149
+ return self._parse_response(response, model=ProviderRepositoryFrameworkList)
150
+
151
+ raise AppwriteException('Unable to match response to any known model')
152
+
153
+
154
+ def create_repository(
155
+ self,
156
+ installation_id: str,
157
+ name: str,
158
+ private: bool,
159
+ provider_namespace: Optional[str] = None
160
+ ) -> ProviderRepository:
161
+ """
162
+ Create a new GitHub repository through your installation. This endpoint allows you to create either a public or private repository by specifying a name and visibility setting. The repository will be created under your GitHub user account or organization, depending on your installation type. The GitHub installation must be properly configured and have the necessary permissions for repository creation.
163
+
164
+ Parameters
165
+ ----------
166
+ installation_id : str
167
+ Installation Id
168
+ name : str
169
+ Repository name (slug)
170
+ private : bool
171
+ Mark repository public or private
172
+ provider_namespace : Optional[str]
173
+ Namespace of the git repository. Defaults to the installation's own namespace.
174
+
175
+ Returns
176
+ -------
177
+ ProviderRepository
178
+ API response as a typed Pydantic model
179
+
180
+ Raises
181
+ ------
182
+ AppwriteException
183
+ If API request fails
184
+ """
185
+
186
+ api_path = '/vcs/github/installations/{installationId}/providerRepositories'
187
+ api_params = {}
188
+ if installation_id is None:
189
+ raise AppwriteException('Missing required parameter: "installation_id"')
190
+
191
+ if name is None:
192
+ raise AppwriteException('Missing required parameter: "name"')
193
+
194
+ if private is None:
195
+ raise AppwriteException('Missing required parameter: "private"')
196
+
197
+ api_path = api_path.replace('{installationId}', str(self._normalize_value(installation_id)))
198
+
199
+ api_params['name'] = self._normalize_value(name)
200
+ api_params['private'] = self._normalize_value(private)
201
+ if provider_namespace is not None:
202
+ api_params['providerNamespace'] = self._normalize_value(provider_namespace)
203
+
204
+ response = self.client.call('post', api_path, {
205
+ 'X-Appwrite-Project': self.client.get_config('project'),
206
+ 'content-type': 'application/json',
207
+ 'accept': 'application/json',
208
+ }, api_params)
209
+
210
+ return self._parse_response(response, model=ProviderRepository)
211
+
212
+
213
+ def get_repository(
214
+ self,
215
+ installation_id: str,
216
+ provider_repository_id: str
217
+ ) -> ProviderRepository:
218
+ """
219
+ Get detailed information about a specific GitHub repository from your installation. This endpoint returns repository details including its ID, name, visibility status, organization, and latest push date. The GitHub installation must be properly configured and have access to the requested repository for this endpoint to work.
220
+
221
+ Parameters
222
+ ----------
223
+ installation_id : str
224
+ Installation Id
225
+ provider_repository_id : str
226
+ Repository Id
227
+
228
+ Returns
229
+ -------
230
+ ProviderRepository
231
+ API response as a typed Pydantic model
232
+
233
+ Raises
234
+ ------
235
+ AppwriteException
236
+ If API request fails
237
+ """
238
+
239
+ api_path = '/vcs/github/installations/{installationId}/providerRepositories/{providerRepositoryId}'
240
+ api_params = {}
241
+ if installation_id is None:
242
+ raise AppwriteException('Missing required parameter: "installation_id"')
243
+
244
+ if provider_repository_id is None:
245
+ raise AppwriteException('Missing required parameter: "provider_repository_id"')
246
+
247
+ api_path = api_path.replace('{installationId}', str(self._normalize_value(installation_id)))
248
+ api_path = api_path.replace('{providerRepositoryId}', str(self._normalize_value(provider_repository_id)))
249
+
250
+
251
+ response = self.client.call('get', api_path, {
252
+ 'X-Appwrite-Project': self.client.get_config('project'),
253
+ 'accept': 'application/json',
254
+ }, api_params)
255
+
256
+ return self._parse_response(response, model=ProviderRepository)
257
+
258
+
259
+ def list_repository_branches(
260
+ self,
261
+ installation_id: str,
262
+ provider_repository_id: str,
263
+ search: Optional[str] = None,
264
+ queries: Optional[List[str]] = None
265
+ ) -> BranchList:
266
+ """
267
+ Get a list of branches from a GitHub repository in your installation. This endpoint supports filtering by a search term and pagination using query strings such as `Query.limit()`, `Query.offset()`, `Query.cursorAfter()`, and `Query.cursorBefore()`. It returns branch names along with the total number of matches. The GitHub installation must be properly configured and have access to the requested repository for this endpoint to work.
268
+
269
+
270
+ Parameters
271
+ ----------
272
+ installation_id : str
273
+ Installation Id
274
+ provider_repository_id : str
275
+ Repository Id
276
+ search : Optional[str]
277
+ Search term to filter your list results. Max length: 256 chars.
278
+ queries : Optional[List[str]]
279
+ Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Only supported methods are limit, offset, cursorAfter, and cursorBefore
280
+
281
+ Returns
282
+ -------
283
+ BranchList
284
+ API response as a typed Pydantic model
285
+
286
+ Raises
287
+ ------
288
+ AppwriteException
289
+ If API request fails
290
+ """
291
+
292
+ api_path = '/vcs/github/installations/{installationId}/providerRepositories/{providerRepositoryId}/branches'
293
+ api_params = {}
294
+ if installation_id is None:
295
+ raise AppwriteException('Missing required parameter: "installation_id"')
296
+
297
+ if provider_repository_id is None:
298
+ raise AppwriteException('Missing required parameter: "provider_repository_id"')
299
+
300
+ api_path = api_path.replace('{installationId}', str(self._normalize_value(installation_id)))
301
+ api_path = api_path.replace('{providerRepositoryId}', str(self._normalize_value(provider_repository_id)))
302
+
303
+ if search is not None:
304
+ api_params['search'] = self._normalize_value(search)
305
+ if queries is not None:
306
+ api_params['queries'] = self._normalize_value(queries)
307
+
308
+ response = self.client.call('get', api_path, {
309
+ 'X-Appwrite-Project': self.client.get_config('project'),
310
+ 'accept': 'application/json',
311
+ }, api_params)
312
+
313
+ return self._parse_response(response, model=BranchList)
314
+
315
+
316
+ def get_repository_contents(
317
+ self,
318
+ installation_id: str,
319
+ provider_repository_id: str,
320
+ provider_root_directory: Optional[str] = None,
321
+ provider_reference: Optional[str] = None
322
+ ) -> VcsContentList:
323
+ """
324
+ Get a list of files and directories from a GitHub repository connected to your project. This endpoint returns the contents of a specified repository path, including file names, sizes, and whether each item is a file or directory. The GitHub installation must be properly configured and the repository must be accessible through your installation for this endpoint to work.
325
+
326
+ Parameters
327
+ ----------
328
+ installation_id : str
329
+ Installation Id
330
+ provider_repository_id : str
331
+ Repository Id
332
+ provider_root_directory : Optional[str]
333
+ Path to get contents of nested directory
334
+ provider_reference : Optional[str]
335
+ Git reference (branch, tag, commit) to get contents from
336
+
337
+ Returns
338
+ -------
339
+ VcsContentList
340
+ API response as a typed Pydantic model
341
+
342
+ Raises
343
+ ------
344
+ AppwriteException
345
+ If API request fails
346
+ """
347
+
348
+ api_path = '/vcs/github/installations/{installationId}/providerRepositories/{providerRepositoryId}/contents'
349
+ api_params = {}
350
+ if installation_id is None:
351
+ raise AppwriteException('Missing required parameter: "installation_id"')
352
+
353
+ if provider_repository_id is None:
354
+ raise AppwriteException('Missing required parameter: "provider_repository_id"')
355
+
356
+ api_path = api_path.replace('{installationId}', str(self._normalize_value(installation_id)))
357
+ api_path = api_path.replace('{providerRepositoryId}', str(self._normalize_value(provider_repository_id)))
358
+
359
+ if provider_root_directory is not None:
360
+ api_params['providerRootDirectory'] = self._normalize_value(provider_root_directory)
361
+ if provider_reference is not None:
362
+ api_params['providerReference'] = self._normalize_value(provider_reference)
363
+
364
+ response = self.client.call('get', api_path, {
365
+ 'X-Appwrite-Project': self.client.get_config('project'),
366
+ 'accept': 'application/json',
367
+ }, api_params)
368
+
369
+ return self._parse_response(response, model=VcsContentList)
370
+
371
+
372
+ def update_external_deployments(
373
+ self,
374
+ installation_id: str,
375
+ repository_id: str,
376
+ provider_pull_request_id: str
377
+ ) -> Dict[str, Any]:
378
+ """
379
+ Authorize and create deployments for a GitHub pull request in your project. This endpoint allows external contributions by creating deployments from pull requests, enabling preview environments for code review. The pull request must be open and not previously authorized. The GitHub installation must be properly configured and have access to both the repository and pull request for this endpoint to work.
380
+
381
+ Parameters
382
+ ----------
383
+ installation_id : str
384
+ Installation Id
385
+ repository_id : str
386
+ VCS Repository Id
387
+ provider_pull_request_id : str
388
+ GitHub Pull Request Id
389
+
390
+ Returns
391
+ -------
392
+ Dict[str, Any]
393
+ API response as a dictionary
394
+
395
+ Raises
396
+ ------
397
+ AppwriteException
398
+ If API request fails
399
+ """
400
+
401
+ api_path = '/vcs/github/installations/{installationId}/repositories/{repositoryId}'
402
+ api_params = {}
403
+ if installation_id is None:
404
+ raise AppwriteException('Missing required parameter: "installation_id"')
405
+
406
+ if repository_id is None:
407
+ raise AppwriteException('Missing required parameter: "repository_id"')
408
+
409
+ if provider_pull_request_id is None:
410
+ raise AppwriteException('Missing required parameter: "provider_pull_request_id"')
411
+
412
+ api_path = api_path.replace('{installationId}', str(self._normalize_value(installation_id)))
413
+ api_path = api_path.replace('{repositoryId}', str(self._normalize_value(repository_id)))
414
+
415
+ api_params['providerPullRequestId'] = self._normalize_value(provider_pull_request_id)
416
+
417
+ response = self.client.call('patch', api_path, {
418
+ 'X-Appwrite-Project': self.client.get_config('project'),
419
+ 'content-type': 'application/json',
420
+ 'accept': 'application/json',
421
+ }, api_params)
422
+
423
+ return response
424
+
425
+
426
+ def list_installations(
427
+ self,
428
+ queries: Optional[List[str]] = None,
429
+ search: Optional[str] = None,
430
+ total: Optional[bool] = None
431
+ ) -> InstallationList:
432
+ """
433
+ List all VCS installations configured for the current project. This endpoint returns a list of installations including their provider, organization, and other configuration details.
434
+
435
+
436
+ Parameters
437
+ ----------
438
+ queries : Optional[List[str]]
439
+ 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: provider, organization
440
+ search : Optional[str]
441
+ Search term to filter your list results. Max length: 256 chars.
442
+ total : Optional[bool]
443
+ When set to false, the total count returned will be 0 and will not be calculated.
444
+
445
+ Returns
446
+ -------
447
+ InstallationList
448
+ API response as a typed Pydantic model
449
+
450
+ Raises
451
+ ------
452
+ AppwriteException
453
+ If API request fails
454
+ """
455
+
456
+ api_path = '/vcs/installations'
457
+ api_params = {}
458
+
459
+ if queries is not None:
460
+ api_params['queries'] = self._normalize_value(queries)
461
+ if search is not None:
462
+ api_params['search'] = self._normalize_value(search)
463
+ if total is not None:
464
+ api_params['total'] = self._normalize_value(total)
465
+
466
+ response = self.client.call('get', api_path, {
467
+ 'X-Appwrite-Project': self.client.get_config('project'),
468
+ 'accept': 'application/json',
469
+ }, api_params)
470
+
471
+ return self._parse_response(response, model=InstallationList)
472
+
473
+
474
+ def get_installation(
475
+ self,
476
+ installation_id: str
477
+ ) -> Installation:
478
+ """
479
+ Get a VCS installation by its unique ID. This endpoint returns the installation's details including its provider, organization, and configuration.
480
+
481
+ Parameters
482
+ ----------
483
+ installation_id : str
484
+ Installation Id
485
+
486
+ Returns
487
+ -------
488
+ Installation
489
+ API response as a typed Pydantic model
490
+
491
+ Raises
492
+ ------
493
+ AppwriteException
494
+ If API request fails
495
+ """
496
+
497
+ api_path = '/vcs/installations/{installationId}'
498
+ api_params = {}
499
+ if installation_id is None:
500
+ raise AppwriteException('Missing required parameter: "installation_id"')
501
+
502
+ api_path = api_path.replace('{installationId}', str(self._normalize_value(installation_id)))
503
+
504
+
505
+ response = self.client.call('get', api_path, {
506
+ 'X-Appwrite-Project': self.client.get_config('project'),
507
+ 'accept': 'application/json',
508
+ }, api_params)
509
+
510
+ return self._parse_response(response, model=Installation)
511
+
512
+
513
+ def delete_installation(
514
+ self,
515
+ installation_id: str
516
+ ) -> Dict[str, Any]:
517
+ """
518
+ Delete a VCS installation by its unique ID. This endpoint removes the installation and all its associated repositories from the project.
519
+
520
+ Parameters
521
+ ----------
522
+ installation_id : str
523
+ Installation Id
524
+
525
+ Returns
526
+ -------
527
+ Dict[str, Any]
528
+ API response as a dictionary
529
+
530
+ Raises
531
+ ------
532
+ AppwriteException
533
+ If API request fails
534
+ """
535
+
536
+ api_path = '/vcs/installations/{installationId}'
537
+ api_params = {}
538
+ if installation_id is None:
539
+ raise AppwriteException('Missing required parameter: "installation_id"')
540
+
541
+ api_path = api_path.replace('{installationId}', str(self._normalize_value(installation_id)))
542
+
543
+
544
+ response = self.client.call('delete', api_path, {
545
+ 'X-Appwrite-Project': self.client.get_config('project'),
546
+ 'content-type': 'application/json',
547
+ }, api_params)
548
+
549
+ return response
550
+
551
+
552
+ def list_namespaces(
553
+ self,
554
+ installation_id: str,
555
+ search: Optional[str] = None,
556
+ queries: Optional[List[str]] = None
557
+ ) -> VcsNamespaceList:
558
+ """
559
+ List provider namespaces available to a VCS installation. This can include the user personal namespace and any groups or organizations the installation can browse.
560
+
561
+ Parameters
562
+ ----------
563
+ installation_id : str
564
+ Installation Id
565
+ search : Optional[str]
566
+ Search term to filter your list results. Max length: 256 chars.
567
+ queries : Optional[List[str]]
568
+ Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Only supported methods are limit and offset
569
+
570
+ Returns
571
+ -------
572
+ VcsNamespaceList
573
+ API response as a typed Pydantic model
574
+
575
+ Raises
576
+ ------
577
+ AppwriteException
578
+ If API request fails
579
+ """
580
+
581
+ api_path = '/vcs/installations/{installationId}/namespaces'
582
+ api_params = {}
583
+ if installation_id is None:
584
+ raise AppwriteException('Missing required parameter: "installation_id"')
585
+
586
+ api_path = api_path.replace('{installationId}', str(self._normalize_value(installation_id)))
587
+
588
+ if search is not None:
589
+ api_params['search'] = self._normalize_value(search)
590
+ if queries is not None:
591
+ api_params['queries'] = self._normalize_value(queries)
592
+
593
+ response = self.client.call('get', api_path, {
594
+ 'X-Appwrite-Project': self.client.get_config('project'),
595
+ 'accept': 'application/json',
596
+ }, api_params)
597
+
598
+ return self._parse_response(response, model=VcsNamespaceList)
599
+