appwrite-cli 13.0.0-rc.2 → 13.0.0-rc.3
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.
- package/.github/workflows/{npm-publish.yml → publish.yml} +1 -1
- package/CHANGELOG.md +106 -101
- package/LICENSE.md +2 -2
- package/README.md +36 -59
- package/cli.ts +152 -0
- package/dist/bundle.cjs +4613 -3653
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +145 -0
- package/dist/cli.js.map +1 -0
- package/dist/index.d.ts +10 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -142
- package/dist/index.js.map +1 -1
- package/dist/lib/client.d.ts.map +1 -1
- package/dist/lib/client.js +7 -6
- package/dist/lib/client.js.map +1 -1
- package/dist/lib/commands/config.d.ts +562 -0
- package/dist/lib/commands/config.d.ts.map +1 -0
- package/dist/lib/commands/config.js +416 -0
- package/dist/lib/commands/config.js.map +1 -0
- package/dist/lib/commands/db.d.ts +34 -0
- package/dist/lib/commands/db.d.ts.map +1 -0
- package/dist/lib/commands/db.js +247 -0
- package/dist/lib/commands/db.js.map +1 -0
- package/dist/lib/commands/errors.d.ts +68 -0
- package/dist/lib/commands/errors.d.ts.map +1 -0
- package/dist/lib/commands/errors.js +72 -0
- package/dist/lib/commands/errors.js.map +1 -0
- package/dist/lib/commands/init.d.ts.map +1 -1
- package/dist/lib/commands/init.js +15 -14
- package/dist/lib/commands/init.js.map +1 -1
- package/dist/lib/commands/pull.d.ts +104 -2
- package/dist/lib/commands/pull.d.ts.map +1 -1
- package/dist/lib/commands/pull.js +470 -281
- package/dist/lib/commands/pull.js.map +1 -1
- package/dist/lib/commands/push.d.ts +106 -0
- package/dist/lib/commands/push.d.ts.map +1 -1
- package/dist/lib/commands/push.js +1257 -1628
- package/dist/lib/commands/push.js.map +1 -1
- package/dist/lib/commands/run.js +1 -1
- package/dist/lib/commands/run.js.map +1 -1
- package/dist/lib/commands/schema.d.ts +59 -0
- package/dist/lib/commands/schema.d.ts.map +1 -0
- package/dist/lib/commands/schema.js +86 -0
- package/dist/lib/commands/schema.js.map +1 -0
- package/dist/lib/commands/services/account.d.ts.map +1 -1
- package/dist/lib/commands/services/account.js +86 -64
- package/dist/lib/commands/services/account.js.map +1 -1
- package/dist/lib/commands/services/console.d.ts.map +1 -1
- package/dist/lib/commands/services/console.js +4 -17
- package/dist/lib/commands/services/console.js.map +1 -1
- package/dist/lib/commands/services/databases.d.ts.map +1 -1
- package/dist/lib/commands/services/databases.js +160 -152
- package/dist/lib/commands/services/databases.js.map +1 -1
- package/dist/lib/commands/services/functions.d.ts.map +1 -1
- package/dist/lib/commands/services/functions.js +41 -33
- package/dist/lib/commands/services/functions.js.map +1 -1
- package/dist/lib/commands/services/graphql.d.ts.map +1 -1
- package/dist/lib/commands/services/graphql.js +3 -3
- package/dist/lib/commands/services/graphql.js.map +1 -1
- package/dist/lib/commands/services/health.d.ts.map +1 -1
- package/dist/lib/commands/services/health.js +24 -24
- package/dist/lib/commands/services/health.js.map +1 -1
- package/dist/lib/commands/services/locale.d.ts.map +1 -1
- package/dist/lib/commands/services/locale.js +9 -9
- package/dist/lib/commands/services/locale.js.map +1 -1
- package/dist/lib/commands/services/messaging.d.ts.map +1 -1
- package/dist/lib/commands/services/messaging.js +59 -59
- package/dist/lib/commands/services/messaging.js.map +1 -1
- package/dist/lib/commands/services/migrations.d.ts.map +1 -1
- package/dist/lib/commands/services/migrations.js +19 -19
- package/dist/lib/commands/services/migrations.js.map +1 -1
- package/dist/lib/commands/services/project.d.ts.map +1 -1
- package/dist/lib/commands/services/project.js +8 -8
- package/dist/lib/commands/services/project.js.map +1 -1
- package/dist/lib/commands/services/projects.d.ts.map +1 -1
- package/dist/lib/commands/services/projects.js +64 -64
- package/dist/lib/commands/services/projects.js.map +1 -1
- package/dist/lib/commands/services/proxy.d.ts.map +1 -1
- package/dist/lib/commands/services/proxy.js +11 -11
- package/dist/lib/commands/services/proxy.js.map +1 -1
- package/dist/lib/commands/services/sites.d.ts.map +1 -1
- package/dist/lib/commands/services/sites.js +41 -33
- package/dist/lib/commands/services/sites.js.map +1 -1
- package/dist/lib/commands/services/storage.d.ts.map +1 -1
- package/dist/lib/commands/services/storage.js +38 -16
- package/dist/lib/commands/services/storage.js.map +1 -1
- package/dist/lib/commands/services/tables-db.d.ts +3 -0
- package/dist/lib/commands/services/tables-db.d.ts.map +1 -0
- package/dist/lib/commands/services/{tablesdb.js → tables-db.js} +171 -163
- package/dist/lib/commands/services/tables-db.js.map +1 -0
- package/dist/lib/commands/services/teams.d.ts.map +1 -1
- package/dist/lib/commands/services/teams.js +16 -16
- package/dist/lib/commands/services/teams.js.map +1 -1
- package/dist/lib/commands/services/tokens.d.ts.map +1 -1
- package/dist/lib/commands/services/tokens.js +6 -6
- package/dist/lib/commands/services/tokens.js.map +1 -1
- package/dist/lib/commands/services/users.d.ts.map +1 -1
- package/dist/lib/commands/services/users.js +54 -54
- package/dist/lib/commands/services/users.js.map +1 -1
- package/dist/lib/commands/services/vcs.d.ts.map +1 -1
- package/dist/lib/commands/services/vcs.js +13 -13
- package/dist/lib/commands/services/vcs.js.map +1 -1
- package/dist/lib/commands/types.d.ts.map +1 -1
- package/dist/lib/commands/types.js +1 -1
- package/dist/lib/commands/types.js.map +1 -1
- package/dist/lib/commands/update.d.ts.map +1 -1
- package/dist/lib/commands/update.js +9 -8
- package/dist/lib/commands/update.js.map +1 -1
- package/dist/lib/commands/utils/attributes.d.ts +47 -0
- package/dist/lib/commands/utils/attributes.d.ts.map +1 -0
- package/dist/lib/commands/utils/attributes.js +514 -0
- package/dist/lib/commands/utils/attributes.js.map +1 -0
- package/dist/lib/commands/utils/change-approval.d.ts +25 -0
- package/dist/lib/commands/utils/change-approval.d.ts.map +1 -0
- package/dist/lib/commands/utils/change-approval.js +129 -0
- package/dist/lib/commands/utils/change-approval.js.map +1 -0
- package/dist/lib/commands/utils/database-sync.d.ts +10 -0
- package/dist/lib/commands/utils/database-sync.d.ts.map +1 -0
- package/dist/lib/commands/utils/database-sync.js +136 -0
- package/dist/lib/commands/utils/database-sync.js.map +1 -0
- package/dist/lib/commands/utils/deployment.d.ts +34 -0
- package/dist/lib/commands/utils/deployment.d.ts.map +1 -0
- package/dist/lib/commands/utils/deployment.js +109 -0
- package/dist/lib/commands/utils/deployment.js.map +1 -0
- package/dist/lib/commands/utils/error-formatter.d.ts +19 -0
- package/dist/lib/commands/utils/error-formatter.d.ts.map +1 -0
- package/dist/lib/commands/utils/error-formatter.js +333 -0
- package/dist/lib/commands/utils/error-formatter.js.map +1 -0
- package/dist/lib/commands/utils/pools.d.ts +16 -0
- package/dist/lib/commands/utils/pools.d.ts.map +1 -0
- package/dist/lib/commands/utils/pools.js +198 -0
- package/dist/lib/commands/utils/pools.js.map +1 -0
- package/dist/lib/config.d.ts +27 -26
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +8 -45
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/constants.d.ts +14 -0
- package/dist/lib/constants.d.ts.map +1 -0
- package/dist/lib/constants.js +19 -0
- package/dist/lib/constants.js.map +1 -0
- package/dist/lib/emulation/docker.d.ts +4 -4
- package/dist/lib/emulation/docker.d.ts.map +1 -1
- package/dist/lib/emulation/docker.js +80 -67
- package/dist/lib/emulation/docker.js.map +1 -1
- package/dist/lib/parser.d.ts.map +1 -1
- package/dist/lib/parser.js +11 -10
- package/dist/lib/parser.js.map +1 -1
- package/dist/lib/questions.d.ts.map +1 -1
- package/dist/lib/questions.js +20 -20
- package/dist/lib/questions.js.map +1 -1
- package/dist/lib/sdks.d.ts.map +1 -1
- package/dist/lib/sdks.js +10 -11
- package/dist/lib/sdks.js.map +1 -1
- package/dist/lib/types.d.ts +0 -214
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/utils.d.ts +3 -0
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +42 -2
- package/dist/lib/utils.js.map +1 -1
- package/dist/package.json +12 -11
- package/docs/examples/account/create-anonymous-session.md +1 -0
- package/docs/examples/account/create-email-password-session.md +3 -0
- package/docs/examples/account/create-email-token.md +3 -0
- package/docs/examples/account/create-email-verification.md +2 -0
- package/docs/examples/account/create-jwt.md +1 -0
- package/docs/examples/account/create-magic-url-token.md +3 -0
- package/docs/examples/account/create-mfa-authenticator.md +2 -0
- package/docs/examples/account/create-mfa-challenge.md +2 -0
- package/docs/examples/account/create-mfa-recovery-codes.md +1 -0
- package/docs/examples/account/create-o-auth-2-session.md +2 -0
- package/docs/examples/account/create-o-auth-2-token.md +2 -0
- package/docs/examples/account/create-phone-token.md +3 -0
- package/docs/examples/account/create-phone-verification.md +1 -0
- package/docs/examples/account/create-push-target.md +3 -0
- package/docs/examples/account/create-recovery.md +3 -0
- package/docs/examples/account/create-session.md +3 -0
- package/docs/examples/account/create-verification.md +2 -0
- package/docs/examples/account/create.md +4 -0
- package/docs/examples/account/delete-identity.md +2 -0
- package/docs/examples/account/delete-mfa-authenticator.md +2 -0
- package/docs/examples/account/delete-push-target.md +2 -0
- package/docs/examples/account/delete-session.md +2 -0
- package/docs/examples/account/delete-sessions.md +1 -0
- package/docs/examples/account/delete.md +1 -0
- package/docs/examples/account/get-mfa-recovery-codes.md +1 -0
- package/docs/examples/account/get-prefs.md +1 -0
- package/docs/examples/account/get-session.md +2 -0
- package/docs/examples/account/get.md +1 -0
- package/docs/examples/account/list-identities.md +1 -0
- package/docs/examples/account/list-logs.md +1 -0
- package/docs/examples/account/list-mfa-factors.md +1 -0
- package/docs/examples/account/list-sessions.md +1 -0
- package/docs/examples/account/update-email-verification.md +3 -0
- package/docs/examples/account/update-email.md +3 -0
- package/docs/examples/account/update-magic-url-session.md +3 -0
- package/docs/examples/account/update-mfa-authenticator.md +3 -0
- package/docs/examples/account/update-mfa-challenge.md +3 -0
- package/docs/examples/account/update-mfa-recovery-codes.md +1 -0
- package/docs/examples/account/update-mfa.md +2 -0
- package/docs/examples/account/update-name.md +2 -0
- package/docs/examples/account/update-password.md +2 -0
- package/docs/examples/account/update-phone-session.md +3 -0
- package/docs/examples/account/update-phone-verification.md +3 -0
- package/docs/examples/account/update-phone.md +3 -0
- package/docs/examples/account/update-prefs.md +2 -0
- package/docs/examples/account/update-push-target.md +3 -0
- package/docs/examples/account/update-recovery.md +4 -0
- package/docs/examples/account/update-session.md +2 -0
- package/docs/examples/account/update-status.md +1 -0
- package/docs/examples/account/update-verification.md +3 -0
- package/docs/examples/console/get-resource.md +3 -0
- package/docs/examples/console/variables.md +1 -0
- package/docs/examples/databases/create-boolean-attribute.md +5 -0
- package/docs/examples/databases/create-collection.md +4 -0
- package/docs/examples/databases/create-datetime-attribute.md +5 -0
- package/docs/examples/databases/create-document.md +5 -0
- package/docs/examples/databases/create-documents.md +4 -0
- package/docs/examples/databases/create-email-attribute.md +5 -0
- package/docs/examples/databases/create-enum-attribute.md +6 -0
- package/docs/examples/databases/create-float-attribute.md +5 -0
- package/docs/examples/databases/create-index.md +6 -0
- package/docs/examples/databases/create-integer-attribute.md +5 -0
- package/docs/examples/databases/create-ip-attribute.md +5 -0
- package/docs/examples/databases/create-line-attribute.md +5 -0
- package/docs/examples/databases/create-operations.md +2 -0
- package/docs/examples/databases/create-point-attribute.md +5 -0
- package/docs/examples/databases/create-polygon-attribute.md +5 -0
- package/docs/examples/databases/create-relationship-attribute.md +5 -0
- package/docs/examples/databases/create-string-attribute.md +6 -0
- package/docs/examples/databases/create-transaction.md +1 -0
- package/docs/examples/databases/create-url-attribute.md +5 -0
- package/docs/examples/databases/create.md +3 -0
- package/docs/examples/databases/decrement-document-attribute.md +5 -0
- package/docs/examples/databases/delete-attribute.md +4 -0
- package/docs/examples/databases/delete-collection.md +3 -0
- package/docs/examples/databases/delete-document.md +4 -0
- package/docs/examples/databases/delete-documents.md +3 -0
- package/docs/examples/databases/delete-index.md +4 -0
- package/docs/examples/databases/delete-transaction.md +2 -0
- package/docs/examples/databases/delete.md +2 -0
- package/docs/examples/databases/get-attribute.md +4 -0
- package/docs/examples/databases/get-collection-usage.md +3 -0
- package/docs/examples/databases/get-collection.md +3 -0
- package/docs/examples/databases/get-document.md +4 -0
- package/docs/examples/databases/get-index.md +4 -0
- package/docs/examples/databases/get-transaction.md +2 -0
- package/docs/examples/databases/get-usage.md +2 -0
- package/docs/examples/databases/get.md +2 -0
- package/docs/examples/databases/increment-document-attribute.md +5 -0
- package/docs/examples/databases/list-attributes.md +3 -0
- package/docs/examples/databases/list-collection-logs.md +3 -0
- package/docs/examples/databases/list-collections.md +2 -0
- package/docs/examples/databases/list-document-logs.md +4 -0
- package/docs/examples/databases/list-documents.md +3 -0
- package/docs/examples/databases/list-indexes.md +3 -0
- package/docs/examples/databases/list-logs.md +2 -0
- package/docs/examples/databases/list-transactions.md +1 -0
- package/docs/examples/databases/list-usage.md +1 -0
- package/docs/examples/databases/list.md +1 -0
- package/docs/examples/databases/update-boolean-attribute.md +6 -0
- package/docs/examples/databases/update-collection.md +4 -0
- package/docs/examples/databases/update-datetime-attribute.md +6 -0
- package/docs/examples/databases/update-document.md +4 -0
- package/docs/examples/databases/update-documents.md +3 -0
- package/docs/examples/databases/update-email-attribute.md +6 -0
- package/docs/examples/databases/update-enum-attribute.md +7 -0
- package/docs/examples/databases/update-float-attribute.md +6 -0
- package/docs/examples/databases/update-integer-attribute.md +6 -0
- package/docs/examples/databases/update-ip-attribute.md +6 -0
- package/docs/examples/databases/update-line-attribute.md +5 -0
- package/docs/examples/databases/update-point-attribute.md +5 -0
- package/docs/examples/databases/update-polygon-attribute.md +5 -0
- package/docs/examples/databases/update-relationship-attribute.md +4 -0
- package/docs/examples/databases/update-string-attribute.md +6 -0
- package/docs/examples/databases/update-transaction.md +2 -0
- package/docs/examples/databases/update-url-attribute.md +6 -0
- package/docs/examples/databases/update.md +3 -0
- package/docs/examples/databases/upsert-document.md +4 -0
- package/docs/examples/databases/upsert-documents.md +4 -0
- package/docs/examples/functions/create-deployment.md +4 -0
- package/docs/examples/functions/create-duplicate-deployment.md +3 -0
- package/docs/examples/functions/create-execution.md +2 -0
- package/docs/examples/functions/create-template-deployment.md +7 -0
- package/docs/examples/functions/create-variable.md +4 -0
- package/docs/examples/functions/create-vcs-deployment.md +4 -0
- package/docs/examples/functions/create.md +4 -0
- package/docs/examples/functions/delete-deployment.md +3 -0
- package/docs/examples/functions/delete-execution.md +3 -0
- package/docs/examples/functions/delete-variable.md +3 -0
- package/docs/examples/functions/delete.md +2 -0
- package/docs/examples/functions/get-deployment-download.md +3 -0
- package/docs/examples/functions/get-deployment.md +3 -0
- package/docs/examples/functions/get-execution.md +3 -0
- package/docs/examples/functions/get-template.md +2 -0
- package/docs/examples/functions/get-usage.md +2 -0
- package/docs/examples/functions/get-variable.md +3 -0
- package/docs/examples/functions/get.md +2 -0
- package/docs/examples/functions/list-deployments.md +2 -0
- package/docs/examples/functions/list-executions.md +2 -0
- package/docs/examples/functions/list-runtimes.md +1 -0
- package/docs/examples/functions/list-specifications.md +1 -0
- package/docs/examples/functions/list-templates.md +1 -0
- package/docs/examples/functions/list-usage.md +1 -0
- package/docs/examples/functions/list-variables.md +2 -0
- package/docs/examples/functions/list.md +1 -0
- package/docs/examples/functions/update-deployment-status.md +3 -0
- package/docs/examples/functions/update-function-deployment.md +3 -0
- package/docs/examples/functions/update-variable.md +4 -0
- package/docs/examples/functions/update.md +3 -0
- package/docs/examples/graphql/mutation.md +2 -0
- package/docs/examples/graphql/query.md +2 -0
- package/docs/examples/health/get-antivirus.md +1 -0
- package/docs/examples/health/get-cache.md +1 -0
- package/docs/examples/health/get-certificate.md +1 -0
- package/docs/examples/health/get-db.md +1 -0
- package/docs/examples/health/get-failed-jobs.md +2 -0
- package/docs/examples/health/get-pub-sub.md +1 -0
- package/docs/examples/health/get-queue-builds.md +1 -0
- package/docs/examples/health/get-queue-certificates.md +1 -0
- package/docs/examples/health/get-queue-databases.md +1 -0
- package/docs/examples/health/get-queue-deletes.md +1 -0
- package/docs/examples/health/get-queue-functions.md +1 -0
- package/docs/examples/health/get-queue-logs.md +1 -0
- package/docs/examples/health/get-queue-mails.md +1 -0
- package/docs/examples/health/get-queue-messaging.md +1 -0
- package/docs/examples/health/get-queue-migrations.md +1 -0
- package/docs/examples/health/get-queue-stats-resources.md +1 -0
- package/docs/examples/health/get-queue-usage.md +1 -0
- package/docs/examples/health/get-queue-webhooks.md +1 -0
- package/docs/examples/health/get-storage-local.md +1 -0
- package/docs/examples/health/get-storage.md +1 -0
- package/docs/examples/health/get-time.md +1 -0
- package/docs/examples/health/get.md +1 -0
- package/docs/examples/locale/get.md +1 -0
- package/docs/examples/locale/list-codes.md +1 -0
- package/docs/examples/locale/list-continents.md +1 -0
- package/docs/examples/locale/list-countries-eu.md +1 -0
- package/docs/examples/locale/list-countries-phones.md +1 -0
- package/docs/examples/locale/list-countries.md +1 -0
- package/docs/examples/locale/list-currencies.md +1 -0
- package/docs/examples/locale/list-languages.md +1 -0
- package/docs/examples/messaging/create-apns-provider.md +3 -0
- package/docs/examples/messaging/create-email.md +4 -0
- package/docs/examples/messaging/create-fcm-provider.md +3 -0
- package/docs/examples/messaging/create-mailgun-provider.md +3 -0
- package/docs/examples/messaging/create-msg-91-provider.md +3 -0
- package/docs/examples/messaging/create-push.md +2 -0
- package/docs/examples/messaging/create-resend-provider.md +3 -0
- package/docs/examples/messaging/create-sendgrid-provider.md +3 -0
- package/docs/examples/messaging/create-sms.md +3 -0
- package/docs/examples/messaging/create-smtp-provider.md +4 -0
- package/docs/examples/messaging/create-subscriber.md +4 -0
- package/docs/examples/messaging/create-telesign-provider.md +3 -0
- package/docs/examples/messaging/create-textmagic-provider.md +3 -0
- package/docs/examples/messaging/create-topic.md +3 -0
- package/docs/examples/messaging/create-twilio-provider.md +3 -0
- package/docs/examples/messaging/create-vonage-provider.md +3 -0
- package/docs/examples/messaging/delete-provider.md +2 -0
- package/docs/examples/messaging/delete-subscriber.md +3 -0
- package/docs/examples/messaging/delete-topic.md +2 -0
- package/docs/examples/messaging/delete.md +2 -0
- package/docs/examples/messaging/get-message.md +2 -0
- package/docs/examples/messaging/get-provider.md +2 -0
- package/docs/examples/messaging/get-subscriber.md +3 -0
- package/docs/examples/messaging/get-topic.md +2 -0
- package/docs/examples/messaging/list-message-logs.md +2 -0
- package/docs/examples/messaging/list-messages.md +1 -0
- package/docs/examples/messaging/list-provider-logs.md +2 -0
- package/docs/examples/messaging/list-providers.md +1 -0
- package/docs/examples/messaging/list-subscriber-logs.md +2 -0
- package/docs/examples/messaging/list-subscribers.md +2 -0
- package/docs/examples/messaging/list-targets.md +2 -0
- package/docs/examples/messaging/list-topic-logs.md +2 -0
- package/docs/examples/messaging/list-topics.md +1 -0
- package/docs/examples/messaging/update-apns-provider.md +2 -0
- package/docs/examples/messaging/update-email.md +2 -0
- package/docs/examples/messaging/update-fcm-provider.md +2 -0
- package/docs/examples/messaging/update-mailgun-provider.md +2 -0
- package/docs/examples/messaging/update-msg-91-provider.md +2 -0
- package/docs/examples/messaging/update-push.md +2 -0
- package/docs/examples/messaging/update-resend-provider.md +2 -0
- package/docs/examples/messaging/update-sendgrid-provider.md +2 -0
- package/docs/examples/messaging/update-sms.md +2 -0
- package/docs/examples/messaging/update-smtp-provider.md +2 -0
- package/docs/examples/messaging/update-telesign-provider.md +2 -0
- package/docs/examples/messaging/update-textmagic-provider.md +2 -0
- package/docs/examples/messaging/update-topic.md +2 -0
- package/docs/examples/messaging/update-twilio-provider.md +2 -0
- package/docs/examples/messaging/update-vonage-provider.md +2 -0
- package/docs/examples/migrations/create-appwrite-migration.md +5 -0
- package/docs/examples/migrations/create-csv-export.md +3 -0
- package/docs/examples/migrations/create-csv-import.md +4 -0
- package/docs/examples/migrations/create-firebase-migration.md +3 -0
- package/docs/examples/migrations/create-n-host-migration.md +8 -0
- package/docs/examples/migrations/create-supabase-migration.md +7 -0
- package/docs/examples/migrations/delete.md +2 -0
- package/docs/examples/migrations/get-appwrite-report.md +5 -0
- package/docs/examples/migrations/get-firebase-report.md +3 -0
- package/docs/examples/migrations/get-n-host-report.md +8 -0
- package/docs/examples/migrations/get-supabase-report.md +7 -0
- package/docs/examples/migrations/get.md +2 -0
- package/docs/examples/migrations/list.md +1 -0
- package/docs/examples/migrations/retry.md +2 -0
- package/docs/examples/project/create-variable.md +3 -0
- package/docs/examples/project/delete-variable.md +2 -0
- package/docs/examples/project/get-usage.md +3 -0
- package/docs/examples/project/get-variable.md +2 -0
- package/docs/examples/project/list-variables.md +1 -0
- package/docs/examples/project/update-variable.md +3 -0
- package/docs/examples/projects/create-dev-key.md +4 -0
- package/docs/examples/projects/create-jwt.md +3 -0
- package/docs/examples/projects/create-key.md +4 -0
- package/docs/examples/projects/create-platform.md +4 -0
- package/docs/examples/projects/create-smtp-test.md +6 -0
- package/docs/examples/projects/create-webhook.md +6 -0
- package/docs/examples/projects/create.md +4 -0
- package/docs/examples/projects/delete-dev-key.md +3 -0
- package/docs/examples/projects/delete-email-template.md +4 -0
- package/docs/examples/projects/delete-key.md +3 -0
- package/docs/examples/projects/delete-platform.md +3 -0
- package/docs/examples/projects/delete-sms-template.md +4 -0
- package/docs/examples/projects/delete-webhook.md +3 -0
- package/docs/examples/projects/delete.md +2 -0
- package/docs/examples/projects/get-dev-key.md +3 -0
- package/docs/examples/projects/get-email-template.md +4 -0
- package/docs/examples/projects/get-key.md +3 -0
- package/docs/examples/projects/get-platform.md +3 -0
- package/docs/examples/projects/get-sms-template.md +4 -0
- package/docs/examples/projects/get-webhook.md +3 -0
- package/docs/examples/projects/get.md +2 -0
- package/docs/examples/projects/list-dev-keys.md +2 -0
- package/docs/examples/projects/list-keys.md +2 -0
- package/docs/examples/projects/list-platforms.md +2 -0
- package/docs/examples/projects/list-webhooks.md +2 -0
- package/docs/examples/projects/list.md +1 -0
- package/docs/examples/projects/update-api-status-all.md +3 -0
- package/docs/examples/projects/update-api-status.md +4 -0
- package/docs/examples/projects/update-auth-duration.md +3 -0
- package/docs/examples/projects/update-auth-limit.md +3 -0
- package/docs/examples/projects/update-auth-password-dictionary.md +3 -0
- package/docs/examples/projects/update-auth-password-history.md +3 -0
- package/docs/examples/projects/update-auth-sessions-limit.md +3 -0
- package/docs/examples/projects/update-auth-status.md +4 -0
- package/docs/examples/projects/update-dev-key.md +5 -0
- package/docs/examples/projects/update-email-template.md +6 -0
- package/docs/examples/projects/update-key.md +5 -0
- package/docs/examples/projects/update-memberships-privacy.md +5 -0
- package/docs/examples/projects/update-mock-numbers.md +3 -0
- package/docs/examples/projects/update-o-auth-2.md +3 -0
- package/docs/examples/projects/update-personal-data-check.md +3 -0
- package/docs/examples/projects/update-platform.md +4 -0
- package/docs/examples/projects/update-service-status-all.md +3 -0
- package/docs/examples/projects/update-service-status.md +4 -0
- package/docs/examples/projects/update-session-alerts.md +3 -0
- package/docs/examples/projects/update-session-invalidation.md +3 -0
- package/docs/examples/projects/update-sms-template.md +5 -0
- package/docs/examples/projects/update-smtp.md +3 -0
- package/docs/examples/projects/update-team.md +3 -0
- package/docs/examples/projects/update-webhook-signature.md +3 -0
- package/docs/examples/projects/update-webhook.md +7 -0
- package/docs/examples/projects/update.md +3 -0
- package/docs/examples/proxy/create-api-rule.md +2 -0
- package/docs/examples/proxy/create-function-rule.md +3 -0
- package/docs/examples/proxy/create-redirect-rule.md +6 -0
- package/docs/examples/proxy/create-site-rule.md +3 -0
- package/docs/examples/proxy/delete-rule.md +2 -0
- package/docs/examples/proxy/get-rule.md +2 -0
- package/docs/examples/proxy/list-rules.md +1 -0
- package/docs/examples/proxy/update-rule-verification.md +2 -0
- package/docs/examples/sites/create-deployment.md +4 -0
- package/docs/examples/sites/create-duplicate-deployment.md +3 -0
- package/docs/examples/sites/create-template-deployment.md +7 -0
- package/docs/examples/sites/create-variable.md +4 -0
- package/docs/examples/sites/create-vcs-deployment.md +4 -0
- package/docs/examples/sites/create.md +5 -0
- package/docs/examples/sites/delete-deployment.md +3 -0
- package/docs/examples/sites/delete-log.md +3 -0
- package/docs/examples/sites/delete-variable.md +3 -0
- package/docs/examples/sites/delete.md +2 -0
- package/docs/examples/sites/get-deployment-download.md +3 -0
- package/docs/examples/sites/get-deployment.md +3 -0
- package/docs/examples/sites/get-log.md +3 -0
- package/docs/examples/sites/get-template.md +2 -0
- package/docs/examples/sites/get-usage.md +2 -0
- package/docs/examples/sites/get-variable.md +3 -0
- package/docs/examples/sites/get.md +2 -0
- package/docs/examples/sites/list-deployments.md +2 -0
- package/docs/examples/sites/list-frameworks.md +1 -0
- package/docs/examples/sites/list-logs.md +2 -0
- package/docs/examples/sites/list-specifications.md +1 -0
- package/docs/examples/sites/list-templates.md +1 -0
- package/docs/examples/sites/list-usage.md +1 -0
- package/docs/examples/sites/list-variables.md +2 -0
- package/docs/examples/sites/list.md +1 -0
- package/docs/examples/sites/update-deployment-status.md +3 -0
- package/docs/examples/sites/update-site-deployment.md +3 -0
- package/docs/examples/sites/update-variable.md +4 -0
- package/docs/examples/sites/update.md +4 -0
- package/docs/examples/storage/create-bucket.md +3 -0
- package/docs/examples/storage/create-file.md +4 -0
- package/docs/examples/storage/delete-bucket.md +2 -0
- package/docs/examples/storage/delete-file.md +3 -0
- package/docs/examples/storage/get-bucket-usage.md +2 -0
- package/docs/examples/storage/get-bucket.md +2 -0
- package/docs/examples/storage/get-file-download.md +3 -0
- package/docs/examples/storage/get-file-preview.md +3 -0
- package/docs/examples/storage/get-file-view.md +3 -0
- package/docs/examples/storage/get-file.md +3 -0
- package/docs/examples/storage/get-usage.md +1 -0
- package/docs/examples/storage/list-buckets.md +1 -0
- package/docs/examples/storage/list-files.md +2 -0
- package/docs/examples/storage/update-bucket.md +3 -0
- package/docs/examples/storage/update-file.md +3 -0
- package/docs/examples/tablesdb/create-boolean-column.md +5 -0
- package/docs/examples/tablesdb/create-datetime-column.md +5 -0
- package/docs/examples/tablesdb/create-email-column.md +5 -0
- package/docs/examples/tablesdb/create-enum-column.md +6 -0
- package/docs/examples/tablesdb/create-float-column.md +5 -0
- package/docs/examples/tablesdb/create-index.md +6 -0
- package/docs/examples/tablesdb/create-integer-column.md +5 -0
- package/docs/examples/tablesdb/create-ip-column.md +5 -0
- package/docs/examples/tablesdb/create-line-column.md +5 -0
- package/docs/examples/tablesdb/create-operations.md +2 -0
- package/docs/examples/tablesdb/create-point-column.md +5 -0
- package/docs/examples/tablesdb/create-polygon-column.md +5 -0
- package/docs/examples/tablesdb/create-relationship-column.md +5 -0
- package/docs/examples/tablesdb/create-row.md +5 -0
- package/docs/examples/tablesdb/create-rows.md +4 -0
- package/docs/examples/tablesdb/create-string-column.md +6 -0
- package/docs/examples/tablesdb/create-table.md +4 -0
- package/docs/examples/tablesdb/create-transaction.md +1 -0
- package/docs/examples/tablesdb/create-url-column.md +5 -0
- package/docs/examples/tablesdb/create.md +3 -0
- package/docs/examples/tablesdb/decrement-row-column.md +5 -0
- package/docs/examples/tablesdb/delete-column.md +4 -0
- package/docs/examples/tablesdb/delete-index.md +4 -0
- package/docs/examples/tablesdb/delete-row.md +4 -0
- package/docs/examples/tablesdb/delete-rows.md +3 -0
- package/docs/examples/tablesdb/delete-table.md +3 -0
- package/docs/examples/tablesdb/delete-transaction.md +2 -0
- package/docs/examples/tablesdb/delete.md +2 -0
- package/docs/examples/tablesdb/get-column.md +4 -0
- package/docs/examples/tablesdb/get-index.md +4 -0
- package/docs/examples/tablesdb/get-row.md +4 -0
- package/docs/examples/tablesdb/get-table-usage.md +3 -0
- package/docs/examples/tablesdb/get-table.md +3 -0
- package/docs/examples/tablesdb/get-transaction.md +2 -0
- package/docs/examples/tablesdb/get-usage.md +2 -0
- package/docs/examples/tablesdb/get.md +2 -0
- package/docs/examples/tablesdb/increment-row-column.md +5 -0
- package/docs/examples/tablesdb/list-columns.md +3 -0
- package/docs/examples/tablesdb/list-indexes.md +3 -0
- package/docs/examples/tablesdb/list-row-logs.md +4 -0
- package/docs/examples/tablesdb/list-rows.md +3 -0
- package/docs/examples/tablesdb/list-table-logs.md +3 -0
- package/docs/examples/tablesdb/list-tables.md +2 -0
- package/docs/examples/tablesdb/list-transactions.md +1 -0
- package/docs/examples/tablesdb/list-usage.md +1 -0
- package/docs/examples/tablesdb/list.md +1 -0
- package/docs/examples/tablesdb/update-boolean-column.md +6 -0
- package/docs/examples/tablesdb/update-datetime-column.md +6 -0
- package/docs/examples/tablesdb/update-email-column.md +6 -0
- package/docs/examples/tablesdb/update-enum-column.md +7 -0
- package/docs/examples/tablesdb/update-float-column.md +6 -0
- package/docs/examples/tablesdb/update-integer-column.md +6 -0
- package/docs/examples/tablesdb/update-ip-column.md +6 -0
- package/docs/examples/tablesdb/update-line-column.md +5 -0
- package/docs/examples/tablesdb/update-point-column.md +5 -0
- package/docs/examples/tablesdb/update-polygon-column.md +5 -0
- package/docs/examples/tablesdb/update-relationship-column.md +4 -0
- package/docs/examples/tablesdb/update-row.md +4 -0
- package/docs/examples/tablesdb/update-rows.md +3 -0
- package/docs/examples/tablesdb/update-string-column.md +6 -0
- package/docs/examples/tablesdb/update-table.md +4 -0
- package/docs/examples/tablesdb/update-transaction.md +2 -0
- package/docs/examples/tablesdb/update-url-column.md +6 -0
- package/docs/examples/tablesdb/update.md +3 -0
- package/docs/examples/tablesdb/upsert-row.md +4 -0
- package/docs/examples/tablesdb/upsert-rows.md +4 -0
- package/docs/examples/teams/create-membership.md +3 -0
- package/docs/examples/teams/create.md +3 -0
- package/docs/examples/teams/delete-membership.md +3 -0
- package/docs/examples/teams/delete.md +2 -0
- package/docs/examples/teams/get-membership.md +3 -0
- package/docs/examples/teams/get-prefs.md +2 -0
- package/docs/examples/teams/get.md +2 -0
- package/docs/examples/teams/list-logs.md +2 -0
- package/docs/examples/teams/list-memberships.md +2 -0
- package/docs/examples/teams/list.md +1 -0
- package/docs/examples/teams/update-membership-status.md +5 -0
- package/docs/examples/teams/update-membership.md +4 -0
- package/docs/examples/teams/update-name.md +3 -0
- package/docs/examples/teams/update-prefs.md +3 -0
- package/docs/examples/tokens/create-file-token.md +3 -0
- package/docs/examples/tokens/delete.md +2 -0
- package/docs/examples/tokens/get.md +2 -0
- package/docs/examples/tokens/list.md +3 -0
- package/docs/examples/tokens/update.md +2 -0
- package/docs/examples/users/create-argon-2-user.md +4 -0
- package/docs/examples/users/create-bcrypt-user.md +4 -0
- package/docs/examples/users/create-jwt.md +2 -0
- package/docs/examples/users/create-md-5-user.md +4 -0
- package/docs/examples/users/create-mfa-recovery-codes.md +2 -0
- package/docs/examples/users/create-ph-pass-user.md +4 -0
- package/docs/examples/users/create-scrypt-modified-user.md +7 -0
- package/docs/examples/users/create-scrypt-user.md +9 -0
- package/docs/examples/users/create-session.md +2 -0
- package/docs/examples/users/create-sha-user.md +4 -0
- package/docs/examples/users/create-target.md +5 -0
- package/docs/examples/users/create-token.md +2 -0
- package/docs/examples/users/create.md +2 -0
- package/docs/examples/users/delete-identity.md +2 -0
- package/docs/examples/users/delete-mfa-authenticator.md +3 -0
- package/docs/examples/users/delete-session.md +3 -0
- package/docs/examples/users/delete-sessions.md +2 -0
- package/docs/examples/users/delete-target.md +3 -0
- package/docs/examples/users/delete.md +2 -0
- package/docs/examples/users/get-mfa-recovery-codes.md +2 -0
- package/docs/examples/users/get-prefs.md +2 -0
- package/docs/examples/users/get-target.md +3 -0
- package/docs/examples/users/get-usage.md +1 -0
- package/docs/examples/users/get.md +2 -0
- package/docs/examples/users/list-identities.md +1 -0
- package/docs/examples/users/list-logs.md +2 -0
- package/docs/examples/users/list-memberships.md +2 -0
- package/docs/examples/users/list-mfa-factors.md +2 -0
- package/docs/examples/users/list-sessions.md +2 -0
- package/docs/examples/users/list-targets.md +2 -0
- package/docs/examples/users/list.md +1 -0
- package/docs/examples/users/update-email-verification.md +3 -0
- package/docs/examples/users/update-email.md +3 -0
- package/docs/examples/users/update-labels.md +3 -0
- package/docs/examples/users/update-mfa-recovery-codes.md +2 -0
- package/docs/examples/users/update-mfa.md +3 -0
- package/docs/examples/users/update-name.md +3 -0
- package/docs/examples/users/update-password.md +3 -0
- package/docs/examples/users/update-phone-verification.md +3 -0
- package/docs/examples/users/update-phone.md +3 -0
- package/docs/examples/users/update-prefs.md +3 -0
- package/docs/examples/users/update-status.md +3 -0
- package/docs/examples/users/update-target.md +3 -0
- package/docs/examples/vcs/create-repository-detection.md +4 -0
- package/docs/examples/vcs/create-repository.md +4 -0
- package/docs/examples/vcs/delete-installation.md +2 -0
- package/docs/examples/vcs/get-installation.md +2 -0
- package/docs/examples/vcs/get-repository-contents.md +3 -0
- package/docs/examples/vcs/get-repository.md +3 -0
- package/docs/examples/vcs/list-installations.md +1 -0
- package/docs/examples/vcs/list-repositories.md +3 -0
- package/docs/examples/vcs/list-repository-branches.md +3 -0
- package/docs/examples/vcs/update-external-deployments.md +4 -0
- package/index.ts +25 -165
- package/install.ps1 +2 -2
- package/install.sh +1 -1
- package/lib/client.ts +14 -6
- package/lib/commands/config.ts +494 -0
- package/lib/commands/db.ts +324 -0
- package/lib/commands/errors.ts +93 -0
- package/lib/commands/init.ts +25 -14
- package/lib/commands/pull.ts +683 -420
- package/lib/commands/push.ts +1677 -2404
- package/lib/commands/run.ts +1 -1
- package/lib/commands/schema.ts +122 -0
- package/lib/commands/services/account.ts +200 -385
- package/lib/commands/services/console.ts +13 -34
- package/lib/commands/services/databases.ts +298 -1215
- package/lib/commands/services/functions.ts +115 -434
- package/lib/commands/services/graphql.ts +5 -2
- package/lib/commands/services/health.ts +87 -149
- package/lib/commands/services/locale.ts +36 -33
- package/lib/commands/services/messaging.ts +180 -999
- package/lib/commands/services/migrations.ts +54 -226
- package/lib/commands/services/project.ts +19 -23
- package/lib/commands/services/projects.ts +182 -714
- package/lib/commands/services/proxy.ts +30 -58
- package/lib/commands/services/sites.ts +107 -379
- package/lib/commands/services/storage.ts +93 -302
- package/lib/commands/services/tables-db.ts +1150 -0
- package/lib/commands/services/teams.ts +48 -110
- package/lib/commands/services/tokens.ts +16 -28
- package/lib/commands/services/users.ts +133 -403
- package/lib/commands/services/vcs.ts +48 -151
- package/lib/commands/types.ts +1 -1
- package/lib/commands/update.ts +13 -22
- package/lib/commands/utils/attributes.ts +719 -0
- package/lib/commands/utils/change-approval.ts +186 -0
- package/lib/commands/utils/database-sync.ts +180 -0
- package/lib/commands/utils/deployment.ts +184 -0
- package/lib/commands/utils/error-formatter.ts +417 -0
- package/lib/commands/utils/pools.ts +355 -0
- package/lib/config.ts +46 -82
- package/lib/constants.ts +22 -0
- package/lib/emulation/docker.ts +101 -87
- package/lib/parser.ts +16 -11
- package/lib/questions.ts +20 -21
- package/lib/sdks.ts +15 -11
- package/lib/types.ts +0 -229
- package/lib/utils.ts +45 -4
- package/package.json +12 -11
- package/scoop/appwrite.config.json +29 -19
- package/.github/workflows/build-verify.yml +0 -71
- package/bun.lock +0 -625
- package/dist/lib/commands/services/avatars.d.ts +0 -3
- package/dist/lib/commands/services/avatars.d.ts.map +0 -1
- package/dist/lib/commands/services/avatars.js +0 -118
- package/dist/lib/commands/services/avatars.js.map +0 -1
- package/dist/lib/commands/services/tablesdb.d.ts +0 -3
- package/dist/lib/commands/services/tablesdb.d.ts.map +0 -1
- package/dist/lib/commands/services/tablesdb.js.map +0 -1
- package/dist/scripts/generate-commands.d.ts +0 -2
- package/dist/scripts/generate-commands.d.ts.map +0 -1
- package/dist/scripts/generate-commands.js +0 -398
- package/dist/scripts/generate-commands.js.map +0 -1
- package/lib/commands/services/avatars.ts +0 -400
- package/lib/commands/services/tablesdb.ts +0 -1928
- package/scripts/generate-commands.ts +0 -539
|
@@ -3,6 +3,8 @@ import { sdkForProject } from "../../sdks.js";
|
|
|
3
3
|
import {
|
|
4
4
|
actionRunner,
|
|
5
5
|
commandDescriptions,
|
|
6
|
+
success,
|
|
7
|
+
parse,
|
|
6
8
|
parseBool,
|
|
7
9
|
parseInteger,
|
|
8
10
|
} from "../../parser.js";
|
|
@@ -32,61 +34,53 @@ export const account = new Command("account")
|
|
|
32
34
|
account
|
|
33
35
|
.command(`get`)
|
|
34
36
|
.description(`Get the currently logged in user.`)
|
|
35
|
-
.action(
|
|
37
|
+
.action(
|
|
38
|
+
actionRunner(
|
|
39
|
+
async () => parse(await (await getAccountClient()).get()),
|
|
40
|
+
),
|
|
41
|
+
);
|
|
36
42
|
|
|
37
43
|
account
|
|
38
44
|
.command(`create`)
|
|
39
|
-
.description(
|
|
40
|
-
|
|
41
|
-
)
|
|
42
|
-
.requiredOption(
|
|
43
|
-
`--user-id <user-id>`,
|
|
44
|
-
`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
|
-
)
|
|
45
|
+
.description(`Use this endpoint to allow a new user to register a new account in your project. After the user registration completes successfully, you can use the [/account/verfication](https://appwrite.io/docs/references/cloud/client-web/account#createVerification) route to start verifying the user email address. To allow the new user to login to their new account, you need to create a new [account session](https://appwrite.io/docs/references/cloud/client-web/account#createEmailSession).`)
|
|
46
|
+
.requiredOption(`--user-id <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.`)
|
|
46
47
|
.requiredOption(`--email <email>`, `User email.`)
|
|
47
|
-
.requiredOption(
|
|
48
|
-
`--password <password>`,
|
|
49
|
-
`New user password. Must be between 8 and 256 chars.`,
|
|
50
|
-
)
|
|
48
|
+
.requiredOption(`--password <password>`, `New user password. Must be between 8 and 256 chars.`)
|
|
51
49
|
.option(`--name <name>`, `User name. Max length: 128 chars.`)
|
|
52
50
|
.action(
|
|
53
51
|
actionRunner(
|
|
54
52
|
async ({ userId, email, password, name }) =>
|
|
55
|
-
await (await getAccountClient()).create(userId, email, password, name),
|
|
53
|
+
parse(await (await getAccountClient()).create(userId, email, password, name)),
|
|
56
54
|
),
|
|
57
55
|
);
|
|
58
56
|
|
|
59
57
|
account
|
|
60
58
|
.command(`delete`)
|
|
61
59
|
.description(`Delete the currently logged in user.`)
|
|
62
|
-
.action(
|
|
60
|
+
.action(
|
|
61
|
+
actionRunner(
|
|
62
|
+
async () => parse(await (await getAccountClient()).delete()),
|
|
63
|
+
),
|
|
64
|
+
);
|
|
63
65
|
|
|
64
66
|
account
|
|
65
67
|
.command(`update-email`)
|
|
66
|
-
.description(
|
|
67
|
-
`Update currently logged in user account email address. After changing user address, the user confirmation status will get reset. A new confirmation email is not sent automatically however you can use the send confirmation email endpoint again to send the confirmation email. For security measures, user password is required to complete this request.
|
|
68
|
+
.description(`Update currently logged in user account email address. After changing user address, the user confirmation status will get reset. A new confirmation email is not sent automatically however you can use the send confirmation email endpoint again to send the confirmation email. For security measures, user password is required to complete this request.
|
|
68
69
|
This endpoint can also be used to convert an anonymous account to a normal one, by passing an email address and a new password.
|
|
69
|
-
|
|
70
|
-
)
|
|
70
|
+
`)
|
|
71
71
|
.requiredOption(`--email <email>`, `User email.`)
|
|
72
|
-
.requiredOption(
|
|
73
|
-
`--password <password>`,
|
|
74
|
-
`User password. Must be at least 8 chars.`,
|
|
75
|
-
)
|
|
72
|
+
.requiredOption(`--password <password>`, `User password. Must be at least 8 chars.`)
|
|
76
73
|
.action(
|
|
77
74
|
actionRunner(
|
|
78
75
|
async ({ email, password }) =>
|
|
79
|
-
await (await getAccountClient()).updateEmail(email, password),
|
|
76
|
+
parse(await (await getAccountClient()).updateEmail(email, password)),
|
|
80
77
|
),
|
|
81
78
|
);
|
|
82
79
|
|
|
83
80
|
account
|
|
84
81
|
.command(`list-identities`)
|
|
85
82
|
.description(`Get the list of identities for the currently logged in user.`)
|
|
86
|
-
.option(
|
|
87
|
-
`--queries [queries...]`,
|
|
88
|
-
`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: userId, provider, providerUid, providerEmail, providerAccessTokenExpiry`,
|
|
89
|
-
)
|
|
83
|
+
.option(`--queries [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: userId, provider, providerUid, providerEmail, providerAccessTokenExpiry`)
|
|
90
84
|
.option(
|
|
91
85
|
`--total [value]`,
|
|
92
86
|
`When set to false, the total count returned will be 0 and will not be calculated.`,
|
|
@@ -96,7 +90,7 @@ account
|
|
|
96
90
|
.action(
|
|
97
91
|
actionRunner(
|
|
98
92
|
async ({ queries, total }) =>
|
|
99
|
-
await (await getAccountClient()).listIdentities(queries, total),
|
|
93
|
+
parse(await (await getAccountClient()).listIdentities(queries, total)),
|
|
100
94
|
),
|
|
101
95
|
);
|
|
102
96
|
|
|
@@ -107,36 +101,25 @@ account
|
|
|
107
101
|
.action(
|
|
108
102
|
actionRunner(
|
|
109
103
|
async ({ identityId }) =>
|
|
110
|
-
await (await getAccountClient()).deleteIdentity(identityId),
|
|
104
|
+
parse(await (await getAccountClient()).deleteIdentity(identityId)),
|
|
111
105
|
),
|
|
112
106
|
);
|
|
113
107
|
|
|
114
108
|
account
|
|
115
109
|
.command(`create-jwt`)
|
|
116
|
-
.description(
|
|
117
|
-
|
|
118
|
-
)
|
|
119
|
-
.option(
|
|
120
|
-
`--duration <duration>`,
|
|
121
|
-
`Time in seconds before JWT expires. Default duration is 900 seconds, and maximum is 3600 seconds.`,
|
|
122
|
-
parseInteger,
|
|
123
|
-
)
|
|
110
|
+
.description(`Use this endpoint to create a JSON Web Token. You can use the resulting JWT to authenticate on behalf of the current user when working with the Appwrite server-side API and SDKs. The JWT secret is valid for 15 minutes from its creation and will be invalid if the user will logout in that time frame.`)
|
|
111
|
+
.option(`--duration <duration>`, `Time in seconds before JWT expires. Default duration is 900 seconds, and maximum is 3600 seconds.`, parseInteger)
|
|
124
112
|
.action(
|
|
125
113
|
actionRunner(
|
|
126
114
|
async ({ duration }) =>
|
|
127
|
-
await (await getAccountClient()).createJWT(duration),
|
|
115
|
+
parse(await (await getAccountClient()).createJWT(duration)),
|
|
128
116
|
),
|
|
129
117
|
);
|
|
130
118
|
|
|
131
119
|
account
|
|
132
120
|
.command(`list-logs`)
|
|
133
|
-
.description(
|
|
134
|
-
|
|
135
|
-
)
|
|
136
|
-
.option(
|
|
137
|
-
`--queries [queries...]`,
|
|
138
|
-
`Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Only supported methods are limit and offset`,
|
|
139
|
-
)
|
|
121
|
+
.description(`Get the list of latest security activity logs for the currently logged in user. Each log returns user IP address, location and date and time of log.`)
|
|
122
|
+
.option(`--queries [queries...]`, `Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Only supported methods are limit and offset`)
|
|
140
123
|
.option(
|
|
141
124
|
`--total [value]`,
|
|
142
125
|
`When set to false, the total count returned will be 0 and will not be calculated.`,
|
|
@@ -146,7 +129,7 @@ account
|
|
|
146
129
|
.action(
|
|
147
130
|
actionRunner(
|
|
148
131
|
async ({ queries, total }) =>
|
|
149
|
-
await (await getAccountClient()).listLogs(queries, total),
|
|
132
|
+
parse(await (await getAccountClient()).listLogs(queries, total)),
|
|
150
133
|
),
|
|
151
134
|
);
|
|
152
135
|
|
|
@@ -156,127 +139,101 @@ account
|
|
|
156
139
|
.requiredOption(`--mfa <mfa>`, `Enable or disable MFA.`, parseBool)
|
|
157
140
|
.action(
|
|
158
141
|
actionRunner(
|
|
159
|
-
async ({ mfa }) =>
|
|
142
|
+
async ({ mfa }) =>
|
|
143
|
+
parse(await (await getAccountClient()).updateMFA(mfa)),
|
|
160
144
|
),
|
|
161
145
|
);
|
|
162
146
|
|
|
163
147
|
account
|
|
164
148
|
.command(`create-mfa-authenticator`)
|
|
165
|
-
.description(
|
|
166
|
-
`[**DEPRECATED** - This command is deprecated. Please use 'account createMfaAuthenticator' instead] Add an authenticator app to be used as an MFA factor. Verify the authenticator using the [verify authenticator](/docs/references/cloud/client-web/account#updateMfaAuthenticator) method.`,
|
|
167
|
-
)
|
|
149
|
+
.description(`Add an authenticator app to be used as an MFA factor. Verify the authenticator using the [verify authenticator](/docs/references/cloud/client-web/account#updateMfaAuthenticator) method.`)
|
|
168
150
|
.requiredOption(`--type <type>`, `Type of authenticator. Must be \`totp\``)
|
|
169
151
|
.action(
|
|
170
152
|
actionRunner(
|
|
171
|
-
async ({
|
|
172
|
-
await (
|
|
173
|
-
await getAccountClient()
|
|
174
|
-
).createMfaAuthenticator(xType as AuthenticatorType),
|
|
153
|
+
async ({ type }) =>
|
|
154
|
+
parse(await (await getAccountClient()).createMfaAuthenticator(type as AuthenticatorType)),
|
|
175
155
|
),
|
|
176
156
|
);
|
|
177
157
|
|
|
178
158
|
account
|
|
179
159
|
.command(`update-mfa-authenticator`)
|
|
180
|
-
.description(
|
|
181
|
-
`[**DEPRECATED** - This command is deprecated. Please use 'account updateMfaAuthenticator' instead] Verify an authenticator app after adding it using the [add authenticator](/docs/references/cloud/client-web/account#createMfaAuthenticator) method.`,
|
|
182
|
-
)
|
|
160
|
+
.description(`Verify an authenticator app after adding it using the [add authenticator](/docs/references/cloud/client-web/account#createMfaAuthenticator) method.`)
|
|
183
161
|
.requiredOption(`--type <type>`, `Type of authenticator.`)
|
|
184
162
|
.requiredOption(`--otp <otp>`, `Valid verification token.`)
|
|
185
163
|
.action(
|
|
186
164
|
actionRunner(
|
|
187
|
-
async ({
|
|
188
|
-
await (
|
|
189
|
-
await getAccountClient()
|
|
190
|
-
).updateMfaAuthenticator(xType as AuthenticatorType, otp),
|
|
165
|
+
async ({ type, otp }) =>
|
|
166
|
+
parse(await (await getAccountClient()).updateMfaAuthenticator(type as AuthenticatorType, otp)),
|
|
191
167
|
),
|
|
192
168
|
);
|
|
193
169
|
|
|
194
170
|
account
|
|
195
171
|
.command(`delete-mfa-authenticator`)
|
|
196
|
-
.description(
|
|
197
|
-
`[**DEPRECATED** - This command is deprecated. Please use 'account deleteMfaAuthenticator' instead] Delete an authenticator for a user by ID.`,
|
|
198
|
-
)
|
|
172
|
+
.description(`Delete an authenticator for a user by ID.`)
|
|
199
173
|
.requiredOption(`--type <type>`, `Type of authenticator.`)
|
|
200
174
|
.action(
|
|
201
175
|
actionRunner(
|
|
202
|
-
async ({
|
|
203
|
-
await (
|
|
204
|
-
await getAccountClient()
|
|
205
|
-
).deleteMfaAuthenticator(xType as AuthenticatorType),
|
|
176
|
+
async ({ type }) =>
|
|
177
|
+
parse(await (await getAccountClient()).deleteMfaAuthenticator(type as AuthenticatorType)),
|
|
206
178
|
),
|
|
207
179
|
);
|
|
208
180
|
|
|
209
181
|
account
|
|
210
182
|
.command(`create-mfa-challenge`)
|
|
211
|
-
.description(
|
|
212
|
-
|
|
213
|
-
)
|
|
214
|
-
.requiredOption(
|
|
215
|
-
`--factor <factor>`,
|
|
216
|
-
`Factor used for verification. Must be one of following: \`email\`, \`phone\`, \`totp\`, \`recoveryCode\`.`,
|
|
217
|
-
)
|
|
183
|
+
.description(`Begin the process of MFA verification after sign-in. Finish the flow with [updateMfaChallenge](/docs/references/cloud/client-web/account#updateMfaChallenge) method.`)
|
|
184
|
+
.requiredOption(`--factor <factor>`, `Factor used for verification. Must be one of following: \`email\`, \`phone\`, \`totp\`, \`recoveryCode\`.`)
|
|
218
185
|
.action(
|
|
219
186
|
actionRunner(
|
|
220
187
|
async ({ factor }) =>
|
|
221
|
-
await (
|
|
222
|
-
await getAccountClient()
|
|
223
|
-
).createMfaChallenge(factor as AuthenticationFactor),
|
|
188
|
+
parse(await (await getAccountClient()).createMfaChallenge(factor as AuthenticationFactor)),
|
|
224
189
|
),
|
|
225
190
|
);
|
|
226
191
|
|
|
227
192
|
account
|
|
228
193
|
.command(`update-mfa-challenge`)
|
|
229
|
-
.description(
|
|
230
|
-
`[**DEPRECATED** - This command is deprecated. Please use 'account updateMfaChallenge' instead] Complete the MFA challenge by providing the one-time password. Finish the process of MFA verification by providing the one-time password. To begin the flow, use [createMfaChallenge](/docs/references/cloud/client-web/account#createMfaChallenge) method.`,
|
|
231
|
-
)
|
|
194
|
+
.description(`Complete the MFA challenge by providing the one-time password. Finish the process of MFA verification by providing the one-time password. To begin the flow, use [createMfaChallenge](/docs/references/cloud/client-web/account#createMfaChallenge) method.`)
|
|
232
195
|
.requiredOption(`--challenge-id <challenge-id>`, `ID of the challenge.`)
|
|
233
196
|
.requiredOption(`--otp <otp>`, `Valid verification token.`)
|
|
234
197
|
.action(
|
|
235
198
|
actionRunner(
|
|
236
199
|
async ({ challengeId, otp }) =>
|
|
237
|
-
await (await getAccountClient()).updateMfaChallenge(challengeId, otp),
|
|
200
|
+
parse(await (await getAccountClient()).updateMfaChallenge(challengeId, otp)),
|
|
238
201
|
),
|
|
239
202
|
);
|
|
240
203
|
|
|
241
204
|
account
|
|
242
205
|
.command(`list-mfa-factors`)
|
|
243
|
-
.description(
|
|
244
|
-
`[**DEPRECATED** - This command is deprecated. Please use 'account listMfaFactors' instead] List the factors available on the account to be used as a MFA challange.`,
|
|
245
|
-
)
|
|
206
|
+
.description(`List the factors available on the account to be used as a MFA challange.`)
|
|
246
207
|
.action(
|
|
247
|
-
actionRunner(
|
|
208
|
+
actionRunner(
|
|
209
|
+
async () => parse(await (await getAccountClient()).listMfaFactors()),
|
|
210
|
+
),
|
|
248
211
|
);
|
|
249
212
|
|
|
250
213
|
account
|
|
251
214
|
.command(`get-mfa-recovery-codes`)
|
|
252
|
-
.description(
|
|
253
|
-
`[**DEPRECATED** - This command is deprecated. Please use 'account getMfaRecoveryCodes' instead] Get recovery codes that can be used as backup for MFA flow. Before getting codes, they must be generated using [createMfaRecoveryCodes](/docs/references/cloud/client-web/account#createMfaRecoveryCodes) method. An OTP challenge is required to read recovery codes.`,
|
|
254
|
-
)
|
|
215
|
+
.description(`Get recovery codes that can be used as backup for MFA flow. Before getting codes, they must be generated using [createMfaRecoveryCodes](/docs/references/cloud/client-web/account#createMfaRecoveryCodes) method. An OTP challenge is required to read recovery codes.`)
|
|
255
216
|
.action(
|
|
256
217
|
actionRunner(
|
|
257
|
-
async () => await (await getAccountClient()).getMfaRecoveryCodes(),
|
|
218
|
+
async () => parse(await (await getAccountClient()).getMfaRecoveryCodes()),
|
|
258
219
|
),
|
|
259
220
|
);
|
|
260
221
|
|
|
261
222
|
account
|
|
262
223
|
.command(`create-mfa-recovery-codes`)
|
|
263
|
-
.description(
|
|
264
|
-
`[**DEPRECATED** - This command is deprecated. Please use 'account createMfaRecoveryCodes' instead] Generate recovery codes as backup for MFA flow. It's recommended to generate and show then immediately after user successfully adds their authehticator. Recovery codes can be used as a MFA verification type in [createMfaChallenge](/docs/references/cloud/client-web/account#createMfaChallenge) method.`,
|
|
265
|
-
)
|
|
224
|
+
.description(`Generate recovery codes as backup for MFA flow. It's recommended to generate and show then immediately after user successfully adds their authehticator. Recovery codes can be used as a MFA verification type in [createMfaChallenge](/docs/references/cloud/client-web/account#createMfaChallenge) method.`)
|
|
266
225
|
.action(
|
|
267
226
|
actionRunner(
|
|
268
|
-
async () => await (await getAccountClient()).createMfaRecoveryCodes(),
|
|
227
|
+
async () => parse(await (await getAccountClient()).createMfaRecoveryCodes()),
|
|
269
228
|
),
|
|
270
229
|
);
|
|
271
230
|
|
|
272
231
|
account
|
|
273
232
|
.command(`update-mfa-recovery-codes`)
|
|
274
|
-
.description(
|
|
275
|
-
`[**DEPRECATED** - This command is deprecated. Please use 'account updateMfaRecoveryCodes' instead] Regenerate recovery codes that can be used as backup for MFA flow. Before regenerating codes, they must be first generated using [createMfaRecoveryCodes](/docs/references/cloud/client-web/account#createMfaRecoveryCodes) method. An OTP challenge is required to regenreate recovery codes.`,
|
|
276
|
-
)
|
|
233
|
+
.description(`Regenerate recovery codes that can be used as backup for MFA flow. Before regenerating codes, they must be first generated using [createMfaRecoveryCodes](/docs/references/cloud/client-web/account#createMfaRecoveryCodes) method. An OTP challenge is required to regenreate recovery codes.`)
|
|
277
234
|
.action(
|
|
278
235
|
actionRunner(
|
|
279
|
-
async () => await (await getAccountClient()).updateMfaRecoveryCodes(),
|
|
236
|
+
async () => parse(await (await getAccountClient()).updateMfaRecoveryCodes()),
|
|
280
237
|
),
|
|
281
238
|
);
|
|
282
239
|
|
|
@@ -286,380 +243,265 @@ account
|
|
|
286
243
|
.requiredOption(`--name <name>`, `User name. Max length: 128 chars.`)
|
|
287
244
|
.action(
|
|
288
245
|
actionRunner(
|
|
289
|
-
async ({ name }) =>
|
|
246
|
+
async ({ name }) =>
|
|
247
|
+
parse(await (await getAccountClient()).updateName(name)),
|
|
290
248
|
),
|
|
291
249
|
);
|
|
292
250
|
|
|
293
251
|
account
|
|
294
252
|
.command(`update-password`)
|
|
295
|
-
.description(
|
|
296
|
-
|
|
297
|
-
)
|
|
298
|
-
.requiredOption(
|
|
299
|
-
`--password <password>`,
|
|
300
|
-
`New user password. Must be at least 8 chars.`,
|
|
301
|
-
)
|
|
302
|
-
.option(
|
|
303
|
-
`--old-password <old-password>`,
|
|
304
|
-
`Current user password. Must be at least 8 chars.`,
|
|
305
|
-
)
|
|
253
|
+
.description(`Update currently logged in user password. For validation, user is required to pass in the new password, and the old password. For users created with OAuth, Team Invites and Magic URL, oldPassword is optional.`)
|
|
254
|
+
.requiredOption(`--password <password>`, `New user password. Must be at least 8 chars.`)
|
|
255
|
+
.option(`--old-password <old-password>`, `Current user password. Must be at least 8 chars.`)
|
|
306
256
|
.action(
|
|
307
257
|
actionRunner(
|
|
308
258
|
async ({ password, oldPassword }) =>
|
|
309
|
-
await (await getAccountClient()).updatePassword(password, oldPassword),
|
|
259
|
+
parse(await (await getAccountClient()).updatePassword(password, oldPassword)),
|
|
310
260
|
),
|
|
311
261
|
);
|
|
312
262
|
|
|
313
263
|
account
|
|
314
264
|
.command(`update-phone`)
|
|
315
|
-
.description(
|
|
316
|
-
|
|
317
|
-
)
|
|
318
|
-
.requiredOption(
|
|
319
|
-
`--phone <phone>`,
|
|
320
|
-
`Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.`,
|
|
321
|
-
)
|
|
322
|
-
.requiredOption(
|
|
323
|
-
`--password <password>`,
|
|
324
|
-
`User password. Must be at least 8 chars.`,
|
|
325
|
-
)
|
|
265
|
+
.description(`Update the currently logged in user's phone number. After updating the phone number, the phone verification status will be reset. A confirmation SMS is not sent automatically, however you can use the [POST /account/verification/phone](https://appwrite.io/docs/references/cloud/client-web/account#createPhoneVerification) endpoint to send a confirmation SMS.`)
|
|
266
|
+
.requiredOption(`--phone <phone>`, `Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.`)
|
|
267
|
+
.requiredOption(`--password <password>`, `User password. Must be at least 8 chars.`)
|
|
326
268
|
.action(
|
|
327
269
|
actionRunner(
|
|
328
270
|
async ({ phone, password }) =>
|
|
329
|
-
await (await getAccountClient()).updatePhone(phone, password),
|
|
271
|
+
parse(await (await getAccountClient()).updatePhone(phone, password)),
|
|
330
272
|
),
|
|
331
273
|
);
|
|
332
274
|
|
|
333
275
|
account
|
|
334
276
|
.command(`get-prefs`)
|
|
335
|
-
.description(
|
|
336
|
-
`Get the preferences as a key-value object for the currently logged in user.`,
|
|
337
|
-
)
|
|
277
|
+
.description(`Get the preferences as a key-value object for the currently logged in user.`)
|
|
338
278
|
.action(
|
|
339
|
-
actionRunner(
|
|
279
|
+
actionRunner(
|
|
280
|
+
async () => parse(await (await getAccountClient()).getPrefs()),
|
|
281
|
+
),
|
|
340
282
|
);
|
|
341
283
|
|
|
342
284
|
account
|
|
343
285
|
.command(`update-prefs`)
|
|
344
|
-
.description(
|
|
345
|
-
`Update currently logged in user account preferences. The object you pass is stored as is, and replaces any previous value. The maximum allowed prefs size is 64kB and throws error if exceeded.`,
|
|
346
|
-
)
|
|
286
|
+
.description(`Update currently logged in user account preferences. The object you pass is stored as is, and replaces any previous value. The maximum allowed prefs size is 64kB and throws error if exceeded.`)
|
|
347
287
|
.requiredOption(`--prefs <prefs>`, `Prefs key-value JSON object.`)
|
|
348
288
|
.action(
|
|
349
289
|
actionRunner(
|
|
350
290
|
async ({ prefs }) =>
|
|
351
|
-
await (await getAccountClient()).updatePrefs(JSON.parse(prefs)),
|
|
291
|
+
parse(await (await getAccountClient()).updatePrefs(JSON.parse(prefs))),
|
|
352
292
|
),
|
|
353
293
|
);
|
|
354
294
|
|
|
355
295
|
account
|
|
356
296
|
.command(`create-recovery`)
|
|
357
|
-
.description(
|
|
358
|
-
`Sends the user an email with a temporary secret key for password reset. When the user clicks the confirmation link he is redirected back to your app password reset URL with the secret key and email address values attached to the URL query string. Use the query string params to submit a request to the [PUT /account/recovery](https://appwrite.io/docs/references/cloud/client-web/account#updateRecovery) endpoint to complete the process. The verification link sent to the user's email address is valid for 1 hour.`,
|
|
359
|
-
)
|
|
297
|
+
.description(`Sends the user an email with a temporary secret key for password reset. When the user clicks the confirmation link he is redirected back to your app password reset URL with the secret key and email address values attached to the URL query string. Use the query string params to submit a request to the [PUT /account/recovery](https://appwrite.io/docs/references/cloud/client-web/account#updateRecovery) endpoint to complete the process. The verification link sent to the user's email address is valid for 1 hour.`)
|
|
360
298
|
.requiredOption(`--email <email>`, `User email.`)
|
|
361
|
-
.requiredOption(
|
|
362
|
-
`--url <url>`,
|
|
363
|
-
`URL to redirect the user back to your app from the recovery email. Only URLs from hostnames in your project platform list are allowed. This requirement helps to prevent an [open redirect](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.`,
|
|
364
|
-
)
|
|
299
|
+
.requiredOption(`--url <url>`, `URL to redirect the user back to your app from the recovery email. Only URLs from hostnames in your project platform list are allowed. This requirement helps to prevent an [open redirect](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.`)
|
|
365
300
|
.action(
|
|
366
301
|
actionRunner(
|
|
367
302
|
async ({ email, url }) =>
|
|
368
|
-
await (await getAccountClient()).createRecovery(email, url),
|
|
303
|
+
parse(await (await getAccountClient()).createRecovery(email, url)),
|
|
369
304
|
),
|
|
370
305
|
);
|
|
371
306
|
|
|
372
307
|
account
|
|
373
308
|
.command(`update-recovery`)
|
|
374
|
-
.description(
|
|
375
|
-
`Use this endpoint to complete the user account password reset. Both the **userId** and **secret** arguments will be passed as query parameters to the redirect URL you have provided when sending your request to the [POST /account/recovery](https://appwrite.io/docs/references/cloud/client-web/account#createRecovery) endpoint.
|
|
309
|
+
.description(`Use this endpoint to complete the user account password reset. Both the **userId** and **secret** arguments will be passed as query parameters to the redirect URL you have provided when sending your request to the [POST /account/recovery](https://appwrite.io/docs/references/cloud/client-web/account#createRecovery) endpoint.
|
|
376
310
|
|
|
377
|
-
Please note that in order to avoid a [Redirect Attack](https://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.md) the only valid redirect URLs are the ones from domains you have set when adding your platforms in the console interface
|
|
378
|
-
)
|
|
311
|
+
Please note that in order to avoid a [Redirect Attack](https://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.md) the only valid redirect URLs are the ones from domains you have set when adding your platforms in the console interface.`)
|
|
379
312
|
.requiredOption(`--user-id <user-id>`, `User ID.`)
|
|
380
313
|
.requiredOption(`--secret <secret>`, `Valid reset token.`)
|
|
381
|
-
.requiredOption(
|
|
382
|
-
`--password <password>`,
|
|
383
|
-
`New user password. Must be between 8 and 256 chars.`,
|
|
384
|
-
)
|
|
314
|
+
.requiredOption(`--password <password>`, `New user password. Must be between 8 and 256 chars.`)
|
|
385
315
|
.action(
|
|
386
316
|
actionRunner(
|
|
387
317
|
async ({ userId, secret, password }) =>
|
|
388
|
-
await (
|
|
389
|
-
await getAccountClient()
|
|
390
|
-
).updateRecovery(userId, secret, password),
|
|
318
|
+
parse(await (await getAccountClient()).updateRecovery(userId, secret, password)),
|
|
391
319
|
),
|
|
392
320
|
);
|
|
393
321
|
|
|
394
322
|
account
|
|
395
323
|
.command(`list-sessions`)
|
|
396
|
-
.description(
|
|
397
|
-
`Get the list of active sessions across different devices for the currently logged in user.`,
|
|
398
|
-
)
|
|
324
|
+
.description(`Get the list of active sessions across different devices for the currently logged in user.`)
|
|
399
325
|
.action(
|
|
400
|
-
actionRunner(
|
|
326
|
+
actionRunner(
|
|
327
|
+
async () => parse(await (await getAccountClient()).listSessions()),
|
|
328
|
+
),
|
|
401
329
|
);
|
|
402
330
|
|
|
403
331
|
account
|
|
404
332
|
.command(`delete-sessions`)
|
|
405
|
-
.description(
|
|
406
|
-
`Delete all sessions from the user account and remove any sessions cookies from the end client.`,
|
|
407
|
-
)
|
|
333
|
+
.description(`Delete all sessions from the user account and remove any sessions cookies from the end client.`)
|
|
408
334
|
.action(
|
|
409
|
-
actionRunner(
|
|
335
|
+
actionRunner(
|
|
336
|
+
async () => parse(await (await getAccountClient()).deleteSessions()),
|
|
337
|
+
),
|
|
410
338
|
);
|
|
411
339
|
|
|
412
340
|
account
|
|
413
341
|
.command(`create-anonymous-session`)
|
|
414
|
-
.description(
|
|
415
|
-
`Use this endpoint to allow a new user to register an anonymous account in your project. This route will also create a new session for the user. To allow the new user to convert an anonymous account to a normal account, you need to update its [email and password](https://appwrite.io/docs/references/cloud/client-web/account#updateEmail) or create an [OAuth2 session](https://appwrite.io/docs/references/cloud/client-web/account#CreateOAuth2Session).`,
|
|
416
|
-
)
|
|
342
|
+
.description(`Use this endpoint to allow a new user to register an anonymous account in your project. This route will also create a new session for the user. To allow the new user to convert an anonymous account to a normal account, you need to update its [email and password](https://appwrite.io/docs/references/cloud/client-web/account#updateEmail) or create an [OAuth2 session](https://appwrite.io/docs/references/cloud/client-web/account#CreateOAuth2Session).`)
|
|
417
343
|
.action(
|
|
418
344
|
actionRunner(
|
|
419
|
-
async () => await (await getAccountClient()).createAnonymousSession(),
|
|
345
|
+
async () => parse(await (await getAccountClient()).createAnonymousSession()),
|
|
420
346
|
),
|
|
421
347
|
);
|
|
422
348
|
|
|
423
349
|
account
|
|
424
350
|
.command(`create-email-password-session`)
|
|
425
|
-
.description(
|
|
426
|
-
`Allow the user to login into their account by providing a valid email and password combination. This route will create a new session for the user.
|
|
351
|
+
.description(`Allow the user to login into their account by providing a valid email and password combination. This route will create a new session for the user.
|
|
427
352
|
|
|
428
|
-
A user is limited to 10 active sessions at a time by default. [Learn more about session limits](https://appwrite.io/docs/authentication-security#limits)
|
|
429
|
-
)
|
|
353
|
+
A user is limited to 10 active sessions at a time by default. [Learn more about session limits](https://appwrite.io/docs/authentication-security#limits).`)
|
|
430
354
|
.requiredOption(`--email <email>`, `User email.`)
|
|
431
|
-
.requiredOption(
|
|
432
|
-
`--password <password>`,
|
|
433
|
-
`User password. Must be at least 8 chars.`,
|
|
434
|
-
)
|
|
355
|
+
.requiredOption(`--password <password>`, `User password. Must be at least 8 chars.`)
|
|
435
356
|
.action(
|
|
436
357
|
actionRunner(
|
|
437
358
|
async ({ email, password }) =>
|
|
438
|
-
await (
|
|
439
|
-
await getAccountClient()
|
|
440
|
-
).createEmailPasswordSession(email, password),
|
|
359
|
+
parse(await (await getAccountClient()).createEmailPasswordSession(email, password)),
|
|
441
360
|
),
|
|
442
361
|
);
|
|
443
362
|
|
|
444
363
|
account
|
|
445
|
-
.command(`update-magic-
|
|
446
|
-
.description(
|
|
447
|
-
|
|
448
|
-
)
|
|
449
|
-
.requiredOption(
|
|
450
|
-
`--user-id <user-id>`,
|
|
451
|
-
`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.`,
|
|
452
|
-
)
|
|
364
|
+
.command(`update-magic-url-session`)
|
|
365
|
+
.description(`Use this endpoint to create a session from token. Provide the **userId** and **secret** parameters from the successful response of authentication flows initiated by token creation. For example, magic URL and phone login.`)
|
|
366
|
+
.requiredOption(`--user-id <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.`)
|
|
453
367
|
.requiredOption(`--secret <secret>`, `Valid verification token.`)
|
|
454
368
|
.action(
|
|
455
369
|
actionRunner(
|
|
456
370
|
async ({ userId, secret }) =>
|
|
457
|
-
await (await getAccountClient()).updateMagicURLSession(userId, secret),
|
|
371
|
+
parse(await (await getAccountClient()).updateMagicURLSession(userId, secret)),
|
|
458
372
|
),
|
|
459
373
|
);
|
|
460
374
|
|
|
461
375
|
account
|
|
462
|
-
.command(`create-
|
|
463
|
-
.description(
|
|
464
|
-
`Allow the user to login to their account using the OAuth2 provider of their choice. Each OAuth2 provider should be enabled from the Appwrite console first. Use the success and failure arguments to provide a redirect URL's back to your app when login is completed.
|
|
376
|
+
.command(`create-o-auth-2-session`)
|
|
377
|
+
.description(`Allow the user to login to their account using the OAuth2 provider of their choice. Each OAuth2 provider should be enabled from the Appwrite console first. Use the success and failure arguments to provide a redirect URL's back to your app when login is completed.
|
|
465
378
|
|
|
466
379
|
If there is already an active session, the new session will be attached to the logged-in account. If there are no active sessions, the server will attempt to look for a user with the same email address as the email received from the OAuth2 provider and attach the new session to the existing user. If no matching user is found - the server will create a new user.
|
|
467
380
|
|
|
468
381
|
A user is limited to 10 active sessions at a time by default. [Learn more about session limits](https://appwrite.io/docs/authentication-security#limits).
|
|
469
|
-
|
|
470
|
-
)
|
|
471
|
-
.
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
)
|
|
475
|
-
.option(
|
|
476
|
-
`--success <success>`,
|
|
477
|
-
`URL to redirect back to your app after a successful login attempt. Only URLs from hostnames in your project's platform list are allowed. This requirement helps to prevent an [open redirect](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.`,
|
|
478
|
-
)
|
|
479
|
-
.option(
|
|
480
|
-
`--failure <failure>`,
|
|
481
|
-
`URL to redirect back to your app after a failed login attempt. Only URLs from hostnames in your project's platform list are allowed. This requirement helps to prevent an [open redirect](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.`,
|
|
482
|
-
)
|
|
483
|
-
.option(
|
|
484
|
-
`--scopes [scopes...]`,
|
|
485
|
-
`A list of custom OAuth2 scopes. Check each provider internal docs for a list of supported scopes. Maximum of 100 scopes are allowed, each 4096 characters long.`,
|
|
486
|
-
)
|
|
382
|
+
`)
|
|
383
|
+
.requiredOption(`--provider <provider>`, `OAuth2 Provider. Currently, supported providers are: amazon, apple, auth0, authentik, autodesk, bitbucket, bitly, box, dailymotion, discord, disqus, dropbox, etsy, facebook, figma, github, gitlab, google, linkedin, microsoft, notion, oidc, okta, paypal, paypalSandbox, podio, salesforce, slack, spotify, stripe, tradeshift, tradeshiftBox, twitch, wordpress, yahoo, yammer, yandex, zoho, zoom.`)
|
|
384
|
+
.option(`--success <success>`, `URL to redirect back to your app after a successful login attempt. Only URLs from hostnames in your project's platform list are allowed. This requirement helps to prevent an [open redirect](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.`)
|
|
385
|
+
.option(`--failure <failure>`, `URL to redirect back to your app after a failed login attempt. Only URLs from hostnames in your project's platform list are allowed. This requirement helps to prevent an [open redirect](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.`)
|
|
386
|
+
.option(`--scopes [scopes...]`, `A list of custom OAuth2 scopes. Check each provider internal docs for a list of supported scopes. Maximum of 100 scopes are allowed, each 4096 characters long.`)
|
|
487
387
|
.action(
|
|
488
388
|
actionRunner(
|
|
489
|
-
async ({ provider, success, failure, scopes }) =>
|
|
490
|
-
await (
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
provider as OAuthProvider,
|
|
494
|
-
success,
|
|
495
|
-
failure,
|
|
496
|
-
scopes,
|
|
497
|
-
),
|
|
389
|
+
async ({ provider, success, failure, scopes }) => {
|
|
390
|
+
const url = (await getAccountClient()).createOAuth2Session(provider as OAuthProvider, success, failure, scopes);
|
|
391
|
+
if (url) console.log(url);
|
|
392
|
+
},
|
|
498
393
|
),
|
|
499
394
|
);
|
|
500
395
|
|
|
501
396
|
account
|
|
502
397
|
.command(`update-phone-session`)
|
|
503
|
-
.description(
|
|
504
|
-
|
|
505
|
-
)
|
|
506
|
-
.requiredOption(
|
|
507
|
-
`--user-id <user-id>`,
|
|
508
|
-
`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.`,
|
|
509
|
-
)
|
|
398
|
+
.description(`Use this endpoint to create a session from token. Provide the **userId** and **secret** parameters from the successful response of authentication flows initiated by token creation. For example, magic URL and phone login.`)
|
|
399
|
+
.requiredOption(`--user-id <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.`)
|
|
510
400
|
.requiredOption(`--secret <secret>`, `Valid verification token.`)
|
|
511
401
|
.action(
|
|
512
402
|
actionRunner(
|
|
513
403
|
async ({ userId, secret }) =>
|
|
514
|
-
await (await getAccountClient()).updatePhoneSession(userId, secret),
|
|
404
|
+
parse(await (await getAccountClient()).updatePhoneSession(userId, secret)),
|
|
515
405
|
),
|
|
516
406
|
);
|
|
517
407
|
|
|
518
408
|
account
|
|
519
409
|
.command(`create-session`)
|
|
520
|
-
.description(
|
|
521
|
-
|
|
522
|
-
)
|
|
523
|
-
.requiredOption(
|
|
524
|
-
`--user-id <user-id>`,
|
|
525
|
-
`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.`,
|
|
526
|
-
)
|
|
527
|
-
.requiredOption(
|
|
528
|
-
`--secret <secret>`,
|
|
529
|
-
`Secret of a token generated by login methods. For example, the \`createMagicURLToken\` or \`createPhoneToken\` methods.`,
|
|
530
|
-
)
|
|
410
|
+
.description(`Use this endpoint to create a session from token. Provide the **userId** and **secret** parameters from the successful response of authentication flows initiated by token creation. For example, magic URL and phone login.`)
|
|
411
|
+
.requiredOption(`--user-id <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.`)
|
|
412
|
+
.requiredOption(`--secret <secret>`, `Secret of a token generated by login methods. For example, the \`createMagicURLToken\` or \`createPhoneToken\` methods.`)
|
|
531
413
|
.action(
|
|
532
414
|
actionRunner(
|
|
533
415
|
async ({ userId, secret }) =>
|
|
534
|
-
await (await getAccountClient()).createSession(userId, secret),
|
|
416
|
+
parse(await (await getAccountClient()).createSession(userId, secret)),
|
|
535
417
|
),
|
|
536
418
|
);
|
|
537
419
|
|
|
538
420
|
account
|
|
539
421
|
.command(`get-session`)
|
|
540
|
-
.description(
|
|
541
|
-
|
|
542
|
-
)
|
|
543
|
-
.requiredOption(
|
|
544
|
-
`--session-id <session-id>`,
|
|
545
|
-
`Session ID. Use the string 'current' to get the current device session.`,
|
|
546
|
-
)
|
|
422
|
+
.description(`Use this endpoint to get a logged in user's session using a Session ID. Inputting 'current' will return the current session being used.`)
|
|
423
|
+
.requiredOption(`--session-id <session-id>`, `Session ID. Use the string 'current' to get the current device session.`)
|
|
547
424
|
.action(
|
|
548
425
|
actionRunner(
|
|
549
426
|
async ({ sessionId }) =>
|
|
550
|
-
await (await getAccountClient()).getSession(sessionId),
|
|
427
|
+
parse(await (await getAccountClient()).getSession(sessionId)),
|
|
551
428
|
),
|
|
552
429
|
);
|
|
553
430
|
|
|
554
431
|
account
|
|
555
432
|
.command(`update-session`)
|
|
556
|
-
.description(
|
|
557
|
-
|
|
558
|
-
)
|
|
559
|
-
.requiredOption(
|
|
560
|
-
`--session-id <session-id>`,
|
|
561
|
-
`Session ID. Use the string 'current' to update the current device session.`,
|
|
562
|
-
)
|
|
433
|
+
.description(`Use this endpoint to extend a session's length. Extending a session is useful when session expiry is short. If the session was created using an OAuth provider, this endpoint refreshes the access token from the provider.`)
|
|
434
|
+
.requiredOption(`--session-id <session-id>`, `Session ID. Use the string 'current' to update the current device session.`)
|
|
563
435
|
.action(
|
|
564
436
|
actionRunner(
|
|
565
437
|
async ({ sessionId }) =>
|
|
566
|
-
await (await getAccountClient()).updateSession(sessionId),
|
|
438
|
+
parse(await (await getAccountClient()).updateSession(sessionId)),
|
|
567
439
|
),
|
|
568
440
|
);
|
|
569
441
|
|
|
570
442
|
account
|
|
571
443
|
.command(`delete-session`)
|
|
572
|
-
.description(
|
|
573
|
-
|
|
574
|
-
)
|
|
575
|
-
.requiredOption(
|
|
576
|
-
`--session-id <session-id>`,
|
|
577
|
-
`Session ID. Use the string 'current' to delete the current device session.`,
|
|
578
|
-
)
|
|
444
|
+
.description(`Logout the user. Use 'current' as the session ID to logout on this device, use a session ID to logout on another device. If you're looking to logout the user on all devices, use [Delete Sessions](https://appwrite.io/docs/references/cloud/client-web/account#deleteSessions) instead.`)
|
|
445
|
+
.requiredOption(`--session-id <session-id>`, `Session ID. Use the string 'current' to delete the current device session.`)
|
|
579
446
|
.action(
|
|
580
447
|
actionRunner(
|
|
581
448
|
async ({ sessionId }) =>
|
|
582
|
-
await (await getAccountClient()).deleteSession(sessionId),
|
|
449
|
+
parse(await (await getAccountClient()).deleteSession(sessionId)),
|
|
583
450
|
),
|
|
584
451
|
);
|
|
585
452
|
|
|
586
453
|
account
|
|
587
454
|
.command(`update-status`)
|
|
588
|
-
.description(
|
|
589
|
-
`Block the currently logged in user account. Behind the scene, the user record is not deleted but permanently blocked from any access. To completely delete a user, use the Users API instead.`,
|
|
590
|
-
)
|
|
455
|
+
.description(`Block the currently logged in user account. Behind the scene, the user record is not deleted but permanently blocked from any access. To completely delete a user, use the Users API instead.`)
|
|
591
456
|
.action(
|
|
592
|
-
actionRunner(
|
|
457
|
+
actionRunner(
|
|
458
|
+
async () => parse(await (await getAccountClient()).updateStatus()),
|
|
459
|
+
),
|
|
593
460
|
);
|
|
594
461
|
|
|
595
462
|
account
|
|
596
463
|
.command(`create-push-target`)
|
|
597
|
-
.description(
|
|
598
|
-
|
|
599
|
-
)
|
|
600
|
-
.
|
|
601
|
-
`--target-id <target-id>`,
|
|
602
|
-
`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.`,
|
|
603
|
-
)
|
|
604
|
-
.requiredOption(
|
|
605
|
-
`--identifier <identifier>`,
|
|
606
|
-
`The target identifier (token, email, phone etc.)`,
|
|
607
|
-
)
|
|
608
|
-
.option(
|
|
609
|
-
`--provider-id <provider-id>`,
|
|
610
|
-
`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.`,
|
|
611
|
-
)
|
|
464
|
+
.description(`Use this endpoint to register a device for push notifications. Provide a target ID (custom or generated using ID.unique()), a device identifier (usually a device token), and optionally specify which provider should send notifications to this target. The target is automatically linked to the current session and includes device information like brand and model.`)
|
|
465
|
+
.requiredOption(`--target-id <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.`)
|
|
466
|
+
.requiredOption(`--identifier <identifier>`, `The target identifier (token, email, phone etc.)`)
|
|
467
|
+
.option(`--provider-id <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.`)
|
|
612
468
|
.action(
|
|
613
469
|
actionRunner(
|
|
614
470
|
async ({ targetId, identifier, providerId }) =>
|
|
615
|
-
await (
|
|
616
|
-
await getAccountClient()
|
|
617
|
-
).createPushTarget(targetId, identifier, providerId),
|
|
471
|
+
parse(await (await getAccountClient()).createPushTarget(targetId, identifier, providerId)),
|
|
618
472
|
),
|
|
619
473
|
);
|
|
620
474
|
|
|
621
475
|
account
|
|
622
476
|
.command(`update-push-target`)
|
|
623
|
-
.description(
|
|
624
|
-
`Update the currently logged in user's push notification target. You can modify the target's identifier (device token) and provider ID (token, email, phone etc.). The target must exist and belong to the current user. If you change the provider ID, notifications will be sent through the new messaging provider instead.`,
|
|
625
|
-
)
|
|
477
|
+
.description(`Update the currently logged in user's push notification target. You can modify the target's identifier (device token) and provider ID (token, email, phone etc.). The target must exist and belong to the current user. If you change the provider ID, notifications will be sent through the new messaging provider instead.`)
|
|
626
478
|
.requiredOption(`--target-id <target-id>`, `Target ID.`)
|
|
627
|
-
.requiredOption(
|
|
628
|
-
`--identifier <identifier>`,
|
|
629
|
-
`The target identifier (token, email, phone etc.)`,
|
|
630
|
-
)
|
|
479
|
+
.requiredOption(`--identifier <identifier>`, `The target identifier (token, email, phone etc.)`)
|
|
631
480
|
.action(
|
|
632
481
|
actionRunner(
|
|
633
482
|
async ({ targetId, identifier }) =>
|
|
634
|
-
await (await getAccountClient()).updatePushTarget(targetId, identifier),
|
|
483
|
+
parse(await (await getAccountClient()).updatePushTarget(targetId, identifier)),
|
|
635
484
|
),
|
|
636
485
|
);
|
|
637
486
|
|
|
638
487
|
account
|
|
639
488
|
.command(`delete-push-target`)
|
|
640
|
-
.description(
|
|
641
|
-
`Delete a push notification target for the currently logged in user. After deletion, the device will no longer receive push notifications. The target must exist and belong to the current user.`,
|
|
642
|
-
)
|
|
489
|
+
.description(`Delete a push notification target for the currently logged in user. After deletion, the device will no longer receive push notifications. The target must exist and belong to the current user.`)
|
|
643
490
|
.requiredOption(`--target-id <target-id>`, `Target ID.`)
|
|
644
491
|
.action(
|
|
645
492
|
actionRunner(
|
|
646
493
|
async ({ targetId }) =>
|
|
647
|
-
await (await getAccountClient()).deletePushTarget(targetId),
|
|
494
|
+
parse(await (await getAccountClient()).deletePushTarget(targetId)),
|
|
648
495
|
),
|
|
649
496
|
);
|
|
650
497
|
|
|
651
498
|
account
|
|
652
499
|
.command(`create-email-token`)
|
|
653
|
-
.description(
|
|
654
|
-
`Sends the user an email with a secret key for creating a session. If the email address has never been used, a **new account is created** using the provided \`userId\`. Otherwise, if the email address is already attached to an account, the **user ID is ignored**. Then, the user will receive an email with the one-time password. Use the returned user ID and secret and submit a request to the [POST /v1/account/sessions/token](https://appwrite.io/docs/references/cloud/client-web/account#createSession) endpoint to complete the login process. The secret sent to the user's email is valid for 15 minutes.
|
|
500
|
+
.description(`Sends the user an email with a secret key for creating a session. If the email address has never been used, a **new account is created** using the provided \`userId\`. Otherwise, if the email address is already attached to an account, the **user ID is ignored**. Then, the user will receive an email with the one-time password. Use the returned user ID and secret and submit a request to the [POST /v1/account/sessions/token](https://appwrite.io/docs/references/cloud/client-web/account#createSession) endpoint to complete the login process. The secret sent to the user's email is valid for 15 minutes.
|
|
655
501
|
|
|
656
502
|
A user is limited to 10 active sessions at a time by default. [Learn more about session limits](https://appwrite.io/docs/authentication-security#limits).
|
|
657
|
-
|
|
658
|
-
)
|
|
659
|
-
.requiredOption(
|
|
660
|
-
`--user-id <user-id>`,
|
|
661
|
-
`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. If the email address has never been used, a new account is created using the provided userId. Otherwise, if the email address is already attached to an account, the user ID is ignored.`,
|
|
662
|
-
)
|
|
503
|
+
`)
|
|
504
|
+
.requiredOption(`--user-id <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. If the email address has never been used, a new account is created using the provided userId. Otherwise, if the email address is already attached to an account, the user ID is ignored.`)
|
|
663
505
|
.requiredOption(`--email <email>`, `User email.`)
|
|
664
506
|
.option(
|
|
665
507
|
`--phrase [value]`,
|
|
@@ -670,29 +512,19 @@ A user is limited to 10 active sessions at a time by default. [Learn more about
|
|
|
670
512
|
.action(
|
|
671
513
|
actionRunner(
|
|
672
514
|
async ({ userId, email, phrase }) =>
|
|
673
|
-
await (
|
|
674
|
-
await getAccountClient()
|
|
675
|
-
).createEmailToken(userId, email, phrase),
|
|
515
|
+
parse(await (await getAccountClient()).createEmailToken(userId, email, phrase)),
|
|
676
516
|
),
|
|
677
517
|
);
|
|
678
518
|
|
|
679
519
|
account
|
|
680
|
-
.command(`create-magic-
|
|
681
|
-
.description(
|
|
682
|
-
`Sends the user an email with a secret key for creating a session. If the provided user ID has not been registered, a new user will be created. When the user clicks the link in the email, the user is redirected back to the URL you provided with the secret key and userId values attached to the URL query string. Use the query string parameters to submit a request to the [POST /v1/account/sessions/token](https://appwrite.io/docs/references/cloud/client-web/account#createSession) endpoint to complete the login process. The link sent to the user's email address is valid for 1 hour.
|
|
520
|
+
.command(`create-magic-url-token`)
|
|
521
|
+
.description(`Sends the user an email with a secret key for creating a session. If the provided user ID has not been registered, a new user will be created. When the user clicks the link in the email, the user is redirected back to the URL you provided with the secret key and userId values attached to the URL query string. Use the query string parameters to submit a request to the [POST /v1/account/sessions/token](https://appwrite.io/docs/references/cloud/client-web/account#createSession) endpoint to complete the login process. The link sent to the user's email address is valid for 1 hour.
|
|
683
522
|
|
|
684
523
|
A user is limited to 10 active sessions at a time by default. [Learn more about session limits](https://appwrite.io/docs/authentication-security#limits).
|
|
685
|
-
|
|
686
|
-
)
|
|
687
|
-
.requiredOption(
|
|
688
|
-
`--user-id <user-id>`,
|
|
689
|
-
`Unique 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. If the email address has never been used, a new account is created using the provided userId. Otherwise, if the email address is already attached to an account, the user ID is ignored.`,
|
|
690
|
-
)
|
|
524
|
+
`)
|
|
525
|
+
.requiredOption(`--user-id <user-id>`, `Unique 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. If the email address has never been used, a new account is created using the provided userId. Otherwise, if the email address is already attached to an account, the user ID is ignored.`)
|
|
691
526
|
.requiredOption(`--email <email>`, `User email.`)
|
|
692
|
-
.option(
|
|
693
|
-
`--url <url>`,
|
|
694
|
-
`URL to redirect the user back to your app from the magic URL login. Only URLs from hostnames in your project platform list are allowed. This requirement helps to prevent an [open redirect](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.`,
|
|
695
|
-
)
|
|
527
|
+
.option(`--url <url>`, `URL to redirect the user back to your app from the magic URL login. Only URLs from hostnames in your project platform list are allowed. This requirement helps to prevent an [open redirect](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.`)
|
|
696
528
|
.option(
|
|
697
529
|
`--phrase [value]`,
|
|
698
530
|
`Toggle for security phrase. If enabled, email will be send with a randomly generated phrase and the phrase will also be included in the response. Confirming phrases match increases the security of your authentication flow.`,
|
|
@@ -702,131 +534,114 @@ A user is limited to 10 active sessions at a time by default. [Learn more about
|
|
|
702
534
|
.action(
|
|
703
535
|
actionRunner(
|
|
704
536
|
async ({ userId, email, url, phrase }) =>
|
|
705
|
-
await (
|
|
706
|
-
await getAccountClient()
|
|
707
|
-
).createMagicURLToken(userId, email, url, phrase),
|
|
537
|
+
parse(await (await getAccountClient()).createMagicURLToken(userId, email, url, phrase)),
|
|
708
538
|
),
|
|
709
539
|
);
|
|
710
540
|
|
|
711
541
|
account
|
|
712
|
-
.command(`create-
|
|
713
|
-
.description(
|
|
714
|
-
`Allow the user to login to their account using the OAuth2 provider of their choice. Each OAuth2 provider should be enabled from the Appwrite console first. Use the success and failure arguments to provide a redirect URL's back to your app when login is completed.
|
|
542
|
+
.command(`create-o-auth-2-token`)
|
|
543
|
+
.description(`Allow the user to login to their account using the OAuth2 provider of their choice. Each OAuth2 provider should be enabled from the Appwrite console first. Use the success and failure arguments to provide a redirect URL's back to your app when login is completed.
|
|
715
544
|
|
|
716
545
|
If authentication succeeds, \`userId\` and \`secret\` of a token will be appended to the success URL as query parameters. These can be used to create a new session using the [Create session](https://appwrite.io/docs/references/cloud/client-web/account#createSession) endpoint.
|
|
717
546
|
|
|
718
|
-
A user is limited to 10 active sessions at a time by default. [Learn more about session limits](https://appwrite.io/docs/authentication-security#limits)
|
|
719
|
-
)
|
|
720
|
-
.
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
)
|
|
724
|
-
.option(
|
|
725
|
-
`--success <success>`,
|
|
726
|
-
`URL to redirect back to your app after a successful login attempt. Only URLs from hostnames in your project's platform list are allowed. This requirement helps to prevent an [open redirect](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.`,
|
|
727
|
-
)
|
|
728
|
-
.option(
|
|
729
|
-
`--failure <failure>`,
|
|
730
|
-
`URL to redirect back to your app after a failed login attempt. Only URLs from hostnames in your project's platform list are allowed. This requirement helps to prevent an [open redirect](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.`,
|
|
731
|
-
)
|
|
732
|
-
.option(
|
|
733
|
-
`--scopes [scopes...]`,
|
|
734
|
-
`A list of custom OAuth2 scopes. Check each provider internal docs for a list of supported scopes. Maximum of 100 scopes are allowed, each 4096 characters long.`,
|
|
735
|
-
)
|
|
547
|
+
A user is limited to 10 active sessions at a time by default. [Learn more about session limits](https://appwrite.io/docs/authentication-security#limits).`)
|
|
548
|
+
.requiredOption(`--provider <provider>`, `OAuth2 Provider. Currently, supported providers are: amazon, apple, auth0, authentik, autodesk, bitbucket, bitly, box, dailymotion, discord, disqus, dropbox, etsy, facebook, figma, github, gitlab, google, linkedin, microsoft, notion, oidc, okta, paypal, paypalSandbox, podio, salesforce, slack, spotify, stripe, tradeshift, tradeshiftBox, twitch, wordpress, yahoo, yammer, yandex, zoho, zoom.`)
|
|
549
|
+
.option(`--success <success>`, `URL to redirect back to your app after a successful login attempt. Only URLs from hostnames in your project's platform list are allowed. This requirement helps to prevent an [open redirect](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.`)
|
|
550
|
+
.option(`--failure <failure>`, `URL to redirect back to your app after a failed login attempt. Only URLs from hostnames in your project's platform list are allowed. This requirement helps to prevent an [open redirect](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.`)
|
|
551
|
+
.option(`--scopes [scopes...]`, `A list of custom OAuth2 scopes. Check each provider internal docs for a list of supported scopes. Maximum of 100 scopes are allowed, each 4096 characters long.`)
|
|
736
552
|
.action(
|
|
737
553
|
actionRunner(
|
|
738
|
-
async ({ provider, success, failure, scopes }) =>
|
|
739
|
-
await (
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
provider as OAuthProvider,
|
|
743
|
-
success,
|
|
744
|
-
failure,
|
|
745
|
-
scopes,
|
|
746
|
-
),
|
|
554
|
+
async ({ provider, success, failure, scopes }) => {
|
|
555
|
+
const url = (await getAccountClient()).createOAuth2Token(provider as OAuthProvider, success, failure, scopes);
|
|
556
|
+
if (url) console.log(url);
|
|
557
|
+
},
|
|
747
558
|
),
|
|
748
559
|
);
|
|
749
560
|
|
|
750
561
|
account
|
|
751
562
|
.command(`create-phone-token`)
|
|
752
|
-
.description(
|
|
753
|
-
`Sends the user an SMS with a secret key for creating a session. If the provided user ID has not be registered, a new user will be created. Use the returned user ID and secret and submit a request to the [POST /v1/account/sessions/token](https://appwrite.io/docs/references/cloud/client-web/account#createSession) endpoint to complete the login process. The secret sent to the user's phone is valid for 15 minutes.
|
|
563
|
+
.description(`Sends the user an SMS with a secret key for creating a session. If the provided user ID has not be registered, a new user will be created. Use the returned user ID and secret and submit a request to the [POST /v1/account/sessions/token](https://appwrite.io/docs/references/cloud/client-web/account#createSession) endpoint to complete the login process. The secret sent to the user's phone is valid for 15 minutes.
|
|
754
564
|
|
|
755
|
-
A user is limited to 10 active sessions at a time by default. [Learn more about session limits](https://appwrite.io/docs/authentication-security#limits)
|
|
756
|
-
)
|
|
757
|
-
.requiredOption(
|
|
758
|
-
`--user-id <user-id>`,
|
|
759
|
-
`Unique 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. If the phone number has never been used, a new account is created using the provided userId. Otherwise, if the phone number is already attached to an account, the user ID is ignored.`,
|
|
760
|
-
)
|
|
761
|
-
.requiredOption(
|
|
762
|
-
`--phone <phone>`,
|
|
763
|
-
`Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.`,
|
|
764
|
-
)
|
|
565
|
+
A user is limited to 10 active sessions at a time by default. [Learn more about session limits](https://appwrite.io/docs/authentication-security#limits).`)
|
|
566
|
+
.requiredOption(`--user-id <user-id>`, `Unique 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. If the phone number has never been used, a new account is created using the provided userId. Otherwise, if the phone number is already attached to an account, the user ID is ignored.`)
|
|
567
|
+
.requiredOption(`--phone <phone>`, `Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.`)
|
|
765
568
|
.action(
|
|
766
569
|
actionRunner(
|
|
767
570
|
async ({ userId, phone }) =>
|
|
768
|
-
await (await getAccountClient()).createPhoneToken(userId, phone),
|
|
571
|
+
parse(await (await getAccountClient()).createPhoneToken(userId, phone)),
|
|
769
572
|
),
|
|
770
573
|
);
|
|
771
574
|
|
|
772
575
|
account
|
|
773
576
|
.command(`create-email-verification`)
|
|
774
|
-
.description(
|
|
775
|
-
`Use this endpoint to send a verification message to your user email address to confirm they are the valid owners of that address. Both the **userId** and **secret** arguments will be passed as query parameters to the URL you have provided to be attached to the verification email. The provided URL should redirect the user back to your app and allow you to complete the verification process by verifying both the **userId** and **secret** parameters. Learn more about how to [complete the verification process](https://appwrite.io/docs/references/cloud/client-web/account#updateVerification). The verification link sent to the user's email address is valid for 7 days.
|
|
577
|
+
.description(`Use this endpoint to send a verification message to your user email address to confirm they are the valid owners of that address. Both the **userId** and **secret** arguments will be passed as query parameters to the URL you have provided to be attached to the verification email. The provided URL should redirect the user back to your app and allow you to complete the verification process by verifying both the **userId** and **secret** parameters. Learn more about how to [complete the verification process](https://appwrite.io/docs/references/cloud/client-web/account#updateVerification). The verification link sent to the user's email address is valid for 7 days.
|
|
776
578
|
|
|
777
579
|
Please note that in order to avoid a [Redirect Attack](https://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.md), the only valid redirect URLs are the ones from domains you have set when adding your platforms in the console interface.
|
|
778
|
-
|
|
779
|
-
)
|
|
780
|
-
.
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
580
|
+
`)
|
|
581
|
+
.requiredOption(`--url <url>`, `URL to redirect the user back to your app from the verification email. Only URLs from hostnames in your project platform list are allowed. This requirement helps to prevent an [open redirect](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.`)
|
|
582
|
+
.action(
|
|
583
|
+
actionRunner(
|
|
584
|
+
async ({ url }) =>
|
|
585
|
+
parse(await (await getAccountClient()).createEmailVerification(url)),
|
|
586
|
+
),
|
|
587
|
+
);
|
|
588
|
+
|
|
589
|
+
account
|
|
590
|
+
.command(`create-verification`)
|
|
591
|
+
.description(`Use this endpoint to send a verification message to your user email address to confirm they are the valid owners of that address. Both the **userId** and **secret** arguments will be passed as query parameters to the URL you have provided to be attached to the verification email. The provided URL should redirect the user back to your app and allow you to complete the verification process by verifying both the **userId** and **secret** parameters. Learn more about how to [complete the verification process](https://appwrite.io/docs/references/cloud/client-web/account#updateVerification). The verification link sent to the user's email address is valid for 7 days.
|
|
592
|
+
|
|
593
|
+
Please note that in order to avoid a [Redirect Attack](https://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.md), the only valid redirect URLs are the ones from domains you have set when adding your platforms in the console interface.
|
|
594
|
+
`)
|
|
595
|
+
.requiredOption(`--url <url>`, `URL to redirect the user back to your app from the verification email. Only URLs from hostnames in your project platform list are allowed. This requirement helps to prevent an [open redirect](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.`)
|
|
784
596
|
.action(
|
|
785
597
|
actionRunner(
|
|
786
598
|
async ({ url }) =>
|
|
787
|
-
await (await getAccountClient()).
|
|
599
|
+
parse(await (await getAccountClient()).createVerification(url)),
|
|
788
600
|
),
|
|
789
601
|
);
|
|
790
602
|
|
|
791
603
|
account
|
|
792
604
|
.command(`update-email-verification`)
|
|
793
|
-
.description(
|
|
794
|
-
|
|
795
|
-
)
|
|
605
|
+
.description(`Use this endpoint to complete the user email verification process. Use both the **userId** and **secret** parameters that were attached to your app URL to verify the user email ownership. If confirmed this route will return a 200 status code.`)
|
|
606
|
+
.requiredOption(`--user-id <user-id>`, `User ID.`)
|
|
607
|
+
.requiredOption(`--secret <secret>`, `Valid verification token.`)
|
|
608
|
+
.action(
|
|
609
|
+
actionRunner(
|
|
610
|
+
async ({ userId, secret }) =>
|
|
611
|
+
parse(await (await getAccountClient()).updateEmailVerification(userId, secret)),
|
|
612
|
+
),
|
|
613
|
+
);
|
|
614
|
+
|
|
615
|
+
account
|
|
616
|
+
.command(`update-verification`)
|
|
617
|
+
.description(`Use this endpoint to complete the user email verification process. Use both the **userId** and **secret** parameters that were attached to your app URL to verify the user email ownership. If confirmed this route will return a 200 status code.`)
|
|
796
618
|
.requiredOption(`--user-id <user-id>`, `User ID.`)
|
|
797
619
|
.requiredOption(`--secret <secret>`, `Valid verification token.`)
|
|
798
620
|
.action(
|
|
799
621
|
actionRunner(
|
|
800
622
|
async ({ userId, secret }) =>
|
|
801
|
-
await (
|
|
802
|
-
await getAccountClient()
|
|
803
|
-
).updateEmailVerification(userId, secret),
|
|
623
|
+
parse(await (await getAccountClient()).updateVerification(userId, secret)),
|
|
804
624
|
),
|
|
805
625
|
);
|
|
806
626
|
|
|
807
627
|
account
|
|
808
628
|
.command(`create-phone-verification`)
|
|
809
|
-
.description(
|
|
810
|
-
`Use this endpoint to send a verification SMS to the currently logged in user. This endpoint is meant for use after updating a user's phone number using the [accountUpdatePhone](https://appwrite.io/docs/references/cloud/client-web/account#updatePhone) endpoint. Learn more about how to [complete the verification process](https://appwrite.io/docs/references/cloud/client-web/account#updatePhoneVerification). The verification code sent to the user's phone number is valid for 15 minutes.`,
|
|
811
|
-
)
|
|
629
|
+
.description(`Use this endpoint to send a verification SMS to the currently logged in user. This endpoint is meant for use after updating a user's phone number using the [accountUpdatePhone](https://appwrite.io/docs/references/cloud/client-web/account#updatePhone) endpoint. Learn more about how to [complete the verification process](https://appwrite.io/docs/references/cloud/client-web/account#updatePhoneVerification). The verification code sent to the user's phone number is valid for 15 minutes.`)
|
|
812
630
|
.action(
|
|
813
631
|
actionRunner(
|
|
814
|
-
async () => await (await getAccountClient()).createPhoneVerification(),
|
|
632
|
+
async () => parse(await (await getAccountClient()).createPhoneVerification()),
|
|
815
633
|
),
|
|
816
634
|
);
|
|
817
635
|
|
|
818
636
|
account
|
|
819
637
|
.command(`update-phone-verification`)
|
|
820
|
-
.description(
|
|
821
|
-
`Use this endpoint to complete the user phone verification process. Use the **userId** and **secret** that were sent to your user's phone number to verify the user email ownership. If confirmed this route will return a 200 status code.`,
|
|
822
|
-
)
|
|
638
|
+
.description(`Use this endpoint to complete the user phone verification process. Use the **userId** and **secret** that were sent to your user's phone number to verify the user email ownership. If confirmed this route will return a 200 status code.`)
|
|
823
639
|
.requiredOption(`--user-id <user-id>`, `User ID.`)
|
|
824
640
|
.requiredOption(`--secret <secret>`, `Valid verification token.`)
|
|
825
641
|
.action(
|
|
826
642
|
actionRunner(
|
|
827
643
|
async ({ userId, secret }) =>
|
|
828
|
-
await (
|
|
829
|
-
await getAccountClient()
|
|
830
|
-
).updatePhoneVerification(userId, secret),
|
|
644
|
+
parse(await (await getAccountClient()).updatePhoneVerification(userId, secret)),
|
|
831
645
|
),
|
|
832
646
|
);
|
|
647
|
+
|