appwrite 19.1.0__tar.gz → 20.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.
- {appwrite-19.1.0 → appwrite-20.0.0}/PKG-INFO +2 -2
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/client.py +96 -36
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/encoders/value_class_encoder.py +13 -9
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/backup_services.py +1 -0
- appwrite-19.1.0/appwrite/enums/theme.py → appwrite-20.0.0/appwrite/enums/browser_theme.py +1 -1
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/build_runtime.py +2 -3
- appwrite-19.1.0/appwrite/enums/name.py → appwrite-20.0.0/appwrite/enums/health_queue_name.py +1 -1
- appwrite-20.0.0/appwrite/enums/organization_key_scopes.py +13 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/project_o_auth_provider_id.py +0 -2
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/project_policy_id.py +3 -0
- appwrite-20.0.0/appwrite/enums/region.py +9 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/runtime.py +2 -3
- appwrite-20.0.0/appwrite/enums/status_code.py +7 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/__init__.py +12 -4
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/activity_event.py +12 -12
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/billing_limits.py +1 -1
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/function.py +6 -0
- appwrite-20.0.0/appwrite/models/policy_deny_aliased_email.py +18 -0
- appwrite-20.0.0/appwrite/models/policy_deny_disposable_email.py +18 -0
- appwrite-20.0.0/appwrite/models/policy_deny_free_email.py +18 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/policy_list.py +5 -2
- appwrite-20.0.0/appwrite/models/presence.py +39 -0
- appwrite-20.0.0/appwrite/models/presence_list.py +19 -0
- appwrite-20.0.0/appwrite/models/project_list.py +19 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/site.py +6 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/usage_gauge.py +6 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/services/avatars.py +3 -3
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/services/functions.py +23 -5
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/services/health.py +3 -3
- appwrite-20.0.0/appwrite/services/organization.py +457 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/services/presences.py +18 -36
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/services/project.py +64 -52
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/services/sites.py +18 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/services/usage.py +1 -1
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite.egg-info/PKG-INFO +2 -2
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite.egg-info/SOURCES.txt +9 -3
- {appwrite-19.1.0 → appwrite-20.0.0}/pyproject.toml +1 -1
- {appwrite-19.1.0 → appwrite-20.0.0}/setup.py +2 -2
- appwrite-19.1.0/appwrite/enums/scopes.py +0 -97
- appwrite-19.1.0/appwrite/enums/status_code.py +0 -7
- appwrite-19.1.0/appwrite/models/presence.py +0 -72
- appwrite-19.1.0/appwrite/models/presence_list.py +0 -32
- {appwrite-19.1.0 → appwrite-20.0.0}/LICENSE +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/README.md +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/__init__.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/encoders/__init__.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/__init__.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/adapter.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/attribute_status.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/authentication_factor.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/authenticator_type.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/browser.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/browser_permission.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/column_status.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/compression.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/credit_card.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/database_type.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/databases_index_type.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/deployment_download_type.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/deployment_status.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/execution_method.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/execution_status.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/execution_trigger.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/flag.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/framework.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/health_antivirus_status.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/health_check_status.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/image_format.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/image_gravity.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/index_status.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/message_priority.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/message_status.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/messaging_provider_type.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/o_auth2_google_prompt.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/o_auth_provider.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/order_by.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/password_hash.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/platform_type.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/project_auth_method_id.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/project_email_template_id.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/project_email_template_locale.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/project_key_scopes.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/project_o_auth2_google_prompt.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/project_protocol_id.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/project_service_id.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/project_smtp_secure.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/proxy_resource_type.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/proxy_rule_deployment_resource_type.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/proxy_rule_status.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/relation_mutate.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/relationship_type.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/smtp_encryption.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/tables_db_index_type.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/template_reference_type.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/timezone.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/enums/vcs_reference_type.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/exception.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/id.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/input_file.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/activity_event_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/algo_argon2.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/algo_bcrypt.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/algo_md5.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/algo_phpass.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/algo_scrypt.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/algo_scrypt_modified.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/algo_sha.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/attribute_bigint.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/attribute_boolean.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/attribute_datetime.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/attribute_email.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/attribute_enum.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/attribute_float.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/attribute_integer.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/attribute_ip.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/attribute_line.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/attribute_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/attribute_longtext.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/attribute_mediumtext.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/attribute_point.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/attribute_polygon.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/attribute_relationship.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/attribute_string.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/attribute_text.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/attribute_url.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/attribute_varchar.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/backup_archive.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/backup_archive_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/backup_policy.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/backup_policy_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/backup_restoration.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/backup_restoration_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/base_model.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/block.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/bucket.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/bucket_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/collection.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/collection_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/column_bigint.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/column_boolean.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/column_datetime.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/column_email.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/column_enum.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/column_float.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/column_index.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/column_index_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/column_integer.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/column_ip.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/column_line.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/column_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/column_longtext.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/column_mediumtext.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/column_point.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/column_polygon.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/column_relationship.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/column_string.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/column_text.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/column_url.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/column_varchar.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/continent.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/continent_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/country.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/country_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/currency.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/currency_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/database.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/database_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/deployment.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/deployment_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/dev_key.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/document.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/document_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/email_template.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/email_template_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/ephemeral_key.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/execution.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/execution_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/file.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/file_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/framework.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/framework_adapter.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/framework_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/function_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/headers.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/health_antivirus.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/health_certificate.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/health_queue.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/health_status.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/health_status_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/health_time.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/identity.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/identity_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/index.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/index_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/insight.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/insight_cta.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/insight_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/jwt.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/key.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/key_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/language.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/language_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/locale.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/locale_code.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/locale_code_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/log.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/log_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/membership.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/membership_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/message.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/message_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/mfa_challenge.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/mfa_factors.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/mfa_recovery_codes.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/mfa_type.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/mock_number.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/mock_number_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/o_auth2_amazon.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/o_auth2_apple.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/o_auth2_auth0.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/o_auth2_authentik.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/o_auth2_autodesk.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/o_auth2_bitbucket.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/o_auth2_bitly.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/o_auth2_box.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/o_auth2_dailymotion.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/o_auth2_discord.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/o_auth2_disqus.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/o_auth2_dropbox.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/o_auth2_etsy.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/o_auth2_facebook.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/o_auth2_figma.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/o_auth2_fusion_auth.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/o_auth2_github.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/o_auth2_gitlab.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/o_auth2_google.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/o_auth2_keycloak.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/o_auth2_kick.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/o_auth2_linkedin.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/o_auth2_microsoft.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/o_auth2_notion.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/o_auth2_oidc.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/o_auth2_okta.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/o_auth2_paypal.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/o_auth2_podio.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/o_auth2_provider_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/o_auth2_salesforce.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/o_auth2_slack.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/o_auth2_spotify.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/o_auth2_stripe.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/o_auth2_tradeshift.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/o_auth2_twitch.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/o_auth2_word_press.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/o_auth2_x.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/o_auth2_yahoo.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/o_auth2_yandex.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/o_auth2_zoho.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/o_auth2_zoom.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/phone.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/phone_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/platform_android.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/platform_apple.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/platform_linux.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/platform_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/platform_web.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/platform_windows.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/policy_membership_privacy.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/policy_password_dictionary.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/policy_password_history.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/policy_password_personal_data.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/policy_session_alert.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/policy_session_duration.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/policy_session_invalidation.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/policy_session_limit.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/policy_user_limit.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/preferences.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/project.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/project_auth_method.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/project_protocol.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/project_service.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/provider.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/provider_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/proxy_rule.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/proxy_rule_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/report.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/report_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/resource_token.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/resource_token_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/row.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/row_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/runtime.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/runtime_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/session.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/session_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/site_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/specification.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/specification_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/subscriber.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/subscriber_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/table.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/table_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/target.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/target_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/team.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/team_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/token.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/topic.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/topic_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/transaction.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/transaction_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/usage_event.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/usage_event_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/usage_gauge_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/user.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/user_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/variable.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/variable_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/webhook.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/models/webhook_list.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/operator.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/permission.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/query.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/role.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/service.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/services/__init__.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/services/account.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/services/activities.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/services/advisor.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/services/backups.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/services/databases.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/services/graphql.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/services/locale.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/services/messaging.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/services/proxy.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/services/storage.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/services/tables_db.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/services/teams.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/services/tokens.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/services/users.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/services/webhooks.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/utils/__init__.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite/utils/deprecated.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite.egg-info/dependency_links.txt +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite.egg-info/requires.txt +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/appwrite.egg-info/top_level.txt +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/setup.cfg +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/test/test_id.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/test/test_operator.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/test/test_permission.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/test/test_query.py +0 -0
- {appwrite-19.1.0 → appwrite-20.0.0}/test/test_role.py +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: appwrite
|
|
3
|
-
Version:
|
|
3
|
+
Version: 20.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/
|
|
6
|
+
Download-URL: https://github.com/appwrite/sdk-for-python/archive/20.0.0.tar.gz
|
|
7
7
|
Author: Appwrite Team
|
|
8
8
|
Author-email: Appwrite Team <team@appwrite.io>
|
|
9
9
|
Maintainer: Appwrite Team
|
|
@@ -4,6 +4,8 @@ import os
|
|
|
4
4
|
import platform
|
|
5
5
|
import sys
|
|
6
6
|
import requests
|
|
7
|
+
from concurrent.futures import ThreadPoolExecutor, as_completed
|
|
8
|
+
from threading import Lock
|
|
7
9
|
from .input_file import InputFile
|
|
8
10
|
from .exception import AppwriteException
|
|
9
11
|
from .encoders.value_class_encoder import ValueClassEncoder
|
|
@@ -15,11 +17,11 @@ class Client:
|
|
|
15
17
|
self._endpoint = 'https://cloud.appwrite.io/v1'
|
|
16
18
|
self._global_headers = {
|
|
17
19
|
'content-type': '',
|
|
18
|
-
'user-agent' : f'AppwritePythonSDK/
|
|
20
|
+
'user-agent' : f'AppwritePythonSDK/20.0.0 ({platform.uname().system}; {platform.uname().version}; {platform.uname().machine})',
|
|
19
21
|
'x-sdk-name': 'Python',
|
|
20
22
|
'x-sdk-platform': 'server',
|
|
21
23
|
'x-sdk-language': 'python',
|
|
22
|
-
'x-sdk-version': '
|
|
24
|
+
'x-sdk-version': '20.0.0',
|
|
23
25
|
'X-Appwrite-Response-Format' : '1.9.5',
|
|
24
26
|
}
|
|
25
27
|
|
|
@@ -186,14 +188,15 @@ class Client:
|
|
|
186
188
|
|
|
187
189
|
if input_file.source_type == 'path':
|
|
188
190
|
size = os.stat(input_file.path).st_size
|
|
189
|
-
input =
|
|
191
|
+
input = None
|
|
190
192
|
elif input_file.source_type == 'bytes':
|
|
191
193
|
size = len(input_file.data)
|
|
192
194
|
input = input_file.data
|
|
193
195
|
|
|
194
196
|
if size < self._chunk_size:
|
|
195
197
|
if input_file.source_type == 'path':
|
|
196
|
-
input_file.
|
|
198
|
+
with open(input_file.path, 'rb') as input:
|
|
199
|
+
input_file.data = input.read()
|
|
197
200
|
|
|
198
201
|
params[param_name] = input_file
|
|
199
202
|
return self.call(
|
|
@@ -214,46 +217,103 @@ class Client:
|
|
|
214
217
|
|
|
215
218
|
if counter > 0:
|
|
216
219
|
offset = counter * self._chunk_size
|
|
217
|
-
input.seek(offset)
|
|
218
220
|
|
|
221
|
+
total_chunks = (size + self._chunk_size - 1) // self._chunk_size
|
|
222
|
+
chunks = []
|
|
219
223
|
while offset < size:
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
224
|
+
end = min(offset + self._chunk_size, size)
|
|
225
|
+
chunks.append({
|
|
226
|
+
'index': counter,
|
|
227
|
+
'start': offset,
|
|
228
|
+
'end': end,
|
|
229
|
+
})
|
|
230
|
+
offset = end
|
|
231
|
+
counter = counter + 1
|
|
228
232
|
|
|
229
|
-
|
|
230
|
-
|
|
233
|
+
if not chunks:
|
|
234
|
+
return result
|
|
235
|
+
|
|
236
|
+
def read_chunk(start, end):
|
|
237
|
+
if input_file.source_type == 'path':
|
|
238
|
+
with open(input_file.path, 'rb') as chunk_file:
|
|
239
|
+
chunk_file.seek(start)
|
|
240
|
+
return chunk_file.read(end - start)
|
|
241
|
+
return input[start:end]
|
|
242
|
+
|
|
243
|
+
upload_id_header = upload_id
|
|
244
|
+
completed_count = chunks[0]['index']
|
|
245
|
+
uploaded_size = chunks[0]['start']
|
|
246
|
+
progress_lock = Lock()
|
|
247
|
+
last_result = None
|
|
248
|
+
final_result = None
|
|
249
|
+
|
|
250
|
+
def is_upload_complete(chunk_result):
|
|
251
|
+
chunks_uploaded = chunk_result.get('chunksUploaded')
|
|
252
|
+
if chunks_uploaded is None:
|
|
253
|
+
return False
|
|
254
|
+
chunks_total = chunk_result.get('chunksTotal', total_chunks)
|
|
255
|
+
return int(chunks_uploaded) >= int(chunks_total)
|
|
256
|
+
|
|
257
|
+
def upload_chunk(chunk, current_upload_id):
|
|
258
|
+
chunk_input = InputFile.from_bytes(
|
|
259
|
+
read_chunk(chunk['start'], chunk['end']),
|
|
260
|
+
input_file.filename,
|
|
261
|
+
getattr(input_file, 'mime_type', None)
|
|
262
|
+
)
|
|
263
|
+
chunk_params = {**params, param_name: chunk_input}
|
|
264
|
+
chunk_headers = {**headers}
|
|
265
|
+
chunk_headers["content-range"] = f"bytes {chunk['start']}-{chunk['end'] - 1}/{size}"
|
|
266
|
+
if current_upload_id:
|
|
267
|
+
chunk_headers["x-appwrite-id"] = current_upload_id
|
|
231
268
|
|
|
232
|
-
|
|
269
|
+
return self.call(
|
|
233
270
|
'post',
|
|
234
271
|
path,
|
|
235
|
-
|
|
236
|
-
|
|
272
|
+
chunk_headers,
|
|
273
|
+
chunk_params,
|
|
237
274
|
)
|
|
238
275
|
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
276
|
+
result = upload_chunk(chunks[0], upload_id_header)
|
|
277
|
+
last_result = result
|
|
278
|
+
if "$id" in result:
|
|
279
|
+
upload_id_header = result["$id"]
|
|
280
|
+
|
|
281
|
+
completed_count = chunks[0]['index'] + 1
|
|
282
|
+
uploaded_size = chunks[0]['end']
|
|
283
|
+
|
|
284
|
+
if on_progress is not None:
|
|
285
|
+
on_progress({
|
|
286
|
+
"$id": result.get("$id"),
|
|
287
|
+
"progress": uploaded_size / size * 100,
|
|
288
|
+
"sizeUploaded": uploaded_size,
|
|
289
|
+
"chunksTotal": total_chunks,
|
|
290
|
+
"chunksUploaded": completed_count,
|
|
291
|
+
})
|
|
292
|
+
|
|
293
|
+
def upload_remaining_chunk(chunk):
|
|
294
|
+
nonlocal completed_count, uploaded_size, last_result, final_result
|
|
295
|
+
chunk_result = upload_chunk(chunk, upload_id_header)
|
|
296
|
+
with progress_lock:
|
|
297
|
+
completed_count = completed_count + 1
|
|
298
|
+
uploaded_size = uploaded_size + (chunk['end'] - chunk['start'])
|
|
299
|
+
last_result = chunk_result
|
|
300
|
+
if is_upload_complete(chunk_result):
|
|
301
|
+
final_result = chunk_result
|
|
302
|
+
if on_progress is not None:
|
|
303
|
+
on_progress({
|
|
304
|
+
"$id": upload_id_header,
|
|
305
|
+
"progress": uploaded_size / size * 100,
|
|
306
|
+
"sizeUploaded": uploaded_size,
|
|
307
|
+
"chunksTotal": total_chunks,
|
|
308
|
+
"chunksUploaded": completed_count,
|
|
309
|
+
})
|
|
310
|
+
|
|
311
|
+
with ThreadPoolExecutor(max_workers=8) as executor:
|
|
312
|
+
futures = [executor.submit(upload_remaining_chunk, chunk) for chunk in chunks[1:]]
|
|
313
|
+
for future in as_completed(futures):
|
|
314
|
+
future.result()
|
|
315
|
+
|
|
316
|
+
return final_result or last_result
|
|
257
317
|
|
|
258
318
|
def flatten(self, data, prefix='', stringify=False):
|
|
259
319
|
output = {}
|
|
@@ -6,7 +6,7 @@ from ..enums.o_auth_provider import OAuthProvider
|
|
|
6
6
|
from ..enums.browser import Browser
|
|
7
7
|
from ..enums.credit_card import CreditCard
|
|
8
8
|
from ..enums.flag import Flag
|
|
9
|
-
from ..enums.
|
|
9
|
+
from ..enums.browser_theme import BrowserTheme
|
|
10
10
|
from ..enums.timezone import Timezone
|
|
11
11
|
from ..enums.browser_permission import BrowserPermission
|
|
12
12
|
from ..enums.image_format import ImageFormat
|
|
@@ -16,16 +16,17 @@ from ..enums.relation_mutate import RelationMutate
|
|
|
16
16
|
from ..enums.databases_index_type import DatabasesIndexType
|
|
17
17
|
from ..enums.order_by import OrderBy
|
|
18
18
|
from ..enums.runtime import Runtime
|
|
19
|
-
from ..enums.
|
|
19
|
+
from ..enums.project_key_scopes import ProjectKeyScopes
|
|
20
20
|
from ..enums.template_reference_type import TemplateReferenceType
|
|
21
21
|
from ..enums.vcs_reference_type import VCSReferenceType
|
|
22
22
|
from ..enums.deployment_download_type import DeploymentDownloadType
|
|
23
23
|
from ..enums.execution_method import ExecutionMethod
|
|
24
|
-
from ..enums.
|
|
24
|
+
from ..enums.health_queue_name import HealthQueueName
|
|
25
25
|
from ..enums.message_priority import MessagePriority
|
|
26
26
|
from ..enums.smtp_encryption import SmtpEncryption
|
|
27
|
+
from ..enums.organization_key_scopes import OrganizationKeyScopes
|
|
28
|
+
from ..enums.region import Region
|
|
27
29
|
from ..enums.project_auth_method_id import ProjectAuthMethodId
|
|
28
|
-
from ..enums.project_key_scopes import ProjectKeyScopes
|
|
29
30
|
from ..enums.project_o_auth2_google_prompt import ProjectOAuth2GooglePrompt
|
|
30
31
|
from ..enums.project_o_auth_provider_id import ProjectOAuthProviderId
|
|
31
32
|
from ..enums.project_policy_id import ProjectPolicyId
|
|
@@ -82,7 +83,7 @@ class ValueClassEncoder(json.JSONEncoder):
|
|
|
82
83
|
if isinstance(o, Flag):
|
|
83
84
|
return o.value
|
|
84
85
|
|
|
85
|
-
if isinstance(o,
|
|
86
|
+
if isinstance(o, BrowserTheme):
|
|
86
87
|
return o.value
|
|
87
88
|
|
|
88
89
|
if isinstance(o, Timezone):
|
|
@@ -112,7 +113,7 @@ class ValueClassEncoder(json.JSONEncoder):
|
|
|
112
113
|
if isinstance(o, Runtime):
|
|
113
114
|
return o.value
|
|
114
115
|
|
|
115
|
-
if isinstance(o,
|
|
116
|
+
if isinstance(o, ProjectKeyScopes):
|
|
116
117
|
return o.value
|
|
117
118
|
|
|
118
119
|
if isinstance(o, TemplateReferenceType):
|
|
@@ -127,7 +128,7 @@ class ValueClassEncoder(json.JSONEncoder):
|
|
|
127
128
|
if isinstance(o, ExecutionMethod):
|
|
128
129
|
return o.value
|
|
129
130
|
|
|
130
|
-
if isinstance(o,
|
|
131
|
+
if isinstance(o, HealthQueueName):
|
|
131
132
|
return o.value
|
|
132
133
|
|
|
133
134
|
if isinstance(o, MessagePriority):
|
|
@@ -136,10 +137,13 @@ class ValueClassEncoder(json.JSONEncoder):
|
|
|
136
137
|
if isinstance(o, SmtpEncryption):
|
|
137
138
|
return o.value
|
|
138
139
|
|
|
139
|
-
if isinstance(o,
|
|
140
|
+
if isinstance(o, OrganizationKeyScopes):
|
|
140
141
|
return o.value
|
|
141
142
|
|
|
142
|
-
if isinstance(o,
|
|
143
|
+
if isinstance(o, Region):
|
|
144
|
+
return o.value
|
|
145
|
+
|
|
146
|
+
if isinstance(o, ProjectAuthMethodId):
|
|
143
147
|
return o.value
|
|
144
148
|
|
|
145
149
|
if isinstance(o, ProjectOAuth2GooglePrompt):
|
|
@@ -32,9 +32,6 @@ class BuildRuntime(Enum):
|
|
|
32
32
|
PYTHON_ML_3_11 = "python-ml-3.11"
|
|
33
33
|
PYTHON_ML_3_12 = "python-ml-3.12"
|
|
34
34
|
PYTHON_ML_3_13 = "python-ml-3.13"
|
|
35
|
-
DENO_1_21 = "deno-1.21"
|
|
36
|
-
DENO_1_24 = "deno-1.24"
|
|
37
|
-
DENO_1_35 = "deno-1.35"
|
|
38
35
|
DENO_1_40 = "deno-1.40"
|
|
39
36
|
DENO_1_46 = "deno-1.46"
|
|
40
37
|
DENO_2_0 = "deno-2.0"
|
|
@@ -53,6 +50,7 @@ class BuildRuntime(Enum):
|
|
|
53
50
|
DART_3_9 = "dart-3.9"
|
|
54
51
|
DART_3_10 = "dart-3.10"
|
|
55
52
|
DART_3_11 = "dart-3.11"
|
|
53
|
+
DART_3_12 = "dart-3.12"
|
|
56
54
|
DOTNET_6_0 = "dotnet-6.0"
|
|
57
55
|
DOTNET_7_0 = "dotnet-7.0"
|
|
58
56
|
DOTNET_8_0 = "dotnet-8.0"
|
|
@@ -93,3 +91,4 @@ class BuildRuntime(Enum):
|
|
|
93
91
|
FLUTTER_3_35 = "flutter-3.35"
|
|
94
92
|
FLUTTER_3_38 = "flutter-3.38"
|
|
95
93
|
FLUTTER_3_41 = "flutter-3.41"
|
|
94
|
+
FLUTTER_3_44 = "flutter-3.44"
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
from enum import Enum
|
|
2
|
+
|
|
3
|
+
class OrganizationKeyScopes(Enum):
|
|
4
|
+
PROJECTS_READ = "projects.read"
|
|
5
|
+
PROJECTS_WRITE = "projects.write"
|
|
6
|
+
DEVKEYS_READ = "devKeys.read"
|
|
7
|
+
DEVKEYS_WRITE = "devKeys.write"
|
|
8
|
+
ORGANIZATION_KEYS_READ = "organization.keys.read"
|
|
9
|
+
ORGANIZATION_KEYS_WRITE = "organization.keys.write"
|
|
10
|
+
DOMAINS_READ = "domains.read"
|
|
11
|
+
DOMAINS_WRITE = "domains.write"
|
|
12
|
+
KEYS_READ = "keys.read"
|
|
13
|
+
KEYS_WRITE = "keys.write"
|
|
@@ -10,3 +10,6 @@ class ProjectPolicyId(Enum):
|
|
|
10
10
|
SESSION_LIMIT = "session-limit"
|
|
11
11
|
USER_LIMIT = "user-limit"
|
|
12
12
|
MEMBERSHIP_PRIVACY = "membership-privacy"
|
|
13
|
+
DENY_ALIASED_EMAIL = "deny-aliased-email"
|
|
14
|
+
DENY_DISPOSABLE_EMAIL = "deny-disposable-email"
|
|
15
|
+
DENY_FREE_EMAIL = "deny-free-email"
|
|
@@ -32,9 +32,6 @@ class Runtime(Enum):
|
|
|
32
32
|
PYTHON_ML_3_11 = "python-ml-3.11"
|
|
33
33
|
PYTHON_ML_3_12 = "python-ml-3.12"
|
|
34
34
|
PYTHON_ML_3_13 = "python-ml-3.13"
|
|
35
|
-
DENO_1_21 = "deno-1.21"
|
|
36
|
-
DENO_1_24 = "deno-1.24"
|
|
37
|
-
DENO_1_35 = "deno-1.35"
|
|
38
35
|
DENO_1_40 = "deno-1.40"
|
|
39
36
|
DENO_1_46 = "deno-1.46"
|
|
40
37
|
DENO_2_0 = "deno-2.0"
|
|
@@ -53,6 +50,7 @@ class Runtime(Enum):
|
|
|
53
50
|
DART_3_9 = "dart-3.9"
|
|
54
51
|
DART_3_10 = "dart-3.10"
|
|
55
52
|
DART_3_11 = "dart-3.11"
|
|
53
|
+
DART_3_12 = "dart-3.12"
|
|
56
54
|
DOTNET_6_0 = "dotnet-6.0"
|
|
57
55
|
DOTNET_7_0 = "dotnet-7.0"
|
|
58
56
|
DOTNET_8_0 = "dotnet-8.0"
|
|
@@ -93,3 +91,4 @@ class Runtime(Enum):
|
|
|
93
91
|
FLUTTER_3_35 = "flutter-3.35"
|
|
94
92
|
FLUTTER_3_38 = "flutter-3.38"
|
|
95
93
|
FLUTTER_3_41 = "flutter-3.41"
|
|
94
|
+
FLUTTER_3_44 = "flutter-3.44"
|
|
@@ -22,6 +22,7 @@ from .framework_list import FrameworkList
|
|
|
22
22
|
from .runtime_list import RuntimeList
|
|
23
23
|
from .deployment_list import DeploymentList
|
|
24
24
|
from .execution_list import ExecutionList
|
|
25
|
+
from .project_list import ProjectList
|
|
25
26
|
from .webhook_list import WebhookList
|
|
26
27
|
from .key_list import KeyList
|
|
27
28
|
from .country_list import CountryList
|
|
@@ -217,15 +218,18 @@ from .backup_archive import BackupArchive
|
|
|
217
218
|
from .billing_limits import BillingLimits
|
|
218
219
|
from .block import Block
|
|
219
220
|
from .backup_policy import BackupPolicy
|
|
221
|
+
from .policy_deny_aliased_email import PolicyDenyAliasedEmail
|
|
222
|
+
from .policy_deny_disposable_email import PolicyDenyDisposableEmail
|
|
223
|
+
from .policy_deny_free_email import PolicyDenyFreeEmail
|
|
220
224
|
from .backup_restoration import BackupRestoration
|
|
221
225
|
from .usage_event import UsageEvent
|
|
222
|
-
from .usage_event_list import UsageEventList
|
|
223
226
|
from .usage_gauge import UsageGauge
|
|
224
|
-
from .usage_gauge_list import UsageGaugeList
|
|
225
227
|
from .activity_event_list import ActivityEventList
|
|
226
228
|
from .backup_archive_list import BackupArchiveList
|
|
227
229
|
from .backup_policy_list import BackupPolicyList
|
|
228
230
|
from .backup_restoration_list import BackupRestorationList
|
|
231
|
+
from .usage_event_list import UsageEventList
|
|
232
|
+
from .usage_gauge_list import UsageGaugeList
|
|
229
233
|
|
|
230
234
|
__all__ = [
|
|
231
235
|
'AppwriteModel',
|
|
@@ -252,6 +256,7 @@ __all__ = [
|
|
|
252
256
|
'RuntimeList',
|
|
253
257
|
'DeploymentList',
|
|
254
258
|
'ExecutionList',
|
|
259
|
+
'ProjectList',
|
|
255
260
|
'WebhookList',
|
|
256
261
|
'KeyList',
|
|
257
262
|
'CountryList',
|
|
@@ -447,13 +452,16 @@ __all__ = [
|
|
|
447
452
|
'BillingLimits',
|
|
448
453
|
'Block',
|
|
449
454
|
'BackupPolicy',
|
|
455
|
+
'PolicyDenyAliasedEmail',
|
|
456
|
+
'PolicyDenyDisposableEmail',
|
|
457
|
+
'PolicyDenyFreeEmail',
|
|
450
458
|
'BackupRestoration',
|
|
451
459
|
'UsageEvent',
|
|
452
|
-
'UsageEventList',
|
|
453
460
|
'UsageGauge',
|
|
454
|
-
'UsageGaugeList',
|
|
455
461
|
'ActivityEventList',
|
|
456
462
|
'BackupArchiveList',
|
|
457
463
|
'BackupPolicyList',
|
|
458
464
|
'BackupRestorationList',
|
|
465
|
+
'UsageEventList',
|
|
466
|
+
'UsageGaugeList',
|
|
459
467
|
]
|
|
@@ -11,14 +11,14 @@ class ActivityEvent(AppwriteModel):
|
|
|
11
11
|
----------
|
|
12
12
|
id : str
|
|
13
13
|
Event ID.
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
14
|
+
actortype : str
|
|
15
|
+
Actor type.
|
|
16
|
+
actorid : str
|
|
17
|
+
Actor ID.
|
|
18
|
+
actoremail : str
|
|
19
|
+
Actor Email.
|
|
20
|
+
actorname : str
|
|
21
|
+
Actor Name.
|
|
22
22
|
resourceparent : str
|
|
23
23
|
Resource parent.
|
|
24
24
|
resourcetype : str
|
|
@@ -75,10 +75,10 @@ class ActivityEvent(AppwriteModel):
|
|
|
75
75
|
Country name.
|
|
76
76
|
"""
|
|
77
77
|
id: str = Field(..., alias='$id')
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
78
|
+
actortype: str = Field(..., alias='actorType')
|
|
79
|
+
actorid: str = Field(..., alias='actorId')
|
|
80
|
+
actoremail: str = Field(..., alias='actorEmail')
|
|
81
|
+
actorname: str = Field(..., alias='actorName')
|
|
82
82
|
resourceparent: str = Field(..., alias='resourceParent')
|
|
83
83
|
resourcetype: str = Field(..., alias='resourceType')
|
|
84
84
|
resourceid: str = Field(..., alias='resourceId')
|
|
@@ -66,6 +66,10 @@ class Function(AppwriteModel):
|
|
|
66
66
|
Path to function in VCS (Version Control System) repository
|
|
67
67
|
providersilentmode : bool
|
|
68
68
|
Is VCS (Version Control System) connection is in silent mode? When in silence mode, no comments will be posted on the repository pull or merge requests
|
|
69
|
+
providerbranches : List[Any]
|
|
70
|
+
List of branch name patterns that trigger automatic deployments. Supports glob wildcards. Empty list deploys on all branches.
|
|
71
|
+
providerpaths : List[Any]
|
|
72
|
+
List of file path patterns that trigger automatic deployments. Supports glob wildcards. Empty list deploys on all file changes.
|
|
69
73
|
buildspecification : str
|
|
70
74
|
Machine specification for deployment builds.
|
|
71
75
|
runtimespecification : str
|
|
@@ -99,5 +103,7 @@ class Function(AppwriteModel):
|
|
|
99
103
|
providerbranch: str = Field(..., alias='providerBranch')
|
|
100
104
|
providerrootdirectory: str = Field(..., alias='providerRootDirectory')
|
|
101
105
|
providersilentmode: bool = Field(..., alias='providerSilentMode')
|
|
106
|
+
providerbranches: List[Any] = Field(..., alias='providerBranches')
|
|
107
|
+
providerpaths: List[Any] = Field(..., alias='providerPaths')
|
|
102
108
|
buildspecification: str = Field(..., alias='buildSpecification')
|
|
103
109
|
runtimespecification: str = Field(..., alias='runtimeSpecification')
|
|
@@ -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 PolicyDenyAliasedEmail(AppwriteModel):
|
|
7
|
+
"""
|
|
8
|
+
Policy Deny Aliased Email
|
|
9
|
+
|
|
10
|
+
Attributes
|
|
11
|
+
----------
|
|
12
|
+
id : str
|
|
13
|
+
Policy ID.
|
|
14
|
+
enabled : bool
|
|
15
|
+
Whether the deny aliased email policy is enabled.
|
|
16
|
+
"""
|
|
17
|
+
id: str = Field(..., alias='$id')
|
|
18
|
+
enabled: bool = Field(..., alias='enabled')
|
|
@@ -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 PolicyDenyDisposableEmail(AppwriteModel):
|
|
7
|
+
"""
|
|
8
|
+
Policy Deny Disposable Email
|
|
9
|
+
|
|
10
|
+
Attributes
|
|
11
|
+
----------
|
|
12
|
+
id : str
|
|
13
|
+
Policy ID.
|
|
14
|
+
enabled : bool
|
|
15
|
+
Whether the deny disposable email policy is enabled.
|
|
16
|
+
"""
|
|
17
|
+
id: str = Field(..., alias='$id')
|
|
18
|
+
enabled: bool = Field(..., alias='enabled')
|
|
@@ -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 PolicyDenyFreeEmail(AppwriteModel):
|
|
7
|
+
"""
|
|
8
|
+
Policy Deny Free Email
|
|
9
|
+
|
|
10
|
+
Attributes
|
|
11
|
+
----------
|
|
12
|
+
id : str
|
|
13
|
+
Policy ID.
|
|
14
|
+
enabled : bool
|
|
15
|
+
Whether the deny free email policy is enabled.
|
|
16
|
+
"""
|
|
17
|
+
id: str = Field(..., alias='$id')
|
|
18
|
+
enabled: bool = Field(..., alias='enabled')
|
|
@@ -11,6 +11,9 @@ from .policy_session_invalidation import PolicySessionInvalidation
|
|
|
11
11
|
from .policy_session_limit import PolicySessionLimit
|
|
12
12
|
from .policy_user_limit import PolicyUserLimit
|
|
13
13
|
from .policy_membership_privacy import PolicyMembershipPrivacy
|
|
14
|
+
from .policy_deny_aliased_email import PolicyDenyAliasedEmail
|
|
15
|
+
from .policy_deny_disposable_email import PolicyDenyDisposableEmail
|
|
16
|
+
from .policy_deny_free_email import PolicyDenyFreeEmail
|
|
14
17
|
|
|
15
18
|
class PolicyList(AppwriteModel):
|
|
16
19
|
"""
|
|
@@ -20,8 +23,8 @@ class PolicyList(AppwriteModel):
|
|
|
20
23
|
----------
|
|
21
24
|
total : float
|
|
22
25
|
Total number of policies in the given project.
|
|
23
|
-
policies : List[Union[PolicyPasswordDictionary, PolicyPasswordHistory, PolicyPasswordPersonalData, PolicySessionAlert, PolicySessionDuration, PolicySessionInvalidation, PolicySessionLimit, PolicyUserLimit, PolicyMembershipPrivacy]]
|
|
26
|
+
policies : List[Union[PolicyPasswordDictionary, PolicyPasswordHistory, PolicyPasswordPersonalData, PolicySessionAlert, PolicySessionDuration, PolicySessionInvalidation, PolicySessionLimit, PolicyUserLimit, PolicyMembershipPrivacy, PolicyDenyAliasedEmail, PolicyDenyDisposableEmail, PolicyDenyFreeEmail]]
|
|
24
27
|
List of policies.
|
|
25
28
|
"""
|
|
26
29
|
total: float = Field(..., alias='total')
|
|
27
|
-
policies: List[Union[PolicyPasswordDictionary, PolicyPasswordHistory, PolicyPasswordPersonalData, PolicySessionAlert, PolicySessionDuration, PolicySessionInvalidation, PolicySessionLimit, PolicyUserLimit, PolicyMembershipPrivacy]] = Field(..., alias='policies')
|
|
30
|
+
policies: List[Union[PolicyPasswordDictionary, PolicyPasswordHistory, PolicyPasswordPersonalData, PolicySessionAlert, PolicySessionDuration, PolicySessionInvalidation, PolicySessionLimit, PolicyUserLimit, PolicyMembershipPrivacy, PolicyDenyAliasedEmail, PolicyDenyDisposableEmail, PolicyDenyFreeEmail]] = Field(..., alias='policies')
|
|
@@ -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 Presence(AppwriteModel):
|
|
7
|
+
"""
|
|
8
|
+
Presence
|
|
9
|
+
|
|
10
|
+
Attributes
|
|
11
|
+
----------
|
|
12
|
+
id : str
|
|
13
|
+
Presence ID.
|
|
14
|
+
createdat : str
|
|
15
|
+
Presence creation date in ISO 8601 format.
|
|
16
|
+
updatedat : str
|
|
17
|
+
Presence update date in ISO 8601 format.
|
|
18
|
+
permissions : List[Any]
|
|
19
|
+
Presence permissions. [Learn more about permissions](https://appwrite.io/docs/permissions).
|
|
20
|
+
userid : str
|
|
21
|
+
User ID.
|
|
22
|
+
status : Optional[str]
|
|
23
|
+
Presence status.
|
|
24
|
+
source : str
|
|
25
|
+
Presence source.
|
|
26
|
+
expiresat : Optional[str]
|
|
27
|
+
Presence expiry date in ISO 8601 format.
|
|
28
|
+
metadata : Optional[Dict[str, Any]]
|
|
29
|
+
Presence metadata.
|
|
30
|
+
"""
|
|
31
|
+
id: str = Field(..., alias='$id')
|
|
32
|
+
createdat: str = Field(..., alias='$createdAt')
|
|
33
|
+
updatedat: str = Field(..., alias='$updatedAt')
|
|
34
|
+
permissions: List[Any] = Field(..., alias='$permissions')
|
|
35
|
+
userid: str = Field(..., alias='userId')
|
|
36
|
+
status: Optional[str] = Field(default=None, alias='status')
|
|
37
|
+
source: str = Field(..., alias='source')
|
|
38
|
+
expiresat: Optional[str] = Field(default=None, alias='expiresAt')
|
|
39
|
+
metadata: Optional[Dict[str, Any]] = Field(default=None, alias='metadata')
|
|
@@ -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 .presence import Presence
|
|
6
|
+
|
|
7
|
+
class PresenceList(AppwriteModel):
|
|
8
|
+
"""
|
|
9
|
+
Presences List
|
|
10
|
+
|
|
11
|
+
Attributes
|
|
12
|
+
----------
|
|
13
|
+
total : float
|
|
14
|
+
Total number of presences that matched your query.
|
|
15
|
+
presences : List[Presence]
|
|
16
|
+
List of presences.
|
|
17
|
+
"""
|
|
18
|
+
total: float = Field(..., alias='total')
|
|
19
|
+
presences: List[Presence] = Field(..., alias='presences')
|