appwrite 20.0.0__tar.gz → 21.0.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 (367) hide show
  1. {appwrite-20.0.0 → appwrite-21.0.0}/PKG-INFO +2 -2
  2. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/client.py +20 -6
  3. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/project_key_scopes.py +3 -0
  4. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/project_policy_id.py +2 -0
  5. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/project_service_id.py +1 -0
  6. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/__init__.py +34 -8
  7. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/activity_event.py +0 -36
  8. appwrite-21.0.0/appwrite/models/app.py +82 -0
  9. appwrite-21.0.0/appwrite/models/app_secret.py +39 -0
  10. appwrite-21.0.0/appwrite/models/app_secret_list.py +19 -0
  11. appwrite-21.0.0/appwrite/models/app_secret_plaintext.py +39 -0
  12. appwrite-21.0.0/appwrite/models/apps_list.py +19 -0
  13. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/backup_policy.py +3 -0
  14. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/membership.py +3 -0
  15. appwrite-21.0.0/appwrite/models/oauth2_approve.py +15 -0
  16. appwrite-21.0.0/appwrite/models/oauth2_authorize.py +18 -0
  17. appwrite-21.0.0/appwrite/models/oauth2_device_authorization.py +30 -0
  18. appwrite-21.0.0/appwrite/models/oauth2_grant.py +45 -0
  19. appwrite-21.0.0/appwrite/models/oauth2_reject.py +15 -0
  20. appwrite-21.0.0/appwrite/models/oauth2_token.py +33 -0
  21. appwrite-21.0.0/appwrite/models/policy_deny_corporate_email.py +18 -0
  22. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/policy_list.py +4 -2
  23. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/policy_membership_privacy.py +3 -0
  24. appwrite-21.0.0/appwrite/models/policy_password_strength.py +30 -0
  25. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/project.py +49 -7
  26. appwrite-21.0.0/appwrite/models/usage_data_point.py +60 -0
  27. appwrite-21.0.0/appwrite/models/usage_event_list.py +19 -0
  28. appwrite-21.0.0/appwrite/models/usage_gauge_list.py +19 -0
  29. appwrite-21.0.0/appwrite/models/usage_metric.py +19 -0
  30. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/user.py +15 -0
  31. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/services/account.py +88 -1
  32. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/services/activities.py +5 -0
  33. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/services/advisor.py +10 -0
  34. appwrite-21.0.0/appwrite/services/apps.py +666 -0
  35. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/services/avatars.py +17 -0
  36. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/services/backups.py +25 -0
  37. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/services/databases.py +195 -14
  38. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/services/functions.py +49 -0
  39. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/services/graphql.py +5 -0
  40. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/services/health.py +78 -0
  41. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/services/locale.py +17 -0
  42. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/services/messaging.py +263 -0
  43. appwrite-21.0.0/appwrite/services/oauth2.py +453 -0
  44. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/services/organization.py +18 -0
  45. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/services/presences.py +10 -0
  46. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/services/project.py +442 -46
  47. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/services/proxy.py +16 -0
  48. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/services/sites.py +48 -0
  49. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/services/storage.py +25 -0
  50. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/services/tables_db.py +159 -15
  51. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/services/teams.py +25 -0
  52. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/services/tokens.py +10 -0
  53. appwrite-21.0.0/appwrite/services/usage.py +202 -0
  54. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/services/users.py +81 -0
  55. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/services/webhooks.py +12 -0
  56. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite.egg-info/PKG-INFO +2 -2
  57. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite.egg-info/SOURCES.txt +17 -2
  58. {appwrite-20.0.0 → appwrite-21.0.0}/pyproject.toml +1 -1
  59. {appwrite-20.0.0 → appwrite-21.0.0}/setup.py +2 -2
  60. appwrite-20.0.0/appwrite/models/usage_event.py +0 -42
  61. appwrite-20.0.0/appwrite/models/usage_event_list.py +0 -19
  62. appwrite-20.0.0/appwrite/models/usage_gauge.py +0 -27
  63. appwrite-20.0.0/appwrite/models/usage_gauge_list.py +0 -19
  64. appwrite-20.0.0/appwrite/services/usage.py +0 -91
  65. {appwrite-20.0.0 → appwrite-21.0.0}/LICENSE +0 -0
  66. {appwrite-20.0.0 → appwrite-21.0.0}/README.md +0 -0
  67. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/__init__.py +0 -0
  68. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/encoders/__init__.py +0 -0
  69. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/encoders/value_class_encoder.py +0 -0
  70. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/__init__.py +0 -0
  71. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/adapter.py +0 -0
  72. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/attribute_status.py +0 -0
  73. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/authentication_factor.py +0 -0
  74. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/authenticator_type.py +0 -0
  75. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/backup_services.py +0 -0
  76. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/browser.py +0 -0
  77. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/browser_permission.py +0 -0
  78. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/browser_theme.py +0 -0
  79. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/build_runtime.py +0 -0
  80. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/column_status.py +0 -0
  81. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/compression.py +0 -0
  82. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/credit_card.py +0 -0
  83. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/database_type.py +0 -0
  84. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/databases_index_type.py +0 -0
  85. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/deployment_download_type.py +0 -0
  86. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/deployment_status.py +0 -0
  87. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/execution_method.py +0 -0
  88. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/execution_status.py +0 -0
  89. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/execution_trigger.py +0 -0
  90. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/flag.py +0 -0
  91. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/framework.py +0 -0
  92. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/health_antivirus_status.py +0 -0
  93. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/health_check_status.py +0 -0
  94. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/health_queue_name.py +0 -0
  95. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/image_format.py +0 -0
  96. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/image_gravity.py +0 -0
  97. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/index_status.py +0 -0
  98. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/message_priority.py +0 -0
  99. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/message_status.py +0 -0
  100. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/messaging_provider_type.py +0 -0
  101. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/o_auth2_google_prompt.py +0 -0
  102. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/o_auth_provider.py +0 -0
  103. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/order_by.py +0 -0
  104. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/organization_key_scopes.py +0 -0
  105. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/password_hash.py +0 -0
  106. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/platform_type.py +0 -0
  107. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/project_auth_method_id.py +0 -0
  108. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/project_email_template_id.py +0 -0
  109. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/project_email_template_locale.py +0 -0
  110. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/project_o_auth2_google_prompt.py +0 -0
  111. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/project_o_auth_provider_id.py +0 -0
  112. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/project_protocol_id.py +0 -0
  113. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/project_smtp_secure.py +0 -0
  114. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/proxy_resource_type.py +0 -0
  115. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/proxy_rule_deployment_resource_type.py +0 -0
  116. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/proxy_rule_status.py +0 -0
  117. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/region.py +0 -0
  118. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/relation_mutate.py +0 -0
  119. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/relationship_type.py +0 -0
  120. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/runtime.py +0 -0
  121. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/smtp_encryption.py +0 -0
  122. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/status_code.py +0 -0
  123. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/tables_db_index_type.py +0 -0
  124. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/template_reference_type.py +0 -0
  125. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/timezone.py +0 -0
  126. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/enums/vcs_reference_type.py +0 -0
  127. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/exception.py +0 -0
  128. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/id.py +0 -0
  129. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/input_file.py +0 -0
  130. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/activity_event_list.py +0 -0
  131. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/algo_argon2.py +0 -0
  132. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/algo_bcrypt.py +0 -0
  133. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/algo_md5.py +0 -0
  134. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/algo_phpass.py +0 -0
  135. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/algo_scrypt.py +0 -0
  136. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/algo_scrypt_modified.py +0 -0
  137. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/algo_sha.py +0 -0
  138. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/attribute_bigint.py +0 -0
  139. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/attribute_boolean.py +0 -0
  140. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/attribute_datetime.py +0 -0
  141. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/attribute_email.py +0 -0
  142. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/attribute_enum.py +0 -0
  143. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/attribute_float.py +0 -0
  144. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/attribute_integer.py +0 -0
  145. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/attribute_ip.py +0 -0
  146. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/attribute_line.py +0 -0
  147. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/attribute_list.py +0 -0
  148. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/attribute_longtext.py +0 -0
  149. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/attribute_mediumtext.py +0 -0
  150. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/attribute_point.py +0 -0
  151. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/attribute_polygon.py +0 -0
  152. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/attribute_relationship.py +0 -0
  153. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/attribute_string.py +0 -0
  154. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/attribute_text.py +0 -0
  155. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/attribute_url.py +0 -0
  156. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/attribute_varchar.py +0 -0
  157. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/backup_archive.py +0 -0
  158. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/backup_archive_list.py +0 -0
  159. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/backup_policy_list.py +0 -0
  160. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/backup_restoration.py +0 -0
  161. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/backup_restoration_list.py +0 -0
  162. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/base_model.py +0 -0
  163. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/billing_limits.py +0 -0
  164. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/block.py +0 -0
  165. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/bucket.py +0 -0
  166. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/bucket_list.py +0 -0
  167. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/collection.py +0 -0
  168. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/collection_list.py +0 -0
  169. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/column_bigint.py +0 -0
  170. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/column_boolean.py +0 -0
  171. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/column_datetime.py +0 -0
  172. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/column_email.py +0 -0
  173. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/column_enum.py +0 -0
  174. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/column_float.py +0 -0
  175. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/column_index.py +0 -0
  176. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/column_index_list.py +0 -0
  177. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/column_integer.py +0 -0
  178. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/column_ip.py +0 -0
  179. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/column_line.py +0 -0
  180. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/column_list.py +0 -0
  181. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/column_longtext.py +0 -0
  182. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/column_mediumtext.py +0 -0
  183. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/column_point.py +0 -0
  184. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/column_polygon.py +0 -0
  185. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/column_relationship.py +0 -0
  186. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/column_string.py +0 -0
  187. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/column_text.py +0 -0
  188. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/column_url.py +0 -0
  189. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/column_varchar.py +0 -0
  190. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/continent.py +0 -0
  191. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/continent_list.py +0 -0
  192. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/country.py +0 -0
  193. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/country_list.py +0 -0
  194. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/currency.py +0 -0
  195. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/currency_list.py +0 -0
  196. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/database.py +0 -0
  197. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/database_list.py +0 -0
  198. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/deployment.py +0 -0
  199. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/deployment_list.py +0 -0
  200. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/dev_key.py +0 -0
  201. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/document.py +0 -0
  202. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/document_list.py +0 -0
  203. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/email_template.py +0 -0
  204. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/email_template_list.py +0 -0
  205. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/ephemeral_key.py +0 -0
  206. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/execution.py +0 -0
  207. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/execution_list.py +0 -0
  208. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/file.py +0 -0
  209. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/file_list.py +0 -0
  210. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/framework.py +0 -0
  211. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/framework_adapter.py +0 -0
  212. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/framework_list.py +0 -0
  213. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/function.py +0 -0
  214. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/function_list.py +0 -0
  215. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/headers.py +0 -0
  216. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/health_antivirus.py +0 -0
  217. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/health_certificate.py +0 -0
  218. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/health_queue.py +0 -0
  219. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/health_status.py +0 -0
  220. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/health_status_list.py +0 -0
  221. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/health_time.py +0 -0
  222. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/identity.py +0 -0
  223. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/identity_list.py +0 -0
  224. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/index.py +0 -0
  225. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/index_list.py +0 -0
  226. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/insight.py +0 -0
  227. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/insight_cta.py +0 -0
  228. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/insight_list.py +0 -0
  229. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/jwt.py +0 -0
  230. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/key.py +0 -0
  231. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/key_list.py +0 -0
  232. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/language.py +0 -0
  233. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/language_list.py +0 -0
  234. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/locale.py +0 -0
  235. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/locale_code.py +0 -0
  236. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/locale_code_list.py +0 -0
  237. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/log.py +0 -0
  238. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/log_list.py +0 -0
  239. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/membership_list.py +0 -0
  240. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/message.py +0 -0
  241. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/message_list.py +0 -0
  242. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/mfa_challenge.py +0 -0
  243. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/mfa_factors.py +0 -0
  244. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/mfa_recovery_codes.py +0 -0
  245. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/mfa_type.py +0 -0
  246. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/mock_number.py +0 -0
  247. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/mock_number_list.py +0 -0
  248. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/o_auth2_amazon.py +0 -0
  249. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/o_auth2_apple.py +0 -0
  250. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/o_auth2_auth0.py +0 -0
  251. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/o_auth2_authentik.py +0 -0
  252. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/o_auth2_autodesk.py +0 -0
  253. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/o_auth2_bitbucket.py +0 -0
  254. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/o_auth2_bitly.py +0 -0
  255. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/o_auth2_box.py +0 -0
  256. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/o_auth2_dailymotion.py +0 -0
  257. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/o_auth2_discord.py +0 -0
  258. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/o_auth2_disqus.py +0 -0
  259. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/o_auth2_dropbox.py +0 -0
  260. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/o_auth2_etsy.py +0 -0
  261. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/o_auth2_facebook.py +0 -0
  262. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/o_auth2_figma.py +0 -0
  263. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/o_auth2_fusion_auth.py +0 -0
  264. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/o_auth2_github.py +0 -0
  265. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/o_auth2_gitlab.py +0 -0
  266. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/o_auth2_google.py +0 -0
  267. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/o_auth2_keycloak.py +0 -0
  268. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/o_auth2_kick.py +0 -0
  269. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/o_auth2_linkedin.py +0 -0
  270. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/o_auth2_microsoft.py +0 -0
  271. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/o_auth2_notion.py +0 -0
  272. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/o_auth2_oidc.py +0 -0
  273. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/o_auth2_okta.py +0 -0
  274. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/o_auth2_paypal.py +0 -0
  275. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/o_auth2_podio.py +0 -0
  276. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/o_auth2_provider_list.py +0 -0
  277. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/o_auth2_salesforce.py +0 -0
  278. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/o_auth2_slack.py +0 -0
  279. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/o_auth2_spotify.py +0 -0
  280. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/o_auth2_stripe.py +0 -0
  281. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/o_auth2_tradeshift.py +0 -0
  282. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/o_auth2_twitch.py +0 -0
  283. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/o_auth2_word_press.py +0 -0
  284. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/o_auth2_x.py +0 -0
  285. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/o_auth2_yahoo.py +0 -0
  286. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/o_auth2_yandex.py +0 -0
  287. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/o_auth2_zoho.py +0 -0
  288. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/o_auth2_zoom.py +0 -0
  289. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/phone.py +0 -0
  290. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/phone_list.py +0 -0
  291. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/platform_android.py +0 -0
  292. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/platform_apple.py +0 -0
  293. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/platform_linux.py +0 -0
  294. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/platform_list.py +0 -0
  295. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/platform_web.py +0 -0
  296. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/platform_windows.py +0 -0
  297. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/policy_deny_aliased_email.py +0 -0
  298. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/policy_deny_disposable_email.py +0 -0
  299. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/policy_deny_free_email.py +0 -0
  300. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/policy_password_dictionary.py +0 -0
  301. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/policy_password_history.py +0 -0
  302. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/policy_password_personal_data.py +0 -0
  303. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/policy_session_alert.py +0 -0
  304. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/policy_session_duration.py +0 -0
  305. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/policy_session_invalidation.py +0 -0
  306. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/policy_session_limit.py +0 -0
  307. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/policy_user_limit.py +0 -0
  308. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/preferences.py +0 -0
  309. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/presence.py +0 -0
  310. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/presence_list.py +0 -0
  311. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/project_auth_method.py +0 -0
  312. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/project_list.py +0 -0
  313. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/project_protocol.py +0 -0
  314. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/project_service.py +0 -0
  315. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/provider.py +0 -0
  316. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/provider_list.py +0 -0
  317. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/proxy_rule.py +0 -0
  318. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/proxy_rule_list.py +0 -0
  319. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/report.py +0 -0
  320. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/report_list.py +0 -0
  321. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/resource_token.py +0 -0
  322. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/resource_token_list.py +0 -0
  323. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/row.py +0 -0
  324. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/row_list.py +0 -0
  325. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/runtime.py +0 -0
  326. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/runtime_list.py +0 -0
  327. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/session.py +0 -0
  328. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/session_list.py +0 -0
  329. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/site.py +0 -0
  330. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/site_list.py +0 -0
  331. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/specification.py +0 -0
  332. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/specification_list.py +0 -0
  333. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/subscriber.py +0 -0
  334. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/subscriber_list.py +0 -0
  335. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/table.py +0 -0
  336. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/table_list.py +0 -0
  337. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/target.py +0 -0
  338. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/target_list.py +0 -0
  339. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/team.py +0 -0
  340. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/team_list.py +0 -0
  341. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/token.py +0 -0
  342. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/topic.py +0 -0
  343. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/topic_list.py +0 -0
  344. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/transaction.py +0 -0
  345. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/transaction_list.py +0 -0
  346. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/user_list.py +0 -0
  347. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/variable.py +0 -0
  348. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/variable_list.py +0 -0
  349. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/webhook.py +0 -0
  350. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/models/webhook_list.py +0 -0
  351. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/operator.py +0 -0
  352. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/permission.py +0 -0
  353. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/query.py +0 -0
  354. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/role.py +0 -0
  355. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/service.py +0 -0
  356. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/services/__init__.py +0 -0
  357. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/utils/__init__.py +0 -0
  358. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite/utils/deprecated.py +0 -0
  359. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite.egg-info/dependency_links.txt +0 -0
  360. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite.egg-info/requires.txt +0 -0
  361. {appwrite-20.0.0 → appwrite-21.0.0}/appwrite.egg-info/top_level.txt +0 -0
  362. {appwrite-20.0.0 → appwrite-21.0.0}/setup.cfg +0 -0
  363. {appwrite-20.0.0 → appwrite-21.0.0}/test/test_id.py +0 -0
  364. {appwrite-20.0.0 → appwrite-21.0.0}/test/test_operator.py +0 -0
  365. {appwrite-20.0.0 → appwrite-21.0.0}/test/test_permission.py +0 -0
  366. {appwrite-20.0.0 → appwrite-21.0.0}/test/test_query.py +0 -0
  367. {appwrite-20.0.0 → appwrite-21.0.0}/test/test_role.py +0 -0
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: appwrite
3
- Version: 20.0.0
3
+ Version: 21.0.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/20.0.0.tar.gz
6
+ Download-URL: https://github.com/appwrite/sdk-for-python/archive/21.0.0.tar.gz
7
7
  Author: Appwrite Team
