appwrite 26.1.0 → 28.0.0.rc1
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.
- checksums.yaml +4 -4
- data/lib/appwrite/client.rb +42 -25
- data/lib/appwrite/enums/adapter.rb +1 -1
- data/lib/appwrite/enums/attribute_status.rb +1 -1
- data/lib/appwrite/enums/authentication_factor.rb +2 -1
- data/lib/appwrite/enums/authenticator_type.rb +1 -1
- data/lib/appwrite/enums/backup_services.rb +1 -1
- data/lib/appwrite/enums/billing_plan_group.rb +1 -1
- data/lib/appwrite/enums/browser.rb +1 -1
- data/lib/appwrite/enums/browser_permission.rb +1 -1
- data/lib/appwrite/enums/browser_theme.rb +1 -1
- data/lib/appwrite/enums/build_runtime.rb +3 -1
- data/lib/appwrite/enums/column_status.rb +1 -1
- data/lib/appwrite/enums/compression.rb +1 -1
- data/lib/appwrite/enums/credit_card.rb +1 -1
- data/lib/appwrite/enums/database_status.rb +1 -1
- data/lib/appwrite/enums/database_type.rb +1 -1
- data/lib/appwrite/enums/databases_index_type.rb +1 -1
- data/lib/appwrite/enums/deployment_download_type.rb +1 -1
- data/lib/appwrite/enums/deployment_status.rb +1 -1
- data/lib/appwrite/enums/documents_db_index_type.rb +9 -0
- data/lib/appwrite/enums/embedding_model.rb +8 -0
- data/lib/appwrite/enums/execution_method.rb +1 -1
- data/lib/appwrite/enums/execution_resource_type.rb +8 -0
- data/lib/appwrite/enums/execution_status.rb +1 -1
- data/lib/appwrite/enums/execution_trigger.rb +1 -1
- data/lib/appwrite/enums/flag.rb +1 -1
- data/lib/appwrite/enums/framework.rb +1 -1
- data/lib/appwrite/enums/image_format.rb +1 -1
- data/lib/appwrite/enums/image_gravity.rb +1 -1
- data/lib/appwrite/enums/index_status.rb +1 -1
- data/lib/appwrite/enums/invalidation_type.rb +9 -0
- data/lib/appwrite/enums/message_priority.rb +1 -1
- data/lib/appwrite/enums/message_status.rb +1 -1
- data/lib/appwrite/enums/messaging_provider_type.rb +1 -1
- data/lib/appwrite/enums/o_auth2_google_prompt.rb +1 -1
- data/lib/appwrite/enums/o_auth2_oidc_prompt.rb +1 -1
- data/lib/appwrite/enums/o_auth_provider.rb +2 -1
- data/lib/appwrite/enums/order_by.rb +1 -1
- data/lib/appwrite/enums/organization_key_scopes.rb +1 -1
- data/lib/appwrite/enums/password_hash.rb +1 -1
- data/lib/appwrite/enums/platform_type.rb +1 -1
- data/lib/appwrite/enums/project_auth_method_id.rb +1 -1
- data/lib/appwrite/enums/project_email_template_id.rb +1 -1
- data/lib/appwrite/enums/project_email_template_locale.rb +1 -1
- data/lib/appwrite/enums/project_key_scopes.rb +16 -3
- data/lib/appwrite/enums/project_o_auth2_google_prompt.rb +1 -1
- data/lib/appwrite/enums/project_o_auth2_oidc_prompt.rb +1 -1
- data/lib/appwrite/enums/project_o_auth_provider_id.rb +2 -1
- data/lib/appwrite/enums/project_policy_id.rb +2 -1
- data/lib/appwrite/enums/project_protocol_id.rb +1 -1
- data/lib/appwrite/enums/project_service_id.rb +1 -1
- data/lib/appwrite/enums/project_smtp_secure.rb +1 -1
- data/lib/appwrite/enums/proxy_resource_type.rb +1 -1
- data/lib/appwrite/enums/proxy_rule_deployment_resource_type.rb +1 -1
- data/lib/appwrite/enums/proxy_rule_status.rb +1 -1
- data/lib/appwrite/enums/region.rb +1 -1
- data/lib/appwrite/enums/relation_mutate.rb +1 -1
- data/lib/appwrite/enums/relationship_type.rb +1 -1
- data/lib/appwrite/enums/runtime.rb +3 -1
- data/lib/appwrite/enums/smtp_encryption.rb +1 -1
- data/lib/appwrite/enums/status_code.rb +1 -1
- data/lib/appwrite/enums/tables_db_index_type.rb +1 -1
- data/lib/appwrite/enums/template_reference_type.rb +1 -1
- data/lib/appwrite/enums/timezone.rb +1 -1
- data/lib/appwrite/enums/vcs_reference_type.rb +1 -1
- data/lib/appwrite/enums/vectors_db_index_type.rb +12 -0
- data/lib/appwrite/exception.rb +1 -1
- data/lib/appwrite/id.rb +3 -3
- data/lib/appwrite/input_file.rb +1 -1
- data/lib/appwrite/models/activity_event.rb +1 -1
- data/lib/appwrite/models/activity_event_list.rb +1 -1
- data/lib/appwrite/models/additional_resource.rb +1 -1
- data/lib/appwrite/models/algo_argon2.rb +1 -1
- data/lib/appwrite/models/algo_bcrypt.rb +1 -1
- data/lib/appwrite/models/algo_md5.rb +1 -1
- data/lib/appwrite/models/algo_phpass.rb +1 -1
- data/lib/appwrite/models/algo_scrypt.rb +1 -1
- data/lib/appwrite/models/algo_scrypt_modified.rb +1 -1
- data/lib/appwrite/models/algo_sha.rb +1 -1
- data/lib/appwrite/models/app.rb +1 -1
- data/lib/appwrite/models/app_installation.rb +2 -2
- data/lib/appwrite/models/app_installation_list.rb +1 -1
- data/lib/appwrite/models/app_key.rb +2 -2
- data/lib/appwrite/models/app_key_list.rb +1 -1
- data/lib/appwrite/models/app_scope.rb +1 -1
- data/lib/appwrite/models/app_scope_list.rb +1 -1
- data/lib/appwrite/models/app_secret.rb +2 -2
- data/lib/appwrite/models/app_secret_list.rb +1 -1
- data/lib/appwrite/models/app_secret_plaintext.rb +2 -2
- data/lib/appwrite/models/apps_list.rb +1 -1
- data/lib/appwrite/models/attribute_bigint.rb +5 -6
- data/lib/appwrite/models/attribute_boolean.rb +3 -4
- data/lib/appwrite/models/attribute_datetime.rb +3 -4
- data/lib/appwrite/models/attribute_email.rb +3 -4
- data/lib/appwrite/models/attribute_enum.rb +3 -4
- data/lib/appwrite/models/attribute_float.rb +5 -6
- data/lib/appwrite/models/attribute_integer.rb +5 -6
- data/lib/appwrite/models/attribute_ip.rb +3 -4
- data/lib/appwrite/models/attribute_line.rb +3 -4
- data/lib/appwrite/models/attribute_list.rb +1 -1
- data/lib/appwrite/models/attribute_longtext.rb +4 -5
- data/lib/appwrite/models/attribute_mediumtext.rb +4 -5
- data/lib/appwrite/models/attribute_object.rb +80 -0
- data/lib/appwrite/models/attribute_point.rb +3 -4
- data/lib/appwrite/models/attribute_polygon.rb +3 -4
- data/lib/appwrite/models/attribute_relationship.rb +2 -3
- data/lib/appwrite/models/attribute_string.rb +4 -5
- data/lib/appwrite/models/attribute_text.rb +4 -5
- data/lib/appwrite/models/attribute_url.rb +3 -4
- data/lib/appwrite/models/attribute_varchar.rb +4 -5
- data/lib/appwrite/models/attribute_vector.rb +85 -0
- data/lib/appwrite/models/backup_archive.rb +3 -3
- data/lib/appwrite/models/backup_archive_list.rb +1 -1
- data/lib/appwrite/models/backup_policy.rb +3 -3
- data/lib/appwrite/models/backup_policy_list.rb +1 -1
- data/lib/appwrite/models/backup_restoration.rb +1 -1
- data/lib/appwrite/models/backup_restoration_list.rb +1 -1
- data/lib/appwrite/models/billing_limits.rb +9 -9
- data/lib/appwrite/models/billing_plan.rb +15 -6
- data/lib/appwrite/models/billing_plan_addon.rb +5 -5
- data/lib/appwrite/models/billing_plan_addon_details.rb +1 -1
- data/lib/appwrite/models/billing_plan_dedicated_database_limits.rb +20 -20
- data/lib/appwrite/models/billing_plan_limits.rb +3 -3
- data/lib/appwrite/models/billing_plan_supported_addons.rb +1 -1
- data/lib/appwrite/models/block.rb +3 -3
- data/lib/appwrite/models/bucket.rb +1 -1
- data/lib/appwrite/models/bucket_list.rb +1 -1
- data/lib/appwrite/models/collection.rb +1 -1
- data/lib/appwrite/models/collection_list.rb +1 -1
- data/lib/appwrite/models/column_bigint.rb +5 -6
- data/lib/appwrite/models/column_boolean.rb +3 -4
- data/lib/appwrite/models/column_datetime.rb +3 -4
- data/lib/appwrite/models/column_email.rb +3 -4
- data/lib/appwrite/models/column_enum.rb +3 -4
- data/lib/appwrite/models/column_float.rb +5 -6
- data/lib/appwrite/models/column_index.rb +2 -2
- data/lib/appwrite/models/column_index_list.rb +1 -1
- data/lib/appwrite/models/column_integer.rb +5 -6
- data/lib/appwrite/models/column_ip.rb +3 -4
- data/lib/appwrite/models/column_line.rb +3 -4
- data/lib/appwrite/models/column_list.rb +1 -1
- data/lib/appwrite/models/column_longtext.rb +4 -5
- data/lib/appwrite/models/column_mediumtext.rb +4 -5
- data/lib/appwrite/models/column_point.rb +3 -4
- data/lib/appwrite/models/column_polygon.rb +3 -4
- data/lib/appwrite/models/column_relationship.rb +2 -3
- data/lib/appwrite/models/column_string.rb +4 -5
- data/lib/appwrite/models/column_text.rb +4 -5
- data/lib/appwrite/models/column_url.rb +3 -4
- data/lib/appwrite/models/column_varchar.rb +4 -5
- data/lib/appwrite/models/continent.rb +1 -1
- data/lib/appwrite/models/continent_list.rb +1 -1
- data/lib/appwrite/models/country.rb +1 -1
- data/lib/appwrite/models/country_list.rb +1 -1
- data/lib/appwrite/models/currency.rb +1 -1
- data/lib/appwrite/models/currency_list.rb +1 -1
- data/lib/appwrite/models/database.rb +22 -8
- data/lib/appwrite/models/database_list.rb +1 -1
- data/lib/appwrite/models/database_migration.rb +107 -0
- data/lib/appwrite/models/database_migration_list.rb +32 -0
- data/lib/appwrite/models/database_status.rb +31 -1
- data/lib/appwrite/models/database_status_connections.rb +1 -1
- data/lib/appwrite/models/database_status_replica.rb +7 -2
- data/lib/appwrite/models/database_status_volume.rb +1 -1
- data/lib/appwrite/models/dedicated_database.rb +3 -8
- data/lib/appwrite/models/dedicated_database_backup.rb +107 -0
- data/lib/appwrite/models/dedicated_database_backup_list.rb +32 -0
- data/lib/appwrite/models/dedicated_database_backup_storage.rb +47 -0
- data/lib/appwrite/models/dedicated_database_branch.rb +82 -0
- data/lib/appwrite/models/dedicated_database_branch_list.rb +32 -0
- data/lib/appwrite/models/dedicated_database_execution.rb +52 -0
- data/lib/appwrite/models/dedicated_database_execution_column.rb +32 -0
- data/lib/appwrite/models/dedicated_database_extensions.rb +37 -0
- data/lib/appwrite/models/dedicated_database_list.rb +32 -0
- data/lib/appwrite/models/dedicated_database_member.rb +6 -1
- data/lib/appwrite/models/dedicated_database_operation.rb +77 -0
- data/lib/appwrite/models/dedicated_database_operation_list.rb +32 -0
- data/lib/appwrite/models/dedicated_database_pitr_windows.rb +32 -0
- data/lib/appwrite/models/dedicated_database_pooler.rb +72 -0
- data/lib/appwrite/models/dedicated_database_replicas.rb +26 -1
- data/lib/appwrite/models/dedicated_database_restoration.rb +82 -0
- data/lib/appwrite/models/dedicated_database_restoration_list.rb +32 -0
- data/lib/appwrite/models/dedicated_database_specification.rb +1 -1
- data/lib/appwrite/models/dedicated_database_specification_list.rb +1 -1
- data/lib/appwrite/models/dedicated_database_specification_pricing.rb +1 -6
- data/lib/appwrite/models/deployment.rb +1 -2
- data/lib/appwrite/models/deployment_list.rb +1 -1
- data/lib/appwrite/models/dev_key.rb +1 -1
- data/lib/appwrite/models/document.rb +1 -1
- data/lib/appwrite/models/document_list.rb +1 -1
- data/lib/appwrite/models/email_template.rb +1 -1
- data/lib/appwrite/models/email_template_list.rb +1 -1
- data/lib/appwrite/models/embedding.rb +42 -0
- data/lib/appwrite/models/embedding_list.rb +32 -0
- data/lib/appwrite/models/ephemeral_key.rb +1 -1
- data/lib/appwrite/models/execution.rb +25 -8
- data/lib/appwrite/models/execution_list.rb +1 -1
- data/lib/appwrite/models/file.rb +11 -1
- data/lib/appwrite/models/file_list.rb +1 -1
- data/lib/appwrite/models/framework.rb +1 -1
- data/lib/appwrite/models/framework_adapter.rb +1 -1
- data/lib/appwrite/models/framework_list.rb +1 -1
- data/lib/appwrite/models/function.rb +1 -1
- data/lib/appwrite/models/function_list.rb +1 -1
- data/lib/appwrite/models/headers.rb +1 -1
- data/lib/appwrite/models/identity.rb +1 -1
- data/lib/appwrite/models/identity_list.rb +1 -1
- data/lib/appwrite/models/index.rb +2 -3
- data/lib/appwrite/models/index_list.rb +1 -1
- data/lib/appwrite/models/insight.rb +4 -4
- data/lib/appwrite/models/insight_cta.rb +1 -1
- data/lib/appwrite/models/insight_list.rb +1 -1
- data/lib/appwrite/models/jwt.rb +1 -1
- data/lib/appwrite/models/key.rb +1 -1
- data/lib/appwrite/models/key_list.rb +1 -1
- data/lib/appwrite/models/language.rb +1 -1
- data/lib/appwrite/models/language_list.rb +1 -1
- data/lib/appwrite/models/locale.rb +12 -12
- data/lib/appwrite/models/locale_code.rb +1 -1
- data/lib/appwrite/models/locale_code_list.rb +1 -1
- data/lib/appwrite/models/log.rb +1 -1
- data/lib/appwrite/models/log_list.rb +1 -1
- data/lib/appwrite/models/membership.rb +1 -1
- data/lib/appwrite/models/membership_list.rb +1 -1
- data/lib/appwrite/models/message.rb +4 -5
- data/lib/appwrite/models/message_list.rb +1 -1
- data/lib/appwrite/models/mfa_challenge.rb +1 -1
- data/lib/appwrite/models/mfa_challenge_secret.rb +47 -0
- data/lib/appwrite/models/mfa_factors.rb +9 -4
- data/lib/appwrite/models/mfa_recovery_codes.rb +1 -1
- data/lib/appwrite/models/mfa_type.rb +1 -1
- data/lib/appwrite/models/mock_number.rb +1 -1
- data/lib/appwrite/models/mock_number_list.rb +1 -1
- data/lib/appwrite/models/o_auth2_amazon.rb +1 -1
- data/lib/appwrite/models/o_auth2_apple.rb +1 -1
- data/lib/appwrite/models/o_auth2_appwrite.rb +1 -1
- data/lib/appwrite/models/o_auth2_auth0.rb +1 -1
- data/lib/appwrite/models/o_auth2_authentik.rb +1 -1
- data/lib/appwrite/models/o_auth2_autodesk.rb +1 -1
- data/lib/appwrite/models/o_auth2_bitbucket.rb +1 -1
- data/lib/appwrite/models/o_auth2_bitly.rb +1 -1
- data/lib/appwrite/models/o_auth2_box.rb +1 -1
- data/lib/appwrite/models/o_auth2_dailymotion.rb +1 -1
- data/lib/appwrite/models/o_auth2_discord.rb +1 -1
- data/lib/appwrite/models/o_auth2_disqus.rb +1 -1
- data/lib/appwrite/models/o_auth2_dropbox.rb +1 -1
- data/lib/appwrite/models/o_auth2_etsy.rb +1 -1
- data/lib/appwrite/models/o_auth2_facebook.rb +1 -1
- data/lib/appwrite/models/o_auth2_figma.rb +1 -1
- data/lib/appwrite/models/o_auth2_fusion_auth.rb +1 -1
- data/lib/appwrite/models/o_auth2_github.rb +1 -1
- data/lib/appwrite/models/o_auth2_gitlab.rb +1 -1
- data/lib/appwrite/models/o_auth2_google.rb +18 -2
- data/lib/appwrite/models/o_auth2_hugging_face.rb +42 -0
- data/lib/appwrite/models/o_auth2_keycloak.rb +1 -1
- data/lib/appwrite/models/o_auth2_kick.rb +1 -1
- data/lib/appwrite/models/o_auth2_linkedin.rb +1 -1
- data/lib/appwrite/models/o_auth2_microsoft.rb +1 -1
- data/lib/appwrite/models/o_auth2_notion.rb +1 -1
- data/lib/appwrite/models/o_auth2_oidc.rb +20 -3
- data/lib/appwrite/models/o_auth2_okta.rb +1 -1
- data/lib/appwrite/models/o_auth2_paypal.rb +1 -1
- data/lib/appwrite/models/o_auth2_podio.rb +1 -1
- data/lib/appwrite/models/o_auth2_provider_list.rb +1 -1
- data/lib/appwrite/models/o_auth2_salesforce.rb +1 -1
- data/lib/appwrite/models/o_auth2_slack.rb +1 -1
- data/lib/appwrite/models/o_auth2_spotify.rb +1 -1
- data/lib/appwrite/models/o_auth2_stripe.rb +1 -1
- data/lib/appwrite/models/o_auth2_tradeshift.rb +1 -1
- data/lib/appwrite/models/o_auth2_twitch.rb +1 -1
- data/lib/appwrite/models/o_auth2_word_press.rb +1 -1
- data/lib/appwrite/models/o_auth2_x.rb +1 -1
- data/lib/appwrite/models/o_auth2_yahoo.rb +1 -1
- data/lib/appwrite/models/o_auth2_yandex.rb +1 -1
- data/lib/appwrite/models/o_auth2_zoho.rb +1 -1
- data/lib/appwrite/models/o_auth2_zoom.rb +1 -1
- data/lib/appwrite/models/oauth2_approve.rb +1 -1
- data/lib/appwrite/models/oauth2_authorize.rb +1 -1
- data/lib/appwrite/models/oauth2_consent.rb +1 -1
- data/lib/appwrite/models/oauth2_consent_list.rb +1 -1
- data/lib/appwrite/models/oauth2_consent_token.rb +1 -1
- data/lib/appwrite/models/oauth2_consent_token_list.rb +1 -1
- data/lib/appwrite/models/oauth2_device_authorization.rb +1 -1
- data/lib/appwrite/models/oauth2_grant.rb +1 -1
- data/lib/appwrite/models/oauth2_organization.rb +1 -1
- data/lib/appwrite/models/oauth2_organization_list.rb +1 -1
- data/lib/appwrite/models/oauth2_par.rb +1 -1
- data/lib/appwrite/models/oauth2_project.rb +1 -1
- data/lib/appwrite/models/oauth2_project_list.rb +1 -1
- data/lib/appwrite/models/oauth2_reject.rb +1 -1
- data/lib/appwrite/models/oauth2_token.rb +3 -3
- data/lib/appwrite/models/organization.rb +2 -2
- data/lib/appwrite/models/phone.rb +1 -1
- data/lib/appwrite/models/phone_list.rb +1 -1
- data/lib/appwrite/models/platform_android.rb +1 -2
- data/lib/appwrite/models/platform_apple.rb +1 -2
- data/lib/appwrite/models/platform_linux.rb +1 -2
- data/lib/appwrite/models/platform_list.rb +1 -1
- data/lib/appwrite/models/platform_web.rb +1 -2
- data/lib/appwrite/models/platform_windows.rb +1 -2
- data/lib/appwrite/models/policy_deny_aliased_email.rb +1 -1
- data/lib/appwrite/models/policy_deny_corporate_email.rb +1 -1
- data/lib/appwrite/models/policy_deny_disposable_email.rb +1 -1
- data/lib/appwrite/models/policy_deny_free_email.rb +1 -1
- data/lib/appwrite/models/policy_list.rb +1 -1
- data/lib/appwrite/models/policy_membership_privacy.rb +1 -1
- data/lib/appwrite/models/policy_mfa_factors.rb +47 -0
- data/lib/appwrite/models/policy_password_dictionary.rb +1 -1
- data/lib/appwrite/models/policy_password_history.rb +1 -1
- data/lib/appwrite/models/policy_password_personal_data.rb +1 -1
- data/lib/appwrite/models/policy_password_strength.rb +1 -1
- data/lib/appwrite/models/policy_session_alert.rb +1 -1
- data/lib/appwrite/models/policy_session_duration.rb +1 -1
- data/lib/appwrite/models/policy_session_invalidation.rb +1 -1
- data/lib/appwrite/models/policy_session_limit.rb +1 -1
- data/lib/appwrite/models/policy_user_limit.rb +1 -1
- data/lib/appwrite/models/postgres_extension.rb +42 -0
- data/lib/appwrite/models/preferences.rb +1 -1
- data/lib/appwrite/models/presence.rb +4 -4
- data/lib/appwrite/models/presence_list.rb +1 -1
- data/lib/appwrite/models/program.rb +1 -1
- data/lib/appwrite/models/project.rb +23 -18
- data/lib/appwrite/models/project_auth_method.rb +1 -2
- data/lib/appwrite/models/project_list.rb +1 -1
- data/lib/appwrite/models/project_protocol.rb +1 -2
- data/lib/appwrite/models/project_service.rb +1 -2
- data/lib/appwrite/models/provider.rb +2 -2
- data/lib/appwrite/models/provider_list.rb +1 -1
- data/lib/appwrite/models/proxy_invalidation.rb +42 -0
- data/lib/appwrite/models/proxy_rule.rb +2 -3
- data/lib/appwrite/models/proxy_rule_list.rb +1 -1
- data/lib/appwrite/models/report.rb +2 -2
- data/lib/appwrite/models/report_list.rb +1 -1
- data/lib/appwrite/models/resource_token.rb +1 -1
- data/lib/appwrite/models/resource_token_list.rb +1 -1
- data/lib/appwrite/models/row.rb +1 -1
- data/lib/appwrite/models/row_list.rb +1 -1
- data/lib/appwrite/models/runtime.rb +1 -1
- data/lib/appwrite/models/runtime_list.rb +1 -1
- data/lib/appwrite/models/session.rb +1 -1
- data/lib/appwrite/models/session_list.rb +1 -1
- data/lib/appwrite/models/site.rb +6 -1
- data/lib/appwrite/models/site_list.rb +1 -1
- data/lib/appwrite/models/specification.rb +1 -1
- data/lib/appwrite/models/specification_list.rb +1 -1
- data/lib/appwrite/models/subscriber.rb +1 -1
- data/lib/appwrite/models/subscriber_list.rb +1 -1
- data/lib/appwrite/models/table.rb +1 -1
- data/lib/appwrite/models/table_list.rb +1 -1
- data/lib/appwrite/models/target.rb +2 -2
- data/lib/appwrite/models/target_list.rb +1 -1
- data/lib/appwrite/models/team.rb +1 -1
- data/lib/appwrite/models/team_list.rb +1 -1
- data/lib/appwrite/models/token.rb +1 -1
- data/lib/appwrite/models/topic.rb +1 -1
- data/lib/appwrite/models/topic_list.rb +1 -1
- data/lib/appwrite/models/transaction.rb +1 -1
- data/lib/appwrite/models/transaction_list.rb +1 -1
- data/lib/appwrite/models/usage_billing_plan.rb +7 -7
- data/lib/appwrite/models/user.rb +11 -11
- data/lib/appwrite/models/user_list.rb +1 -1
- data/lib/appwrite/models/variable.rb +1 -1
- data/lib/appwrite/models/variable_list.rb +1 -1
- data/lib/appwrite/models/vectorsdb_collection.rb +87 -0
- data/lib/appwrite/models/vectorsdb_collection_list.rb +32 -0
- data/lib/appwrite/models/webhook.rb +1 -1
- data/lib/appwrite/models/webhook_list.rb +1 -1
- data/lib/appwrite/operator.rb +6 -0
- data/lib/appwrite/permission.rb +4 -0
- data/lib/appwrite/query.rb +4 -4
- data/lib/appwrite/role.rb +12 -14
- data/lib/appwrite/service.rb +1 -1
- data/lib/appwrite/services/account.rb +329 -322
- data/lib/appwrite/services/activities.rb +14 -15
- data/lib/appwrite/services/advisor.rb +41 -37
- data/lib/appwrite/services/apps.rb +228 -131
- data/lib/appwrite/services/avatars.rb +156 -55
- data/lib/appwrite/services/backups.rb +113 -88
- data/lib/appwrite/services/databases.rb +875 -516
- data/lib/appwrite/services/documents_db.rb +1683 -0
- data/lib/appwrite/services/embeddings.rb +48 -0
- data/lib/appwrite/services/functions.rb +277 -173
- data/lib/appwrite/services/graphql.rb +12 -12
- data/lib/appwrite/services/locale.rb +19 -37
- data/lib/appwrite/services/messaging.rb +544 -259
- data/lib/appwrite/services/mongo.rb +1359 -0
- data/lib/appwrite/services/mysql.rb +1503 -0
- data/lib/appwrite/services/oauth2.rb +122 -53
- data/lib/appwrite/services/organization.rb +153 -123
- data/lib/appwrite/services/postgresql.rb +1615 -0
- data/lib/appwrite/services/presences.rb +49 -35
- data/lib/appwrite/services/project.rb +889 -580
- data/lib/appwrite/services/proxy.rb +111 -52
- data/lib/appwrite/services/sites.rb +270 -165
- data/lib/appwrite/services/storage.rb +153 -92
- data/lib/appwrite/services/tables_db.rb +1153 -534
- data/lib/appwrite/services/teams.rb +161 -122
- data/lib/appwrite/services/tokens.rb +38 -31
- data/lib/appwrite/services/users.rb +406 -266
- data/lib/appwrite/services/vectors_db.rb +1614 -0
- data/lib/appwrite/services/webhooks.rb +59 -40
- data/lib/appwrite.rb +39 -0
- metadata +43 -4
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
#frozen_string_literal: true
|
|
1
|
+
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
module Appwrite
|
|
4
4
|
class Users < Service
|
|
5
|
-
|
|
6
5
|
def initialize(client)
|
|
7
6
|
@client = client
|
|
8
7
|
end
|
|
9
8
|
|
|
10
|
-
# Get a list of all the project
|
|
9
|
+
# Get a list of all the project's users. You can use the query params to
|
|
11
10
|
# filter your results.
|
|
12
11
|
#
|
|
13
12
|
# @param [Array] queries Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, email, phone, status, passwordUpdate, registration, emailVerification, phoneVerification, labels, impersonator, accessedAt
|
|
@@ -15,7 +14,11 @@ module Appwrite
|
|
|
15
14
|
# @param [] total When set to false, the total count returned will be 0 and will not be calculated.
|
|
16
15
|
#
|
|
17
16
|
# @return [UserList]
|
|
18
|
-
def list(
|
|
17
|
+
def list(
|
|
18
|
+
queries: nil,
|
|
19
|
+
search: nil,
|
|
20
|
+
total: nil
|
|
21
|
+
)
|
|
19
22
|
api_path = '/users'
|
|
20
23
|
|
|
21
24
|
api_params = {
|
|
@@ -23,7 +26,7 @@ module Appwrite
|
|
|
23
26
|
search: search,
|
|
24
27
|
total: total,
|
|
25
28
|
}
|
|
26
|
-
|
|
29
|
+
|
|
27
30
|
api_headers = {
|
|
28
31
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
29
32
|
"accept": 'application/json',
|
|
@@ -36,23 +39,28 @@ module Appwrite
|
|
|
36
39
|
params: api_params,
|
|
37
40
|
response_type: Models::UserList
|
|
38
41
|
)
|
|
39
|
-
|
|
40
42
|
end
|
|
41
43
|
|
|
42
44
|
# Create a new user.
|
|
43
45
|
#
|
|
44
|
-
# @param [String] user_id User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can
|
|
46
|
+
# @param [String] user_id User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.
|
|
45
47
|
# @param [String] email User email.
|
|
46
|
-
# @param [String] phone Phone number. Format this number with a leading
|
|
48
|
+
# @param [String] phone Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.
|
|
47
49
|
# @param [String] password Plain text user password. Must be at least 8 chars.
|
|
48
50
|
# @param [String] name User name. Max length: 128 chars.
|
|
49
51
|
#
|
|
50
52
|
# @return [User]
|
|
51
|
-
def create(
|
|
53
|
+
def create(
|
|
54
|
+
user_id:,
|
|
55
|
+
email: nil,
|
|
56
|
+
phone: nil,
|
|
57
|
+
password: nil,
|
|
58
|
+
name: nil
|
|
59
|
+
)
|
|
52
60
|
api_path = '/users'
|
|
53
61
|
|
|
54
62
|
if user_id.nil?
|
|
55
|
-
|
|
63
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
|
56
64
|
end
|
|
57
65
|
|
|
58
66
|
api_params = {
|
|
@@ -62,7 +70,7 @@ module Appwrite
|
|
|
62
70
|
password: password,
|
|
63
71
|
name: name,
|
|
64
72
|
}
|
|
65
|
-
|
|
73
|
+
|
|
66
74
|
api_headers = {
|
|
67
75
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
68
76
|
"content-type": 'application/json',
|
|
@@ -76,7 +84,6 @@ module Appwrite
|
|
|
76
84
|
params: api_params,
|
|
77
85
|
response_type: Models::User
|
|
78
86
|
)
|
|
79
|
-
|
|
80
87
|
end
|
|
81
88
|
|
|
82
89
|
# Create a new user. Password provided must be hashed with the
|
|
@@ -84,25 +91,30 @@ module Appwrite
|
|
|
84
91
|
# /users](https://appwrite.io/docs/server/users#usersCreate) endpoint to
|
|
85
92
|
# create users with a plain text password.
|
|
86
93
|
#
|
|
87
|
-
# @param [String] user_id User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can
|
|
94
|
+
# @param [String] user_id User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.
|
|
88
95
|
# @param [String] email User email.
|
|
89
96
|
# @param [String] password User password hashed using Argon2.
|
|
90
97
|
# @param [String] name User name. Max length: 128 chars.
|
|
91
98
|
#
|
|
92
99
|
# @return [User]
|
|
93
|
-
def create_argon2_user(
|
|
100
|
+
def create_argon2_user(
|
|
101
|
+
user_id:,
|
|
102
|
+
email:,
|
|
103
|
+
password:,
|
|
104
|
+
name: nil
|
|
105
|
+
)
|
|
94
106
|
api_path = '/users/argon2'
|
|
95
107
|
|
|
96
108
|
if user_id.nil?
|
|
97
|
-
|
|
109
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
|
98
110
|
end
|
|
99
111
|
|
|
100
112
|
if email.nil?
|
|
101
|
-
|
|
113
|
+
raise Appwrite::Exception.new('Missing required parameter: "email"')
|
|
102
114
|
end
|
|
103
115
|
|
|
104
116
|
if password.nil?
|
|
105
|
-
|
|
117
|
+
raise Appwrite::Exception.new('Missing required parameter: "password"')
|
|
106
118
|
end
|
|
107
119
|
|
|
108
120
|
api_params = {
|
|
@@ -111,7 +123,7 @@ module Appwrite
|
|
|
111
123
|
password: password,
|
|
112
124
|
name: name,
|
|
113
125
|
}
|
|
114
|
-
|
|
126
|
+
|
|
115
127
|
api_headers = {
|
|
116
128
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
117
129
|
"content-type": 'application/json',
|
|
@@ -125,7 +137,6 @@ module Appwrite
|
|
|
125
137
|
params: api_params,
|
|
126
138
|
response_type: Models::User
|
|
127
139
|
)
|
|
128
|
-
|
|
129
140
|
end
|
|
130
141
|
|
|
131
142
|
# Create a new user. Password provided must be hashed with the
|
|
@@ -133,25 +144,30 @@ module Appwrite
|
|
|
133
144
|
# /users](https://appwrite.io/docs/server/users#usersCreate) endpoint to
|
|
134
145
|
# create users with a plain text password.
|
|
135
146
|
#
|
|
136
|
-
# @param [String] user_id User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can
|
|
147
|
+
# @param [String] user_id User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.
|
|
137
148
|
# @param [String] email User email.
|
|
138
149
|
# @param [String] password User password hashed using Bcrypt.
|
|
139
150
|
# @param [String] name User name. Max length: 128 chars.
|
|
140
151
|
#
|
|
141
152
|
# @return [User]
|
|
142
|
-
def create_bcrypt_user(
|
|
153
|
+
def create_bcrypt_user(
|
|
154
|
+
user_id:,
|
|
155
|
+
email:,
|
|
156
|
+
password:,
|
|
157
|
+
name: nil
|
|
158
|
+
)
|
|
143
159
|
api_path = '/users/bcrypt'
|
|
144
160
|
|
|
145
161
|
if user_id.nil?
|
|
146
|
-
|
|
162
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
|
147
163
|
end
|
|
148
164
|
|
|
149
165
|
if email.nil?
|
|
150
|
-
|
|
166
|
+
raise Appwrite::Exception.new('Missing required parameter: "email"')
|
|
151
167
|
end
|
|
152
168
|
|
|
153
169
|
if password.nil?
|
|
154
|
-
|
|
170
|
+
raise Appwrite::Exception.new('Missing required parameter: "password"')
|
|
155
171
|
end
|
|
156
172
|
|
|
157
173
|
api_params = {
|
|
@@ -160,7 +176,7 @@ module Appwrite
|
|
|
160
176
|
password: password,
|
|
161
177
|
name: name,
|
|
162
178
|
}
|
|
163
|
-
|
|
179
|
+
|
|
164
180
|
api_headers = {
|
|
165
181
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
166
182
|
"content-type": 'application/json',
|
|
@@ -174,7 +190,6 @@ module Appwrite
|
|
|
174
190
|
params: api_params,
|
|
175
191
|
response_type: Models::User
|
|
176
192
|
)
|
|
177
|
-
|
|
178
193
|
end
|
|
179
194
|
|
|
180
195
|
# Get identities for all users.
|
|
@@ -184,7 +199,11 @@ module Appwrite
|
|
|
184
199
|
# @param [] total When set to false, the total count returned will be 0 and will not be calculated.
|
|
185
200
|
#
|
|
186
201
|
# @return [IdentityList]
|
|
187
|
-
def list_identities(
|
|
202
|
+
def list_identities(
|
|
203
|
+
queries: nil,
|
|
204
|
+
search: nil,
|
|
205
|
+
total: nil
|
|
206
|
+
)
|
|
188
207
|
api_path = '/users/identities'
|
|
189
208
|
|
|
190
209
|
api_params = {
|
|
@@ -192,7 +211,7 @@ module Appwrite
|
|
|
192
211
|
search: search,
|
|
193
212
|
total: total,
|
|
194
213
|
}
|
|
195
|
-
|
|
214
|
+
|
|
196
215
|
api_headers = {
|
|
197
216
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
198
217
|
"accept": 'application/json',
|
|
@@ -205,7 +224,6 @@ module Appwrite
|
|
|
205
224
|
params: api_params,
|
|
206
225
|
response_type: Models::IdentityList
|
|
207
226
|
)
|
|
208
|
-
|
|
209
227
|
end
|
|
210
228
|
|
|
211
229
|
# Delete an identity by its unique ID.
|
|
@@ -213,17 +231,18 @@ module Appwrite
|
|
|
213
231
|
# @param [String] identity_id Identity ID.
|
|
214
232
|
#
|
|
215
233
|
# @return []
|
|
216
|
-
def delete_identity(
|
|
234
|
+
def delete_identity(
|
|
235
|
+
identity_id:
|
|
236
|
+
)
|
|
217
237
|
api_path = '/users/identities/{identityId}'
|
|
218
238
|
.gsub('{identityId}', identity_id)
|
|
219
239
|
|
|
220
240
|
if identity_id.nil?
|
|
221
|
-
|
|
241
|
+
raise Appwrite::Exception.new('Missing required parameter: "identityId"')
|
|
222
242
|
end
|
|
223
243
|
|
|
224
|
-
api_params = {
|
|
225
|
-
|
|
226
|
-
|
|
244
|
+
api_params = {}
|
|
245
|
+
|
|
227
246
|
api_headers = {
|
|
228
247
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
229
248
|
"content-type": 'application/json',
|
|
@@ -235,7 +254,6 @@ module Appwrite
|
|
|
235
254
|
headers: api_headers,
|
|
236
255
|
params: api_params,
|
|
237
256
|
)
|
|
238
|
-
|
|
239
257
|
end
|
|
240
258
|
|
|
241
259
|
# Create a new user. Password provided must be hashed with the
|
|
@@ -243,25 +261,30 @@ module Appwrite
|
|
|
243
261
|
# /users](https://appwrite.io/docs/server/users#usersCreate) endpoint to
|
|
244
262
|
# create users with a plain text password.
|
|
245
263
|
#
|
|
246
|
-
# @param [String] user_id User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can
|
|
264
|
+
# @param [String] user_id User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.
|
|
247
265
|
# @param [String] email User email.
|
|
248
266
|
# @param [String] password User password hashed using MD5.
|
|
249
267
|
# @param [String] name User name. Max length: 128 chars.
|
|
250
268
|
#
|
|
251
269
|
# @return [User]
|
|
252
|
-
def create_md5_user(
|
|
270
|
+
def create_md5_user(
|
|
271
|
+
user_id:,
|
|
272
|
+
email:,
|
|
273
|
+
password:,
|
|
274
|
+
name: nil
|
|
275
|
+
)
|
|
253
276
|
api_path = '/users/md5'
|
|
254
277
|
|
|
255
278
|
if user_id.nil?
|
|
256
|
-
|
|
279
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
|
257
280
|
end
|
|
258
281
|
|
|
259
282
|
if email.nil?
|
|
260
|
-
|
|
283
|
+
raise Appwrite::Exception.new('Missing required parameter: "email"')
|
|
261
284
|
end
|
|
262
285
|
|
|
263
286
|
if password.nil?
|
|
264
|
-
|
|
287
|
+
raise Appwrite::Exception.new('Missing required parameter: "password"')
|
|
265
288
|
end
|
|
266
289
|
|
|
267
290
|
api_params = {
|
|
@@ -270,7 +293,7 @@ module Appwrite
|
|
|
270
293
|
password: password,
|
|
271
294
|
name: name,
|
|
272
295
|
}
|
|
273
|
-
|
|
296
|
+
|
|
274
297
|
api_headers = {
|
|
275
298
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
276
299
|
"content-type": 'application/json',
|
|
@@ -284,7 +307,6 @@ module Appwrite
|
|
|
284
307
|
params: api_params,
|
|
285
308
|
response_type: Models::User
|
|
286
309
|
)
|
|
287
|
-
|
|
288
310
|
end
|
|
289
311
|
|
|
290
312
|
# Create a new user. Password provided must be hashed with the
|
|
@@ -292,25 +314,30 @@ module Appwrite
|
|
|
292
314
|
# /users](https://appwrite.io/docs/server/users#usersCreate) endpoint to
|
|
293
315
|
# create users with a plain text password.
|
|
294
316
|
#
|
|
295
|
-
# @param [String] user_id User ID. Choose a custom ID or pass the string `ID.unique()`to auto generate it. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can
|
|
317
|
+
# @param [String] user_id User ID. Choose a custom ID or pass the string `ID.unique()`to auto generate it. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.
|
|
296
318
|
# @param [String] email User email.
|
|
297
319
|
# @param [String] password User password hashed using PHPass.
|
|
298
320
|
# @param [String] name User name. Max length: 128 chars.
|
|
299
321
|
#
|
|
300
322
|
# @return [User]
|
|
301
|
-
def create_ph_pass_user(
|
|
323
|
+
def create_ph_pass_user(
|
|
324
|
+
user_id:,
|
|
325
|
+
email:,
|
|
326
|
+
password:,
|
|
327
|
+
name: nil
|
|
328
|
+
)
|
|
302
329
|
api_path = '/users/phpass'
|
|
303
330
|
|
|
304
331
|
if user_id.nil?
|
|
305
|
-
|
|
332
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
|
306
333
|
end
|
|
307
334
|
|
|
308
335
|
if email.nil?
|
|
309
|
-
|
|
336
|
+
raise Appwrite::Exception.new('Missing required parameter: "email"')
|
|
310
337
|
end
|
|
311
338
|
|
|
312
339
|
if password.nil?
|
|
313
|
-
|
|
340
|
+
raise Appwrite::Exception.new('Missing required parameter: "password"')
|
|
314
341
|
end
|
|
315
342
|
|
|
316
343
|
api_params = {
|
|
@@ -319,7 +346,7 @@ module Appwrite
|
|
|
319
346
|
password: password,
|
|
320
347
|
name: name,
|
|
321
348
|
}
|
|
322
|
-
|
|
349
|
+
|
|
323
350
|
api_headers = {
|
|
324
351
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
325
352
|
"content-type": 'application/json',
|
|
@@ -333,7 +360,6 @@ module Appwrite
|
|
|
333
360
|
params: api_params,
|
|
334
361
|
response_type: Models::User
|
|
335
362
|
)
|
|
336
|
-
|
|
337
363
|
end
|
|
338
364
|
|
|
339
365
|
# Create a new user. Password provided must be hashed with the
|
|
@@ -341,7 +367,7 @@ module Appwrite
|
|
|
341
367
|
# /users](https://appwrite.io/docs/server/users#usersCreate) endpoint to
|
|
342
368
|
# create users with a plain text password.
|
|
343
369
|
#
|
|
344
|
-
# @param [String] user_id User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can
|
|
370
|
+
# @param [String] user_id User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.
|
|
345
371
|
# @param [String] email User email.
|
|
346
372
|
# @param [String] password User password hashed using Scrypt.
|
|
347
373
|
# @param [String] password_salt Optional salt used to hash password.
|
|
@@ -352,39 +378,49 @@ module Appwrite
|
|
|
352
378
|
# @param [String] name User name. Max length: 128 chars.
|
|
353
379
|
#
|
|
354
380
|
# @return [User]
|
|
355
|
-
def create_scrypt_user(
|
|
381
|
+
def create_scrypt_user(
|
|
382
|
+
user_id:,
|
|
383
|
+
email:,
|
|
384
|
+
password:,
|
|
385
|
+
password_salt:,
|
|
386
|
+
password_cpu:,
|
|
387
|
+
password_memory:,
|
|
388
|
+
password_parallel:,
|
|
389
|
+
password_length:,
|
|
390
|
+
name: nil
|
|
391
|
+
)
|
|
356
392
|
api_path = '/users/scrypt'
|
|
357
393
|
|
|
358
394
|
if user_id.nil?
|
|
359
|
-
|
|
395
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
|
360
396
|
end
|
|
361
397
|
|
|
362
398
|
if email.nil?
|
|
363
|
-
|
|
399
|
+
raise Appwrite::Exception.new('Missing required parameter: "email"')
|
|
364
400
|
end
|
|
365
401
|
|
|
366
402
|
if password.nil?
|
|
367
|
-
|
|
403
|
+
raise Appwrite::Exception.new('Missing required parameter: "password"')
|
|
368
404
|
end
|
|
369
405
|
|
|
370
406
|
if password_salt.nil?
|
|
371
|
-
|
|
407
|
+
raise Appwrite::Exception.new('Missing required parameter: "passwordSalt"')
|
|
372
408
|
end
|
|
373
409
|
|
|
374
410
|
if password_cpu.nil?
|
|
375
|
-
|
|
411
|
+
raise Appwrite::Exception.new('Missing required parameter: "passwordCpu"')
|
|
376
412
|
end
|
|
377
413
|
|
|
378
414
|
if password_memory.nil?
|
|
379
|
-
|
|
415
|
+
raise Appwrite::Exception.new('Missing required parameter: "passwordMemory"')
|
|
380
416
|
end
|
|
381
417
|
|
|
382
418
|
if password_parallel.nil?
|
|
383
|
-
|
|
419
|
+
raise Appwrite::Exception.new('Missing required parameter: "passwordParallel"')
|
|
384
420
|
end
|
|
385
421
|
|
|
386
422
|
if password_length.nil?
|
|
387
|
-
|
|
423
|
+
raise Appwrite::Exception.new('Missing required parameter: "passwordLength"')
|
|
388
424
|
end
|
|
389
425
|
|
|
390
426
|
api_params = {
|
|
@@ -398,7 +434,7 @@ module Appwrite
|
|
|
398
434
|
passwordLength: password_length,
|
|
399
435
|
name: name,
|
|
400
436
|
}
|
|
401
|
-
|
|
437
|
+
|
|
402
438
|
api_headers = {
|
|
403
439
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
404
440
|
"content-type": 'application/json',
|
|
@@ -412,7 +448,6 @@ module Appwrite
|
|
|
412
448
|
params: api_params,
|
|
413
449
|
response_type: Models::User
|
|
414
450
|
)
|
|
415
|
-
|
|
416
451
|
end
|
|
417
452
|
|
|
418
453
|
# Create a new user. Password provided must be hashed with the [Scrypt
|
|
@@ -421,7 +456,7 @@ module Appwrite
|
|
|
421
456
|
# /users](https://appwrite.io/docs/server/users#usersCreate) endpoint to
|
|
422
457
|
# create users with a plain text password.
|
|
423
458
|
#
|
|
424
|
-
# @param [String] user_id User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can
|
|
459
|
+
# @param [String] user_id User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.
|
|
425
460
|
# @param [String] email User email.
|
|
426
461
|
# @param [String] password User password hashed using Scrypt Modified.
|
|
427
462
|
# @param [String] password_salt Salt used to hash password.
|
|
@@ -430,31 +465,39 @@ module Appwrite
|
|
|
430
465
|
# @param [String] name User name. Max length: 128 chars.
|
|
431
466
|
#
|
|
432
467
|
# @return [User]
|
|
433
|
-
def create_scrypt_modified_user(
|
|
468
|
+
def create_scrypt_modified_user(
|
|
469
|
+
user_id:,
|
|
470
|
+
email:,
|
|
471
|
+
password:,
|
|
472
|
+
password_salt:,
|
|
473
|
+
password_salt_separator:,
|
|
474
|
+
password_signer_key:,
|
|
475
|
+
name: nil
|
|
476
|
+
)
|
|
434
477
|
api_path = '/users/scrypt-modified'
|
|
435
478
|
|
|
436
479
|
if user_id.nil?
|
|
437
|
-
|
|
480
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
|
438
481
|
end
|
|
439
482
|
|
|
440
483
|
if email.nil?
|
|
441
|
-
|
|
484
|
+
raise Appwrite::Exception.new('Missing required parameter: "email"')
|
|
442
485
|
end
|
|
443
486
|
|
|
444
487
|
if password.nil?
|
|
445
|
-
|
|
488
|
+
raise Appwrite::Exception.new('Missing required parameter: "password"')
|
|
446
489
|
end
|
|
447
490
|
|
|
448
491
|
if password_salt.nil?
|
|
449
|
-
|
|
492
|
+
raise Appwrite::Exception.new('Missing required parameter: "passwordSalt"')
|
|
450
493
|
end
|
|
451
494
|
|
|
452
495
|
if password_salt_separator.nil?
|
|
453
|
-
|
|
496
|
+
raise Appwrite::Exception.new('Missing required parameter: "passwordSaltSeparator"')
|
|
454
497
|
end
|
|
455
498
|
|
|
456
499
|
if password_signer_key.nil?
|
|
457
|
-
|
|
500
|
+
raise Appwrite::Exception.new('Missing required parameter: "passwordSignerKey"')
|
|
458
501
|
end
|
|
459
502
|
|
|
460
503
|
api_params = {
|
|
@@ -466,7 +509,7 @@ module Appwrite
|
|
|
466
509
|
passwordSignerKey: password_signer_key,
|
|
467
510
|
name: name,
|
|
468
511
|
}
|
|
469
|
-
|
|
512
|
+
|
|
470
513
|
api_headers = {
|
|
471
514
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
472
515
|
"content-type": 'application/json',
|
|
@@ -480,7 +523,6 @@ module Appwrite
|
|
|
480
523
|
params: api_params,
|
|
481
524
|
response_type: Models::User
|
|
482
525
|
)
|
|
483
|
-
|
|
484
526
|
end
|
|
485
527
|
|
|
486
528
|
# Create a new user. Password provided must be hashed with the
|
|
@@ -488,26 +530,32 @@ module Appwrite
|
|
|
488
530
|
# the [POST /users](https://appwrite.io/docs/server/users#usersCreate)
|
|
489
531
|
# endpoint to create users with a plain text password.
|
|
490
532
|
#
|
|
491
|
-
# @param [String] user_id User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can
|
|
533
|
+
# @param [String] user_id User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.
|
|
492
534
|
# @param [String] email User email.
|
|
493
535
|
# @param [String] password User password hashed using SHA.
|
|
494
|
-
# @param [PasswordHash] password_version Optional SHA version used to hash password. Allowed values are:
|
|
536
|
+
# @param [PasswordHash] password_version Optional SHA version used to hash password. Allowed values are: 'sha1', 'sha224', 'sha256', 'sha384', 'sha512/224', 'sha512/256', 'sha512', 'sha3-224', 'sha3-256', 'sha3-384', 'sha3-512'
|
|
495
537
|
# @param [String] name User name. Max length: 128 chars.
|
|
496
538
|
#
|
|
497
539
|
# @return [User]
|
|
498
|
-
def create_sha_user(
|
|
540
|
+
def create_sha_user(
|
|
541
|
+
user_id:,
|
|
542
|
+
email:,
|
|
543
|
+
password:,
|
|
544
|
+
password_version: nil,
|
|
545
|
+
name: nil
|
|
546
|
+
)
|
|
499
547
|
api_path = '/users/sha'
|
|
500
548
|
|
|
501
549
|
if user_id.nil?
|
|
502
|
-
|
|
550
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
|
503
551
|
end
|
|
504
552
|
|
|
505
553
|
if email.nil?
|
|
506
|
-
|
|
554
|
+
raise Appwrite::Exception.new('Missing required parameter: "email"')
|
|
507
555
|
end
|
|
508
556
|
|
|
509
557
|
if password.nil?
|
|
510
|
-
|
|
558
|
+
raise Appwrite::Exception.new('Missing required parameter: "password"')
|
|
511
559
|
end
|
|
512
560
|
|
|
513
561
|
api_params = {
|
|
@@ -517,7 +565,7 @@ module Appwrite
|
|
|
517
565
|
passwordVersion: password_version,
|
|
518
566
|
name: name,
|
|
519
567
|
}
|
|
520
|
-
|
|
568
|
+
|
|
521
569
|
api_headers = {
|
|
522
570
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
523
571
|
"content-type": 'application/json',
|
|
@@ -531,7 +579,6 @@ module Appwrite
|
|
|
531
579
|
params: api_params,
|
|
532
580
|
response_type: Models::User
|
|
533
581
|
)
|
|
534
|
-
|
|
535
582
|
end
|
|
536
583
|
|
|
537
584
|
# Get a user by its unique ID.
|
|
@@ -539,17 +586,18 @@ module Appwrite
|
|
|
539
586
|
# @param [String] user_id User ID.
|
|
540
587
|
#
|
|
541
588
|
# @return [User]
|
|
542
|
-
def get(
|
|
589
|
+
def get(
|
|
590
|
+
user_id:
|
|
591
|
+
)
|
|
543
592
|
api_path = '/users/{userId}'
|
|
544
593
|
.gsub('{userId}', user_id)
|
|
545
594
|
|
|
546
595
|
if user_id.nil?
|
|
547
|
-
|
|
596
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
|
548
597
|
end
|
|
549
598
|
|
|
550
|
-
api_params = {
|
|
551
|
-
|
|
552
|
-
|
|
599
|
+
api_params = {}
|
|
600
|
+
|
|
553
601
|
api_headers = {
|
|
554
602
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
555
603
|
"accept": 'application/json',
|
|
@@ -562,10 +610,9 @@ module Appwrite
|
|
|
562
610
|
params: api_params,
|
|
563
611
|
response_type: Models::User
|
|
564
612
|
)
|
|
565
|
-
|
|
566
613
|
end
|
|
567
614
|
|
|
568
|
-
# Delete a user by its unique ID, thereby releasing it
|
|
615
|
+
# Delete a user by its unique ID, thereby releasing it's ID. Since ID is
|
|
569
616
|
# released and can be reused, all user-related resources like documents or
|
|
570
617
|
# storage files should be deleted before user deletion. If you want to keep
|
|
571
618
|
# ID reserved, use the
|
|
@@ -575,17 +622,18 @@ module Appwrite
|
|
|
575
622
|
# @param [String] user_id User ID.
|
|
576
623
|
#
|
|
577
624
|
# @return []
|
|
578
|
-
def delete(
|
|
625
|
+
def delete(
|
|
626
|
+
user_id:
|
|
627
|
+
)
|
|
579
628
|
api_path = '/users/{userId}'
|
|
580
629
|
.gsub('{userId}', user_id)
|
|
581
630
|
|
|
582
631
|
if user_id.nil?
|
|
583
|
-
|
|
632
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
|
584
633
|
end
|
|
585
634
|
|
|
586
|
-
api_params = {
|
|
587
|
-
|
|
588
|
-
|
|
635
|
+
api_params = {}
|
|
636
|
+
|
|
589
637
|
api_headers = {
|
|
590
638
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
591
639
|
"content-type": 'application/json',
|
|
@@ -597,7 +645,6 @@ module Appwrite
|
|
|
597
645
|
headers: api_headers,
|
|
598
646
|
params: api_params,
|
|
599
647
|
)
|
|
600
|
-
|
|
601
648
|
end
|
|
602
649
|
|
|
603
650
|
# Update the user email by its unique ID.
|
|
@@ -606,22 +653,25 @@ module Appwrite
|
|
|
606
653
|
# @param [String] email User email.
|
|
607
654
|
#
|
|
608
655
|
# @return [User]
|
|
609
|
-
def update_email(
|
|
656
|
+
def update_email(
|
|
657
|
+
user_id:,
|
|
658
|
+
email:
|
|
659
|
+
)
|
|
610
660
|
api_path = '/users/{userId}/email'
|
|
611
661
|
.gsub('{userId}', user_id)
|
|
612
662
|
|
|
613
663
|
if user_id.nil?
|
|
614
|
-
|
|
664
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
|
615
665
|
end
|
|
616
666
|
|
|
617
667
|
if email.nil?
|
|
618
|
-
|
|
668
|
+
raise Appwrite::Exception.new('Missing required parameter: "email"')
|
|
619
669
|
end
|
|
620
670
|
|
|
621
671
|
api_params = {
|
|
622
672
|
email: email,
|
|
623
673
|
}
|
|
624
|
-
|
|
674
|
+
|
|
625
675
|
api_headers = {
|
|
626
676
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
627
677
|
"content-type": 'application/json',
|
|
@@ -635,7 +685,6 @@ module Appwrite
|
|
|
635
685
|
params: api_params,
|
|
636
686
|
response_type: Models::User
|
|
637
687
|
)
|
|
638
|
-
|
|
639
688
|
end
|
|
640
689
|
|
|
641
690
|
# Enable or disable whether a user can impersonate other users. When
|
|
@@ -643,28 +692,31 @@ module Appwrite
|
|
|
643
692
|
# behavior, while internal audit logs still attribute the action to the
|
|
644
693
|
# original impersonator and store the impersonated target details only in
|
|
645
694
|
# internal audit payload data.
|
|
646
|
-
#
|
|
695
|
+
#
|
|
647
696
|
#
|
|
648
697
|
# @param [String] user_id User ID.
|
|
649
698
|
# @param [] impersonator Whether the user can impersonate other users. When true, the user can browse project users to choose a target and can pass impersonation headers to act as that user. Internal audit logs still attribute impersonated actions to the original impersonator and store the target user details only in internal audit payload data.
|
|
650
699
|
#
|
|
651
700
|
# @return [User]
|
|
652
|
-
def update_impersonator(
|
|
701
|
+
def update_impersonator(
|
|
702
|
+
user_id:,
|
|
703
|
+
impersonator:
|
|
704
|
+
)
|
|
653
705
|
api_path = '/users/{userId}/impersonator'
|
|
654
706
|
.gsub('{userId}', user_id)
|
|
655
707
|
|
|
656
708
|
if user_id.nil?
|
|
657
|
-
|
|
709
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
|
658
710
|
end
|
|
659
711
|
|
|
660
712
|
if impersonator.nil?
|
|
661
|
-
|
|
713
|
+
raise Appwrite::Exception.new('Missing required parameter: "impersonator"')
|
|
662
714
|
end
|
|
663
715
|
|
|
664
716
|
api_params = {
|
|
665
717
|
impersonator: impersonator,
|
|
666
718
|
}
|
|
667
|
-
|
|
719
|
+
|
|
668
720
|
api_headers = {
|
|
669
721
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
670
722
|
"content-type": 'application/json',
|
|
@@ -678,7 +730,6 @@ module Appwrite
|
|
|
678
730
|
params: api_params,
|
|
679
731
|
response_type: Models::User
|
|
680
732
|
)
|
|
681
|
-
|
|
682
733
|
end
|
|
683
734
|
|
|
684
735
|
# Use this endpoint to create a JSON Web Token for user by its unique ID. You
|
|
@@ -686,23 +737,27 @@ module Appwrite
|
|
|
686
737
|
# secret will become invalid if the session it uses gets deleted.
|
|
687
738
|
#
|
|
688
739
|
# @param [String] user_id User ID.
|
|
689
|
-
# @param [String] session_id Session ID. Use the string
|
|
740
|
+
# @param [String] session_id Session ID. Use the string 'recent()' to use the most recent session, which is also the default.
|
|
690
741
|
# @param [Integer] duration Time in seconds before JWT expires. Default duration is 900 seconds, and maximum is 3600 seconds.
|
|
691
742
|
#
|
|
692
743
|
# @return [Jwt]
|
|
693
|
-
def create_jwt(
|
|
744
|
+
def create_jwt(
|
|
745
|
+
user_id:,
|
|
746
|
+
session_id: nil,
|
|
747
|
+
duration: nil
|
|
748
|
+
)
|
|
694
749
|
api_path = '/users/{userId}/jwts'
|
|
695
750
|
.gsub('{userId}', user_id)
|
|
696
751
|
|
|
697
752
|
if user_id.nil?
|
|
698
|
-
|
|
753
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
|
699
754
|
end
|
|
700
755
|
|
|
701
756
|
api_params = {
|
|
702
757
|
sessionId: session_id,
|
|
703
758
|
duration: duration,
|
|
704
759
|
}
|
|
705
|
-
|
|
760
|
+
|
|
706
761
|
api_headers = {
|
|
707
762
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
708
763
|
"content-type": 'application/json',
|
|
@@ -716,13 +771,12 @@ module Appwrite
|
|
|
716
771
|
params: api_params,
|
|
717
772
|
response_type: Models::Jwt
|
|
718
773
|
)
|
|
719
|
-
|
|
720
774
|
end
|
|
721
775
|
|
|
722
|
-
# Update the user labels by its unique ID.
|
|
723
|
-
#
|
|
776
|
+
# Update the user labels by its unique ID.
|
|
777
|
+
#
|
|
724
778
|
# Labels can be used to grant access to resources. While teams are a way for
|
|
725
|
-
# user
|
|
779
|
+
# user's to share access to a resource, labels can be defined by the
|
|
726
780
|
# developer to grant access without an invitation. See the [Permissions
|
|
727
781
|
# docs](https://appwrite.io/docs/permissions) for more info.
|
|
728
782
|
#
|
|
@@ -730,22 +784,25 @@ module Appwrite
|
|
|
730
784
|
# @param [Array] labels Array of user labels. Replaces the previous labels. Maximum of 1000 labels are allowed, each up to 36 alphanumeric characters long.
|
|
731
785
|
#
|
|
732
786
|
# @return [User]
|
|
733
|
-
def update_labels(
|
|
787
|
+
def update_labels(
|
|
788
|
+
user_id:,
|
|
789
|
+
labels:
|
|
790
|
+
)
|
|
734
791
|
api_path = '/users/{userId}/labels'
|
|
735
792
|
.gsub('{userId}', user_id)
|
|
736
793
|
|
|
737
794
|
if user_id.nil?
|
|
738
|
-
|
|
795
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
|
739
796
|
end
|
|
740
797
|
|
|
741
798
|
if labels.nil?
|
|
742
|
-
|
|
799
|
+
raise Appwrite::Exception.new('Missing required parameter: "labels"')
|
|
743
800
|
end
|
|
744
801
|
|
|
745
802
|
api_params = {
|
|
746
803
|
labels: labels,
|
|
747
804
|
}
|
|
748
|
-
|
|
805
|
+
|
|
749
806
|
api_headers = {
|
|
750
807
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
751
808
|
"content-type": 'application/json',
|
|
@@ -759,7 +816,6 @@ module Appwrite
|
|
|
759
816
|
params: api_params,
|
|
760
817
|
response_type: Models::User
|
|
761
818
|
)
|
|
762
|
-
|
|
763
819
|
end
|
|
764
820
|
|
|
765
821
|
# Get the user activity logs list by its unique ID.
|
|
@@ -769,19 +825,23 @@ module Appwrite
|
|
|
769
825
|
# @param [] total When set to false, the total count returned will be 0 and will not be calculated.
|
|
770
826
|
#
|
|
771
827
|
# @return [LogList]
|
|
772
|
-
def list_logs(
|
|
828
|
+
def list_logs(
|
|
829
|
+
user_id:,
|
|
830
|
+
queries: nil,
|
|
831
|
+
total: nil
|
|
832
|
+
)
|
|
773
833
|
api_path = '/users/{userId}/logs'
|
|
774
834
|
.gsub('{userId}', user_id)
|
|
775
835
|
|
|
776
836
|
if user_id.nil?
|
|
777
|
-
|
|
837
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
|
778
838
|
end
|
|
779
839
|
|
|
780
840
|
api_params = {
|
|
781
841
|
queries: queries,
|
|
782
842
|
total: total,
|
|
783
843
|
}
|
|
784
|
-
|
|
844
|
+
|
|
785
845
|
api_headers = {
|
|
786
846
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
787
847
|
"accept": 'application/json',
|
|
@@ -794,7 +854,6 @@ module Appwrite
|
|
|
794
854
|
params: api_params,
|
|
795
855
|
response_type: Models::LogList
|
|
796
856
|
)
|
|
797
|
-
|
|
798
857
|
end
|
|
799
858
|
|
|
800
859
|
# Get the user membership list by its unique ID.
|
|
@@ -805,12 +864,17 @@ module Appwrite
|
|
|
805
864
|
# @param [] total When set to false, the total count returned will be 0 and will not be calculated.
|
|
806
865
|
#
|
|
807
866
|
# @return [MembershipList]
|
|
808
|
-
def list_memberships(
|
|
867
|
+
def list_memberships(
|
|
868
|
+
user_id:,
|
|
869
|
+
queries: nil,
|
|
870
|
+
search: nil,
|
|
871
|
+
total: nil
|
|
872
|
+
)
|
|
809
873
|
api_path = '/users/{userId}/memberships'
|
|
810
874
|
.gsub('{userId}', user_id)
|
|
811
875
|
|
|
812
876
|
if user_id.nil?
|
|
813
|
-
|
|
877
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
|
814
878
|
end
|
|
815
879
|
|
|
816
880
|
api_params = {
|
|
@@ -818,7 +882,7 @@ module Appwrite
|
|
|
818
882
|
search: search,
|
|
819
883
|
total: total,
|
|
820
884
|
}
|
|
821
|
-
|
|
885
|
+
|
|
822
886
|
api_headers = {
|
|
823
887
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
824
888
|
"accept": 'application/json',
|
|
@@ -831,7 +895,6 @@ module Appwrite
|
|
|
831
895
|
params: api_params,
|
|
832
896
|
response_type: Models::MembershipList
|
|
833
897
|
)
|
|
834
|
-
|
|
835
898
|
end
|
|
836
899
|
|
|
837
900
|
# Enable or disable MFA on a user account.
|
|
@@ -840,22 +903,25 @@ module Appwrite
|
|
|
840
903
|
# @param [] mfa Enable or disable MFA.
|
|
841
904
|
#
|
|
842
905
|
# @return [User]
|
|
843
|
-
def update_mfa(
|
|
906
|
+
def update_mfa(
|
|
907
|
+
user_id:,
|
|
908
|
+
mfa:
|
|
909
|
+
)
|
|
844
910
|
api_path = '/users/{userId}/mfa'
|
|
845
911
|
.gsub('{userId}', user_id)
|
|
846
912
|
|
|
847
913
|
if user_id.nil?
|
|
848
|
-
|
|
914
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
|
849
915
|
end
|
|
850
916
|
|
|
851
917
|
if mfa.nil?
|
|
852
|
-
|
|
918
|
+
raise Appwrite::Exception.new('Missing required parameter: "mfa"')
|
|
853
919
|
end
|
|
854
920
|
|
|
855
921
|
api_params = {
|
|
856
922
|
mfa: mfa,
|
|
857
923
|
}
|
|
858
|
-
|
|
924
|
+
|
|
859
925
|
api_headers = {
|
|
860
926
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
861
927
|
"content-type": 'application/json',
|
|
@@ -869,7 +935,6 @@ module Appwrite
|
|
|
869
935
|
params: api_params,
|
|
870
936
|
response_type: Models::User
|
|
871
937
|
)
|
|
872
|
-
|
|
873
938
|
end
|
|
874
939
|
|
|
875
940
|
# Delete an authenticator app.
|
|
@@ -878,22 +943,24 @@ module Appwrite
|
|
|
878
943
|
# @param [AuthenticatorType] type Type of authenticator.
|
|
879
944
|
#
|
|
880
945
|
# @return []
|
|
881
|
-
def delete_mfa_authenticator(
|
|
946
|
+
def delete_mfa_authenticator(
|
|
947
|
+
user_id:,
|
|
948
|
+
type:
|
|
949
|
+
)
|
|
882
950
|
api_path = '/users/{userId}/mfa/authenticators/{type}'
|
|
883
951
|
.gsub('{userId}', user_id)
|
|
884
952
|
.gsub('{type}', type)
|
|
885
953
|
|
|
886
954
|
if user_id.nil?
|
|
887
|
-
|
|
955
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
|
888
956
|
end
|
|
889
957
|
|
|
890
958
|
if type.nil?
|
|
891
|
-
|
|
959
|
+
raise Appwrite::Exception.new('Missing required parameter: "type"')
|
|
892
960
|
end
|
|
893
961
|
|
|
894
|
-
api_params = {
|
|
895
|
-
|
|
896
|
-
|
|
962
|
+
api_params = {}
|
|
963
|
+
|
|
897
964
|
api_headers = {
|
|
898
965
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
899
966
|
"content-type": 'application/json',
|
|
@@ -905,7 +972,45 @@ module Appwrite
|
|
|
905
972
|
headers: api_headers,
|
|
906
973
|
params: api_params,
|
|
907
974
|
)
|
|
975
|
+
end
|
|
908
976
|
|
|
977
|
+
# Get a custom MFA challenge for a user, including the code to be delivered
|
|
978
|
+
# through your own channel.
|
|
979
|
+
#
|
|
980
|
+
# @param [String] user_id User ID.
|
|
981
|
+
# @param [String] challenge_id ID of the challenge.
|
|
982
|
+
#
|
|
983
|
+
# @return [MfaChallengeSecret]
|
|
984
|
+
def get_mfa_challenge(
|
|
985
|
+
user_id:,
|
|
986
|
+
challenge_id:
|
|
987
|
+
)
|
|
988
|
+
api_path = '/users/{userId}/mfa/challenges/{challengeId}'
|
|
989
|
+
.gsub('{userId}', user_id)
|
|
990
|
+
.gsub('{challengeId}', challenge_id)
|
|
991
|
+
|
|
992
|
+
if user_id.nil?
|
|
993
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
|
994
|
+
end
|
|
995
|
+
|
|
996
|
+
if challenge_id.nil?
|
|
997
|
+
raise Appwrite::Exception.new('Missing required parameter: "challengeId"')
|
|
998
|
+
end
|
|
999
|
+
|
|
1000
|
+
api_params = {}
|
|
1001
|
+
|
|
1002
|
+
api_headers = {
|
|
1003
|
+
"X-Appwrite-Project": @client.get_config('project'),
|
|
1004
|
+
"accept": 'application/json',
|
|
1005
|
+
}
|
|
1006
|
+
|
|
1007
|
+
@client.call(
|
|
1008
|
+
method: 'GET',
|
|
1009
|
+
path: api_path,
|
|
1010
|
+
headers: api_headers,
|
|
1011
|
+
params: api_params,
|
|
1012
|
+
response_type: Models::MfaChallengeSecret
|
|
1013
|
+
)
|
|
909
1014
|
end
|
|
910
1015
|
|
|
911
1016
|
# List the factors available on the account to be used as a MFA challange.
|
|
@@ -913,17 +1018,18 @@ module Appwrite
|
|
|
913
1018
|
# @param [String] user_id User ID.
|
|
914
1019
|
#
|
|
915
1020
|
# @return [MfaFactors]
|
|
916
|
-
def list_mfa_factors(
|
|
1021
|
+
def list_mfa_factors(
|
|
1022
|
+
user_id:
|
|
1023
|
+
)
|
|
917
1024
|
api_path = '/users/{userId}/mfa/factors'
|
|
918
1025
|
.gsub('{userId}', user_id)
|
|
919
1026
|
|
|
920
1027
|
if user_id.nil?
|
|
921
|
-
|
|
1028
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
|
922
1029
|
end
|
|
923
1030
|
|
|
924
|
-
api_params = {
|
|
925
|
-
|
|
926
|
-
|
|
1031
|
+
api_params = {}
|
|
1032
|
+
|
|
927
1033
|
api_headers = {
|
|
928
1034
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
929
1035
|
"accept": 'application/json',
|
|
@@ -936,7 +1042,6 @@ module Appwrite
|
|
|
936
1042
|
params: api_params,
|
|
937
1043
|
response_type: Models::MfaFactors
|
|
938
1044
|
)
|
|
939
|
-
|
|
940
1045
|
end
|
|
941
1046
|
|
|
942
1047
|
# Get recovery codes that can be used as backup for MFA flow by User ID.
|
|
@@ -947,17 +1052,18 @@ module Appwrite
|
|
|
947
1052
|
# @param [String] user_id User ID.
|
|
948
1053
|
#
|
|
949
1054
|
# @return [MfaRecoveryCodes]
|
|
950
|
-
def get_mfa_recovery_codes(
|
|
1055
|
+
def get_mfa_recovery_codes(
|
|
1056
|
+
user_id:
|
|
1057
|
+
)
|
|
951
1058
|
api_path = '/users/{userId}/mfa/recovery-codes'
|
|
952
1059
|
.gsub('{userId}', user_id)
|
|
953
1060
|
|
|
954
1061
|
if user_id.nil?
|
|
955
|
-
|
|
1062
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
|
956
1063
|
end
|
|
957
1064
|
|
|
958
|
-
api_params = {
|
|
959
|
-
|
|
960
|
-
|
|
1065
|
+
api_params = {}
|
|
1066
|
+
|
|
961
1067
|
api_headers = {
|
|
962
1068
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
963
1069
|
"accept": 'application/json',
|
|
@@ -970,7 +1076,6 @@ module Appwrite
|
|
|
970
1076
|
params: api_params,
|
|
971
1077
|
response_type: Models::MfaRecoveryCodes
|
|
972
1078
|
)
|
|
973
|
-
|
|
974
1079
|
end
|
|
975
1080
|
|
|
976
1081
|
# Regenerate recovery codes that can be used as backup for MFA flow by User
|
|
@@ -981,17 +1086,18 @@ module Appwrite
|
|
|
981
1086
|
# @param [String] user_id User ID.
|
|
982
1087
|
#
|
|
983
1088
|
# @return [MfaRecoveryCodes]
|
|
984
|
-
def update_mfa_recovery_codes(
|
|
1089
|
+
def update_mfa_recovery_codes(
|
|
1090
|
+
user_id:
|
|
1091
|
+
)
|
|
985
1092
|
api_path = '/users/{userId}/mfa/recovery-codes'
|
|
986
1093
|
.gsub('{userId}', user_id)
|
|
987
1094
|
|
|
988
1095
|
if user_id.nil?
|
|
989
|
-
|
|
1096
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
|
990
1097
|
end
|
|
991
1098
|
|
|
992
|
-
api_params = {
|
|
993
|
-
|
|
994
|
-
|
|
1099
|
+
api_params = {}
|
|
1100
|
+
|
|
995
1101
|
api_headers = {
|
|
996
1102
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
997
1103
|
"content-type": 'application/json',
|
|
@@ -1005,7 +1111,6 @@ module Appwrite
|
|
|
1005
1111
|
params: api_params,
|
|
1006
1112
|
response_type: Models::MfaRecoveryCodes
|
|
1007
1113
|
)
|
|
1008
|
-
|
|
1009
1114
|
end
|
|
1010
1115
|
|
|
1011
1116
|
# Generate recovery codes used as backup for MFA flow for User ID. Recovery
|
|
@@ -1016,17 +1121,18 @@ module Appwrite
|
|
|
1016
1121
|
# @param [String] user_id User ID.
|
|
1017
1122
|
#
|
|
1018
1123
|
# @return [MfaRecoveryCodes]
|
|
1019
|
-
def create_mfa_recovery_codes(
|
|
1124
|
+
def create_mfa_recovery_codes(
|
|
1125
|
+
user_id:
|
|
1126
|
+
)
|
|
1020
1127
|
api_path = '/users/{userId}/mfa/recovery-codes'
|
|
1021
1128
|
.gsub('{userId}', user_id)
|
|
1022
1129
|
|
|
1023
1130
|
if user_id.nil?
|
|
1024
|
-
|
|
1131
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
|
1025
1132
|
end
|
|
1026
1133
|
|
|
1027
|
-
api_params = {
|
|
1028
|
-
|
|
1029
|
-
|
|
1134
|
+
api_params = {}
|
|
1135
|
+
|
|
1030
1136
|
api_headers = {
|
|
1031
1137
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
1032
1138
|
"content-type": 'application/json',
|
|
@@ -1040,7 +1146,6 @@ module Appwrite
|
|
|
1040
1146
|
params: api_params,
|
|
1041
1147
|
response_type: Models::MfaRecoveryCodes
|
|
1042
1148
|
)
|
|
1043
|
-
|
|
1044
1149
|
end
|
|
1045
1150
|
|
|
1046
1151
|
# Update the user name by its unique ID.
|
|
@@ -1049,22 +1154,25 @@ module Appwrite
|
|
|
1049
1154
|
# @param [String] name User name. Max length: 128 chars.
|
|
1050
1155
|
#
|
|
1051
1156
|
# @return [User]
|
|
1052
|
-
def update_name(
|
|
1157
|
+
def update_name(
|
|
1158
|
+
user_id:,
|
|
1159
|
+
name:
|
|
1160
|
+
)
|
|
1053
1161
|
api_path = '/users/{userId}/name'
|
|
1054
1162
|
.gsub('{userId}', user_id)
|
|
1055
1163
|
|
|
1056
1164
|
if user_id.nil?
|
|
1057
|
-
|
|
1165
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
|
1058
1166
|
end
|
|
1059
1167
|
|
|
1060
1168
|
if name.nil?
|
|
1061
|
-
|
|
1169
|
+
raise Appwrite::Exception.new('Missing required parameter: "name"')
|
|
1062
1170
|
end
|
|
1063
1171
|
|
|
1064
1172
|
api_params = {
|
|
1065
1173
|
name: name,
|
|
1066
1174
|
}
|
|
1067
|
-
|
|
1175
|
+
|
|
1068
1176
|
api_headers = {
|
|
1069
1177
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
1070
1178
|
"content-type": 'application/json',
|
|
@@ -1078,7 +1186,6 @@ module Appwrite
|
|
|
1078
1186
|
params: api_params,
|
|
1079
1187
|
response_type: Models::User
|
|
1080
1188
|
)
|
|
1081
|
-
|
|
1082
1189
|
end
|
|
1083
1190
|
|
|
1084
1191
|
# Update the user password by its unique ID.
|
|
@@ -1087,22 +1194,25 @@ module Appwrite
|
|
|
1087
1194
|
# @param [String] password New user password. Must be at least 8 chars.
|
|
1088
1195
|
#
|
|
1089
1196
|
# @return [User]
|
|
1090
|
-
def update_password(
|
|
1197
|
+
def update_password(
|
|
1198
|
+
user_id:,
|
|
1199
|
+
password:
|
|
1200
|
+
)
|
|
1091
1201
|
api_path = '/users/{userId}/password'
|
|
1092
1202
|
.gsub('{userId}', user_id)
|
|
1093
1203
|
|
|
1094
1204
|
if user_id.nil?
|
|
1095
|
-
|
|
1205
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
|
1096
1206
|
end
|
|
1097
1207
|
|
|
1098
1208
|
if password.nil?
|
|
1099
|
-
|
|
1209
|
+
raise Appwrite::Exception.new('Missing required parameter: "password"')
|
|
1100
1210
|
end
|
|
1101
1211
|
|
|
1102
1212
|
api_params = {
|
|
1103
1213
|
password: password,
|
|
1104
1214
|
}
|
|
1105
|
-
|
|
1215
|
+
|
|
1106
1216
|
api_headers = {
|
|
1107
1217
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
1108
1218
|
"content-type": 'application/json',
|
|
@@ -1116,7 +1226,6 @@ module Appwrite
|
|
|
1116
1226
|
params: api_params,
|
|
1117
1227
|
response_type: Models::User
|
|
1118
1228
|
)
|
|
1119
|
-
|
|
1120
1229
|
end
|
|
1121
1230
|
|
|
1122
1231
|
# Update the user phone by its unique ID.
|
|
@@ -1125,22 +1234,25 @@ module Appwrite
|
|
|
1125
1234
|
# @param [String] number User phone number.
|
|
1126
1235
|
#
|
|
1127
1236
|
# @return [User]
|
|
1128
|
-
def update_phone(
|
|
1237
|
+
def update_phone(
|
|
1238
|
+
user_id:,
|
|
1239
|
+
number:
|
|
1240
|
+
)
|
|
1129
1241
|
api_path = '/users/{userId}/phone'
|
|
1130
1242
|
.gsub('{userId}', user_id)
|
|
1131
1243
|
|
|
1132
1244
|
if user_id.nil?
|
|
1133
|
-
|
|
1245
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
|
1134
1246
|
end
|
|
1135
1247
|
|
|
1136
1248
|
if number.nil?
|
|
1137
|
-
|
|
1249
|
+
raise Appwrite::Exception.new('Missing required parameter: "number"')
|
|
1138
1250
|
end
|
|
1139
1251
|
|
|
1140
1252
|
api_params = {
|
|
1141
1253
|
number: number,
|
|
1142
1254
|
}
|
|
1143
|
-
|
|
1255
|
+
|
|
1144
1256
|
api_headers = {
|
|
1145
1257
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
1146
1258
|
"content-type": 'application/json',
|
|
@@ -1154,7 +1266,6 @@ module Appwrite
|
|
|
1154
1266
|
params: api_params,
|
|
1155
1267
|
response_type: Models::User
|
|
1156
1268
|
)
|
|
1157
|
-
|
|
1158
1269
|
end
|
|
1159
1270
|
|
|
1160
1271
|
# Get the user preferences by its unique ID.
|
|
@@ -1162,17 +1273,18 @@ module Appwrite
|
|
|
1162
1273
|
# @param [String] user_id User ID.
|
|
1163
1274
|
#
|
|
1164
1275
|
# @return [Preferences]
|
|
1165
|
-
def get_prefs(
|
|
1276
|
+
def get_prefs(
|
|
1277
|
+
user_id:
|
|
1278
|
+
)
|
|
1166
1279
|
api_path = '/users/{userId}/prefs'
|
|
1167
1280
|
.gsub('{userId}', user_id)
|
|
1168
1281
|
|
|
1169
1282
|
if user_id.nil?
|
|
1170
|
-
|
|
1283
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
|
1171
1284
|
end
|
|
1172
1285
|
|
|
1173
|
-
api_params = {
|
|
1174
|
-
|
|
1175
|
-
|
|
1286
|
+
api_params = {}
|
|
1287
|
+
|
|
1176
1288
|
api_headers = {
|
|
1177
1289
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
1178
1290
|
"accept": 'application/json',
|
|
@@ -1185,7 +1297,6 @@ module Appwrite
|
|
|
1185
1297
|
params: api_params,
|
|
1186
1298
|
response_type: Models::Preferences
|
|
1187
1299
|
)
|
|
1188
|
-
|
|
1189
1300
|
end
|
|
1190
1301
|
|
|
1191
1302
|
# Update the user preferences by its unique ID. The object you pass is stored
|
|
@@ -1196,22 +1307,25 @@ module Appwrite
|
|
|
1196
1307
|
# @param [Hash] prefs Prefs key-value JSON object.
|
|
1197
1308
|
#
|
|
1198
1309
|
# @return [Preferences]
|
|
1199
|
-
def update_prefs(
|
|
1310
|
+
def update_prefs(
|
|
1311
|
+
user_id:,
|
|
1312
|
+
prefs:
|
|
1313
|
+
)
|
|
1200
1314
|
api_path = '/users/{userId}/prefs'
|
|
1201
1315
|
.gsub('{userId}', user_id)
|
|
1202
1316
|
|
|
1203
1317
|
if user_id.nil?
|
|
1204
|
-
|
|
1318
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
|
1205
1319
|
end
|
|
1206
1320
|
|
|
1207
1321
|
if prefs.nil?
|
|
1208
|
-
|
|
1322
|
+
raise Appwrite::Exception.new('Missing required parameter: "prefs"')
|
|
1209
1323
|
end
|
|
1210
1324
|
|
|
1211
1325
|
api_params = {
|
|
1212
1326
|
prefs: prefs,
|
|
1213
1327
|
}
|
|
1214
|
-
|
|
1328
|
+
|
|
1215
1329
|
api_headers = {
|
|
1216
1330
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
1217
1331
|
"content-type": 'application/json',
|
|
@@ -1225,7 +1339,6 @@ module Appwrite
|
|
|
1225
1339
|
params: api_params,
|
|
1226
1340
|
response_type: Models::Preferences
|
|
1227
1341
|
)
|
|
1228
|
-
|
|
1229
1342
|
end
|
|
1230
1343
|
|
|
1231
1344
|
# Get the user sessions list by its unique ID.
|
|
@@ -1234,18 +1347,21 @@ module Appwrite
|
|
|
1234
1347
|
# @param [] total When set to false, the total count returned will be 0 and will not be calculated.
|
|
1235
1348
|
#
|
|
1236
1349
|
# @return [SessionList]
|
|
1237
|
-
def list_sessions(
|
|
1350
|
+
def list_sessions(
|
|
1351
|
+
user_id:,
|
|
1352
|
+
total: nil
|
|
1353
|
+
)
|
|
1238
1354
|
api_path = '/users/{userId}/sessions'
|
|
1239
1355
|
.gsub('{userId}', user_id)
|
|
1240
1356
|
|
|
1241
1357
|
if user_id.nil?
|
|
1242
|
-
|
|
1358
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
|
1243
1359
|
end
|
|
1244
1360
|
|
|
1245
1361
|
api_params = {
|
|
1246
1362
|
total: total,
|
|
1247
1363
|
}
|
|
1248
|
-
|
|
1364
|
+
|
|
1249
1365
|
api_headers = {
|
|
1250
1366
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
1251
1367
|
"accept": 'application/json',
|
|
@@ -1258,30 +1374,30 @@ module Appwrite
|
|
|
1258
1374
|
params: api_params,
|
|
1259
1375
|
response_type: Models::SessionList
|
|
1260
1376
|
)
|
|
1261
|
-
|
|
1262
1377
|
end
|
|
1263
1378
|
|
|
1264
1379
|
# Creates a session for a user. Returns an immediately usable session object.
|
|
1265
|
-
#
|
|
1380
|
+
#
|
|
1266
1381
|
# If you want to generate a token for a custom authentication flow, use the
|
|
1267
1382
|
# [POST
|
|
1268
1383
|
# /users/{userId}/tokens](https://appwrite.io/docs/server/users#createToken)
|
|
1269
1384
|
# endpoint.
|
|
1270
1385
|
#
|
|
1271
|
-
# @param [String] user_id User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can
|
|
1386
|
+
# @param [String] user_id User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.
|
|
1272
1387
|
#
|
|
1273
1388
|
# @return [Session]
|
|
1274
|
-
def create_session(
|
|
1389
|
+
def create_session(
|
|
1390
|
+
user_id:
|
|
1391
|
+
)
|
|
1275
1392
|
api_path = '/users/{userId}/sessions'
|
|
1276
1393
|
.gsub('{userId}', user_id)
|
|
1277
1394
|
|
|
1278
1395
|
if user_id.nil?
|
|
1279
|
-
|
|
1396
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
|
1280
1397
|
end
|
|
1281
1398
|
|
|
1282
|
-
api_params = {
|
|
1283
|
-
|
|
1284
|
-
|
|
1399
|
+
api_params = {}
|
|
1400
|
+
|
|
1285
1401
|
api_headers = {
|
|
1286
1402
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
1287
1403
|
"content-type": 'application/json',
|
|
@@ -1295,25 +1411,25 @@ module Appwrite
|
|
|
1295
1411
|
params: api_params,
|
|
1296
1412
|
response_type: Models::Session
|
|
1297
1413
|
)
|
|
1298
|
-
|
|
1299
1414
|
end
|
|
1300
1415
|
|
|
1301
|
-
# Delete all user
|
|
1416
|
+
# Delete all user's sessions by using the user's unique ID.
|
|
1302
1417
|
#
|
|
1303
1418
|
# @param [String] user_id User ID.
|
|
1304
1419
|
#
|
|
1305
1420
|
# @return []
|
|
1306
|
-
def delete_sessions(
|
|
1421
|
+
def delete_sessions(
|
|
1422
|
+
user_id:
|
|
1423
|
+
)
|
|
1307
1424
|
api_path = '/users/{userId}/sessions'
|
|
1308
1425
|
.gsub('{userId}', user_id)
|
|
1309
1426
|
|
|
1310
1427
|
if user_id.nil?
|
|
1311
|
-
|
|
1428
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
|
1312
1429
|
end
|
|
1313
1430
|
|
|
1314
|
-
api_params = {
|
|
1315
|
-
|
|
1316
|
-
|
|
1431
|
+
api_params = {}
|
|
1432
|
+
|
|
1317
1433
|
api_headers = {
|
|
1318
1434
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
1319
1435
|
"content-type": 'application/json',
|
|
@@ -1325,7 +1441,6 @@ module Appwrite
|
|
|
1325
1441
|
headers: api_headers,
|
|
1326
1442
|
params: api_params,
|
|
1327
1443
|
)
|
|
1328
|
-
|
|
1329
1444
|
end
|
|
1330
1445
|
|
|
1331
1446
|
# Delete a user sessions by its unique ID.
|
|
@@ -1334,22 +1449,24 @@ module Appwrite
|
|
|
1334
1449
|
# @param [String] session_id Session ID.
|
|
1335
1450
|
#
|
|
1336
1451
|
# @return []
|
|
1337
|
-
def delete_session(
|
|
1452
|
+
def delete_session(
|
|
1453
|
+
user_id:,
|
|
1454
|
+
session_id:
|
|
1455
|
+
)
|
|
1338
1456
|
api_path = '/users/{userId}/sessions/{sessionId}'
|
|
1339
1457
|
.gsub('{userId}', user_id)
|
|
1340
1458
|
.gsub('{sessionId}', session_id)
|
|
1341
1459
|
|
|
1342
1460
|
if user_id.nil?
|
|
1343
|
-
|
|
1461
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
|
1344
1462
|
end
|
|
1345
1463
|
|
|
1346
1464
|
if session_id.nil?
|
|
1347
|
-
|
|
1465
|
+
raise Appwrite::Exception.new('Missing required parameter: "sessionId"')
|
|
1348
1466
|
end
|
|
1349
1467
|
|
|
1350
|
-
api_params = {
|
|
1351
|
-
|
|
1352
|
-
|
|
1468
|
+
api_params = {}
|
|
1469
|
+
|
|
1353
1470
|
api_headers = {
|
|
1354
1471
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
1355
1472
|
"content-type": 'application/json',
|
|
@@ -1361,32 +1478,34 @@ module Appwrite
|
|
|
1361
1478
|
headers: api_headers,
|
|
1362
1479
|
params: api_params,
|
|
1363
1480
|
)
|
|
1364
|
-
|
|
1365
1481
|
end
|
|
1366
1482
|
|
|
1367
1483
|
# Update the user status by its unique ID. Use this endpoint as an
|
|
1368
|
-
# alternative to deleting a user if you want to keep user
|
|
1484
|
+
# alternative to deleting a user if you want to keep user's ID reserved.
|
|
1369
1485
|
#
|
|
1370
1486
|
# @param [String] user_id User ID.
|
|
1371
1487
|
# @param [] status User Status. To activate the user pass `true` and to block the user pass `false`.
|
|
1372
1488
|
#
|
|
1373
1489
|
# @return [User]
|
|
1374
|
-
def update_status(
|
|
1490
|
+
def update_status(
|
|
1491
|
+
user_id:,
|
|
1492
|
+
status:
|
|
1493
|
+
)
|
|
1375
1494
|
api_path = '/users/{userId}/status'
|
|
1376
1495
|
.gsub('{userId}', user_id)
|
|
1377
1496
|
|
|
1378
1497
|
if user_id.nil?
|
|
1379
|
-
|
|
1498
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
|
1380
1499
|
end
|
|
1381
1500
|
|
|
1382
1501
|
if status.nil?
|
|
1383
|
-
|
|
1502
|
+
raise Appwrite::Exception.new('Missing required parameter: "status"')
|
|
1384
1503
|
end
|
|
1385
1504
|
|
|
1386
1505
|
api_params = {
|
|
1387
1506
|
status: status,
|
|
1388
1507
|
}
|
|
1389
|
-
|
|
1508
|
+
|
|
1390
1509
|
api_headers = {
|
|
1391
1510
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
1392
1511
|
"content-type": 'application/json',
|
|
@@ -1400,7 +1519,6 @@ module Appwrite
|
|
|
1400
1519
|
params: api_params,
|
|
1401
1520
|
response_type: Models::User
|
|
1402
1521
|
)
|
|
1403
|
-
|
|
1404
1522
|
end
|
|
1405
1523
|
|
|
1406
1524
|
# List the messaging targets that are associated with a user.
|
|
@@ -1410,19 +1528,23 @@ module Appwrite
|
|
|
1410
1528
|
# @param [] total When set to false, the total count returned will be 0 and will not be calculated.
|
|
1411
1529
|
#
|
|
1412
1530
|
# @return [TargetList]
|
|
1413
|
-
def list_targets(
|
|
1531
|
+
def list_targets(
|
|
1532
|
+
user_id:,
|
|
1533
|
+
queries: nil,
|
|
1534
|
+
total: nil
|
|
1535
|
+
)
|
|
1414
1536
|
api_path = '/users/{userId}/targets'
|
|
1415
1537
|
.gsub('{userId}', user_id)
|
|
1416
1538
|
|
|
1417
1539
|
if user_id.nil?
|
|
1418
|
-
|
|
1540
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
|
1419
1541
|
end
|
|
1420
1542
|
|
|
1421
1543
|
api_params = {
|
|
1422
1544
|
queries: queries,
|
|
1423
1545
|
total: total,
|
|
1424
1546
|
}
|
|
1425
|
-
|
|
1547
|
+
|
|
1426
1548
|
api_headers = {
|
|
1427
1549
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
1428
1550
|
"accept": 'application/json',
|
|
@@ -1435,37 +1557,43 @@ module Appwrite
|
|
|
1435
1557
|
params: api_params,
|
|
1436
1558
|
response_type: Models::TargetList
|
|
1437
1559
|
)
|
|
1438
|
-
|
|
1439
1560
|
end
|
|
1440
1561
|
|
|
1441
1562
|
# Create a messaging target.
|
|
1442
1563
|
#
|
|
1443
1564
|
# @param [String] user_id User ID.
|
|
1444
|
-
# @param [String] target_id Target ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can
|
|
1565
|
+
# @param [String] target_id Target ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.
|
|
1445
1566
|
# @param [MessagingProviderType] provider_type The target provider type. Can be one of the following: `email`, `sms` or `push`.
|
|
1446
1567
|
# @param [String] identifier The target identifier (token, email, phone etc.)
|
|
1447
1568
|
# @param [String] provider_id Provider ID. Message will be sent to this target from the specified provider ID. If no provider ID is set the first setup provider will be used.
|
|
1448
1569
|
# @param [String] name Target name. Max length: 128 chars. For example: My Awesome App Galaxy S23.
|
|
1449
1570
|
#
|
|
1450
1571
|
# @return [Target]
|
|
1451
|
-
def create_target(
|
|
1572
|
+
def create_target(
|
|
1573
|
+
user_id:,
|
|
1574
|
+
target_id:,
|
|
1575
|
+
provider_type:,
|
|
1576
|
+
identifier:,
|
|
1577
|
+
provider_id: nil,
|
|
1578
|
+
name: nil
|
|
1579
|
+
)
|
|
1452
1580
|
api_path = '/users/{userId}/targets'
|
|
1453
1581
|
.gsub('{userId}', user_id)
|
|
1454
1582
|
|
|
1455
1583
|
if user_id.nil?
|
|
1456
|
-
|
|
1584
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
|
1457
1585
|
end
|
|
1458
1586
|
|
|
1459
1587
|
if target_id.nil?
|
|
1460
|
-
|
|
1588
|
+
raise Appwrite::Exception.new('Missing required parameter: "targetId"')
|
|
1461
1589
|
end
|
|
1462
1590
|
|
|
1463
1591
|
if provider_type.nil?
|
|
1464
|
-
|
|
1592
|
+
raise Appwrite::Exception.new('Missing required parameter: "providerType"')
|
|
1465
1593
|
end
|
|
1466
1594
|
|
|
1467
1595
|
if identifier.nil?
|
|
1468
|
-
|
|
1596
|
+
raise Appwrite::Exception.new('Missing required parameter: "identifier"')
|
|
1469
1597
|
end
|
|
1470
1598
|
|
|
1471
1599
|
api_params = {
|
|
@@ -1475,7 +1603,7 @@ module Appwrite
|
|
|
1475
1603
|
providerId: provider_id,
|
|
1476
1604
|
name: name,
|
|
1477
1605
|
}
|
|
1478
|
-
|
|
1606
|
+
|
|
1479
1607
|
api_headers = {
|
|
1480
1608
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
1481
1609
|
"content-type": 'application/json',
|
|
@@ -1489,31 +1617,32 @@ module Appwrite
|
|
|
1489
1617
|
params: api_params,
|
|
1490
1618
|
response_type: Models::Target
|
|
1491
1619
|
)
|
|
1492
|
-
|
|
1493
1620
|
end
|
|
1494
1621
|
|
|
1495
|
-
# Get a user
|
|
1622
|
+
# Get a user's push notification target by ID.
|
|
1496
1623
|
#
|
|
1497
1624
|
# @param [String] user_id User ID.
|
|
1498
1625
|
# @param [String] target_id Target ID.
|
|
1499
1626
|
#
|
|
1500
1627
|
# @return [Target]
|
|
1501
|
-
def get_target(
|
|
1628
|
+
def get_target(
|
|
1629
|
+
user_id:,
|
|
1630
|
+
target_id:
|
|
1631
|
+
)
|
|
1502
1632
|
api_path = '/users/{userId}/targets/{targetId}'
|
|
1503
1633
|
.gsub('{userId}', user_id)
|
|
1504
1634
|
.gsub('{targetId}', target_id)
|
|
1505
1635
|
|
|
1506
1636
|
if user_id.nil?
|
|
1507
|
-
|
|
1637
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
|
1508
1638
|
end
|
|
1509
1639
|
|
|
1510
1640
|
if target_id.nil?
|
|
1511
|
-
|
|
1641
|
+
raise Appwrite::Exception.new('Missing required parameter: "targetId"')
|
|
1512
1642
|
end
|
|
1513
1643
|
|
|
1514
|
-
api_params = {
|
|
1515
|
-
|
|
1516
|
-
|
|
1644
|
+
api_params = {}
|
|
1645
|
+
|
|
1517
1646
|
api_headers = {
|
|
1518
1647
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
1519
1648
|
"accept": 'application/json',
|
|
@@ -1526,7 +1655,6 @@ module Appwrite
|
|
|
1526
1655
|
params: api_params,
|
|
1527
1656
|
response_type: Models::Target
|
|
1528
1657
|
)
|
|
1529
|
-
|
|
1530
1658
|
end
|
|
1531
1659
|
|
|
1532
1660
|
# Update a messaging target.
|
|
@@ -1538,17 +1666,23 @@ module Appwrite
|
|
|
1538
1666
|
# @param [String] name Target name. Max length: 128 chars. For example: My Awesome App Galaxy S23.
|
|
1539
1667
|
#
|
|
1540
1668
|
# @return [Target]
|
|
1541
|
-
def update_target(
|
|
1669
|
+
def update_target(
|
|
1670
|
+
user_id:,
|
|
1671
|
+
target_id:,
|
|
1672
|
+
identifier: nil,
|
|
1673
|
+
provider_id: nil,
|
|
1674
|
+
name: nil
|
|
1675
|
+
)
|
|
1542
1676
|
api_path = '/users/{userId}/targets/{targetId}'
|
|
1543
1677
|
.gsub('{userId}', user_id)
|
|
1544
1678
|
.gsub('{targetId}', target_id)
|
|
1545
1679
|
|
|
1546
1680
|
if user_id.nil?
|
|
1547
|
-
|
|
1681
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
|
1548
1682
|
end
|
|
1549
1683
|
|
|
1550
1684
|
if target_id.nil?
|
|
1551
|
-
|
|
1685
|
+
raise Appwrite::Exception.new('Missing required parameter: "targetId"')
|
|
1552
1686
|
end
|
|
1553
1687
|
|
|
1554
1688
|
api_params = {
|
|
@@ -1556,7 +1690,7 @@ module Appwrite
|
|
|
1556
1690
|
providerId: provider_id,
|
|
1557
1691
|
name: name,
|
|
1558
1692
|
}
|
|
1559
|
-
|
|
1693
|
+
|
|
1560
1694
|
api_headers = {
|
|
1561
1695
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
1562
1696
|
"content-type": 'application/json',
|
|
@@ -1570,7 +1704,6 @@ module Appwrite
|
|
|
1570
1704
|
params: api_params,
|
|
1571
1705
|
response_type: Models::Target
|
|
1572
1706
|
)
|
|
1573
|
-
|
|
1574
1707
|
end
|
|
1575
1708
|
|
|
1576
1709
|
# Delete a messaging target.
|
|
@@ -1579,22 +1712,24 @@ module Appwrite
|
|
|
1579
1712
|
# @param [String] target_id Target ID.
|
|
1580
1713
|
#
|
|
1581
1714
|
# @return []
|
|
1582
|
-
def delete_target(
|
|
1715
|
+
def delete_target(
|
|
1716
|
+
user_id:,
|
|
1717
|
+
target_id:
|
|
1718
|
+
)
|
|
1583
1719
|
api_path = '/users/{userId}/targets/{targetId}'
|
|
1584
1720
|
.gsub('{userId}', user_id)
|
|
1585
1721
|
.gsub('{targetId}', target_id)
|
|
1586
1722
|
|
|
1587
1723
|
if user_id.nil?
|
|
1588
|
-
|
|
1724
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
|
1589
1725
|
end
|
|
1590
1726
|
|
|
1591
1727
|
if target_id.nil?
|
|
1592
|
-
|
|
1728
|
+
raise Appwrite::Exception.new('Missing required parameter: "targetId"')
|
|
1593
1729
|
end
|
|
1594
1730
|
|
|
1595
|
-
api_params = {
|
|
1596
|
-
|
|
1597
|
-
|
|
1731
|
+
api_params = {}
|
|
1732
|
+
|
|
1598
1733
|
api_headers = {
|
|
1599
1734
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
1600
1735
|
"content-type": 'application/json',
|
|
@@ -1606,33 +1741,36 @@ module Appwrite
|
|
|
1606
1741
|
headers: api_headers,
|
|
1607
1742
|
params: api_params,
|
|
1608
1743
|
)
|
|
1609
|
-
|
|
1610
1744
|
end
|
|
1611
1745
|
|
|
1612
1746
|
# Returns a token with a secret key for creating a session. Use the user ID
|
|
1613
1747
|
# and secret and submit a request to the [PUT
|
|
1614
1748
|
# /account/sessions/token](https://appwrite.io/docs/references/cloud/client-web/account#createSession)
|
|
1615
1749
|
# endpoint to complete the login process.
|
|
1616
|
-
#
|
|
1750
|
+
#
|
|
1617
1751
|
#
|
|
1618
1752
|
# @param [String] user_id User ID.
|
|
1619
1753
|
# @param [Integer] length Token length in characters. The default length is 6 characters
|
|
1620
1754
|
# @param [Integer] expire Token expiration period in seconds. The default expiration is 15 minutes.
|
|
1621
1755
|
#
|
|
1622
1756
|
# @return [Token]
|
|
1623
|
-
def create_token(
|
|
1757
|
+
def create_token(
|
|
1758
|
+
user_id:,
|
|
1759
|
+
length: nil,
|
|
1760
|
+
expire: nil
|
|
1761
|
+
)
|
|
1624
1762
|
api_path = '/users/{userId}/tokens'
|
|
1625
1763
|
.gsub('{userId}', user_id)
|
|
1626
1764
|
|
|
1627
1765
|
if user_id.nil?
|
|
1628
|
-
|
|
1766
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
|
1629
1767
|
end
|
|
1630
1768
|
|
|
1631
1769
|
api_params = {
|
|
1632
1770
|
length: length,
|
|
1633
1771
|
expire: expire,
|
|
1634
1772
|
}
|
|
1635
|
-
|
|
1773
|
+
|
|
1636
1774
|
api_headers = {
|
|
1637
1775
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
1638
1776
|
"content-type": 'application/json',
|
|
@@ -1646,7 +1784,6 @@ module Appwrite
|
|
|
1646
1784
|
params: api_params,
|
|
1647
1785
|
response_type: Models::Token
|
|
1648
1786
|
)
|
|
1649
|
-
|
|
1650
1787
|
end
|
|
1651
1788
|
|
|
1652
1789
|
# Update the user email verification status by its unique ID.
|
|
@@ -1655,22 +1792,25 @@ module Appwrite
|
|
|
1655
1792
|
# @param [] email_verification User email verification status.
|
|
1656
1793
|
#
|
|
1657
1794
|
# @return [User]
|
|
1658
|
-
def update_email_verification(
|
|
1795
|
+
def update_email_verification(
|
|
1796
|
+
user_id:,
|
|
1797
|
+
email_verification:
|
|
1798
|
+
)
|
|
1659
1799
|
api_path = '/users/{userId}/verification'
|
|
1660
1800
|
.gsub('{userId}', user_id)
|
|
1661
1801
|
|
|
1662
1802
|
if user_id.nil?
|
|
1663
|
-
|
|
1803
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
|
1664
1804
|
end
|
|
1665
1805
|
|
|
1666
1806
|
if email_verification.nil?
|
|
1667
|
-
|
|
1807
|
+
raise Appwrite::Exception.new('Missing required parameter: "emailVerification"')
|
|
1668
1808
|
end
|
|
1669
1809
|
|
|
1670
1810
|
api_params = {
|
|
1671
1811
|
emailVerification: email_verification,
|
|
1672
1812
|
}
|
|
1673
|
-
|
|
1813
|
+
|
|
1674
1814
|
api_headers = {
|
|
1675
1815
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
1676
1816
|
"content-type": 'application/json',
|
|
@@ -1684,7 +1824,6 @@ module Appwrite
|
|
|
1684
1824
|
params: api_params,
|
|
1685
1825
|
response_type: Models::User
|
|
1686
1826
|
)
|
|
1687
|
-
|
|
1688
1827
|
end
|
|
1689
1828
|
|
|
1690
1829
|
# Update the user phone verification status by its unique ID.
|
|
@@ -1693,22 +1832,25 @@ module Appwrite
|
|
|
1693
1832
|
# @param [] phone_verification User phone verification status.
|
|
1694
1833
|
#
|
|
1695
1834
|
# @return [User]
|
|
1696
|
-
def update_phone_verification(
|
|
1835
|
+
def update_phone_verification(
|
|
1836
|
+
user_id:,
|
|
1837
|
+
phone_verification:
|
|
1838
|
+
)
|
|
1697
1839
|
api_path = '/users/{userId}/verification/phone'
|
|
1698
1840
|
.gsub('{userId}', user_id)
|
|
1699
1841
|
|
|
1700
1842
|
if user_id.nil?
|
|
1701
|
-
|
|
1843
|
+
raise Appwrite::Exception.new('Missing required parameter: "userId"')
|
|
1702
1844
|
end
|
|
1703
1845
|
|
|
1704
1846
|
if phone_verification.nil?
|
|
1705
|
-
|
|
1847
|
+
raise Appwrite::Exception.new('Missing required parameter: "phoneVerification"')
|
|
1706
1848
|
end
|
|
1707
1849
|
|
|
1708
1850
|
api_params = {
|
|
1709
1851
|
phoneVerification: phone_verification,
|
|
1710
1852
|
}
|
|
1711
|
-
|
|
1853
|
+
|
|
1712
1854
|
api_headers = {
|
|
1713
1855
|
"X-Appwrite-Project": @client.get_config('project'),
|
|
1714
1856
|
"content-type": 'application/json',
|
|
@@ -1722,8 +1864,6 @@ module Appwrite
|
|
|
1722
1864
|
params: api_params,
|
|
1723
1865
|
response_type: Models::User
|
|
1724
1866
|
)
|
|
1725
|
-
|
|
1726
1867
|
end
|
|
1727
|
-
|
|
1728
|
-
end
|
|
1868
|
+
end
|
|
1729
1869
|
end
|