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