8
8
  Author-email: Appwrite Team <team@appwrite.io>
9
9
  Maintainer: Appwrite Team
@@ -17,13 +17,14 @@ 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/20.0.0 ({platform.uname().system}; {platform.uname().version}; {platform.uname().machine})',
20
+ 'user-agent' : f'AppwritePythonSDK/21.0.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': '20.0.0',
24
+ 'x-sdk-version': '21.0.0',
25
25
  'X-Appwrite-Response-Format' : '1.9.5',
26
26
  }
27
+ self._config = {}
27
28
 
28
29
  def set_self_signed(self, status=True):
29
30
  self._self_signed = status
@@ -43,68 +44,81 @@ class Client:
43
44
  def get_headers(self):
44
45
  return dict(self._global_headers)
45
46
 
47
+ def get_config(self, key):
48
+ return self._config.get(key, '')
49
+
46
50
  def set_project(self, value):
47
51
  """Your project ID"""
48
52
 
49
- self._global_headers['x-appwrite-project'] = value
53
+ self._config['project'] = value
50
54
  return self
51
55
 
52
56
  def set_key(self, value):
53
57
  """Your secret API key"""
54
58
 
55
59
  self._global_headers['x-appwrite-key'] = value
60
+ self._config['key'] = value
56
61
  return self
