appwrite 22.1.0__tar.gz → 22.2.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (387) hide show
  1. {appwrite-22.1.0 → appwrite-22.2.0}/PKG-INFO +2 -2
  2. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/client.py +2 -2
  3. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/organization_key_scopes.py +2 -0
  4. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/__init__.py +8 -0
  5. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/app.py +6 -0
  6. appwrite-22.2.0/appwrite/models/app_installation.py +42 -0
  7. appwrite-22.2.0/appwrite/models/app_installation_list.py +19 -0
  8. appwrite-22.2.0/appwrite/models/app_key.py +39 -0
  9. appwrite-22.2.0/appwrite/models/app_key_list.py +19 -0
  10. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/database.py +6 -0
  11. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/project.py +3 -0
  12. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/services/apps.py +368 -1
  13. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/services/organization.py +213 -0
  14. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/services/project.py +5 -0
  15. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/services/teams.py +248 -0
  16. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite.egg-info/PKG-INFO +2 -2
  17. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite.egg-info/SOURCES.txt +4 -0
  18. {appwrite-22.1.0 → appwrite-22.2.0}/pyproject.toml +1 -1
  19. {appwrite-22.1.0 → appwrite-22.2.0}/setup.py +2 -2
  20. {appwrite-22.1.0 → appwrite-22.2.0}/LICENSE +0 -0
  21. {appwrite-22.1.0 → appwrite-22.2.0}/README.md +0 -0
  22. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/__init__.py +0 -0
  23. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/encoders/__init__.py +0 -0
  24. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/encoders/value_class_encoder.py +0 -0
  25. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/__init__.py +0 -0
  26. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/adapter.py +0 -0
  27. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/attribute_status.py +0 -0
  28. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/authentication_factor.py +0 -0
  29. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/authenticator_type.py +0 -0
  30. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/backup_services.py +0 -0
  31. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/billing_plan_group.py +0 -0
  32. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/browser.py +0 -0
  33. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/browser_permission.py +0 -0
  34. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/browser_theme.py +0 -0
  35. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/build_runtime.py +0 -0
  36. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/column_status.py +0 -0
  37. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/compression.py +0 -0
  38. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/credit_card.py +0 -0
  39. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/database_status.py +0 -0
  40. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/database_type.py +0 -0
  41. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/databases_index_type.py +0 -0
  42. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/deployment_download_type.py +0 -0
  43. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/deployment_status.py +0 -0
  44. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/execution_method.py +0 -0
  45. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/execution_status.py +0 -0
  46. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/execution_trigger.py +0 -0
  47. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/flag.py +0 -0
  48. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/framework.py +0 -0
  49. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/image_format.py +0 -0
  50. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/image_gravity.py +0 -0
  51. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/index_status.py +0 -0
  52. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/message_priority.py +0 -0
  53. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/message_status.py +0 -0
  54. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/messaging_provider_type.py +0 -0
  55. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/o_auth2_google_prompt.py +0 -0
  56. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/o_auth2_oidc_prompt.py +0 -0
  57. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/o_auth_provider.py +0 -0
  58. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/order_by.py +0 -0
  59. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/password_hash.py +0 -0
  60. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/platform_type.py +0 -0
  61. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/project_auth_method_id.py +0 -0
  62. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/project_email_template_id.py +0 -0
  63. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/project_email_template_locale.py +0 -0
  64. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/project_key_scopes.py +0 -0
  65. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/project_o_auth2_google_prompt.py +0 -0
  66. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/project_o_auth2_oidc_prompt.py +0 -0
  67. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/project_o_auth_provider_id.py +0 -0
  68. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/project_policy_id.py +0 -0
  69. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/project_protocol_id.py +0 -0
  70. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/project_service_id.py +0 -0
  71. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/project_smtp_secure.py +0 -0
  72. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/proxy_resource_type.py +0 -0
  73. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/proxy_rule_deployment_resource_type.py +0 -0
  74. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/proxy_rule_status.py +0 -0
  75. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/region.py +0 -0
  76. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/relation_mutate.py +0 -0
  77. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/relationship_type.py +0 -0
  78. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/runtime.py +0 -0
  79. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/smtp_encryption.py +0 -0
  80. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/status_code.py +0 -0
  81. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/tables_db_index_type.py +0 -0
  82. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/template_reference_type.py +0 -0
  83. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/timezone.py +0 -0
  84. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/enums/vcs_reference_type.py +0 -0
  85. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/exception.py +0 -0
  86. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/id.py +0 -0
  87. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/input_file.py +0 -0
  88. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/activity_event.py +0 -0
  89. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/activity_event_list.py +0 -0
  90. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/additional_resource.py +0 -0
  91. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/algo_argon2.py +0 -0
  92. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/algo_bcrypt.py +0 -0
  93. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/algo_md5.py +0 -0
  94. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/algo_phpass.py +0 -0
  95. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/algo_scrypt.py +0 -0
  96. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/algo_scrypt_modified.py +0 -0
  97. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/algo_sha.py +0 -0
  98. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/app_scope.py +0 -0
  99. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/app_scope_list.py +0 -0
  100. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/app_secret.py +0 -0
  101. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/app_secret_list.py +0 -0
  102. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/app_secret_plaintext.py +0 -0
  103. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/apps_list.py +0 -0
  104. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/attribute_bigint.py +0 -0
  105. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/attribute_boolean.py +0 -0
  106. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/attribute_datetime.py +0 -0
  107. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/attribute_email.py +0 -0
  108. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/attribute_enum.py +0 -0
  109. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/attribute_float.py +0 -0
  110. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/attribute_integer.py +0 -0
  111. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/attribute_ip.py +0 -0
  112. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/attribute_line.py +0 -0
  113. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/attribute_list.py +0 -0
  114. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/attribute_longtext.py +0 -0
  115. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/attribute_mediumtext.py +0 -0
  116. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/attribute_point.py +0 -0
  117. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/attribute_polygon.py +0 -0
  118. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/attribute_relationship.py +0 -0
  119. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/attribute_string.py +0 -0
  120. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/attribute_text.py +0 -0
  121. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/attribute_url.py +0 -0
  122. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/attribute_varchar.py +0 -0
  123. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/backup_archive.py +0 -0
  124. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/backup_archive_list.py +0 -0
  125. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/backup_policy.py +0 -0
  126. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/backup_policy_list.py +0 -0
  127. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/backup_restoration.py +0 -0
  128. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/backup_restoration_list.py +0 -0
  129. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/base_model.py +0 -0
  130. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/billing_limits.py +0 -0
  131. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/billing_plan.py +0 -0
  132. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/billing_plan_addon.py +0 -0
  133. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/billing_plan_addon_details.py +0 -0
  134. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/billing_plan_dedicated_database_limits.py +0 -0
  135. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/billing_plan_limits.py +0 -0
  136. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/billing_plan_supported_addons.py +0 -0
  137. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/block.py +0 -0
  138. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/bucket.py +0 -0
  139. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/bucket_list.py +0 -0
  140. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/collection.py +0 -0
  141. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/collection_list.py +0 -0
  142. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/column_bigint.py +0 -0
  143. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/column_boolean.py +0 -0
  144. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/column_datetime.py +0 -0
  145. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/column_email.py +0 -0
  146. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/column_enum.py +0 -0
  147. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/column_float.py +0 -0
  148. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/column_index.py +0 -0
  149. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/column_index_list.py +0 -0
  150. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/column_integer.py +0 -0
  151. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/column_ip.py +0 -0
  152. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/column_line.py +0 -0
  153. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/column_list.py +0 -0
  154. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/column_longtext.py +0 -0
  155. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/column_mediumtext.py +0 -0
  156. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/column_point.py +0 -0
  157. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/column_polygon.py +0 -0
  158. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/column_relationship.py +0 -0
  159. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/column_string.py +0 -0
  160. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/column_text.py +0 -0
  161. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/column_url.py +0 -0
  162. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/column_varchar.py +0 -0
  163. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/continent.py +0 -0
  164. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/continent_list.py +0 -0
  165. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/country.py +0 -0
  166. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/country_list.py +0 -0
  167. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/currency.py +0 -0
  168. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/currency_list.py +0 -0
  169. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/database_list.py +0 -0
  170. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/database_status.py +0 -0
  171. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/database_status_connections.py +0 -0
  172. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/database_status_replica.py +0 -0
  173. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/database_status_volume.py +0 -0
  174. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/dedicated_database.py +0 -0
  175. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/dedicated_database_member.py +0 -0
  176. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/dedicated_database_replicas.py +0 -0
  177. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/dedicated_database_specification.py +0 -0
  178. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/dedicated_database_specification_list.py +0 -0
  179. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/dedicated_database_specification_pricing.py +0 -0
  180. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/deployment.py +0 -0
  181. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/deployment_list.py +0 -0
  182. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/dev_key.py +0 -0
  183. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/document.py +0 -0
  184. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/document_list.py +0 -0
  185. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/email_template.py +0 -0
  186. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/email_template_list.py +0 -0
  187. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/ephemeral_key.py +0 -0
  188. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/execution.py +0 -0
  189. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/execution_list.py +0 -0
  190. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/file.py +0 -0
  191. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/file_list.py +0 -0
  192. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/framework.py +0 -0
  193. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/framework_adapter.py +0 -0
  194. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/framework_list.py +0 -0
  195. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/function.py +0 -0
  196. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/function_list.py +0 -0
  197. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/headers.py +0 -0
  198. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/identity.py +0 -0
  199. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/identity_list.py +0 -0
  200. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/index.py +0 -0
  201. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/index_list.py +0 -0
  202. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/insight.py +0 -0
  203. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/insight_cta.py +0 -0
  204. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/insight_list.py +0 -0
  205. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/jwt.py +0 -0
  206. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/key.py +0 -0
  207. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/key_list.py +0 -0
  208. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/language.py +0 -0
  209. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/language_list.py +0 -0
  210. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/locale.py +0 -0
  211. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/locale_code.py +0 -0
  212. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/locale_code_list.py +0 -0
  213. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/log.py +0 -0
  214. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/log_list.py +0 -0
  215. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/membership.py +0 -0
  216. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/membership_list.py +0 -0
  217. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/message.py +0 -0
  218. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/message_list.py +0 -0
  219. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/mfa_challenge.py +0 -0
  220. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/mfa_factors.py +0 -0
  221. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/mfa_recovery_codes.py +0 -0
  222. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/mfa_type.py +0 -0
  223. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/mock_number.py +0 -0
  224. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/mock_number_list.py +0 -0
  225. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_amazon.py +0 -0
  226. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_apple.py +0 -0
  227. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_appwrite.py +0 -0
  228. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_auth0.py +0 -0
  229. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_authentik.py +0 -0
  230. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_autodesk.py +0 -0
  231. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_bitbucket.py +0 -0
  232. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_bitly.py +0 -0
  233. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_box.py +0 -0
  234. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_dailymotion.py +0 -0
  235. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_discord.py +0 -0
  236. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_disqus.py +0 -0
  237. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_dropbox.py +0 -0
  238. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_etsy.py +0 -0
  239. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_facebook.py +0 -0
  240. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_figma.py +0 -0
  241. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_fusion_auth.py +0 -0
  242. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_github.py +0 -0
  243. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_gitlab.py +0 -0
  244. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_google.py +0 -0
  245. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_keycloak.py +0 -0
  246. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_kick.py +0 -0
  247. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_linkedin.py +0 -0
  248. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_microsoft.py +0 -0
  249. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_notion.py +0 -0
  250. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_oidc.py +0 -0
  251. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_okta.py +0 -0
  252. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_paypal.py +0 -0
  253. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_podio.py +0 -0
  254. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_provider_list.py +0 -0
  255. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_salesforce.py +0 -0
  256. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_slack.py +0 -0
  257. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_spotify.py +0 -0
  258. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_stripe.py +0 -0
  259. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_tradeshift.py +0 -0
  260. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_twitch.py +0 -0
  261. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_word_press.py +0 -0
  262. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_x.py +0 -0
  263. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_yahoo.py +0 -0
  264. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_yandex.py +0 -0
  265. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_zoho.py +0 -0
  266. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/o_auth2_zoom.py +0 -0
  267. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/oauth2_approve.py +0 -0
  268. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/oauth2_authorize.py +0 -0
  269. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/oauth2_consent.py +0 -0
  270. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/oauth2_consent_list.py +0 -0
  271. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/oauth2_consent_token.py +0 -0
  272. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/oauth2_consent_token_list.py +0 -0
  273. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/oauth2_device_authorization.py +0 -0
  274. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/oauth2_grant.py +0 -0
  275. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/oauth2_organization.py +0 -0
  276. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/oauth2_organization_list.py +0 -0
  277. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/oauth2_par.py +0 -0
  278. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/oauth2_project.py +0 -0
  279. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/oauth2_project_list.py +0 -0
  280. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/oauth2_reject.py +0 -0
  281. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/oauth2_token.py +0 -0
  282. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/organization.py +0 -0
  283. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/phone.py +0 -0
  284. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/phone_list.py +0 -0
  285. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/platform_android.py +0 -0
  286. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/platform_apple.py +0 -0
  287. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/platform_linux.py +0 -0
  288. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/platform_list.py +0 -0
  289. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/platform_web.py +0 -0
  290. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/platform_windows.py +0 -0
  291. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/policy_deny_aliased_email.py +0 -0
  292. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/policy_deny_corporate_email.py +0 -0
  293. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/policy_deny_disposable_email.py +0 -0
  294. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/policy_deny_free_email.py +0 -0
  295. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/policy_list.py +0 -0
  296. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/policy_membership_privacy.py +0 -0
  297. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/policy_password_dictionary.py +0 -0
  298. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/policy_password_history.py +0 -0
  299. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/policy_password_personal_data.py +0 -0
  300. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/policy_password_strength.py +0 -0
  301. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/policy_session_alert.py +0 -0
  302. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/policy_session_duration.py +0 -0
  303. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/policy_session_invalidation.py +0 -0
  304. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/policy_session_limit.py +0 -0
  305. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/policy_user_limit.py +0 -0
  306. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/preferences.py +0 -0
  307. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/presence.py +0 -0
  308. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/presence_list.py +0 -0
  309. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/program.py +0 -0
  310. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/project_auth_method.py +0 -0
  311. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/project_list.py +0 -0
  312. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/project_protocol.py +0 -0
  313. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/project_service.py +0 -0
  314. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/provider.py +0 -0
  315. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/provider_list.py +0 -0
  316. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/proxy_rule.py +0 -0
  317. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/proxy_rule_list.py +0 -0
  318. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/report.py +0 -0
  319. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/report_list.py +0 -0
  320. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/resource_token.py +0 -0
  321. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/resource_token_list.py +0 -0
  322. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/row.py +0 -0
  323. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/row_list.py +0 -0
  324. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/runtime.py +0 -0
  325. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/runtime_list.py +0 -0
  326. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/session.py +0 -0
  327. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/session_list.py +0 -0
  328. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/site.py +0 -0
  329. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/site_list.py +0 -0
  330. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/specification.py +0 -0
  331. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/specification_list.py +0 -0
  332. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/subscriber.py +0 -0
  333. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/subscriber_list.py +0 -0
  334. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/table.py +0 -0
  335. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/table_list.py +0 -0
  336. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/target.py +0 -0
  337. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/target_list.py +0 -0
  338. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/team.py +0 -0
  339. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/team_list.py +0 -0
  340. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/token.py +0 -0
  341. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/topic.py +0 -0
  342. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/topic_list.py +0 -0
  343. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/transaction.py +0 -0
  344. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/transaction_list.py +0 -0
  345. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/usage_billing_plan.py +0 -0
  346. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/user.py +0 -0
  347. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/user_list.py +0 -0
  348. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/variable.py +0 -0
  349. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/variable_list.py +0 -0
  350. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/webhook.py +0 -0
  351. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/models/webhook_list.py +0 -0
  352. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/operator.py +0 -0
  353. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/permission.py +0 -0
  354. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/query.py +0 -0
  355. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/role.py +0 -0
  356. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/service.py +0 -0
  357. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/services/__init__.py +0 -0
  358. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/services/account.py +0 -0
  359. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/services/activities.py +0 -0
  360. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/services/advisor.py +0 -0
  361. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/services/avatars.py +0 -0
  362. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/services/backups.py +0 -0
  363. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/services/databases.py +0 -0
  364. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/services/functions.py +0 -0
  365. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/services/graphql.py +0 -0
  366. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/services/locale.py +0 -0
  367. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/services/messaging.py +0 -0
  368. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/services/oauth2.py +0 -0
  369. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/services/presences.py +0 -0
  370. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/services/proxy.py +0 -0
  371. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/services/sites.py +0 -0
  372. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/services/storage.py +0 -0
  373. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/services/tables_db.py +0 -0
  374. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/services/tokens.py +0 -0
  375. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/services/users.py +0 -0
  376. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/services/webhooks.py +0 -0
  377. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/utils/__init__.py +0 -0
  378. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite/utils/deprecated.py +0 -0
  379. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite.egg-info/dependency_links.txt +0 -0
  380. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite.egg-info/requires.txt +0 -0
  381. {appwrite-22.1.0 → appwrite-22.2.0}/appwrite.egg-info/top_level.txt +0 -0
  382. {appwrite-22.1.0 → appwrite-22.2.0}/setup.cfg +0 -0
  383. {appwrite-22.1.0 → appwrite-22.2.0}/test/test_id.py +0 -0
  384. {appwrite-22.1.0 → appwrite-22.2.0}/test/test_operator.py +0 -0
  385. {appwrite-22.1.0 → appwrite-22.2.0}/test/test_permission.py +0 -0
  386. {appwrite-22.1.0 → appwrite-22.2.0}/test/test_query.py +0 -0
  387. {appwrite-22.1.0 → appwrite-22.2.0}/test/test_role.py +0 -0
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: appwrite
3
- Version: 22.1.0
3
+ Version: 22.2.0
4
4
  Summary: Appwrite is an open-source self-hosted backend server that abstracts and simplifies complex and repetitive development tasks behind a very simple REST API
