appwrite 24.1.0__tar.gz → 24.3.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-24.1.0 → appwrite-24.3.0}/PKG-INFO +2 -2
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/client.py +2 -2
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/__init__.py +8 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/billing_plan.py +3 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/function.py +3 -0
- appwrite-24.3.0/appwrite/models/passkey.py +29 -0
- appwrite-24.3.0/appwrite/models/passkey_challenge.py +29 -0
- appwrite-24.3.0/appwrite/models/passkey_list.py +21 -0
- appwrite-24.3.0/appwrite/models/token_secret.py +32 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/services/account.py +347 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/services/functions.py +12 -2
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/services/project.py +41 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/services/users.py +198 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite.egg-info/PKG-INFO +2 -2
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite.egg-info/SOURCES.txt +4 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/pyproject.toml +1 -1
- {appwrite-24.1.0 → appwrite-24.3.0}/setup.py +2 -2
- {appwrite-24.1.0 → appwrite-24.3.0}/LICENSE +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/README.md +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/__init__.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/encoders/__init__.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/encoders/value_class_encoder.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/__init__.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/adapter.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/attribute_status.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/authentication_factor.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/authenticator_type.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/backup_services.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/billing_plan_group.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/browser.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/browser_permission.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/browser_theme.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/build_runtime.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/column_status.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/compression.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/credit_card.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/database_status.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/database_type.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/databases_index_type.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/deployment_download_type.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/deployment_status.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/documents_db_index_type.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/embedding_model.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/execution_method.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/execution_resource_type.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/execution_status.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/execution_trigger.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/flag.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/framework.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/image_format.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/image_gravity.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/index_status.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/invalidation_type.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/message_priority.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/message_status.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/messaging_provider_type.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/o_auth2_google_prompt.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/o_auth2_oidc_prompt.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/o_auth_provider.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/order_by.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/organization_key_scopes.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/password_hash.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/platform_type.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/project_auth_method_id.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/project_email_template_id.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/project_email_template_locale.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/project_key_scopes.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/project_o_auth2_google_prompt.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/project_o_auth2_oidc_prompt.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/project_o_auth_provider_id.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/project_policy_id.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/project_protocol_id.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/project_service_id.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/project_smtp_secure.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/proxy_resource_type.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/proxy_rule_deployment_resource_type.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/proxy_rule_status.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/region.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/relation_mutate.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/relationship_type.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/runtime.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/smtp_encryption.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/status_code.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/tables_db_index_type.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/template_reference_type.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/timezone.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/vcs_reference_type.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/enums/vectors_db_index_type.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/exception.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/id.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/input_file.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/activity_event.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/activity_event_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/additional_resource.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/algo_argon2.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/algo_bcrypt.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/algo_md5.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/algo_phpass.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/algo_scrypt.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/algo_scrypt_modified.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/algo_sha.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/app.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/app_installation.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/app_installation_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/app_key.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/app_key_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/app_scope.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/app_scope_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/app_secret.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/app_secret_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/app_secret_plaintext.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/apps_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/attribute_bigint.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/attribute_boolean.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/attribute_datetime.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/attribute_email.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/attribute_enum.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/attribute_float.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/attribute_integer.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/attribute_ip.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/attribute_line.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/attribute_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/attribute_longtext.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/attribute_mediumtext.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/attribute_object.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/attribute_point.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/attribute_polygon.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/attribute_relationship.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/attribute_string.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/attribute_text.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/attribute_url.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/attribute_varchar.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/attribute_vector.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/backup_archive.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/backup_archive_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/backup_policy.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/backup_policy_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/backup_restoration.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/backup_restoration_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/base_model.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/billing_limits.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/billing_plan_addon.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/billing_plan_addon_details.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/billing_plan_dedicated_database_limits.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/billing_plan_limits.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/billing_plan_supported_addons.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/block.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/bucket.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/bucket_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/collection.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/collection_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/column_bigint.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/column_boolean.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/column_datetime.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/column_email.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/column_enum.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/column_float.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/column_index.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/column_index_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/column_integer.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/column_ip.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/column_line.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/column_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/column_longtext.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/column_mediumtext.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/column_point.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/column_polygon.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/column_relationship.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/column_string.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/column_text.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/column_url.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/column_varchar.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/continent.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/continent_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/country.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/country_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/currency.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/currency_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/database.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/database_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/database_migration.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/database_migration_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/database_status.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/database_status_connections.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/database_status_replica.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/database_status_volume.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/dedicated_database.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/dedicated_database_backup.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/dedicated_database_backup_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/dedicated_database_backup_storage.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/dedicated_database_branch.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/dedicated_database_branch_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/dedicated_database_execution.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/dedicated_database_execution_column.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/dedicated_database_extensions.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/dedicated_database_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/dedicated_database_member.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/dedicated_database_operation.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/dedicated_database_operation_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/dedicated_database_pitr_windows.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/dedicated_database_pooler.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/dedicated_database_replicas.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/dedicated_database_restoration.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/dedicated_database_restoration_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/dedicated_database_specification.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/dedicated_database_specification_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/dedicated_database_specification_pricing.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/deployment.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/deployment_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/dev_key.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/document.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/document_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/email_template.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/email_template_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/embedding.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/embedding_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/ephemeral_key.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/execution.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/execution_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/file.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/file_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/framework.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/framework_adapter.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/framework_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/function_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/headers.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/identity.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/identity_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/index.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/index_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/insight.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/insight_cta.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/insight_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/jwt.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/key.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/key_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/language.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/language_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/locale.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/locale_code.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/locale_code_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/log.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/log_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/membership.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/membership_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/message.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/message_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/mfa_challenge.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/mfa_challenge_secret.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/mfa_factors.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/mfa_recovery_codes.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/mfa_type.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/mock_number.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/mock_number_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_amazon.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_apple.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_appwrite.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_auth0.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_authentik.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_autodesk.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_bitbucket.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_bitly.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_box.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_cloudflare.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_dailymotion.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_discord.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_disqus.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_dropbox.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_etsy.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_facebook.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_figma.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_fusion_auth.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_github.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_gitlab.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_google.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_hugging_face.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_keycloak.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_kick.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_linkedin.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_microsoft.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_notion.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_oidc.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_okta.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_paypal.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_podio.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_provider_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_resend.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_salesforce.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_slack.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_spotify.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_stripe.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_tradeshift.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_twitch.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_word_press.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_x.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_yahoo.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_yandex.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_zoho.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/o_auth2_zoom.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/oauth2_approve.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/oauth2_authorize.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/oauth2_consent.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/oauth2_consent_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/oauth2_consent_token.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/oauth2_consent_token_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/oauth2_device_authorization.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/oauth2_grant.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/oauth2_organization.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/oauth2_organization_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/oauth2_par.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/oauth2_project.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/oauth2_project_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/oauth2_reject.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/oauth2_token.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/organization.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/phone.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/phone_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/platform_android.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/platform_apple.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/platform_linux.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/platform_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/platform_web.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/platform_windows.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/policy_deny_aliased_email.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/policy_deny_corporate_email.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/policy_deny_disposable_email.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/policy_deny_free_email.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/policy_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/policy_membership_privacy.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/policy_mfa_factors.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/policy_password_dictionary.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/policy_password_history.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/policy_password_personal_data.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/policy_password_strength.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/policy_session_alert.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/policy_session_duration.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/policy_session_invalidation.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/policy_session_limit.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/policy_user_limit.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/postgres_extension.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/preferences.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/presence.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/presence_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/program.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/project.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/project_auth_method.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/project_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/project_protocol.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/project_service.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/provider.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/provider_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/proxy_invalidation.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/proxy_rule.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/proxy_rule_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/report.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/report_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/resource_token.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/resource_token_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/row.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/row_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/runtime.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/runtime_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/session.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/session_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/site.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/site_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/specification.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/specification_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/subscriber.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/subscriber_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/table.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/table_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/target.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/target_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/team.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/team_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/token.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/topic.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/topic_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/transaction.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/transaction_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/usage_billing_plan.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/user.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/user_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/variable.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/variable_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/vectorsdb_collection.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/vectorsdb_collection_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/webhook.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/models/webhook_list.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/operator.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/permission.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/query.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/role.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/service.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/services/__init__.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/services/activities.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/services/advisor.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/services/apps.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/services/avatars.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/services/backups.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/services/databases.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/services/documents_db.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/services/embeddings.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/services/graphql.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/services/locale.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/services/messaging.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/services/mongo.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/services/mysql.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/services/oauth2.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/services/organization.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/services/postgresql.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/services/presences.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/services/proxy.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/services/sites.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/services/storage.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/services/tables_db.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/services/teams.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/services/tokens.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/services/vectors_db.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/services/webhooks.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/utils/__init__.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite/utils/deprecated.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite.egg-info/dependency_links.txt +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite.egg-info/requires.txt +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/appwrite.egg-info/top_level.txt +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/setup.cfg +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/test/test_id.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/test/test_operator.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/test/test_permission.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/test/test_query.py +0 -0
- {appwrite-24.1.0 → appwrite-24.3.0}/test/test_role.py +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: appwrite
|
|
3
|
-
Version: 24.
|
|
3
|
+
Version: 24.3.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/24.
|
|
6
|
+
Download-URL: https://github.com/appwrite/sdk-for-python/archive/24.3.0.tar.gz
|
|
7
7
|
Author: Appwrite Team
|
|
8
8
|
Author-email: Appwrite Team <team@appwrite.io>
|
|
9
9
|
Maintainer: Appwrite Team
|
|
@@ -18,11 +18,11 @@ class Client:
|
|
|
18
18
|
self._endpoint = 'https://cloud.appwrite.io/v1'
|
|
19
19
|
self._global_headers = {
|
|
20
20
|
'content-type': '',
|
|
21
|
-
'user-agent': f'AppwritePythonSDK/24.
|
|
21
|
+
'user-agent': f'AppwritePythonSDK/24.3.0 ({platform.uname().system}; {platform.uname().version}; {platform.uname().machine})',
|
|
22
22
|
'x-sdk-name': 'Python',
|
|
23
23
|
'x-sdk-platform': 'server',
|
|
24
24
|
'x-sdk-language': 'python',
|
|
25
|
-
'x-sdk-version': '24.
|
|
25
|
+
'x-sdk-version': '24.3.0',
|
|
26
26
|
'X-Appwrite-Response-Format': '2.0.0',
|
|
27
27
|
}
|
|
28
28
|
self._config = {}
|
|
@@ -208,6 +208,10 @@ from .proxy_rule import ProxyRule
|
|
|
208
208
|
from .email_template import EmailTemplate
|
|
209
209
|
from .mfa_challenge import MfaChallenge
|
|
210
210
|
from .mfa_challenge_secret import MfaChallengeSecret
|
|
211
|
+
from .token_secret import TokenSecret
|
|
212
|
+
from .passkey import Passkey
|
|
213
|
+
from .passkey_challenge import PasskeyChallenge
|
|
214
|
+
from .passkey_list import PasskeyList
|
|
211
215
|
from .mfa_recovery_codes import MfaRecoveryCodes
|
|
212
216
|
from .mfa_type import MfaType
|
|
213
217
|
from .mfa_factors import MfaFactors
|
|
@@ -511,6 +515,10 @@ __all__ = [
|
|
|
511
515
|
'EmailTemplate',
|
|
512
516
|
'MfaChallenge',
|
|
513
517
|
'MfaChallengeSecret',
|
|
518
|
+
'TokenSecret',
|
|
519
|
+
'Passkey',
|
|
520
|
+
'PasskeyChallenge',
|
|
521
|
+
'PasskeyList',
|
|
514
522
|
'MfaRecoveryCodes',
|
|
515
523
|
'MfaType',
|
|
516
524
|
'MfaFactors',
|
|
@@ -149,6 +149,8 @@ class BillingPlan(AppwriteModel):
|
|
|
149
149
|
Maximum function and site deployment size in MB
|
|
150
150
|
buildsize : float
|
|
151
151
|
Maximum function and site deployment size in MB
|
|
152
|
+
functionsintervalminimum : float
|
|
153
|
+
Shortest function schedule interval allowed, in minutes. 0 allows every interval.
|
|
152
154
|
databasesallowencrypt : bool
|
|
153
155
|
Does the plan support encrypted string attributes or not.
|
|
154
156
|
limits : Optional[BillingPlanLimits]
|
|
@@ -229,6 +231,7 @@ class BillingPlan(AppwriteModel):
|
|
|
229
231
|
backuppolicies: Optional[float] = Field(default=None, alias='backupPolicies')
|
|
230
232
|
deploymentsize: float = Field(..., alias='deploymentSize')
|
|
231
233
|
buildsize: float = Field(..., alias='buildSize')
|
|
234
|
+
functionsintervalminimum: float = Field(..., alias='functionsIntervalMinimum')
|
|
232
235
|
databasesallowencrypt: bool = Field(..., alias='databasesAllowEncrypt')
|
|
233
236
|
limits: Optional[BillingPlanLimits] = Field(default=None, alias='limits')
|
|
234
237
|
group: BillingPlanGroup = Field(..., alias='group')
|
|
@@ -49,6 +49,8 @@ class Function(AppwriteModel):
|
|
|
49
49
|
Function trigger events.
|
|
50
50
|
schedule : str
|
|
51
51
|
Function execution schedule in CRON format.
|
|
52
|
+
interval : Optional[float]
|
|
53
|
+
Minutes between scheduled executions. 0 when the function has no interval.
|
|
52
54
|
timeout : float
|
|
53
55
|
Function execution timeout in seconds.
|
|
54
56
|
entrypoint : str
|
|
@@ -96,6 +98,7 @@ class Function(AppwriteModel):
|
|
|
96
98
|
vars: List[Variable] = Field(..., alias='vars')
|
|
97
99
|
events: List[Any] = Field(..., alias='events')
|
|
98
100
|
schedule: str = Field(..., alias='schedule')
|
|
101
|
+
interval: Optional[float] = Field(default=None, alias='interval')
|
|
99
102
|
timeout: float = Field(..., alias='timeout')
|
|
100
103
|
entrypoint: str = Field(..., alias='entrypoint')
|
|
101
104
|
commands: str = Field(..., alias='commands')
|
|
@@ -0,0 +1,29 @@
|
|
|
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
|
+
|
|
7
|
+
class Passkey(AppwriteModel):
|
|
8
|
+
"""
|
|
9
|
+
Passkey
|
|
10
|
+
|
|
11
|
+
Attributes
|
|
12
|
+
----------
|
|
13
|
+
id : str
|
|
14
|
+
Passkey ID.
|
|
15
|
+
createdat : str
|
|
16
|
+
Passkey creation date in ISO 8601 format.
|
|
17
|
+
updatedat : str
|
|
18
|
+
Passkey update date in ISO 8601 format.
|
|
19
|
+
name : str
|
|
20
|
+
Passkey name.
|
|
21
|
+
accessedat : str
|
|
22
|
+
Most recent sign-in with this passkey in ISO 8601 format. Empty until the passkey is used to sign in.
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
id: str = Field(..., alias='$id')
|
|
26
|
+
createdat: str = Field(..., alias='$createdAt')
|
|
27
|
+
updatedat: str = Field(..., alias='$updatedAt')
|
|
28
|
+
name: str = Field(..., alias='name')
|
|
29
|
+
accessedat: str = Field(..., alias='accessedAt')
|
|
@@ -0,0 +1,29 @@
|
|
|
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
|
+
|
|
7
|
+
class PasskeyChallenge(AppwriteModel):
|
|
8
|
+
"""
|
|
9
|
+
Passkey Challenge
|
|
10
|
+
|
|
11
|
+
Attributes
|
|
12
|
+
----------
|
|
13
|
+
id : str
|
|
14
|
+
Challenge ID. When signing in, pass it back with the credential to receive a token.
|
|
15
|
+
createdat : str
|
|
16
|
+
Challenge creation date in ISO 8601 format.
|
|
17
|
+
passkeyid : str
|
|
18
|
+
ID of the passkey being registered. Empty for sign-in challenges.
|
|
19
|
+
expire : str
|
|
20
|
+
Challenge expiration date in ISO 8601 format.
|
|
21
|
+
publickey : Dict[str, Any]
|
|
22
|
+
WebAuthn options in JSON form. Pass them to `PublicKeyCredential.parseCreationOptionsFromJSON()` when registering, or `PublicKeyCredential.parseRequestOptionsFromJSON()` when signing in.
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
id: str = Field(..., alias='$id')
|
|
26
|
+
createdat: str = Field(..., alias='$createdAt')
|
|
27
|
+
passkeyid: str = Field(..., alias='passkeyId')
|
|
28
|
+
expire: str = Field(..., alias='expire')
|
|
29
|
+
publickey: Dict[str, Any] = Field(..., alias='publicKey')
|
|
@@ -0,0 +1,21 @@
|
|
|
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 .passkey import Passkey
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class PasskeyList(AppwriteModel):
|
|
9
|
+
"""
|
|
10
|
+
Passkeys List
|
|
11
|
+
|
|
12
|
+
Attributes
|
|
13
|
+
----------
|
|
14
|
+
total : float
|
|
15
|
+
Total number of passkeys that matched your query.
|
|
16
|
+
passkeys : List[Passkey]
|
|
17
|
+
List of passkeys.
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
total: float = Field(..., alias='total')
|
|
21
|
+
passkeys: List[Passkey] = Field(..., alias='passkeys')
|
|
@@ -0,0 +1,32 @@
|
|
|
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
|
+
|
|
7
|
+
class TokenSecret(AppwriteModel):
|
|
8
|
+
"""
|
|
9
|
+
Token Secret
|
|
10
|
+
|
|
11
|
+
Attributes
|
|
12
|
+
----------
|
|
13
|
+
id : str
|
|
14
|
+
Token ID.
|
|
15
|
+
createdat : str
|
|
16
|
+
Token creation date in ISO 8601 format.
|
|
17
|
+
userid : str
|
|
18
|
+
User ID.
|
|
19
|
+
secret : str
|
|
20
|
+
Token secret key. Exchange it for a session with the create session endpoint.
|
|
21
|
+
expire : str
|
|
22
|
+
Token expiration date in ISO 8601 format.
|
|
23
|
+
phrase : str
|
|
24
|
+
Security phrase of a token. Empty if security phrase was not requested when creating a token. It includes randomly generated phrase which is also sent in the external resource such as email.
|
|
25
|
+
"""
|
|
26
|
+
|
|
27
|
+
id: str = Field(..., alias='$id')
|
|
28
|
+
createdat: str = Field(..., alias='$createdAt')
|
|
29
|
+
userid: str = Field(..., alias='userId')
|
|
30
|
+
secret: str = Field(..., alias='secret')
|
|
31
|
+
expire: str = Field(..., alias='expire')
|
|
32
|
+
phrase: str = Field(..., alias='phrase')
|
|
@@ -17,10 +17,14 @@ from ..models.mfa_challenge import MfaChallenge
|
|
|
17
17
|
from ..models.session import Session
|
|
18
18
|
from ..models.mfa_factors import MfaFactors
|
|
19
19
|
from ..models.mfa_recovery_codes import MfaRecoveryCodes
|
|
20
|
+
from ..models.passkey_list import PasskeyList
|
|
21
|
+
from ..models.passkey_challenge import PasskeyChallenge
|
|
22
|
+
from ..models.passkey import Passkey
|
|
20
23
|
from ..models.preferences import Preferences
|
|
21
24
|
from ..models.token import Token
|
|
22
25
|
from ..models.session_list import SessionList
|
|
23
26
|
from ..enums.o_auth_provider import OAuthProvider
|
|
27
|
+
from ..models.token_secret import TokenSecret
|
|
24
28
|
|
|
25
29
|
T = TypeVar('T')
|
|
26
30
|
|
|
@@ -1014,6 +1018,270 @@ class Account(Service):
|
|
|
1014
1018
|
|
|
1015
1019
|
return User.with_data(response, model_type)
|
|
1016
1020
|
|
|
1021
|
+
def list_passkeys(
|
|
1022
|
+
self,
|
|
1023
|
+
queries: Optional[List[str]] = None,
|
|
1024
|
+
total: Optional[bool] = None,
|
|
1025
|
+
) -> PasskeyList:
|
|
1026
|
+
"""
|
|
1027
|
+
Get the list of verified passkeys registered by the currently logged in user.
|
|
1028
|
+
|
|
1029
|
+
Parameters
|
|
1030
|
+
----------
|
|
1031
|
+
queries : Optional[List[str]]
|
|
1032
|
+
Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter and order on the following attributes: $id, $createdAt, $updatedAt, name, accessedAt
|
|
1033
|
+
total : Optional[bool]
|
|
1034
|
+
When set to false, the total count returned will be 0 and will not be calculated.
|
|
1035
|
+
Returns
|
|
1036
|
+
-------
|
|
1037
|
+
PasskeyList
|
|
1038
|
+
API response as a typed Pydantic model
|
|
1039
|
+
|
|
1040
|
+
Raises
|
|
1041
|
+
------
|
|
1042
|
+
AppwriteException
|
|
1043
|
+
If API request fails
|
|
1044
|
+
"""
|
|
1045
|
+
|
|
1046
|
+
api_path = '/account/passkeys'
|
|
1047
|
+
api_params = {}
|
|
1048
|
+
if queries is not None:
|
|
1049
|
+
api_params['queries'] = self._normalize_value(queries)
|
|
1050
|
+
if total is not None:
|
|
1051
|
+
api_params['total'] = self._normalize_value(total)
|
|
1052
|
+
|
|
1053
|
+
response = self.client.call(
|
|
1054
|
+
'get',
|
|
1055
|
+
api_path,
|
|
1056
|
+
{
|
|
1057
|
+
'X-Appwrite-Project': self.client.get_config('project'),
|
|
1058
|
+
'accept': 'application/json',
|
|
1059
|
+
},
|
|
1060
|
+
api_params,
|
|
1061
|
+
)
|
|
1062
|
+
|
|
1063
|
+
return self._parse_response(response, model=PasskeyList)
|
|
1064
|
+
|
|
1065
|
+
def create_passkey(
|
|
1066
|
+
self,
|
|
1067
|
+
passkey_id: Optional[str] = None,
|
|
1068
|
+
name: Optional[str] = None,
|
|
1069
|
+
) -> PasskeyChallenge:
|
|
1070
|
+
"""
|
|
1071
|
+
Start registering a passkey for the currently logged in user. The session must have signed in or completed an MFA challenge within the last 10 minutes. Pass the returned `publicKey` options to `navigator.credentials.create()`, then complete the registration with [Update passkey verification](/docs/references/cloud/client-web/account#updatePasskeyVerification). The passkey stays pending until verified, and the challenge expires after 5 minutes.
|
|
1072
|
+
|
|
1073
|
+
Parameters
|
|
1074
|
+
----------
|
|
1075
|
+
passkey_id : Optional[str]
|
|
1076
|
+
Passkey ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.
|
|
1077
|
+
name : Optional[str]
|
|
1078
|
+
Passkey name, shown when listing passkeys. Max length: 128 chars.
|
|
1079
|
+
Returns
|
|
1080
|
+
-------
|
|
1081
|
+
PasskeyChallenge
|
|
1082
|
+
API response as a typed Pydantic model
|
|
1083
|
+
|
|
1084
|
+
Raises
|
|
1085
|
+
------
|
|
1086
|
+
AppwriteException
|
|
1087
|
+
If API request fails
|
|
1088
|
+
"""
|
|
1089
|
+
|
|
1090
|
+
api_path = '/account/passkeys'
|
|
1091
|
+
api_params = {}
|
|
1092
|
+
if passkey_id is not None:
|
|
1093
|
+
api_params['passkeyId'] = self._normalize_value(passkey_id)
|
|
1094
|
+
if name is not None:
|
|
1095
|
+
api_params['name'] = self._normalize_value(name)
|
|
1096
|
+
|
|
1097
|
+
response = self.client.call(
|
|
1098
|
+
'post',
|
|
1099
|
+
api_path,
|
|
1100
|
+
{
|
|
1101
|
+
'X-Appwrite-Project': self.client.get_config('project'),
|
|
1102
|
+
'content-type': 'application/json',
|
|
1103
|
+
'accept': 'application/json',
|
|
1104
|
+
},
|
|
1105
|
+
api_params,
|
|
1106
|
+
)
|
|
1107
|
+
|
|
1108
|
+
return self._parse_response(response, model=PasskeyChallenge)
|
|
1109
|
+
|
|
1110
|
+
def get_passkey(
|
|
1111
|
+
self,
|
|
1112
|
+
passkey_id: str,
|
|
1113
|
+
) -> Passkey:
|
|
1114
|
+
"""
|
|
1115
|
+
Get a verified passkey of the currently logged in user by its unique ID.
|
|
1116
|
+
|
|
1117
|
+
Parameters
|
|
1118
|
+
----------
|
|
1119
|
+
passkey_id : str
|
|
1120
|
+
Passkey ID.
|
|
1121
|
+
Returns
|
|
1122
|
+
-------
|
|
1123
|
+
Passkey
|
|
1124
|
+
API response as a typed Pydantic model
|
|
1125
|
+
|
|
1126
|
+
Raises
|
|
1127
|
+
------
|
|
1128
|
+
AppwriteException
|
|
1129
|
+
If API request fails
|
|
1130
|
+
"""
|
|
1131
|
+
|
|
1132
|
+
api_path = '/account/passkeys/{passkeyId}'
|
|
1133
|
+
api_params = {}
|
|
1134
|
+
if passkey_id is None or passkey_id == '':
|
|
1135
|
+
raise AppwriteException('Missing required parameter: "passkey_id"')
|
|
1136
|
+
api_path = api_path.replace('{passkeyId}', str(self._normalize_value(passkey_id)))
|
|
1137
|
+
|
|
1138
|
+
response = self.client.call(
|
|
1139
|
+
'get',
|
|
1140
|
+
api_path,
|
|
1141
|
+
{
|
|
1142
|
+
'X-Appwrite-Project': self.client.get_config('project'),
|
|
1143
|
+
'accept': 'application/json',
|
|
1144
|
+
},
|
|
1145
|
+
api_params,
|
|
1146
|
+
)
|
|
1147
|
+
|
|
1148
|
+
return self._parse_response(response, model=Passkey)
|
|
1149
|
+
|
|
1150
|
+
def update_passkey(
|
|
1151
|
+
self,
|
|
1152
|
+
passkey_id: str,
|
|
1153
|
+
name: str,
|
|
1154
|
+
) -> Passkey:
|
|
1155
|
+
"""
|
|
1156
|
+
Rename a passkey of the currently logged in user.
|
|
1157
|
+
|
|
1158
|
+
Parameters
|
|
1159
|
+
----------
|
|
1160
|
+
passkey_id : str
|
|
1161
|
+
Passkey ID.
|
|
1162
|
+
name : str
|
|
1163
|
+
Passkey name. Max length: 128 chars.
|
|
1164
|
+
Returns
|
|
1165
|
+
-------
|
|
1166
|
+
Passkey
|
|
1167
|
+
API response as a typed Pydantic model
|
|
1168
|
+
|
|
1169
|
+
Raises
|
|
1170
|
+
------
|
|
1171
|
+
AppwriteException
|
|
1172
|
+
If API request fails
|
|
1173
|
+
"""
|
|
1174
|
+
|
|
1175
|
+
api_path = '/account/passkeys/{passkeyId}'
|
|
1176
|
+
api_params = {}
|
|
1177
|
+
if passkey_id is None or passkey_id == '':
|
|
1178
|
+
raise AppwriteException('Missing required parameter: "passkey_id"')
|
|
1179
|
+
if name is None:
|
|
1180
|
+
raise AppwriteException('Missing required parameter: "name"')
|
|
1181
|
+
api_path = api_path.replace('{passkeyId}', str(self._normalize_value(passkey_id)))
|
|
1182
|
+
api_params['name'] = self._normalize_value(name)
|
|
1183
|
+
|
|
1184
|
+
response = self.client.call(
|
|
1185
|
+
'patch',
|
|
1186
|
+
api_path,
|
|
1187
|
+
{
|
|
1188
|
+
'X-Appwrite-Project': self.client.get_config('project'),
|
|
1189
|
+
'content-type': 'application/json',
|
|
1190
|
+
'accept': 'application/json',
|
|
1191
|
+
},
|
|
1192
|
+
api_params,
|
|
1193
|
+
)
|
|
1194
|
+
|
|
1195
|
+
return self._parse_response(response, model=Passkey)
|
|
1196
|
+
|
|
1197
|
+
def delete_passkey(
|
|
1198
|
+
self,
|
|
1199
|
+
passkey_id: str,
|
|
1200
|
+
) -> Dict[str, Any]:
|
|
1201
|
+
"""
|
|
1202
|
+
Delete a passkey from the currently logged in user. The passkey can no longer be used to sign in, although it may remain stored on the user's device. The session must have signed in or completed an MFA challenge within the last 10 minutes.
|
|
1203
|
+
|
|
1204
|
+
Parameters
|
|
1205
|
+
----------
|
|
1206
|
+
passkey_id : str
|
|
1207
|
+
Passkey ID.
|
|
1208
|
+
Returns
|
|
1209
|
+
-------
|
|
1210
|
+
Dict[str, Any]
|
|
1211
|
+
API response as a dictionary
|
|
1212
|
+
|
|
1213
|
+
Raises
|
|
1214
|
+
------
|
|
1215
|
+
AppwriteException
|
|
1216
|
+
If API request fails
|
|
1217
|
+
"""
|
|
1218
|
+
|
|
1219
|
+
api_path = '/account/passkeys/{passkeyId}'
|
|
1220
|
+
api_params = {}
|
|
1221
|
+
if passkey_id is None or passkey_id == '':
|
|
1222
|
+
raise AppwriteException('Missing required parameter: "passkey_id"')
|
|
1223
|
+
api_path = api_path.replace('{passkeyId}', str(self._normalize_value(passkey_id)))
|
|
1224
|
+
|
|
1225
|
+
response = self.client.call(
|
|
1226
|
+
'delete',
|
|
1227
|
+
api_path,
|
|
1228
|
+
{
|
|
1229
|
+
'X-Appwrite-Project': self.client.get_config('project'),
|
|
1230
|
+
'content-type': 'application/json',
|
|
1231
|
+
'accept': 'application/json',
|
|
1232
|
+
},
|
|
1233
|
+
api_params,
|
|
1234
|
+
)
|
|
1235
|
+
|
|
1236
|
+
return response
|
|
1237
|
+
|
|
1238
|
+
def update_passkey_verification(
|
|
1239
|
+
self,
|
|
1240
|
+
passkey_id: str,
|
|
1241
|
+
credential: Dict[str, Any],
|
|
1242
|
+
) -> Passkey:
|
|
1243
|
+
"""
|
|
1244
|
+
Complete a passkey registration started with [Create passkey](/docs/references/cloud/client-web/account#createPasskey). Pass the JSON form of the credential returned by `navigator.credentials.create()`, for example `credential.toJSON()`. Each registration can be verified once; a failed attempt requires starting it again.
|
|
1245
|
+
|
|
1246
|
+
Parameters
|
|
1247
|
+
----------
|
|
1248
|
+
passkey_id : str
|
|
1249
|
+
Passkey ID.
|
|
1250
|
+
credential : Dict[str, Any]
|
|
1251
|
+
Registration credential returned by the authenticator, in the JSON form produced by `PublicKeyCredential.toJSON()`.
|
|
1252
|
+
Returns
|
|
1253
|
+
-------
|
|
1254
|
+
Passkey
|
|
1255
|
+
API response as a typed Pydantic model
|
|
1256
|
+
|
|
1257
|
+
Raises
|
|
1258
|
+
------
|
|
1259
|
+
AppwriteException
|
|
1260
|
+
If API request fails
|
|
1261
|
+
"""
|
|
1262
|
+
|
|
1263
|
+
api_path = '/account/passkeys/{passkeyId}/verification'
|
|
1264
|
+
api_params = {}
|
|
1265
|
+
if passkey_id is None or passkey_id == '':
|
|
1266
|
+
raise AppwriteException('Missing required parameter: "passkey_id"')
|
|
1267
|
+
if credential is None:
|
|
1268
|
+
raise AppwriteException('Missing required parameter: "credential"')
|
|
1269
|
+
api_path = api_path.replace('{passkeyId}', str(self._normalize_value(passkey_id)))
|
|
1270
|
+
api_params['credential'] = self._normalize_value(credential)
|
|
1271
|
+
|
|
1272
|
+
response = self.client.call(
|
|
1273
|
+
'put',
|
|
1274
|
+
api_path,
|
|
1275
|
+
{
|
|
1276
|
+
'X-Appwrite-Project': self.client.get_config('project'),
|
|
1277
|
+
'content-type': 'application/json',
|
|
1278
|
+
'accept': 'application/json',
|
|
1279
|
+
},
|
|
1280
|
+
api_params,
|
|
1281
|
+
)
|
|
1282
|
+
|
|
1283
|
+
return self._parse_response(response, model=Passkey)
|
|
1284
|
+
|
|
1017
1285
|
def update_password(
|
|
1018
1286
|
self,
|
|
1019
1287
|
password: str,
|
|
@@ -1928,6 +2196,85 @@ class Account(Service):
|
|
|
1928
2196
|
|
|
1929
2197
|
return response
|
|
1930
2198
|
|
|
2199
|
+
def create_passkey_token(
|
|
2200
|
+
self,
|
|
2201
|
+
) -> PasskeyChallenge:
|
|
2202
|
+
"""
|
|
2203
|
+
Start signing in with a passkey. No email or user ID is needed: pass the returned `publicKey` options to `navigator.credentials.get()` and the user picks one of their passkeys. Then call [Update passkey token](/docs/references/cloud/client-web/account#updatePasskeyToken) with the credential to receive a token, and exchange it with [Create session](/docs/references/cloud/client-web/account#createSession). The challenge expires after 5 minutes.
|
|
2204
|
+
Returns
|
|
2205
|
+
-------
|
|
2206
|
+
PasskeyChallenge
|
|
2207
|
+
API response as a typed Pydantic model
|
|
2208
|
+
|
|
2209
|
+
Raises
|
|
2210
|
+
------
|
|
2211
|
+
AppwriteException
|
|
2212
|
+
If API request fails
|
|
2213
|
+
"""
|
|
2214
|
+
|
|
2215
|
+
api_path = '/account/tokens/passkey'
|
|
2216
|
+
api_params = {}
|
|
2217
|
+
|
|
2218
|
+
response = self.client.call(
|
|
2219
|
+
'post',
|
|
2220
|
+
api_path,
|
|
2221
|
+
{
|
|
2222
|
+
'X-Appwrite-Project': self.client.get_config('project'),
|
|
2223
|
+
'content-type': 'application/json',
|
|
2224
|
+
'accept': 'application/json',
|
|
2225
|
+
},
|
|
2226
|
+
api_params,
|
|
2227
|
+
)
|
|
2228
|
+
|
|
2229
|
+
return self._parse_response(response, model=PasskeyChallenge)
|
|
2230
|
+
|
|
2231
|
+
def update_passkey_token(
|
|
2232
|
+
self,
|
|
2233
|
+
challenge_id: str,
|
|
2234
|
+
credential: Dict[str, Any],
|
|
2235
|
+
) -> TokenSecret:
|
|
2236
|
+
"""
|
|
2237
|
+
Complete a passkey sign-in started with [Create passkey token](/docs/references/cloud/client-web/account#createPasskeyToken). Pass the challenge ID and the JSON form of the credential returned by `navigator.credentials.get()`, for example `credential.toJSON()`. The returned token includes its secret and expires after 1 minute: exchange it for a session with [Create session](/docs/references/cloud/client-web/account#createSession). Passkeys require user verification, so the session also satisfies MFA. Each challenge can only be used once.
|
|
2238
|
+
|
|
2239
|
+
Parameters
|
|
2240
|
+
----------
|
|
2241
|
+
challenge_id : str
|
|
2242
|
+
Challenge ID returned by createPasskeyToken.
|
|
2243
|
+
credential : Dict[str, Any]
|
|
2244
|
+
Authentication credential returned by the authenticator, in the JSON form produced by `PublicKeyCredential.toJSON()`.
|
|
2245
|
+
Returns
|
|
2246
|
+
-------
|
|
2247
|
+
TokenSecret
|
|
2248
|
+
API response as a typed Pydantic model
|
|
2249
|
+
|
|
2250
|
+
Raises
|
|
2251
|
+
------
|
|
2252
|
+
AppwriteException
|
|
2253
|
+
If API request fails
|
|
2254
|
+
"""
|
|
2255
|
+
|
|
2256
|
+
api_path = '/account/tokens/passkey'
|
|
2257
|
+
api_params = {}
|
|
2258
|
+
if challenge_id is None:
|
|
2259
|
+
raise AppwriteException('Missing required parameter: "challenge_id"')
|
|
2260
|
+
if credential is None:
|
|
2261
|
+
raise AppwriteException('Missing required parameter: "credential"')
|
|
2262
|
+
api_params['challengeId'] = self._normalize_value(challenge_id)
|
|
2263
|
+
api_params['credential'] = self._normalize_value(credential)
|
|
2264
|
+
|
|
2265
|
+
response = self.client.call(
|
|
2266
|
+
'put',
|
|
2267
|
+
api_path,
|
|
2268
|
+
{
|
|
2269
|
+
'X-Appwrite-Project': self.client.get_config('project'),
|
|
2270
|
+
'content-type': 'application/json',
|
|
2271
|
+
'accept': 'application/json',
|
|
2272
|
+
},
|
|
2273
|
+
api_params,
|
|
2274
|
+
)
|
|
2275
|
+
|
|
2276
|
+
return self._parse_response(response, model=TokenSecret)
|
|
2277
|
+
|
|
1931
2278
|
def create_phone_token(
|
|
1932
2279
|
self,
|
|
1933
2280
|
user_id: str,
|
|
@@ -100,6 +100,7 @@ class Functions(Service):
|
|
|
100
100
|
build_specification: Optional[str] = None,
|
|
101
101
|
runtime_specification: Optional[str] = None,
|
|
102
102
|
deployment_retention: Optional[float] = None,
|
|
103
|
+
interval: Optional[float] = None,
|
|
103
104
|
) -> Function:
|
|
104
105
|
"""
|
|
105
106
|
Create a new function. You can pass a list of [permissions](https://appwrite.io/docs/permissions) to allow different project users or team with access to execute the function using the client API.
|
|
@@ -117,7 +118,7 @@ class Functions(Service):
|
|
|
117
118
|
events : Optional[List[str]]
|
|
118
119
|
Events list. Maximum of 100 events are allowed.
|
|
119
120
|
schedule : Optional[str]
|
|
120
|
-
Schedule CRON syntax.
|
|
121
|
+
Schedule CRON syntax. Cannot be combined with interval.
|
|
121
122
|
timeout : Optional[float]
|
|
122
123
|
Function maximum execution time in seconds.
|
|
123
124
|
enabled : Optional[bool]
|
|
@@ -150,6 +151,8 @@ class Functions(Service):
|
|
|
150
151
|
Runtime specification for the function executions.
|
|
151
152
|
deployment_retention : Optional[float]
|
|
152
153
|
Days to keep non-active deployments before deletion. Value 0 means all deployments will be kept.
|
|
154
|
+
interval : Optional[float]
|
|
155
|
+
Minutes between scheduled executions. Appwrite picks when within each interval the function runs. Use 0 to disable. Cannot be combined with schedule.
|
|
153
156
|
Returns
|
|
154
157
|
-------
|
|
155
158
|
Function
|
|
@@ -210,6 +213,8 @@ class Functions(Service):
|
|
|
210
213
|
api_params['runtimeSpecification'] = self._normalize_value(runtime_specification)
|
|
211
214
|
if deployment_retention is not None:
|
|
212
215
|
api_params['deploymentRetention'] = self._normalize_value(deployment_retention)
|
|
216
|
+
if interval is not None:
|
|
217
|
+
api_params['interval'] = self._normalize_value(interval)
|
|
213
218
|
|
|
214
219
|
response = self.client.call(
|
|
215
220
|
'post',
|
|
@@ -358,6 +363,7 @@ class Functions(Service):
|
|
|
358
363
|
build_specification: Optional[str] = None,
|
|
359
364
|
runtime_specification: Optional[str] = None,
|
|
360
365
|
deployment_retention: Optional[float] = None,
|
|
366
|
+
interval: Optional[float] = None,
|
|
361
367
|
) -> Function:
|
|
362
368
|
"""
|
|
363
369
|
Update function by its unique ID.
|
|
@@ -375,7 +381,7 @@ class Functions(Service):
|
|
|
375
381
|
events : Optional[List[str]]
|
|
376
382
|
Events list. Maximum of 100 events are allowed.
|
|
377
383
|
schedule : Optional[str]
|
|
378
|
-
Schedule CRON syntax.
|
|
384
|
+
Schedule CRON syntax. Cannot be combined with interval.
|
|
379
385
|
timeout : Optional[float]
|
|
380
386
|
Maximum execution time in seconds.
|
|
381
387
|
enabled : Optional[bool]
|
|
@@ -408,6 +414,8 @@ class Functions(Service):
|
|
|
408
414
|
Runtime specification for the function executions.
|
|
409
415
|
deployment_retention : Optional[float]
|
|
410
416
|
Days to keep non-active deployments before deletion. Value 0 means all deployments will be kept.
|
|
417
|
+
interval : Optional[float]
|
|
418
|
+
Minutes between scheduled executions. Appwrite picks when within each interval the function runs. Use 0 to disable. Cannot be combined with schedule. When omitted, the current interval is kept unless schedule is set.
|
|
411
419
|
Returns
|
|
412
420
|
-------
|
|
413
421
|
Function
|
|
@@ -467,6 +475,8 @@ class Functions(Service):
|
|
|
467
475
|
api_params['runtimeSpecification'] = self._normalize_value(runtime_specification)
|
|
468
476
|
if deployment_retention is not None:
|
|
469
477
|
api_params['deploymentRetention'] = self._normalize_value(deployment_retention)
|
|
478
|
+
if interval is not None:
|
|
479
|
+
api_params['interval'] = self._normalize_value(interval)
|
|
470
480
|
|
|
471
481
|
response = self.client.call(
|
|
472
482
|
'put',
|