57
62
 
58
63
  def set_jwt(self, value):
59
64
  """Your secret JSON Web Token"""
60
65
 
61
66
  self._global_headers['x-appwrite-jwt'] = value
67
+ self._config['jwt'] = value
62
68
  return self
63
69
 
64
70
  def set_locale(self, value):
65
71
  self._global_headers['x-appwrite-locale'] = value
72
+ self._config['locale'] = value
66
73
  return self
67
74
 
68
75
  def set_session(self, value):
69
76
  """The user session to authenticate with"""
70
77
 
71
78
  self._global_headers['x-appwrite-session'] = value
79
+ self._config['session'] = value
72
80
  return self
73
81
 
74
82
  def set_forwarded_user_agent(self, value):
75
83
  """The user agent string of the client that made the request"""
76
84
 
77
85
  self._global_headers['x-forwarded-user-agent'] = value
86
+ self._config['forwardeduseragent'] = value
78
87
  return self
79
88
 
80
89
  def set_dev_key(self, value):
81
90
  """Your secret dev API key"""
82
91
 
83
92
  self._global_headers['x-appwrite-dev-key'] = value
93
+ self._config['devkey'] = value
84
94
  return self
85
95
 
86
96
  def set_cookie(self, value):
87
97
  """The user cookie to authenticate with. Used by SDKs that forward an incoming Cookie header in server-side runtimes."""