5
5
  Home-page: https://appwrite.io/support
6
- Download-URL: https://github.com/appwrite/sdk-for-python/archive/22.1.0.tar.gz
6
+ Download-URL: https://github.com/appwrite/sdk-for-python/archive/22.2.0.tar.gz
7
7
  Author: Appwrite Team
8
8
  Author-email: Appwrite Team <team@appwrite.io>
9
9
  Maintainer: Appwrite Team
@@ -17,11 +17,11 @@ class Client:
17
17
  self._endpoint = 'https://cloud.appwrite.io/v1'
18
18
  self._global_headers = {
19
19
  'content-type': '',
20
- 'user-agent' : f'AppwritePythonSDK/22.1.0 ({platform.uname().system}; {platform.uname().version}; {platform.uname().machine})',
20
+ 'user-agent' : f'AppwritePythonSDK/22.2.0 ({platform.uname().system}; {platform.uname().version}; {platform.uname().machine})',
21
21
  'x-sdk-name': 'Python',
22
22
  'x-sdk-platform': 'server',
23
23
  'x-sdk-language': 'python',
24
- 'x-sdk-version': '22.1.0',
24
+ 'x-sdk-version': '22.2.0',
25
25
  'X-Appwrite-Response-Format' : '1.9.5',
26
26
  }
