appwrite-console 0.1.0__py3-none-any.whl
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_console/__init__.py +1 -0
- appwrite_console/client.py +371 -0
- appwrite_console/encoders/__init__.py +1 -0
- appwrite_console/encoders/value_class_encoder.py +373 -0
- appwrite_console/enums/__init__.py +1 -0
- appwrite_console/enums/account_key_scopes.py +6 -0
- appwrite_console/enums/adapter.py +5 -0
- appwrite_console/enums/addon.py +7 -0
- appwrite_console/enums/appwrite_migration_resource.py +42 -0
- appwrite_console/enums/attribute_status.py +8 -0
- appwrite_console/enums/authentication_factor.py +7 -0
- appwrite_console/enums/authenticator_type.py +4 -0
- appwrite_console/enums/backup_services.py +10 -0
- appwrite_console/enums/billing_plan_group.py +6 -0
- appwrite_console/enums/block_mode.py +5 -0
- appwrite_console/enums/block_resource_type.py +12 -0
- appwrite_console/enums/browser.py +17 -0
- appwrite_console/enums/browser_permission.py +23 -0
- appwrite_console/enums/browser_theme.py +5 -0
- appwrite_console/enums/build_runtime.py +95 -0
- appwrite_console/enums/cache_database.py +6 -0
- appwrite_console/enums/cache_target.py +9 -0
- appwrite_console/enums/column_status.py +8 -0
- appwrite_console/enums/compression.py +6 -0
- appwrite_console/enums/console_resource_type.py +4 -0
- appwrite_console/enums/credit_card.py +20 -0
- appwrite_console/enums/database_status.py +17 -0
- appwrite_console/enums/database_type.py +10 -0
- appwrite_console/enums/databases_index_type.py +7 -0
- appwrite_console/enums/deployment_download_type.py +5 -0
- appwrite_console/enums/deployment_status.py +9 -0
- appwrite_console/enums/detection_framework_type.py +4 -0
- appwrite_console/enums/detection_runtime_type.py +4 -0
- appwrite_console/enums/documents_db_index_type.py +6 -0
- appwrite_console/enums/domain_purchase_status.py +7 -0
- appwrite_console/enums/domain_registration_type.py +7 -0
- appwrite_console/enums/domain_suggestion_type.py +5 -0
- appwrite_console/enums/domain_transfer_status_enum.py +11 -0
- appwrite_console/enums/embedding_model.py +7 -0
- appwrite_console/enums/execution_method.py +10 -0
- appwrite_console/enums/execution_status.py +8 -0
- appwrite_console/enums/execution_trigger.py +6 -0
- appwrite_console/enums/firebase_migration_resource.py +13 -0
- appwrite_console/enums/flag.py +198 -0
- appwrite_console/enums/framework.py +18 -0
- appwrite_console/enums/function_template_use_case.py +10 -0
- appwrite_console/enums/image_format.py +10 -0
- appwrite_console/enums/image_gravity.py +12 -0
- appwrite_console/enums/index_status.py +8 -0
- appwrite_console/enums/message_priority.py +5 -0
- appwrite_console/enums/message_status.py +8 -0
- appwrite_console/enums/messaging_provider_type.py +6 -0
- appwrite_console/enums/n_host_migration_resource.py +14 -0
- appwrite_console/enums/o_auth2_google_prompt.py +6 -0
- appwrite_console/enums/o_auth2_oidc_prompt.py +7 -0
- appwrite_console/enums/o_auth_provider.py +47 -0
- appwrite_console/enums/on_duplicate.py +6 -0
- appwrite_console/enums/order_by.py +5 -0
- appwrite_console/enums/organization_key_scopes.py +19 -0
- appwrite_console/enums/password_hash.py +14 -0
- appwrite_console/enums/platform.py +5 -0
- appwrite_console/enums/platform_type.py +8 -0
- appwrite_console/enums/project_auth_method_id.py +10 -0
- appwrite_console/enums/project_email_template_id.py +10 -0
- appwrite_console/enums/project_email_template_locale.py +134 -0
- appwrite_console/enums/project_key_scopes.py +107 -0
- appwrite_console/enums/project_o_auth2_google_prompt.py +6 -0
- appwrite_console/enums/project_o_auth2_oidc_prompt.py +7 -0
- appwrite_console/enums/project_o_auth_provider_id.py +47 -0
- appwrite_console/enums/project_policy_id.py +17 -0
- appwrite_console/enums/project_protocol_id.py +6 -0
- appwrite_console/enums/project_service_id.py +22 -0
- appwrite_console/enums/project_smtp_secure.py +5 -0
- appwrite_console/enums/project_usage_range.py +5 -0
- appwrite_console/enums/proxy_resource_type.py +5 -0
- appwrite_console/enums/proxy_rule_deployment_resource_type.py +5 -0
- appwrite_console/enums/proxy_rule_status.py +6 -0
- appwrite_console/enums/query_suggestion_resource.py +97 -0
- appwrite_console/enums/region.py +9 -0
- appwrite_console/enums/relation_mutate.py +6 -0
- appwrite_console/enums/relationship_type.py +7 -0
- appwrite_console/enums/runtime.py +95 -0
- appwrite_console/enums/schedule_resource_type.py +7 -0
- appwrite_console/enums/site_template_use_case.py +12 -0
- appwrite_console/enums/smtp_encryption.py +6 -0
- appwrite_console/enums/status.py +4 -0
- appwrite_console/enums/status_code.py +7 -0
- appwrite_console/enums/supabase_migration_resource.py +14 -0
- appwrite_console/enums/tables_db_index_type.py +7 -0
- appwrite_console/enums/template_reference_type.py +6 -0
- appwrite_console/enums/timezone.py +422 -0
- appwrite_console/enums/usage_range.py +6 -0
- appwrite_console/enums/vcs_detection_type.py +5 -0
- appwrite_console/enums/vcs_reference_type.py +6 -0
- appwrite_console/enums/vectors_db_index_type.py +9 -0
- appwrite_console/enums/waf_rule_action.py +8 -0
- appwrite_console/exception.py +7 -0
- appwrite_console/id.py +26 -0
- appwrite_console/input_file.py +21 -0
- appwrite_console/models/__init__.py +803 -0
- appwrite_console/models/activity_event.py +99 -0
- appwrite_console/models/activity_event_list.py +19 -0
- appwrite_console/models/additional_resource.py +30 -0
- appwrite_console/models/addon.py +42 -0
- appwrite_console/models/addon_list.py +19 -0
- appwrite_console/models/addon_price.py +36 -0
- appwrite_console/models/aggregation_breakdown.py +28 -0
- appwrite_console/models/aggregation_team.py +101 -0
- appwrite_console/models/aggregation_team_list.py +19 -0
- appwrite_console/models/algo_argon2.py +24 -0
- appwrite_console/models/algo_bcrypt.py +15 -0
- appwrite_console/models/algo_md5.py +15 -0
- appwrite_console/models/algo_phpass.py +15 -0
- appwrite_console/models/algo_scrypt.py +27 -0
- appwrite_console/models/algo_scrypt_modified.py +24 -0
- appwrite_console/models/algo_sha.py +15 -0
- appwrite_console/models/app.py +91 -0
- appwrite_console/models/app_installation.py +42 -0
- appwrite_console/models/app_installation_list.py +19 -0
- appwrite_console/models/app_key.py +39 -0
- appwrite_console/models/app_key_list.py +19 -0
- appwrite_console/models/app_scope.py +27 -0
- appwrite_console/models/app_scope_list.py +19 -0
- appwrite_console/models/app_secret.py +39 -0
- appwrite_console/models/app_secret_list.py +19 -0
- appwrite_console/models/app_secret_plaintext.py +39 -0
- appwrite_console/models/apps_list.py +19 -0
- appwrite_console/models/attribute_bigint.py +46 -0
- appwrite_console/models/attribute_boolean.py +40 -0
- appwrite_console/models/attribute_datetime.py +43 -0
- appwrite_console/models/attribute_email.py +43 -0
- appwrite_console/models/attribute_enum.py +46 -0
- appwrite_console/models/attribute_float.py +46 -0
- appwrite_console/models/attribute_integer.py +46 -0
- appwrite_console/models/attribute_ip.py +43 -0
- appwrite_console/models/attribute_line.py +40 -0
- appwrite_console/models/attribute_list.py +36 -0
- appwrite_console/models/attribute_longtext.py +43 -0
- appwrite_console/models/attribute_mediumtext.py +43 -0
- appwrite_console/models/attribute_object.py +37 -0
- appwrite_console/models/attribute_point.py +40 -0
- appwrite_console/models/attribute_polygon.py +40 -0
- appwrite_console/models/attribute_relationship.py +55 -0
- appwrite_console/models/attribute_string.py +46 -0
- appwrite_console/models/attribute_text.py +43 -0
- appwrite_console/models/attribute_url.py +43 -0
- appwrite_console/models/attribute_varchar.py +46 -0
- appwrite_console/models/attribute_vector.py +40 -0
- appwrite_console/models/backup_archive.py +48 -0
- appwrite_console/models/backup_archive_list.py +19 -0
- appwrite_console/models/backup_policy.py +48 -0
- appwrite_console/models/backup_policy_list.py +19 -0
- appwrite_console/models/backup_restoration.py +45 -0
- appwrite_console/models/backup_restoration_list.py +19 -0
- appwrite_console/models/base_model.py +27 -0
- appwrite_console/models/billing_address.py +36 -0
- appwrite_console/models/billing_address_list.py +19 -0
- appwrite_console/models/billing_limits.py +36 -0
- appwrite_console/models/billing_plan.py +226 -0
- appwrite_console/models/billing_plan_addon.py +19 -0
- appwrite_console/models/billing_plan_addon_details.py +36 -0
- appwrite_console/models/billing_plan_dedicated_database_limits.py +69 -0
- appwrite_console/models/billing_plan_limits.py +18 -0
- appwrite_console/models/billing_plan_list.py +19 -0
- appwrite_console/models/billing_plan_supported_addons.py +21 -0
- appwrite_console/models/block.py +45 -0
- appwrite_console/models/block_delete.py +19 -0
- appwrite_console/models/block_list.py +19 -0
- appwrite_console/models/branch.py +15 -0
- appwrite_console/models/branch_list.py +19 -0
- appwrite_console/models/bucket.py +54 -0
- appwrite_console/models/bucket_list.py +19 -0
- appwrite_console/models/campaign.py +49 -0
- appwrite_console/models/collection.py +67 -0
- appwrite_console/models/collection_list.py +19 -0
- appwrite_console/models/column_bigint.py +46 -0
- appwrite_console/models/column_boolean.py +40 -0
- appwrite_console/models/column_datetime.py +43 -0
- appwrite_console/models/column_email.py +43 -0
- appwrite_console/models/column_enum.py +46 -0
- appwrite_console/models/column_float.py +46 -0
- appwrite_console/models/column_index.py +42 -0
- appwrite_console/models/column_index_list.py +19 -0
- appwrite_console/models/column_integer.py +46 -0
- appwrite_console/models/column_ip.py +43 -0
- appwrite_console/models/column_line.py +40 -0
- appwrite_console/models/column_list.py +36 -0
- appwrite_console/models/column_longtext.py +43 -0
- appwrite_console/models/column_mediumtext.py +43 -0
- appwrite_console/models/column_point.py +40 -0
- appwrite_console/models/column_polygon.py +40 -0
- appwrite_console/models/column_relationship.py +55 -0
- appwrite_console/models/column_string.py +46 -0
- appwrite_console/models/column_text.py +43 -0
- appwrite_console/models/column_url.py +43 -0
- appwrite_console/models/column_varchar.py +46 -0
- appwrite_console/models/console_key_scope.py +24 -0
- appwrite_console/models/console_key_scope_list.py +19 -0
- appwrite_console/models/console_o_auth2_provider.py +19 -0
- appwrite_console/models/console_o_auth2_provider_list.py +19 -0
- appwrite_console/models/console_o_auth2_provider_parameter.py +24 -0
- appwrite_console/models/console_region.py +30 -0
- appwrite_console/models/console_region_list.py +19 -0
- appwrite_console/models/console_variables.py +96 -0
- appwrite_console/models/continent.py +18 -0
- appwrite_console/models/continent_list.py +19 -0
- appwrite_console/models/country.py +18 -0
- appwrite_console/models/country_list.py +19 -0
- appwrite_console/models/coupon.py +36 -0
- appwrite_console/models/credit.py +45 -0
- appwrite_console/models/credit_available.py +15 -0
- appwrite_console/models/credit_list.py +22 -0
- appwrite_console/models/currency.py +33 -0
- appwrite_console/models/currency_list.py +19 -0
- appwrite_console/models/database.py +52 -0
- appwrite_console/models/database_list.py +19 -0
- appwrite_console/models/database_migration.py +57 -0
- appwrite_console/models/database_migration_list.py +19 -0
- appwrite_console/models/database_status.py +57 -0
- appwrite_console/models/database_status_connections.py +18 -0
- appwrite_console/models/database_status_replica.py +24 -0
- appwrite_console/models/database_status_volume.py +24 -0
- appwrite_console/models/dedicated_database.py +159 -0
- appwrite_console/models/dedicated_database_backup.py +63 -0
- appwrite_console/models/dedicated_database_backup_list.py +19 -0
- appwrite_console/models/dedicated_database_backup_storage.py +27 -0
- appwrite_console/models/dedicated_database_branch.py +48 -0
- appwrite_console/models/dedicated_database_branch_list.py +16 -0
- appwrite_console/models/dedicated_database_execution.py +31 -0
- appwrite_console/models/dedicated_database_execution_column.py +18 -0
- appwrite_console/models/dedicated_database_extensions.py +22 -0
- appwrite_console/models/dedicated_database_list.py +19 -0
- appwrite_console/models/dedicated_database_member.py +24 -0
- appwrite_console/models/dedicated_database_operation.py +45 -0
- appwrite_console/models/dedicated_database_operation_list.py +19 -0
- appwrite_console/models/dedicated_database_pitr_windows.py +18 -0
- appwrite_console/models/dedicated_database_pooler.py +42 -0
- appwrite_console/models/dedicated_database_replicas.py +37 -0
- appwrite_console/models/dedicated_database_restoration.py +45 -0
- appwrite_console/models/dedicated_database_restoration_list.py +19 -0
- appwrite_console/models/dedicated_database_specification.py +39 -0
- appwrite_console/models/dedicated_database_specification_list.py +23 -0
- appwrite_console/models/dedicated_database_specification_pricing.py +27 -0
- appwrite_console/models/deployment.py +94 -0
- appwrite_console/models/deployment_list.py +19 -0
- appwrite_console/models/detection_framework.py +32 -0
- appwrite_console/models/detection_runtime.py +29 -0
- appwrite_console/models/detection_variable.py +18 -0
- appwrite_console/models/dev_key.py +36 -0
- appwrite_console/models/dev_key_list.py +19 -0
- appwrite_console/models/dns_record.py +48 -0
- appwrite_console/models/dns_records_list.py +19 -0
- appwrite_console/models/document.py +80 -0
- appwrite_console/models/document_list.py +32 -0
- appwrite_console/models/domain.py +53 -0
- appwrite_console/models/domain_price.py +30 -0
- appwrite_console/models/domain_purchase.py +43 -0
- appwrite_console/models/domain_suggestion.py +24 -0
- appwrite_console/models/domain_suggestions_list.py +19 -0
- appwrite_console/models/domain_transfer_out.py +15 -0
- appwrite_console/models/domain_transfer_status.py +22 -0
- appwrite_console/models/domains_list.py +19 -0
- appwrite_console/models/downgrade_feedback.py +42 -0
- appwrite_console/models/email_template.py +36 -0
- appwrite_console/models/email_template_list.py +19 -0
- appwrite_console/models/embedding.py +24 -0
- appwrite_console/models/embedding_list.py +19 -0
- appwrite_console/models/ephemeral_key.py +39 -0
- appwrite_console/models/estimation.py +37 -0
- appwrite_console/models/estimation_delete_organization.py +16 -0
- appwrite_console/models/estimation_item.py +18 -0
- appwrite_console/models/estimation_plan_change.py +29 -0
- appwrite_console/models/estimation_update_plan.py +40 -0
- appwrite_console/models/execution.py +69 -0
- appwrite_console/models/execution_list.py +19 -0
- appwrite_console/models/file.py +60 -0
- appwrite_console/models/file_list.py +19 -0
- appwrite_console/models/framework.py +28 -0
- appwrite_console/models/framework_adapter.py +27 -0
- appwrite_console/models/framework_list.py +19 -0
- appwrite_console/models/function.py +109 -0
- appwrite_console/models/function_list.py +19 -0
- appwrite_console/models/headers.py +18 -0
- appwrite_console/models/identity.py +42 -0
- appwrite_console/models/identity_list.py +19 -0
- appwrite_console/models/index.py +43 -0
- appwrite_console/models/index_list.py +19 -0
- appwrite_console/models/insight.py +64 -0
- appwrite_console/models/insight_cta.py +24 -0
- appwrite_console/models/insight_list.py +19 -0
- appwrite_console/models/installation.py +30 -0
- appwrite_console/models/installation_list.py +19 -0
- appwrite_console/models/invoice.py +82 -0
- appwrite_console/models/invoice_list.py +19 -0
- appwrite_console/models/jwt.py +15 -0
- appwrite_console/models/key.py +39 -0
- appwrite_console/models/key_list.py +19 -0
- appwrite_console/models/language.py +21 -0
- appwrite_console/models/language_list.py +19 -0
- appwrite_console/models/locale.py +66 -0
- appwrite_console/models/locale_code.py +18 -0
- appwrite_console/models/locale_code_list.py +19 -0
- appwrite_console/models/log.py +78 -0
- appwrite_console/models/log_list.py +19 -0
- appwrite_console/models/membership.py +57 -0
- appwrite_console/models/membership_list.py +19 -0
- appwrite_console/models/message.py +52 -0
- appwrite_console/models/message_list.py +19 -0
- appwrite_console/models/metric.py +18 -0
- appwrite_console/models/metric_breakdown.py +24 -0
- appwrite_console/models/mfa_challenge.py +24 -0
- appwrite_console/models/mfa_factors.py +24 -0
- appwrite_console/models/mfa_recovery_codes.py +15 -0
- appwrite_console/models/mfa_type.py +18 -0
- appwrite_console/models/migration.py +75 -0
- appwrite_console/models/migration_list.py +19 -0
- appwrite_console/models/migration_report.py +96 -0
- appwrite_console/models/mock_number.py +24 -0
- appwrite_console/models/mock_number_list.py +19 -0
- appwrite_console/models/notification.py +60 -0
- appwrite_console/models/notification_list.py +19 -0
- appwrite_console/models/o_auth2_amazon.py +24 -0
- appwrite_console/models/o_auth2_apple.py +30 -0
- appwrite_console/models/o_auth2_appwrite.py +24 -0
- appwrite_console/models/o_auth2_auth0.py +27 -0
- appwrite_console/models/o_auth2_authentik.py +27 -0
- appwrite_console/models/o_auth2_autodesk.py +24 -0
- appwrite_console/models/o_auth2_bitbucket.py +24 -0
- appwrite_console/models/o_auth2_bitly.py +24 -0
- appwrite_console/models/o_auth2_box.py +24 -0
- appwrite_console/models/o_auth2_dailymotion.py +24 -0
- appwrite_console/models/o_auth2_discord.py +24 -0
- appwrite_console/models/o_auth2_disqus.py +24 -0
- appwrite_console/models/o_auth2_dropbox.py +24 -0
- appwrite_console/models/o_auth2_etsy.py +24 -0
- appwrite_console/models/o_auth2_facebook.py +24 -0
- appwrite_console/models/o_auth2_figma.py +24 -0
- appwrite_console/models/o_auth2_fusion_auth.py +27 -0
- appwrite_console/models/o_auth2_github.py +24 -0
- appwrite_console/models/o_auth2_gitlab.py +27 -0
- appwrite_console/models/o_auth2_google.py +28 -0
- appwrite_console/models/o_auth2_keycloak.py +30 -0
- appwrite_console/models/o_auth2_kick.py +24 -0
- appwrite_console/models/o_auth2_linkedin.py +24 -0
- appwrite_console/models/o_auth2_microsoft.py +27 -0
- appwrite_console/models/o_auth2_notion.py +24 -0
- appwrite_console/models/o_auth2_oidc.py +43 -0
- appwrite_console/models/o_auth2_okta.py +30 -0
- appwrite_console/models/o_auth2_paypal.py +24 -0
- appwrite_console/models/o_auth2_podio.py +24 -0
- appwrite_console/models/o_auth2_provider_list.py +59 -0
- appwrite_console/models/o_auth2_salesforce.py +24 -0
- appwrite_console/models/o_auth2_slack.py +24 -0
- appwrite_console/models/o_auth2_spotify.py +24 -0
- appwrite_console/models/o_auth2_stripe.py +24 -0
- appwrite_console/models/o_auth2_tradeshift.py +24 -0
- appwrite_console/models/o_auth2_twitch.py +24 -0
- appwrite_console/models/o_auth2_word_press.py +24 -0
- appwrite_console/models/o_auth2_x.py +24 -0
- appwrite_console/models/o_auth2_yahoo.py +24 -0
- appwrite_console/models/o_auth2_yandex.py +24 -0
- appwrite_console/models/o_auth2_zoho.py +24 -0
- appwrite_console/models/o_auth2_zoom.py +24 -0
- appwrite_console/models/oauth2_approve.py +15 -0
- appwrite_console/models/oauth2_authorize.py +18 -0
- appwrite_console/models/oauth2_consent.py +42 -0
- appwrite_console/models/oauth2_consent_list.py +19 -0
- appwrite_console/models/oauth2_consent_token.py +45 -0
- appwrite_console/models/oauth2_consent_token_list.py +19 -0
- appwrite_console/models/oauth2_device_authorization.py +30 -0
- appwrite_console/models/oauth2_grant.py +48 -0
- appwrite_console/models/oauth2_organization.py +15 -0
- appwrite_console/models/oauth2_organization_list.py +19 -0
- appwrite_console/models/oauth2_par.py +18 -0
- appwrite_console/models/oauth2_project.py +21 -0
- appwrite_console/models/oauth2_project_list.py +19 -0
- appwrite_console/models/oauth2_reject.py +15 -0
- appwrite_console/models/oauth2_token.py +33 -0
- appwrite_console/models/organization.py +132 -0
- appwrite_console/models/organization_list.py +32 -0
- appwrite_console/models/payment_authentication.py +30 -0
- appwrite_console/models/payment_method.py +72 -0
- appwrite_console/models/payment_method_list.py +19 -0
- appwrite_console/models/phone.py +21 -0
- appwrite_console/models/phone_list.py +19 -0
- appwrite_console/models/plan_change_estimation_details.py +39 -0
- appwrite_console/models/plan_change_limits.py +28 -0
- appwrite_console/models/plan_change_project_compliance.py +28 -0
- appwrite_console/models/plan_change_resource_compliance.py +30 -0
- appwrite_console/models/platform_android.py +31 -0
- appwrite_console/models/platform_apple.py +31 -0
- appwrite_console/models/platform_linux.py +31 -0
- appwrite_console/models/platform_list.py +23 -0
- appwrite_console/models/platform_web.py +31 -0
- appwrite_console/models/platform_windows.py +31 -0
- appwrite_console/models/policy_deny_aliased_email.py +18 -0
- appwrite_console/models/policy_deny_corporate_email.py +18 -0
- appwrite_console/models/policy_deny_disposable_email.py +18 -0
- appwrite_console/models/policy_deny_free_email.py +18 -0
- appwrite_console/models/policy_list.py +32 -0
- appwrite_console/models/policy_membership_privacy.py +33 -0
- appwrite_console/models/policy_password_dictionary.py +18 -0
- appwrite_console/models/policy_password_history.py +18 -0
- appwrite_console/models/policy_password_personal_data.py +18 -0
- appwrite_console/models/policy_password_strength.py +30 -0
- appwrite_console/models/policy_session_alert.py +18 -0
- appwrite_console/models/policy_session_duration.py +18 -0
- appwrite_console/models/policy_session_invalidation.py +18 -0
- appwrite_console/models/policy_session_limit.py +18 -0
- appwrite_console/models/policy_user_limit.py +18 -0
- appwrite_console/models/postgres_extension.py +24 -0
- appwrite_console/models/postgres_extension_list.py +19 -0
- appwrite_console/models/preferences.py +52 -0
- appwrite_console/models/presence.py +39 -0
- appwrite_console/models/presence_list.py +19 -0
- appwrite_console/models/program.py +39 -0
- appwrite_console/models/project.py +153 -0
- appwrite_console/models/project_auth_method.py +19 -0
- appwrite_console/models/project_list.py +19 -0
- appwrite_console/models/project_protocol.py +19 -0
- appwrite_console/models/project_service.py +19 -0
- appwrite_console/models/provider.py +39 -0
- appwrite_console/models/provider_list.py +19 -0
- appwrite_console/models/provider_repository.py +42 -0
- appwrite_console/models/provider_repository_framework.py +45 -0
- appwrite_console/models/provider_repository_framework_list.py +22 -0
- appwrite_console/models/provider_repository_runtime.py +45 -0
- appwrite_console/models/provider_repository_runtime_list.py +22 -0
- appwrite_console/models/proxy_rule.py +59 -0
- appwrite_console/models/proxy_rule_list.py +19 -0
- appwrite_console/models/report.py +49 -0
- appwrite_console/models/report_list.py +19 -0
- appwrite_console/models/resource_token.py +33 -0
- appwrite_console/models/resource_token_list.py +19 -0
- appwrite_console/models/review.py +24 -0
- appwrite_console/models/roles.py +18 -0
- appwrite_console/models/row.py +80 -0
- appwrite_console/models/row_list.py +32 -0
- appwrite_console/models/runtime.py +36 -0
- appwrite_console/models/runtime_list.py +19 -0
- appwrite_console/models/schedule.py +45 -0
- appwrite_console/models/schedule_list.py +19 -0
- appwrite_console/models/session.py +99 -0
- appwrite_console/models/session_list.py +19 -0
- appwrite_console/models/site.py +115 -0
- appwrite_console/models/site_list.py +19 -0
- appwrite_console/models/specification.py +24 -0
- appwrite_console/models/specification_list.py +19 -0
- appwrite_console/models/stage.py +27 -0
- appwrite_console/models/stage_list.py +16 -0
- appwrite_console/models/subscriber.py +40 -0
- appwrite_console/models/subscriber_list.py +19 -0
- appwrite_console/models/table.py +67 -0
- appwrite_console/models/table_list.py +19 -0
- appwrite_console/models/target.py +39 -0
- appwrite_console/models/target_list.py +19 -0
- appwrite_console/models/team.py +43 -0
- appwrite_console/models/team_list.py +32 -0
- appwrite_console/models/template_framework.py +39 -0
- appwrite_console/models/template_function.py +65 -0
- appwrite_console/models/template_function_list.py +19 -0
- appwrite_console/models/template_runtime.py +24 -0
- appwrite_console/models/template_site.py +53 -0
- appwrite_console/models/template_site_list.py +19 -0
- appwrite_console/models/template_variable.py +33 -0
- appwrite_console/models/token.py +30 -0
- appwrite_console/models/topic.py +36 -0
- appwrite_console/models/topic_list.py +19 -0
- appwrite_console/models/transaction.py +30 -0
- appwrite_console/models/transaction_list.py +19 -0
- appwrite_console/models/usage_billing_plan.py +46 -0
- appwrite_console/models/usage_data_point.py +99 -0
- appwrite_console/models/usage_event_list.py +19 -0
- appwrite_console/models/usage_gauge_list.py +19 -0
- appwrite_console/models/usage_metric.py +19 -0
- appwrite_console/models/usage_organization.py +104 -0
- appwrite_console/models/usage_organization_project.py +73 -0
- appwrite_console/models/usage_presence.py +22 -0
- appwrite_console/models/usage_project.py +218 -0
- appwrite_console/models/usage_resources.py +36 -0
- appwrite_console/models/usage_users.py +28 -0
- appwrite_console/models/user.py +111 -0
- appwrite_console/models/user_list.py +32 -0
- appwrite_console/models/variable.py +36 -0
- appwrite_console/models/variable_list.py +19 -0
- appwrite_console/models/vcs_content.py +21 -0
- appwrite_console/models/vcs_content_list.py +19 -0
- appwrite_console/models/vcs_namespace.py +27 -0
- appwrite_console/models/vcs_namespace_list.py +19 -0
- appwrite_console/models/vectorsdb_collection.py +54 -0
- appwrite_console/models/vectorsdb_collection_list.py +19 -0
- appwrite_console/models/waf_rule.py +55 -0
- appwrite_console/models/waf_rule_bypass.py +55 -0
- appwrite_console/models/waf_rule_challenge.py +64 -0
- appwrite_console/models/waf_rule_deny.py +55 -0
- appwrite_console/models/waf_rule_list.py +19 -0
- appwrite_console/models/waf_rule_rate_limit.py +64 -0
- appwrite_console/models/waf_rule_redirect.py +61 -0
- appwrite_console/models/webhook.py +51 -0
- appwrite_console/models/webhook_list.py +19 -0
- appwrite_console/operator.py +150 -0
- appwrite_console/permission.py +21 -0
- appwrite_console/query.py +293 -0
- appwrite_console/role.py +111 -0
- appwrite_console/service.py +50 -0
- appwrite_console/services/__init__.py +1 -0
- appwrite_console/services/account.py +3328 -0
- appwrite_console/services/activities.py +89 -0
- appwrite_console/services/advisor.py +234 -0
- appwrite_console/services/apps.py +1156 -0
- appwrite_console/services/assistant.py +50 -0
- appwrite_console/services/avatars.py +531 -0
- appwrite_console/services/backups.py +572 -0
- appwrite_console/services/console.py +807 -0
- appwrite_console/services/databases.py +4976 -0
- appwrite_console/services/documents_db.py +2052 -0
- appwrite_console/services/domains.py +3047 -0
- appwrite_console/services/functions.py +1659 -0
- appwrite_console/services/graphql.py +92 -0
- appwrite_console/services/locale.py +243 -0
- appwrite_console/services/manager.py +301 -0
- appwrite_console/services/messaging.py +3137 -0
- appwrite_console/services/migrations.py +1036 -0
- appwrite_console/services/mongo.py +1683 -0
- appwrite_console/services/mysql.py +1861 -0
- appwrite_console/services/notifications.py +98 -0
- appwrite_console/services/oauth2.py +914 -0
- appwrite_console/services/organization.py +1039 -0
- appwrite_console/services/organizations.py +2245 -0
- appwrite_console/services/postgresql.py +1995 -0
- appwrite_console/services/presences.py +309 -0
- appwrite_console/services/project.py +5271 -0
- appwrite_console/services/projects.py +885 -0
- appwrite_console/services/proxy.py +394 -0
- appwrite_console/services/sites.py +1593 -0
- appwrite_console/services/storage.py +818 -0
- appwrite_console/services/tables_db.py +5189 -0
- appwrite_console/services/teams.py +993 -0
- appwrite_console/services/tokens.py +243 -0
- appwrite_console/services/usage.py +194 -0
- appwrite_console/services/users.py +2314 -0
- appwrite_console/services/vcs.py +599 -0
- appwrite_console/services/vectors_db.py +2054 -0
- appwrite_console/services/waf.py +1014 -0
- appwrite_console/services/webhooks.py +344 -0
- appwrite_console/utils/__init__.py +1 -0
- appwrite_console/utils/deprecated.py +51 -0
- appwrite_console-0.1.0.dist-info/METADATA +189 -0
- appwrite_console-0.1.0.dist-info/RECORD +552 -0
- appwrite_console-0.1.0.dist-info/WHEEL +5 -0
- appwrite_console-0.1.0.dist-info/licenses/LICENSE +12 -0
- appwrite_console-0.1.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
class Permission:
|
|
2
|
+
|
|
3
|
+
@staticmethod
|
|
4
|
+
def read(role):
|
|
5
|
+
return f'read("{role}")'
|
|
6
|
+
|
|
7
|
+
@staticmethod
|
|
8
|
+
def write(role):
|
|
9
|
+
return f'write("{role}")'
|
|
10
|
+
|
|
11
|
+
@staticmethod
|
|
12
|
+
def create(role):
|
|
13
|
+
return f'create("{role}")'
|
|
14
|
+
|
|
15
|
+
@staticmethod
|
|
16
|
+
def update(role):
|
|
17
|
+
return f'update("{role}")'
|
|
18
|
+
|
|
19
|
+
@staticmethod
|
|
20
|
+
def delete(role):
|
|
21
|
+
return f'delete("{role}")'
|
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
import json
|
|
2
|
+
|
|
3
|
+
# Inherit from dict to allow for easy serialization
|
|
4
|
+
class Query():
|
|
5
|
+
def __init__(self, method, attribute=None, values=None):
|
|
6
|
+
self.method = method
|
|
7
|
+
|
|
8
|
+
if attribute is not None:
|
|
9
|
+
self.attribute = attribute
|
|
10
|
+
|
|
11
|
+
if values is not None:
|
|
12
|
+
self.values = values if isinstance(values, list) else [values]
|
|
13
|
+
|
|
14
|
+
def __str__(self):
|
|
15
|
+
return json.dumps(
|
|
16
|
+
self.__dict__,
|
|
17
|
+
separators=(",", ":"),
|
|
18
|
+
default=lambda obj: obj.__dict__
|
|
19
|
+
)
|
|
20
|
+
|
|
21
|
+
@staticmethod
|
|
22
|
+
def equal(attribute, value):
|
|
23
|
+
return str(Query("equal", attribute, value))
|
|
24
|
+
|
|
25
|
+
@staticmethod
|
|
26
|
+
def not_equal(attribute, value):
|
|
27
|
+
return str(Query("notEqual", attribute, value))
|
|
28
|
+
|
|
29
|
+
@staticmethod
|
|
30
|
+
def regex(attribute, pattern):
|
|
31
|
+
"""
|
|
32
|
+
Filter resources where attribute matches a regular expression pattern.
|
|
33
|
+
|
|
34
|
+
Args:
|
|
35
|
+
attribute: The attribute to filter on.
|
|
36
|
+
pattern: The regular expression pattern to match.
|
|
37
|
+
|
|
38
|
+
Returns:
|
|
39
|
+
The query string.
|
|
40
|
+
"""
|
|
41
|
+
return str(Query("regex", attribute, pattern))
|
|
42
|
+
|
|
43
|
+
@staticmethod
|
|
44
|
+
def less_than(attribute, value):
|
|
45
|
+
return str(Query("lessThan", attribute, value))
|
|
46
|
+
|
|
47
|
+
@staticmethod
|
|
48
|
+
def less_than_equal(attribute, value):
|
|
49
|
+
return str(Query("lessThanEqual", attribute, value))
|
|
50
|
+
|
|
51
|
+
@staticmethod
|
|
52
|
+
def greater_than(attribute, value):
|
|
53
|
+
return str(Query("greaterThan", attribute, value))
|
|
54
|
+
|
|
55
|
+
@staticmethod
|
|
56
|
+
def greater_than_equal(attribute, value):
|
|
57
|
+
return str(Query("greaterThanEqual", attribute, value))
|
|
58
|
+
|
|
59
|
+
@staticmethod
|
|
60
|
+
def is_null(attribute):
|
|
61
|
+
return str(Query("isNull", attribute, None))
|
|
62
|
+
|
|
63
|
+
@staticmethod
|
|
64
|
+
def is_not_null(attribute):
|
|
65
|
+
return str(Query("isNotNull", attribute, None))
|
|
66
|
+
|
|
67
|
+
@staticmethod
|
|
68
|
+
def exists(attributes):
|
|
69
|
+
"""
|
|
70
|
+
Filter resources where the specified attributes exist.
|
|
71
|
+
|
|
72
|
+
Args:
|
|
73
|
+
attributes: The list of attributes that must exist.
|
|
74
|
+
|
|
75
|
+
Returns:
|
|
76
|
+
The query string.
|
|
77
|
+
"""
|
|
78
|
+
return str(Query("exists", None, attributes))
|
|
79
|
+
|
|
80
|
+
@staticmethod
|
|
81
|
+
def not_exists(attributes):
|
|
82
|
+
"""
|
|
83
|
+
Filter resources where the specified attributes do not exist.
|
|
84
|
+
|
|
85
|
+
Args:
|
|
86
|
+
attributes: The list of attributes that must not exist.
|
|
87
|
+
|
|
88
|
+
Returns:
|
|
89
|
+
The query string.
|
|
90
|
+
"""
|
|
91
|
+
return str(Query("notExists", None, attributes))
|
|
92
|
+
|
|
93
|
+
@staticmethod
|
|
94
|
+
def between(attribute, start, end):
|
|
95
|
+
return str(Query("between", attribute, [start, end]))
|
|
96
|
+
|
|
97
|
+
@staticmethod
|
|
98
|
+
def starts_with(attribute, value):
|
|
99
|
+
return str(Query("startsWith", attribute, value))
|
|
100
|
+
|
|
101
|
+
@staticmethod
|
|
102
|
+
def ends_with(attribute, value):
|
|
103
|
+
return str(Query("endsWith", attribute, value))
|
|
104
|
+
|
|
105
|
+
@staticmethod
|
|
106
|
+
def select(attributes):
|
|
107
|
+
return str(Query("select", None, attributes))
|
|
108
|
+
|
|
109
|
+
@staticmethod
|
|
110
|
+
def search(attribute, value):
|
|
111
|
+
return str(Query("search", attribute, value))
|
|
112
|
+
|
|
113
|
+
@staticmethod
|
|
114
|
+
def order_asc(attribute):
|
|
115
|
+
return str(Query("orderAsc", attribute, None))
|
|
116
|
+
|
|
117
|
+
@staticmethod
|
|
118
|
+
def order_desc(attribute):
|
|
119
|
+
return str(Query("orderDesc", attribute, None))
|
|
120
|
+
|
|
121
|
+
@staticmethod
|
|
122
|
+
def order_random():
|
|
123
|
+
return str(Query("orderRandom", None, None))
|
|
124
|
+
|
|
125
|
+
@staticmethod
|
|
126
|
+
def cursor_before(id):
|
|
127
|
+
return str(Query("cursorBefore", None, id))
|
|
128
|
+
|
|
129
|
+
@staticmethod
|
|
130
|
+
def cursor_after(id):
|
|
131
|
+
return str(Query("cursorAfter", None, id))
|
|
132
|
+
|
|
133
|
+
@staticmethod
|
|
134
|
+
def limit(limit):
|
|
135
|
+
return str(Query("limit", None, limit))
|
|
136
|
+
|
|
137
|
+
@staticmethod
|
|
138
|
+
def offset(offset):
|
|
139
|
+
return str(Query("offset", None, offset))
|
|
140
|
+
|
|
141
|
+
@staticmethod
|
|
142
|
+
def contains(attribute, value):
|
|
143
|
+
"""
|
|
144
|
+
Filter resources where attribute contains the specified value.
|
|
145
|
+
For string attributes, checks if the string contains the substring.
|
|
146
|
+
|
|
147
|
+
Note: For array attributes, use contains_any() or contains_all() instead.
|
|
148
|
+
"""
|
|
149
|
+
return str(Query("contains", attribute, value))
|
|
150
|
+
|
|
151
|
+
@staticmethod
|
|
152
|
+
def contains_any(attribute, value):
|
|
153
|
+
"""
|
|
154
|
+
Filter resources where attribute contains ANY of the specified values.
|
|
155
|
+
For array and relationship attributes, matches documents where the attribute
|
|
156
|
+
contains at least one of the given values.
|
|
157
|
+
"""
|
|
158
|
+
return str(Query("containsAny", attribute, value))
|
|
159
|
+
|
|
160
|
+
@staticmethod
|
|
161
|
+
def contains_all(attribute, value):
|
|
162
|
+
"""
|
|
163
|
+
Filter resources where attribute contains ALL of the specified values.
|
|
164
|
+
For array and relationship attributes, matches documents where the attribute
|
|
165
|
+
contains every one of the given values.
|
|
166
|
+
"""
|
|
167
|
+
return str(Query("containsAll", attribute, value))
|
|
168
|
+
|
|
169
|
+
@staticmethod
|
|
170
|
+
def not_contains(attribute, value):
|
|
171
|
+
return str(Query("notContains", attribute, value))
|
|
172
|
+
|
|
173
|
+
@staticmethod
|
|
174
|
+
def not_search(attribute, value):
|
|
175
|
+
return str(Query("notSearch", attribute, value))
|
|
176
|
+
|
|
177
|
+
@staticmethod
|
|
178
|
+
def not_between(attribute, start, end):
|
|
179
|
+
return str(Query("notBetween", attribute, [start, end]))
|
|
180
|
+
|
|
181
|
+
@staticmethod
|
|
182
|
+
def not_starts_with(attribute, value):
|
|
183
|
+
return str(Query("notStartsWith", attribute, value))
|
|
184
|
+
|
|
185
|
+
@staticmethod
|
|
186
|
+
def not_ends_with(attribute, value):
|
|
187
|
+
return str(Query("notEndsWith", attribute, value))
|
|
188
|
+
|
|
189
|
+
@staticmethod
|
|
190
|
+
def created_before(value):
|
|
191
|
+
return Query.less_than("$createdAt", value)
|
|
192
|
+
|
|
193
|
+
@staticmethod
|
|
194
|
+
def created_after(value):
|
|
195
|
+
return Query.greater_than("$createdAt", value)
|
|
196
|
+
|
|
197
|
+
@staticmethod
|
|
198
|
+
def created_between(start, end):
|
|
199
|
+
return Query.between("$createdAt", start, end)
|
|
200
|
+
|
|
201
|
+
@staticmethod
|
|
202
|
+
def updated_before(value):
|
|
203
|
+
return Query.less_than("$updatedAt", value)
|
|
204
|
+
|
|
205
|
+
@staticmethod
|
|
206
|
+
def updated_after(value):
|
|
207
|
+
return Query.greater_than("$updatedAt", value)
|
|
208
|
+
|
|
209
|
+
@staticmethod
|
|
210
|
+
def updated_between(start, end):
|
|
211
|
+
return Query.between("$updatedAt", start, end)
|
|
212
|
+
|
|
213
|
+
@staticmethod
|
|
214
|
+
def or_queries(queries):
|
|
215
|
+
return str(Query("or", None, [json.loads(query) for query in queries]))
|
|
216
|
+
|
|
217
|
+
@staticmethod
|
|
218
|
+
def and_queries(queries):
|
|
219
|
+
return str(Query("and", None, [json.loads(query) for query in queries]))
|
|
220
|
+
|
|
221
|
+
@staticmethod
|
|
222
|
+
def elem_match(attribute, queries):
|
|
223
|
+
"""
|
|
224
|
+
Filter array elements where at least one element matches all the specified queries.
|
|
225
|
+
|
|
226
|
+
Args:
|
|
227
|
+
attribute: The attribute containing the array to filter on.
|
|
228
|
+
queries: The list of query strings to match against array elements.
|
|
229
|
+
|
|
230
|
+
Returns:
|
|
231
|
+
The query string.
|
|
232
|
+
"""
|
|
233
|
+
return str(Query("elemMatch", attribute, [json.loads(query) for query in queries]))
|
|
234
|
+
|
|
235
|
+
@staticmethod
|
|
236
|
+
def distance_equal(attribute, values, distance, meters=True):
|
|
237
|
+
return str(Query("distanceEqual", attribute, [[values, distance, meters]]))
|
|
238
|
+
|
|
239
|
+
@staticmethod
|
|
240
|
+
def distance_not_equal(attribute, values, distance, meters=True):
|
|
241
|
+
return str(Query("distanceNotEqual", attribute, [[values, distance, meters]]))
|
|
242
|
+
|
|
243
|
+
@staticmethod
|
|
244
|
+
def distance_greater_than(attribute, values, distance, meters=True):
|
|
245
|
+
return str(Query("distanceGreaterThan", attribute, [[values, distance, meters]]))
|
|
246
|
+
|
|
247
|
+
@staticmethod
|
|
248
|
+
def distance_less_than(attribute, values, distance, meters=True):
|
|
249
|
+
return str(Query("distanceLessThan", attribute, [[values, distance, meters]]))
|
|
250
|
+
|
|
251
|
+
@staticmethod
|
|
252
|
+
def vector_dot(attribute, vector):
|
|
253
|
+
return str(Query("vectorDot", attribute, [vector]))
|
|
254
|
+
|
|
255
|
+
@staticmethod
|
|
256
|
+
def vector_cosine(attribute, vector):
|
|
257
|
+
return str(Query("vectorCosine", attribute, [vector]))
|
|
258
|
+
|
|
259
|
+
@staticmethod
|
|
260
|
+
def vector_euclidean(attribute, vector):
|
|
261
|
+
return str(Query("vectorEuclidean", attribute, [vector]))
|
|
262
|
+
|
|
263
|
+
@staticmethod
|
|
264
|
+
def intersects(attribute, values):
|
|
265
|
+
return str(Query("intersects", attribute, [values]))
|
|
266
|
+
|
|
267
|
+
@staticmethod
|
|
268
|
+
def not_intersects(attribute, values):
|
|
269
|
+
return str(Query("notIntersects", attribute, [values]))
|
|
270
|
+
|
|
271
|
+
@staticmethod
|
|
272
|
+
def crosses(attribute, values):
|
|
273
|
+
return str(Query("crosses", attribute, [values]))
|
|
274
|
+
|
|
275
|
+
@staticmethod
|
|
276
|
+
def not_crosses(attribute, values):
|
|
277
|
+
return str(Query("notCrosses", attribute, [values]))
|
|
278
|
+
|
|
279
|
+
@staticmethod
|
|
280
|
+
def overlaps(attribute, values):
|
|
281
|
+
return str(Query("overlaps", attribute, [values]))
|
|
282
|
+
|
|
283
|
+
@staticmethod
|
|
284
|
+
def not_overlaps(attribute, values):
|
|
285
|
+
return str(Query("notOverlaps", attribute, [values]))
|
|
286
|
+
|
|
287
|
+
@staticmethod
|
|
288
|
+
def touches(attribute, values):
|
|
289
|
+
return str(Query("touches", attribute, [values]))
|
|
290
|
+
|
|
291
|
+
@staticmethod
|
|
292
|
+
def not_touches(attribute, values):
|
|
293
|
+
return str(Query("notTouches", attribute, [values]))
|
appwrite_console/role.py
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
class Role:
|
|
2
|
+
"""Helper class to generate role strings for `Permission`."""
|
|
3
|
+
@staticmethod
|
|
4
|
+
def any():
|
|
5
|
+
"""Grants access to anyone.
|
|
6
|
+
|
|
7
|
+
This includes authenticated and unauthenticated users.
|
|
8
|
+
"""
|
|
9
|
+
return 'any'
|
|
10
|
+
|
|
11
|
+
@staticmethod
|
|
12
|
+
def user(id, status = ""):
|
|
13
|
+
"""Grants access to a specific user by user ID.
|
|
14
|
+
|
|
15
|
+
You can optionally pass verified or unverified for
|
|
16
|
+
`status` to target specific types of users.
|
|
17
|
+
|
|
18
|
+
Parameters
|
|
19
|
+
----------
|
|
20
|
+
id : str
|
|
21
|
+
status : str, optional
|
|
22
|
+
|
|
23
|
+
Returns
|
|
24
|
+
-------
|
|
25
|
+
str
|
|
26
|
+
"""
|
|
27
|
+
if status:
|
|
28
|
+
return f'user:{id}/{status}'
|
|
29
|
+
return f'user:{id}'
|
|
30
|
+
|
|
31
|
+
@staticmethod
|
|
32
|
+
def users(status = ""):
|
|
33
|
+
"""Grants access to any authenticated or anonymous user.
|
|
34
|
+
|
|
35
|
+
You can optionally pass verified or unverified for
|
|
36
|
+
`status` to target specific types of users.
|
|
37
|
+
|
|
38
|
+
Parameters
|
|
39
|
+
----------
|
|
40
|
+
status : str, optional
|
|
41
|
+
|
|
42
|
+
Returns
|
|
43
|
+
-------
|
|
44
|
+
str
|
|
45
|
+
"""
|
|
46
|
+
if status:
|
|
47
|
+
return f'users/{status}'
|
|
48
|
+
return 'users'
|
|
49
|
+
|
|
50
|
+
@staticmethod
|
|
51
|
+
def guests():
|
|
52
|
+
"""Grants access to any guest user without a session.
|
|
53
|
+
|
|
54
|
+
Authenticated users don't have access to this role.
|
|
55
|
+
|
|
56
|
+
Returns
|
|
57
|
+
-------
|
|
58
|
+
str
|
|
59
|
+
"""
|
|
60
|
+
return 'guests'
|
|
61
|
+
|
|
62
|
+
@staticmethod
|
|
63
|
+
def team(id, role = ""):
|
|
64
|
+
"""Grants access to a team by team ID.
|
|
65
|
+
|
|
66
|
+
You can optionally pass a role for `role` to target
|
|
67
|
+
team members with the specified role.
|
|
68
|
+
|
|
69
|
+
Parameters
|
|
70
|
+
----------
|
|
71
|
+
id : str
|
|
72
|
+
role : str, optional
|
|
73
|
+
|
|
74
|
+
Returns
|
|
75
|
+
-------
|
|
76
|
+
str
|
|
77
|
+
"""
|
|
78
|
+
if role:
|
|
79
|
+
return f'team:{id}/{role}'
|
|
80
|
+
return f'team:{id}'
|
|
81
|
+
|
|
82
|
+
@staticmethod
|
|
83
|
+
def member(id):
|
|
84
|
+
"""Grants access to a specific member of a team.
|
|
85
|
+
|
|
86
|
+
When the member is removed from the team, they will
|
|
87
|
+
no longer have access.
|
|
88
|
+
|
|
89
|
+
Parameters
|
|
90
|
+
----------
|
|
91
|
+
id : str
|
|
92
|
+
|
|
93
|
+
Returns
|
|
94
|
+
-------
|
|
95
|
+
str
|
|
96
|
+
"""
|
|
97
|
+
return f'member:{id}'
|
|
98
|
+
|
|
99
|
+
@staticmethod
|
|
100
|
+
def label(name):
|
|
101
|
+
"""Grants access to a user with the specified label.
|
|
102
|
+
|
|
103
|
+
Parameters
|
|
104
|
+
----------
|
|
105
|
+
name : str
|
|
106
|
+
|
|
107
|
+
Returns
|
|
108
|
+
-------
|
|
109
|
+
str
|
|
110
|
+
"""
|
|
111
|
+
return f'label:{name}'
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
from enum import Enum
|
|
2
|
+
from typing import Any, Optional, Type, TypeVar
|
|
3
|
+
|
|
4
|
+
from pydantic import ValidationError
|
|
5
|
+
|
|
6
|
+
from .client import Client
|
|
7
|
+
from .exception import AppwriteException
|
|
8
|
+
from .models.base_model import AppwriteModel
|
|
9
|
+
|
|
10
|
+
ModelType = TypeVar('ModelType', bound=AppwriteModel)
|
|
11
|
+
|
|
12
|
+
class Service:
|
|
13
|
+
def __init__(self, client: Client):
|
|
14
|
+
self.client = client
|
|
15
|
+
|
|
16
|
+
def _normalize_value(self, value: Any) -> Any:
|
|
17
|
+
if isinstance(value, AppwriteModel):
|
|
18
|
+
return value.to_dict()
|
|
19
|
+
|
|
20
|
+
if isinstance(value, Enum):
|
|
21
|
+
return value.value
|
|
22
|
+
|
|
23
|
+
if isinstance(value, list):
|
|
24
|
+
return [self._normalize_value(item) for item in value]
|
|
25
|
+
|
|
26
|
+
if isinstance(value, dict):
|
|
27
|
+
return {
|
|
28
|
+
key: self._normalize_value(item)
|
|
29
|
+
for key, item in value.items()
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
return value
|
|
33
|
+
|
|
34
|
+
def _parse_response(
|
|
35
|
+
self,
|
|
36
|
+
response: Any,
|
|
37
|
+
model: Optional[Type[ModelType]] = None
|
|
38
|
+
) -> Any:
|
|
39
|
+
if model is None:
|
|
40
|
+
return response
|
|
41
|
+
|
|
42
|
+
if not isinstance(response, dict):
|
|
43
|
+
return response
|
|
44
|
+
|
|
45
|
+
try:
|
|
46
|
+
return model.model_validate(response)
|
|
47
|
+
except ValidationError as error:
|
|
48
|
+
raise AppwriteException(
|
|
49
|
+
f'Unable to parse response into {model.__name__}: {error}'
|
|
50
|
+
) from error
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|