88
98
 
89
99
  self._global_headers['cookie'] = value
100
+ self._config['cookie'] = value
90
101
  return self
91
102
 
92
103
  def set_impersonate_user_id(self, value):
93
- """Impersonate a user by ID on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data."""
104
+ """Impersonate a user by ID"""
94
105
 
95
106
  self._global_headers['x-appwrite-impersonate-user-id'] = value
107
+ self._config['impersonateuserid'] = value
96
108
  return self
97
109
 
98
110
  def set_impersonate_user_email(self, value):
99
- """Impersonate a user by email on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data."""
111
+ """Impersonate a user by email"""
100
112
 
101
113
  self._global_headers['x-appwrite-impersonate-user-email'] = value
114
+ self._config['impersonateuseremail'] = value
102
115
  return self
103
116
 
104
117
  def set_impersonate_user_phone(self, value):
105
- """Impersonate a user by phone on an already user-authenticated request. Requires the current request to be authenticated as a user with impersonator capability; X-Appwrite-Key alone is not sufficient. Impersonator users are intentionally granted users.read so they can discover a target before impersonation begins. Internal audit logs still attribute actions to the original impersonator and record the impersonated target only in internal audit payload data."""
118
+ """Impersonate a user by phone"""
106
119
 
107
120
  self._global_headers['x-appwrite-impersonate-user-phone'] = value