27
27
  self._config = {}
@@ -7,6 +7,8 @@ class OrganizationKeyScopes(Enum):
7
7
  DEVKEYS_WRITE = "devKeys.write"
8
8
  ORGANIZATION_KEYS_READ = "organization.keys.read"
9
9
  ORGANIZATION_KEYS_WRITE = "organization.keys.write"
10
+ ORGANIZATION_INSTALLATIONS_READ = "organization.installations.read"
11
+ ORGANIZATION_INSTALLATIONS_WRITE = "organization.installations.write"
10
12
  ORGANIZATION_MEMBERSHIPS_READ = "organization.memberships.read"
11
13
  ORGANIZATION_MEMBERSHIPS_WRITE = "organization.memberships.write"
12
14
  ORGANIZATION_READ = "organization.read"
@@ -243,6 +243,8 @@ from .app import App
243
243
  from .app_secret import AppSecret
244
244
  from .app_secret_plaintext import AppSecretPlaintext
245
245
  from .app_scope import AppScope
246
+ from .app_installation import AppInstallation
247
+ from .app_key import AppKey
246
248
  from .oauth2_authorize import Oauth2Authorize
247
249
  from .oauth2_approve import Oauth2Approve
248
250
  from .oauth2_reject import Oauth2Reject
@@ -265,6 +267,8 @@ from .backup_restoration_list import BackupRestorationList
265
267
  from .apps_list import AppsList