121
+ self._config['impersonateuserphone'] = value
108
122
  return self
109
123
 
110
124
  def call(self, method, path='', headers=None, params=None, response_type='json'):
@@ -91,7 +91,10 @@ class ProjectKeyScopes(Enum):
91
91
  ARCHIVES_WRITE = "archives.write"
92
92
  RESTORATIONS_READ = "restorations.read"
93
93
  RESTORATIONS_WRITE = "restorations.write"
94
+ DEDICATEDDATABASES_EXECUTE = "dedicatedDatabases.execute"
94
95
  DOMAINS_READ = "domains.read"
95
96
  DOMAINS_WRITE = "domains.write"
96
97
  EVENTS_READ = "events.read"
98
+ APPS_READ = "apps.read"
99
+ APPS_WRITE = "apps.write"
97
100
  USAGE_READ = "usage.read"
@@ -3,6 +3,7 @@ from enum import Enum
3
3
  class ProjectPolicyId(Enum):
4
4
  PASSWORD_DICTIONARY = "password-dictionary"
5
5
  PASSWORD_HISTORY = "password-history"
6
+ PASSWORD_STRENGTH = "password-strength"
6
7
  PASSWORD_PERSONAL_DATA = "password-personal-data"
7
8
  SESSION_ALERT = "session-alert"
8
9
  SESSION_DURATION = "session-duration"
@@ -13,3 +14,4 @@ class ProjectPolicyId(Enum):
13
14
  DENY_ALIASED_EMAIL = "deny-aliased-email"
14
15
  DENY_DISPOSABLE_EMAIL = "deny-disposable-email"
15
16
  DENY_FREE_EMAIL = "deny-free-email"
17
+ DENY_CORPORATE_EMAIL = "deny-corporate-email"
@@ -19,3 +19,4 @@ class ProjectServiceId(Enum):
19
19
  MIGRATIONS = "migrations"
20
20
  MESSAGING = "messaging"
21
21
  ADVISOR = "advisor"
22
+ OAUTH2 = "oauth2"
@@ -172,6 +172,7 @@ from .o_auth2_microsoft import OAuth2Microsoft
172
172
  from .o_auth2_provider_list import OAuth2ProviderList
173
173
  from .policy_password_dictionary import PolicyPasswordDictionary
174
174
  from .policy_password_history import PolicyPasswordHistory
175
+ from .policy_password_strength import PolicyPasswordStrength
175
176
  from .policy_password_personal_data import PolicyPasswordPersonalData
176
177
  from .policy_session_alert import PolicySessionAlert
177
178
  from .policy_session_duration import PolicySessionDuration
@@ -221,15 +222,27 @@ from .backup_policy import BackupPolicy
221
222
  from .policy_deny_aliased_email import PolicyDenyAliasedEmail
222
223
  from .policy_deny_disposable_email import PolicyDenyDisposableEmail
223
224
  from .policy_deny_free_email import PolicyDenyFreeEmail
225
+ from .policy_deny_corporate_email import PolicyDenyCorporateEmail
224
226
  from .backup_restoration import BackupRestoration
225
- from .usage_event import UsageEvent
226
- from .usage_gauge import UsageGauge
227
+ from .usage_data_point import UsageDataPoint
228
+ from .usage_event_list import UsageEventList
229
+ from .usage_gauge_list import UsageGaugeList
230
+ from .usage_metric import UsageMetric
231
+ from .app import App
232
+ from .app_secret import AppSecret
233
+ from .app_secret_plaintext import AppSecretPlaintext
234
+ from .oauth2_authorize import Oauth2Authorize
235
+ from .oauth2_approve import Oauth2Approve
236
+ from .oauth2_reject import Oauth2Reject
237
+ from .oauth2_grant import Oauth2Grant
238
+ from .oauth2_device_authorization import Oauth2DeviceAuthorization
239
+ from .oauth2_token import Oauth2Token
227
240
  from .activity_event_list import ActivityEventList
228
241
  from .backup_archive_list import BackupArchiveList
229
242
  from .backup_policy_list import BackupPolicyList
230
243
  from .backup_restoration_list import BackupRestorationList
231
- from .usage_event_list import UsageEventList
232
- from .usage_gauge_list import UsageGaugeList
244
+ from .apps_list import AppsList
245
+ from .app_secret_list import AppSecretList
233
246
 