266
268
  from .app_secret_list import AppSecretList
267
269
  from .app_scope_list import AppScopeList
270
+ from .app_installation_list import AppInstallationList
271
+ from .app_key_list import AppKeyList
268
272
 
269
273
  __all__ = [
270
274
  'AppwriteModel',
@@ -512,6 +516,8 @@ __all__ = [
512
516
  'AppSecret',
513
517
  'AppSecretPlaintext',
514
518
  'AppScope',
519
+ 'AppInstallation',
520
+ 'AppKey',
515
521
  'Oauth2Authorize',
516
522
  'Oauth2Approve',
517
523
  'Oauth2Reject',
@@ -534,4 +540,6 @@ __all__ = [
534
540
  'AppsList',
535
541
  'AppSecretList',
536
542
  'AppScopeList',
543
+ 'AppInstallationList',
544
+ 'AppKeyList',
537
545
  ]
@@ -56,6 +56,10 @@ class App(AppwriteModel):
56
56
  ID of team that owns the application, if owned by team. Otherwise, user ID will be used.
57
57
  userid : str
58
58
  ID of user who owns the application, if owned by user. Otherwise, team ID will be used.
59
+ installationscopes : List[Any]
60
+ Scopes the application requests when installed on a team. Organization-level and project-level scopes only.
61
+ installationredirecturl : str
62
+ URL users are redirected to after creating or updating an installation of this application. Empty for no redirect.
59
63
  secrets : List[AppSecret]
60
64
  List of application secrets.
61
65
  """
@@ -82,4 +86,6 @@ class App(AppwriteModel):
82
86
  deviceflow: bool = Field(..., alias='deviceFlow')
83
87
  teamid: str = Field(..., alias='teamId')
84
88
  userid: str = Field(..., alias='userId')
89
+ installationscopes: List[Any] = Field(..., alias='installationScopes')
90
+ installationredirecturl: str = Field(..., alias='installationRedirectUrl')
85
91
  secrets: List[AppSecret] = Field(..., alias='secrets')
@@ -0,0 +1,42 @@
1
+ from typing import Any, Dict, List, Optional, Union, cast
2
+ from pydantic import Field, PrivateAttr
3
+
4
+ from .base_model import AppwriteModel
5
+
6
+ class AppInstallation(AppwriteModel):
7
+ """
8
+ AppInstallation
9
+
10
+ Attributes
11
+ ----------
12
+ id : str
13
+ Installation ID.
14
+ createdat : str
15
+ Installation creation time in ISO 8601 format.
16
+ updatedat : str
17
+ Installation update time in ISO 8601 format.
18
+ appid : str
19
+ ID of the installed application.
20
+ teamid : str
21
+ ID of the team the application is installed on.
22
+ scopes : List[Any]
23
+ Scopes granted to the application. Snapshot of the application&#039;s installation scopes taken when the installation was created or last updated.
24
+ authorizationdetails : Dict[str, Any]
25
+ Authorization details granted to the application. Rich authorization request (RFC 9396) style entries; the Appwrite Console stores authorized project IDs here.
26
+ createdbyid : str
27
+ ID of the user who created the installation.
28
+ createdbyname : str
29
+ Name of the user who created the installation.
30
+ lastaccessedat : Optional[str]
31
+ Time an access token was last issued for the installation in ISO 8601 format. Null if never used.
32
+ """
33
+ id: str = Field(..., alias='$id')
34
+ createdat: str = Field(..., alias='$createdAt')
35
+ updatedat: str = Field(..., alias='$updatedAt')
36
+ appid: str = Field(..., alias='appId')
37
+ teamid: str = Field(..., alias='teamId')
38
+ scopes: List[Any] = Field(..., alias='scopes')
39
+ authorizationdetails: Dict[str, Any] = Field(..., alias='authorizationDetails')
40
+ createdbyid: str = Field(..., alias='createdById')
41
+ createdbyname: str = Field(..., alias='createdByName')
42
+ lastaccessedat: Optional[str] = Field(default=None, alias='lastAccessedAt')
@@ -0,0 +1,19 @@
1
+ from typing import Any, Dict, List, Optional, Union, cast
2
+ from pydantic import Field, PrivateAttr
3
+
4
+ from .base_model import AppwriteModel
5
+ from .app_installation import AppInstallation
6
+
7
+ class AppInstallationList(AppwriteModel):
8
+ """
9
+ App installations list
10
+
11
+ Attributes
12
+ ----------
13
+ total : float
14
+ Total number of installations that matched your query.
15
+ installations : List[AppInstallation]
16
+ List of installations.
17
+ """
18
+ total: float = Field(..., alias='total')
19
+ installations: List[AppInstallation] = Field(..., alias='installations')
@@ -0,0 +1,39 @@
1
+ from typing import Any, Dict, List, Optional, Union, cast
2
+ from pydantic import Field, PrivateAttr
3
+
4
+ from .base_model import AppwriteModel
5
+
6
+ class AppKey(AppwriteModel):
7
+ """
8
+ AppKey
9
+
10
+ Attributes
11
+ ----------
12
+ id : str
13
+ App key ID.
14
+ createdat : str
15
+ App key creation time in ISO 8601 format.
16
+ updatedat : str
17
+ App key update time in ISO 8601 format.
18
+ appid : str
19
+ Application ID this app key belongs to.
20
+ secret : str
21
+ App key secret.
22
+ hint : str
23
+ Last few characters of the app key secret, used to help identify it.
24
+ createdbyid : str
25
+ ID of the user who created the app key.
26
+ createdbyname : str
27
+ Name of the user who created the app key.
28
+ lastaccessedat : Optional[str]
29
+ Time the app key was last used for authentication in ISO 8601 format. Null if never used.
30
+ """
31
+ id: str = Field(..., alias='$id')
32
+ createdat: str = Field(..., alias='$createdAt')
33
+ updatedat: str = Field(..., alias='$updatedAt')
34
+ appid: str = Field(..., alias='appId')
35
+ secret: str = Field(..., alias='secret')
36
+ hint: str = Field(..., alias='hint')
37
+ createdbyid: str = Field(..., alias='createdById')
38
+ createdbyname: str = Field(..., alias='createdByName')
39
+ lastaccessedat: Optional[str] = Field(default=None, alias='lastAccessedAt')
@@ -0,0 +1,19 @@
1
+ from typing import Any, Dict, List, Optional, Union, cast
2
+ from pydantic import Field, PrivateAttr
3
+
4
+ from .base_model import AppwriteModel
5
+ from .app_key import AppKey
6
+
7
+ class AppKeyList(AppwriteModel):
8
+ """
9
+ App keys list
10
+
11
+ Attributes
12
+ ----------
13
+ total : float
14
+ Total number of keys that matched your query.
15
+ keys : List[AppKey]
16
+ List of keys.
17
+ """
18
+ total: float = Field(..., alias='total')
19
+ keys: List[AppKey] = Field(..., alias='keys')
@@ -27,6 +27,10 @@ class Database(AppwriteModel):
27
27
  Database type.
28
28
  status : Optional[DatabaseStatus]
29
29
  Dedicated database lifecycle status. Null when the database has no valid dedicated backing.
30
+ engine : Optional[str]
31
+ Underlying engine of the dedicated backing: postgresql, mysql, mariadb, or mongodb. A managed product (tablesdb, documentsdb, vectorsdb) reports the engine it runs on, so its type and engine can differ. Null when the database has no dedicated backing.
32
+ specification : Optional[str]
33
+ Compute specification identifier of the dedicated backing, e.g. s-2vcpu-2gb. Null when the database has no dedicated backing.
30
34
  replicas : Optional[float]
31
35
  Number of secondary high availability replicas, excluding the primary. Null when backing configuration is unavailable.
32
36
  policies : Optional[List[BackupPolicy]]
@@ -41,6 +45,8 @@ class Database(AppwriteModel):
41
45
  enabled: bool = Field(..., alias='enabled')
42
46
  type: DatabaseType = Field(..., alias='type')
43
47
  status: Optional[DatabaseStatus] = Field(default=None, alias='status')
48
+ engine: Optional[str] = Field(default=None, alias='engine')
49
+ specification: Optional[str] = Field(default=None, alias='specification')
44
50
  replicas: Optional[float] = Field(default=None, alias='replicas')
45
51
  policies: Optional[List[BackupPolicy]] = Field(default=None, alias='policies')
46
52
  archives: Optional[List[BackupArchive]] = Field(default=None, alias='archives')
@@ -91,6 +91,8 @@ class Project(AppwriteModel):
91
91
  OAuth2 server access token duration in seconds for public clients (SPAs, mobile, native)
92
92
  oauth2serverpublicrefreshtokenduration : Optional[float]
93
93
  OAuth2 server refresh token duration in seconds for public clients (SPAs, mobile, native)
94
+ oauth2serverinstallationaccesstokenduration : Optional[float]
95
+ OAuth2 server access token duration in seconds for app installation access tokens
94
96
  oauth2serverconfidentialpkce : Optional[bool]
95
97
  When enabled, PKCE is required for confidential clients (server-side flows using client_secret). PKCE is always required for public clients regardless of this setting.
96
98
  oauth2serververificationurl : Optional[str]
@@ -142,6 +144,7 @@ class Project(AppwriteModel):
142
144
  oauth2serverrefreshtokenduration: Optional[float] = Field(default=None, alias='oAuth2ServerRefreshTokenDuration')
143
145
  oauth2serverpublicaccesstokenduration: Optional[float] = Field(default=None, alias='oAuth2ServerPublicAccessTokenDuration')
144
146
  oauth2serverpublicrefreshtokenduration: Optional[float] = Field(default=None, alias='oAuth2ServerPublicRefreshTokenDuration')
147
+ oauth2serverinstallationaccesstokenduration: Optional[float] = Field(default=None, alias='oAuth2ServerInstallationAccessTokenDuration')
145
148
  oauth2serverconfidentialpkce: Optional[bool] = Field(default=None, alias='oAuth2ServerConfidentialPkce')
146
149
  oauth2serververificationurl: Optional[str] = Field(default=None, alias='oAuth2ServerVerificationUrl')
147
150
  oauth2serverusercodelength: Optional[float] = Field(default=None, alias='oAuth2ServerUserCodeLength')
@@ -6,6 +6,11 @@ from appwrite.utils.deprecated import deprecated
6
6
  from ..models.apps_list import AppsList
7
7
  from ..models.app import App
8
8
  from ..models.app_scope_list import AppScopeList
9
+ from ..models.app_installation_list import AppInstallationList
10
+ from ..models.app_installation import AppInstallation
11
+ from ..models.oauth2_token import Oauth2Token
12
+ from ..models.app_key_list import AppKeyList
13
+ from ..models.app_key import AppKey
9
14
  from ..models.app_secret_list import AppSecretList
10
15
  from ..models.app_secret_plaintext import AppSecretPlaintext
11
16
  from ..models.app_secret import AppSecret
@@ -191,6 +196,34 @@ class Apps(Service):
191
196
  return self._parse_response(response, model=App)
192
197
 
193
198
 
199
+ def list_installation_scopes(
200
+ self
201
+ ) -> AppScopeList:
202
+ """
203
+ List scopes an application can request when installed on a team.
204
+
205
+ Returns
206
+ -------
207
+ AppScopeList
208
+ API response as a typed Pydantic model
209
+
210
+ Raises
211
+ ------
212
+ AppwriteException
213
+ If API request fails
214
+ """
215
+
216
+ api_path = '/apps/scopes/installations'
217
+ api_params = {}
218
+
219
+ response = self.client.call('get', api_path, {
220
+ 'X-Appwrite-Project': self.client.get_config('project'),
221
+ 'accept': 'application/json',
222
+ }, api_params)
223
+
224
+ return self._parse_response(response, model=AppScopeList)
225
+
226
+
194
227
  def list_o_auth2_scopes(
195
228
  self
196
229
  ) -> AppScopeList:
@@ -277,7 +310,9 @@ class Apps(Service):
277
310
  redirect_uris: Optional[List[str]] = None,
278
311
  post_logout_redirect_uris: Optional[List[str]] = None,
279
312
  type: Optional[str] = None,
280
- device_flow: Optional[bool] = None
313
+ device_flow: Optional[bool] = None,
314
+ installation_scopes: Optional[List[str]] = None,
315
+ installation_redirect_url: Optional[str] = None
281
316
  ) -> App:
282
317
  """
283
318
  Update an application by its unique ID.
@@ -320,6 +355,10 @@ class Apps(Service):
320
355
  OAuth2 client type. Use `public` for SPAs, mobile, and native apps that cannot keep a `client_secret` — PKCE is then required at the token endpoint. Use `confidential` for server-side clients that present a `client_secret`. Defaults to `confidential`.
321
356
  device_flow : Optional[bool]
322
357
  Allow this client to use the OAuth2 Device Authorization Grant (RFC 8628) for input-constrained devices such as TVs and CLIs. Defaults to false.
358
+ installation_scopes : Optional[List[str]]
359
+ Scopes the application requests when installed on a team. Organization-level and project-level scopes only; use the list scopes endpoint with `type=installation` to discover available values. Maximum of 100 scopes are allowed.
360
+ installation_redirect_url : Optional[str]
361
+ URL users are redirected to after creating or updating an installation of this application. Must be an https URL, an http loopback URL (localhost, 127.0.0.1, [::1]), or a private-use scheme URI, and must not contain a fragment. Leave empty for no redirect.
323
362
 
324
363
  Returns
325
364
  -------
@@ -375,6 +414,10 @@ class Apps(Service):
375
414
  api_params['type'] = self._normalize_value(type)
376
415
  if device_flow is not None:
377
416
  api_params['deviceFlow'] = self._normalize_value(device_flow)
417
+ if installation_scopes is not None:
418
+ api_params['installationScopes'] = self._normalize_value(installation_scopes)
419
+ if installation_redirect_url is not None:
420
+ api_params['installationRedirectUrl'] = self._normalize_value(installation_redirect_url)
378
421
 
379
422
  response = self.client.call('put', api_path, {
380
423
  'X-Appwrite-Project': self.client.get_config('project'),
@@ -425,6 +468,330 @@ class Apps(Service):
425
468
  return response
426
469
 
427
470
 
471
+ def list_installations(
472
+ self,
473
+ app_id: str,
474
+ queries: Optional[List[str]] = None,
475
+ total: Optional[bool] = None
476
+ ) -> AppInstallationList:
477
+ """
478
+ List installations of an application. Requires an app key sent in the `X-Appwrite-Key` header alongside the `X-Appwrite-App` header.
479
+
480
+ Parameters
481
+ ----------
482
+ app_id : str
483
+ Application unique ID.
484
+ queries : Optional[List[str]]
485
+ 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.
486
+ total : Optional[bool]
487
+ When set to false, the total count returned will be 0 and will not be calculated.
488
+
489
+ Returns
490
+ -------
491
+ AppInstallationList
492
+ API response as a typed Pydantic model
493
+
494
+ Raises
495
+ ------
496
+ AppwriteException
497
+ If API request fails
498
+ """
499
+
500
+ api_path = '/apps/{appId}/installations'
501
+ api_params = {}
502
+ if app_id is None:
503
+ raise AppwriteException('Missing required parameter: "app_id"')
504
+
505
+ api_path = api_path.replace('{appId}', str(self._normalize_value(app_id)))
506
+
507
+ if queries is not None:
508
+ api_params['queries'] = self._normalize_value(queries)
509
+ if total is not None:
510
+ api_params['total'] = self._normalize_value(total)
511
+
512
+ response = self.client.call('get', api_path, {
513
+ 'X-Appwrite-Project': self.client.get_config('project'),
514
+ 'accept': 'application/json',
515
+ }, api_params)
516
+
517
+ return self._parse_response(response, model=AppInstallationList)
518
+
519
+
520
+ def get_installation(
521
+ self,
522
+ app_id: str,
523
+ installation_id: str
524
+ ) -> AppInstallation:
525
+ """
526
+ Get an installation of an application by its unique ID. Requires an app key sent in the `X-Appwrite-Key` header alongside the `X-Appwrite-App` header.
527
+
528
+ Parameters
529
+ ----------
530
+ app_id : str
531
+ Application unique ID.
532
+ installation_id : str
533
+ Installation unique ID.
534
+
535
+ Returns
536
+ -------
537
+ AppInstallation
538
+ API response as a typed Pydantic model
539
+
540
+ Raises
541
+ ------
542
+ AppwriteException
543
+ If API request fails
544
+ """
545
+
546
+ api_path = '/apps/{appId}/installations/{installationId}'
547
+ api_params = {}
548
+ if app_id is None:
549
+ raise AppwriteException('Missing required parameter: "app_id"')
550
+
551
+ if installation_id is None:
552
+ raise AppwriteException('Missing required parameter: "installation_id"')
553
+
554
+ api_path = api_path.replace('{appId}', str(self._normalize_value(app_id)))
555
+ api_path = api_path.replace('{installationId}', str(self._normalize_value(installation_id)))
556
+
557
+
558
+ response = self.client.call('get', api_path, {
559
+ 'X-Appwrite-Project': self.client.get_config('project'),
560
+ 'accept': 'application/json',
561
+ }, api_params)
562
+
563
+ return self._parse_response(response, model=AppInstallation)
564
+
565
+
566
+ def create_installation_token(
567
+ self,
568
+ app_id: str,
569
+ installation_id: str
570
+ ) -> Oauth2Token:
571
+ """
572
+ Create a token for an installation of an application. Requires an app key sent in the `X-Appwrite-Key` header alongside the `X-Appwrite-App` header. The returned token carries the scopes and authorization details granted to the installation, and can be used as an `Authorization: Bearer` header everywhere OAuth2 access tokens are accepted. Multiple tokens can be active for the same installation at once; each token stays valid until it expires or the installation is updated or deleted.
573
+
574
+ Parameters
575
+ ----------
576
+ app_id : str
577
+ Application unique ID.
578
+ installation_id : str
579
+ Installation unique ID.
580
+
581
+ Returns
582
+ -------
583
+ Oauth2Token
584
+ API response as a typed Pydantic model
585
+
586
+ Raises
587
+ ------
588
+ AppwriteException
589
+ If API request fails
590
+ """
591
+
592
+ api_path = '/apps/{appId}/installations/{installationId}/tokens'
593
+ api_params = {}
594
+ if app_id is None:
595
+ raise AppwriteException('Missing required parameter: "app_id"')
596
+
597
+ if installation_id is None:
598
+ raise AppwriteException('Missing required parameter: "installation_id"')
599
+
600
+ api_path = api_path.replace('{appId}', str(self._normalize_value(app_id)))
601
+ api_path = api_path.replace('{installationId}', str(self._normalize_value(installation_id)))
602
+
603
+
604
+ response = self.client.call('post', api_path, {
605
+ 'X-Appwrite-Project': self.client.get_config('project'),
606
+ 'content-type': 'application/json',
607
+ 'accept': 'application/json',
608
+ }, api_params)
609
+
610
+ return self._parse_response(response, model=Oauth2Token)
611
+
612
+
613
+ def list_keys(
614
+ self,
615
+ app_id: str,
616
+ queries: Optional[List[str]] = None,
617
+ total: Optional[bool] = None
618
+ ) -> AppKeyList:
619
+ """
620
+ List app keys for an application.
621
+
622
+ Parameters
623
+ ----------
624
+ app_id : str
625
+ Application unique ID.
626
+ queries : Optional[List[str]]
627
+ 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.
628
+ total : Optional[bool]
629
+ When set to false, the total count returned will be 0 and will not be calculated.
630
+
631
+ Returns
632
+ -------
633
+ AppKeyList
634
+ API response as a typed Pydantic model
635
+
636
+ Raises
637
+ ------
638
+ AppwriteException
639
+ If API request fails
640
+ """
641
+
642
+ api_path = '/apps/{appId}/keys'
643
+ api_params = {}
644
+ if app_id is None:
645
+ raise AppwriteException('Missing required parameter: "app_id"')
646
+
647
+ api_path = api_path.replace('{appId}', str(self._normalize_value(app_id)))
648
+
649
+ if queries is not None:
650
+ api_params['queries'] = self._normalize_value(queries)
651
+ if total is not None:
652
+ api_params['total'] = self._normalize_value(total)
653
+
654
+ response = self.client.call('get', api_path, {
655
+ 'X-Appwrite-Project': self.client.get_config('project'),
656
+ 'accept': 'application/json',
657
+ }, api_params)
658
+
659
+ return self._parse_response(response, model=AppKeyList)
660
+
661
+
662
+ def create_key(
663
+ self,
664
+ app_id: str
665
+ ) -> AppKey:
666
+ """
667
+ Create a new app key for an application. App keys carry no scopes; send one in the `X-Appwrite-Key` header alongside the `X-Appwrite-App` header to list the application's installations and create installation access tokens.
668
+
669
+ Parameters
670
+ ----------
671
+ app_id : str
672
+ Application unique ID.
673
+
674
+ Returns
675
+ -------
676
+ AppKey
677
+ API response as a typed Pydantic model
678
+
679
+ Raises
680
+ ------
681
+ AppwriteException
682
+ If API request fails
683
+ """
684
+
685
+ api_path = '/apps/{appId}/keys'
686
+ api_params = {}
687
+ if app_id is None:
688
+ raise AppwriteException('Missing required parameter: "app_id"')
689
+
690
+ api_path = api_path.replace('{appId}', str(self._normalize_value(app_id)))
691
+
692
+
693
+ response = self.client.call('post', api_path, {
694
+ 'X-Appwrite-Project': self.client.get_config('project'),
695
+ 'content-type': 'application/json',
696
+ 'accept': 'application/json',
697
+ }, api_params)
698
+
699
+ return self._parse_response(response, model=AppKey)
700
+
701
+
702
+ def get_key(
703
+ self,
704
+ app_id: str,
705
+ key_id: str
706
+ ) -> AppKey:
707
+ """
708
+ Get an app key by its unique ID.
709
+
710
+ Parameters
711
+ ----------
712
+ app_id : str
713
+ Application unique ID.
714
+ key_id : str
715
+ App key unique ID.
716
+
717
+ Returns
718
+ -------
719
+ AppKey
720
+ API response as a typed Pydantic model
721
+
722
+ Raises
723
+ ------
724
+ AppwriteException
725
+ If API request fails
726
+ """
727
+
728
+ api_path = '/apps/{appId}/keys/{keyId}'
729
+ api_params = {}
730
+ if app_id is None:
731
+ raise AppwriteException('Missing required parameter: "app_id"')
732
+
733
+ if key_id is None:
734
+ raise AppwriteException('Missing required parameter: "key_id"')
735
+
736
+ api_path = api_path.replace('{appId}', str(self._normalize_value(app_id)))
737
+ api_path = api_path.replace('{keyId}', str(self._normalize_value(key_id)))
738
+
739
+
740
+ response = self.client.call('get', api_path, {
741
+ 'X-Appwrite-Project': self.client.get_config('project'),
742
+ 'accept': 'application/json',
743
+ }, api_params)
744
+
745
+ return self._parse_response(response, model=AppKey)
746
+
747
+
748
+ def delete_key(
749
+ self,
750
+ app_id: str,
751
+ key_id: str
752
+ ) -> Dict[str, Any]:
753
+ """
754
+ Delete an app key by its unique ID.
755
+
756
+ Parameters
757
+ ----------
758
+ app_id : str
759
+ Application unique ID.
760
+ key_id : str
761
+ App key unique ID.
762
+
763
+ Returns
764
+ -------
765
+ Dict[str, Any]
766
+ API response as a dictionary
767
+
768
+ Raises
769
+ ------
770
+ AppwriteException
771
+ If API request fails
772
+ """
773
+
774
+ api_path = '/apps/{appId}/keys/{keyId}'
775
+ api_params = {}
776
+ if app_id is None:
777
+ raise AppwriteException('Missing required parameter: "app_id"')
778
+
779
+ if key_id is None:
780
+ raise AppwriteException('Missing required parameter: "key_id"')
781
+
782
+ api_path = api_path.replace('{appId}', str(self._normalize_value(app_id)))
783
+ api_path = api_path.replace('{keyId}', str(self._normalize_value(key_id)))
784
+
785
+
786
+ response = self.client.call('delete', api_path, {
787
+ 'X-Appwrite-Project': self.client.get_config('project'),
788
+ 'content-type': 'application/json',
789
+ 'accept': 'application/json',
790
+ }, api_params)
791
+
792
+ return response
793
+
794
+
428
795
  def update_labels(
429
796
  self,
430
797
  app_id: str,