234
247
  __all__ = [
235
248
  'AppwriteModel',
@@ -406,6 +419,7 @@ __all__ = [
406
419
  'OAuth2ProviderList',
407
420
  'PolicyPasswordDictionary',
408
421
  'PolicyPasswordHistory',
422
+ 'PolicyPasswordStrength',
409
423
  'PolicyPasswordPersonalData',
410
424
  'PolicySessionAlert',
411
425
  'PolicySessionDuration',
@@ -455,13 +469,25 @@ __all__ = [
455
469
  'PolicyDenyAliasedEmail',
456
470
  'PolicyDenyDisposableEmail',
457
471
  'PolicyDenyFreeEmail',
472
+ 'PolicyDenyCorporateEmail',
458
473
  'BackupRestoration',
459
- 'UsageEvent',
460
- 'UsageGauge',
474
+ 'UsageDataPoint',
475
+ 'UsageEventList',
476
+ 'UsageGaugeList',
477
+ 'UsageMetric',
478
+ 'App',
479
+ 'AppSecret',
480
+ 'AppSecretPlaintext',
481
+ 'Oauth2Authorize',
482
+ 'Oauth2Approve',
483
+ 'Oauth2Reject',
484
+ 'Oauth2Grant',
485
+ 'Oauth2DeviceAuthorization',
486
+ 'Oauth2Token',
461
487
  'ActivityEventList',
462
488
  'BackupArchiveList',
463
489
  'BackupPolicyList',
464
490
  'BackupRestorationList',
465
- 'UsageEventList',
466
- 'UsageGaugeList',
491
+ 'AppsList',
492
+ 'AppSecretList',
467
493
  ]
@@ -45,30 +45,6 @@ class ActivityEvent(AppwriteModel):
45
45
  Team ID.
46
46
  hostname : str
47
47
  Hostname.
48
- oscode : str
49
- Operating system code name. View list of [available options](https://github.com/appwrite/appwrite/blob/master/docs/lists/os.json).
50
- osname : str
51
- Operating system name.
52
- osversion : str
53
- Operating system version.
54
- clienttype : str
55
- Client type.
56
- clientcode : str
57
- Client code name. View list of [available options](https://github.com/appwrite/appwrite/blob/master/docs/lists/clients.json).
58
- clientname : str
59
- Client name.
60
- clientversion : str
61
- Client version.
62
- clientengine : str
63
- Client engine name.
64
- clientengineversion : str
65
- Client engine name.
66
- devicename : str
67
- Device name.
68
- devicebrand : str
69
- Device brand name.
70
- devicemodel : str
71
- Device model name.
72
48
  countrycode : str
73
49
  Country two-character ISO 3166-1 alpha code.
74
50
  countryname : str
@@ -92,17 +68,5 @@ class ActivityEvent(AppwriteModel):
92
68
  projectid: str = Field(..., alias='projectId')
93
69
  teamid: str = Field(..., alias='teamId')
94
70
  hostname: str = Field(..., alias='hostname')
95
- oscode: str = Field(..., alias='osCode')
96
- osname: str = Field(..., alias='osName')
97
- osversion: str = Field(..., alias='osVersion')
98
- clienttype: str = Field(..., alias='clientType')
99
- clientcode: str = Field(..., alias='clientCode')
100
- clientname: str = Field(..., alias='clientName')
101
- clientversion: str = Field(..., alias='clientVersion')
102
- clientengine: str = Field(..., alias='clientEngine')
103
- clientengineversion: str = Field(..., alias='clientEngineVersion')
104
- devicename: str = Field(..., alias='deviceName')
105
- devicebrand: str = Field(..., alias='deviceBrand')
106
- devicemodel: str = Field(..., alias='deviceModel')
107
71
  countrycode: str = Field(..., alias='countryCode')
108
72
  countryname: str = Field(..., alias='countryName')
@@ -0,0 +1,82 @@
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_secret import AppSecret
6
+
7
+ class App(AppwriteModel):
8
+ """
9
+ App
10
+
11
+ Attributes
12
+ ----------
13
+ id : str
14
+ App ID.
15
+ createdat : str
16
+ App creation time in ISO 8601 format.
17
+ updatedat : str
18
+ App update date in ISO 8601 format.
19
+ name : str
20
+ Application name.
21
+ description : str
22
+ Application description shown to users during OAuth2 consent.
23
+ clienturi : str
24
+ Application homepage URL shown to users during OAuth2 consent.
25
+ logouri : str
26
+ Application logo URL shown to users during OAuth2 consent.
27
+ privacypolicyurl : str
28
+ Application privacy policy URL shown to users during OAuth2 consent.
29
+ termsurl : str
30
+ Application terms of service URL shown to users during OAuth2 consent.
31
+ contacts : List[Any]
32
+ Application support or security contact emails.
33
+ tagline : str
34
+ Application tagline shown to users during OAuth2 consent.
35
+ tags : List[Any]
36
+ Application tags shown to users during OAuth2 consent.
37
+ images : List[Any]
38
+ Application image URLs shown to users during OAuth2 consent.
39
+ supporturl : str
40
+ Application support URL shown to users during OAuth2 consent.
41
+ datadeletionurl : str
42
+ Application data deletion URL shown to users during OAuth2 consent.
43
+ redirecturis : List[Any]
44
+ List of authorized redirect URIs. These URIs can be used to redirect users after they authenticate.
45
+ postlogoutredirecturis : List[Any]
46
+ List of authorized post-logout redirect URIs for OpenID Connect RP-Initiated Logout. The logout endpoint only redirects users to URIs in this list after ending their session.
47
+ enabled : bool
48
+ Whether the app is enabled or not.
49
+ type : str
50
+ OAuth2 client type. `public` for SPAs, mobile, and native apps that cannot keep a client secret (PKCE required); `confidential` for server-side clients that authenticate with a client secret.
51
+ deviceflow : bool
52
+ Whether this client may use the OAuth2 Device Authorization Grant (RFC 8628).
53
+ teamid : str
54
+ ID of team that owns the application, if owned by team. Otherwise, user ID will be used.
55
+ userid : str
56
+ ID of user who owns the application, if owned by user. Otherwise, team ID will be used.
57
+ secrets : List[AppSecret]
58
+ List of application secrets.
59
+ """
60
+ id: str = Field(..., alias='$id')
61
+ createdat: str = Field(..., alias='$createdAt')
62
+ updatedat: str = Field(..., alias='$updatedAt')
63
+ name: str = Field(..., alias='name')
64
+ description: str = Field(..., alias='description')
65
+ clienturi: str = Field(..., alias='clientUri')
66
+ logouri: str = Field(..., alias='logoUri')
67
+ privacypolicyurl: str = Field(..., alias='privacyPolicyUrl')
68
+ termsurl: str = Field(..., alias='termsUrl')
69
+ contacts: List[Any] = Field(..., alias='contacts')
70
+ tagline: str = Field(..., alias='tagline')
71
+ tags: List[Any] = Field(..., alias='tags')
72
+ images: List[Any] = Field(..., alias='images')
73
+ supporturl: str = Field(..., alias='supportUrl')
74
+ datadeletionurl: str = Field(..., alias='dataDeletionUrl')
75
+ redirecturis: List[Any] = Field(..., alias='redirectUris')
76
+ postlogoutredirecturis: List[Any] = Field(..., alias='postLogoutRedirectUris')
77
+ enabled: bool = Field(..., alias='enabled')
78
+ type: str = Field(..., alias='type')
79
+ deviceflow: bool = Field(..., alias='deviceFlow')
80
+ teamid: str = Field(..., alias='teamId')
81
+ userid: str = Field(..., alias='userId')
82
+ secrets: List[AppSecret] = Field(..., alias='secrets')
@@ -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 AppSecret(AppwriteModel):
7
+ """
8
+ AppSecret
9
+
10
+ Attributes
11
+ ----------
12
+ id : str
13
+ Secret ID.
14
+ createdat : str
15
+ Secret creation time in ISO 8601 format.
16
+ updatedat : str
17
+ Secret update time in ISO 8601 format.
18
+ appid : str
19
+ Application ID this secret belongs to.
20
+ secret : str
21
+ Hashed application client secret.
22
+ hint : str
23
+ Last few characters of the client secret, used to help identify it.
24
+ createdbyid : str
25
+ ID of the user who created the secret.
26
+ createdbyname : str
27
+ Name of the user who created the secret.
28
+ lastaccessedat : Optional[str]
29
+ Time the secret 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_secret import AppSecret
6
+
7
+ class AppSecretList(AppwriteModel):
8
+ """
9
+ App secrets list
10
+
11
+ Attributes
12
+ ----------
13
+ total : float
14
+ Total number of secrets that matched your query.
15
+ secrets : List[AppSecret]
16
+ List of secrets.
17
+ """
18
+ total: float = Field(..., alias='total')
19
+ secrets: List[AppSecret] = Field(..., alias='secrets')
@@ -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 AppSecretPlaintext(AppwriteModel):
7
+ """
8
+ AppSecretPlaintext
9
+
10
+ Attributes
11
+ ----------
12
+ id : str
13
+ Secret ID.
14
+ createdat : str
15
+ Secret creation time in ISO 8601 format.
16
+ updatedat : str
17
+ Secret update time in ISO 8601 format.
18
+ appid : str
19
+ Application ID this secret belongs to.
20
+ secret : str
21
+ Application client secret. Returned in full only when the secret is created; subsequent reads return a masked value.
22
+ hint : str
23
+ Last few characters of the client secret, used to help identify it.
24
+ createdbyid : str
25
+ ID of the user who created the secret.
26
+ createdbyname : str
27
+ Name of the user who created the secret.
28
+ lastaccessedat : Optional[str]
29
+ Time the secret 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 import App
6
+
7
+ class AppsList(AppwriteModel):
8
+ """
9
+ Apps list
10
+
11
+ Attributes
12
+ ----------
13
+ total : float
14
+ Total number of apps that matched your query.
15
+ apps : List[App]
16
+ List of apps.
17
+ """
18
+ total: float = Field(..., alias='total')
19
+ apps: List[App] = Field(..., alias='apps')
@@ -29,6 +29,8 @@ class BackupPolicy(AppwriteModel):
29
29
  How many days to keep the backup before it will be automatically deleted.
30
30
  schedule : str
31
31
  Policy backup schedule in CRON format.
32
+ type : str
33
+ Backup type. Possible values: full (complete database snapshot), incremental (changes since last backup).
32
34
  enabled : bool
33
35
  Is this policy enabled.
34
36
  """
@@ -42,4 +44,5 @@ class BackupPolicy(AppwriteModel):
42
44
  resourcetype: Optional[str] = Field(default=None, alias='resourceType')
43
45
  retention: float = Field(..., alias='retention')
44
46
  schedule: str = Field(..., alias='schedule')
47
+ type: str = Field(..., alias='type')
45
48
  enabled: bool = Field(..., alias='enabled')
@@ -35,6 +35,8 @@ class Membership(AppwriteModel):
35
35
  User confirmation status, true if the user has joined the team or false otherwise.
36
36
  mfa : bool
37
37
  Multi factor authentication status, true if the user has MFA enabled or false otherwise. Hide this attribute by toggling membership privacy in the Console.
38
+ useraccessedat : str
39
+ Most recent access date in ISO 8601 format. Show this attribute by toggling membership privacy in the Console.
38
40
  roles : List[Any]
39
41
  User list of roles
40
42
  """
@@ -51,4 +53,5 @@ class Membership(AppwriteModel):
51
53
  joined: str = Field(..., alias='joined')
52
54
  confirm: bool = Field(..., alias='confirm')
53
55
  mfa: bool = Field(..., alias='mfa')
56
+ useraccessedat: str = Field(..., alias='userAccessedAt')
54
57
  roles: List[Any] = Field(..., alias='roles')
@@ -0,0 +1,15 @@
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 Oauth2Approve(AppwriteModel):
7
+ """
8
+ OAuth2 Approve
9
+
10
+ Attributes
11
+ ----------
12
+ redirecturl : str
13
+ URL the end user should be redirected to after the grant is approved, carrying the authorization `code` and/or `id_token` along with the original `state`.
14
+ """
15
+ redirecturl: str = Field(..., alias='redirectUrl')
@@ -0,0 +1,18 @@
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 Oauth2Authorize(AppwriteModel):
7
+ """
8
+ OAuth2 Authorize
9
+
10
+ Attributes
11
+ ----------
12
+ grantid : str
13
+ OAuth2 grant ID. Set when the user must give explicit consent; pass it to the approve or reject endpoint. Empty when a redirect URL is returned instead.
14
+ redirecturl : str
15
+ URL the end user should be redirected to when the flow can complete without consent. Empty when consent is still required.
16
+ """
17
+ grantid: str = Field(..., alias='grantId')
18
+ redirecturl: str = Field(..., alias='redirectUrl')
@@ -0,0 +1,30 @@
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 Oauth2DeviceAuthorization(AppwriteModel):
7
+ """
8
+ OAuth2 Device Authorization
9
+
10
+ Attributes
11
+ ----------
12
+ device_code : str
13
+ Device verification code used by the client to poll the token endpoint.
14
+ user_code : str
15
+ Short code the end user enters on the verification page.
16
+ verification_uri : str
17
+ URL where the end user enters the user code.
18
+ verification_uri_complete : str
19
+ Verification URL with the user code prefilled as a query parameter.
20
+ expires_in : float
21
+ Lifetime of the device code and user code in seconds.
22
+ interval : float
23
+ Minimum polling interval for the token endpoint in seconds.
24
+ """
25
+ device_code: str = Field(..., alias='device_code')
26
+ user_code: str = Field(..., alias='user_code')
27
+ verification_uri: str = Field(..., alias='verification_uri')
28
+ verification_uri_complete: str = Field(..., alias='verification_uri_complete')
29
+ expires_in: float = Field(..., alias='expires_in')
30
+ interval: float = Field(..., alias='interval')
@@ -0,0 +1,45 @@
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 Oauth2Grant(AppwriteModel):
7
+ """
8
+ OAuth2 Grant
9
+
10
+ Attributes
11
+ ----------
12
+ id : str
13
+ Grant ID.
14
+ createdat : str
15
+ Grant creation time in ISO 8601 format.
16
+ updatedat : str
17
+ Grant update date in ISO 8601 format.
18
+ userid : str
19
+ ID of the user the grant belongs to.
20
+ appid : str
21
+ ID of the OAuth2 client (app) the grant was requested for.
22
+ scopes : List[Any]
23
+ Requested OAuth2 scopes the user is being asked to consent to.
24
+ authorizationdetails : str
25
+ Requested authorization_details the user is being asked to consent to, as a JSON string. Each entry has a `type` plus project-defined fields.
26
+ prompt : str
27
+ OIDC prompt directive the consent screen should honor. Space-separated list of: login, consent, select_account.
28
+ redirecturi : str
29
+ Redirect URI the user will be sent to after the flow completes.
30
+ authtime : float
31
+ Unix timestamp of when the user last authenticated.
32
+ expire : str
33
+ Grant expiration time in ISO 8601 format.
34
+ """
35
+ id: str = Field(..., alias='$id')
36
+ createdat: str = Field(..., alias='$createdAt')
37
+ updatedat: str = Field(..., alias='$updatedAt')
38
+ userid: str = Field(..., alias='userId')
39
+ appid: str = Field(..., alias='appId')
40
+ scopes: List[Any] = Field(..., alias='scopes')
41
+ authorizationdetails: str = Field(..., alias='authorizationDetails')
42
+ prompt: str = Field(..., alias='prompt')
43
+ redirecturi: str = Field(..., alias='redirectUri')
44
+ authtime: float = Field(..., alias='authTime')
45
+ expire: str = Field(..., alias='expire')
@@ -0,0 +1,15 @@
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 Oauth2Reject(AppwriteModel):
7
+ """
8
+ OAuth2 Reject
9
+
10
+ Attributes
11
+ ----------
12
+ redirecturl : str
13
+ URL the end user should be redirected to after the grant is rejected, carrying an `access_denied` error.
14
+ """
15
+ redirecturl: str = Field(..., alias='redirectUrl')