chirag-appwrite-cli 0.2.0 → 0.3.0
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 +1 -190
- package/Formula/appwrite.rb +3 -3
- package/LICENSE.md +1 -12
- package/README.md +18 -185
- package/cli.ts +162 -0
- package/dist/bundle.cjs +74100 -86261
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +149 -0
- package/dist/cli.js.map +1 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -144
- package/dist/index.js.map +1 -1
- package/dist/lib/client.d.ts.map +1 -1
- package/dist/lib/client.js +8 -7
- package/dist/lib/client.js.map +1 -1
- package/dist/lib/commands/config.d.ts +23 -12
- package/dist/lib/commands/config.d.ts.map +1 -1
- package/dist/lib/commands/config.js +17 -6
- package/dist/lib/commands/config.js.map +1 -1
- package/dist/lib/commands/generate.d.ts +6 -0
- package/dist/lib/commands/generate.d.ts.map +1 -0
- package/dist/lib/commands/generate.js +53 -0
- package/dist/lib/commands/generate.js.map +1 -0
- package/dist/lib/commands/generators/databases.d.ts +25 -0
- package/dist/lib/commands/generators/databases.d.ts.map +1 -0
- package/dist/lib/commands/generators/databases.js +405 -0
- package/dist/lib/commands/generators/databases.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.map +1 -1
- package/dist/lib/commands/pull.js +181 -155
- package/dist/lib/commands/pull.js.map +1 -1
- package/dist/lib/commands/push.d.ts +32 -4
- package/dist/lib/commands/push.d.ts.map +1 -1
- package/dist/lib/commands/push.js +272 -106
- 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 +8 -6
- package/dist/lib/commands/schema.d.ts.map +1 -1
- package/dist/lib/commands/schema.js +20 -9
- package/dist/lib/commands/schema.js.map +1 -1
- 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 +71 -65
- 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 +40 -18
- 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 +8 -7
- package/dist/lib/commands/update.js.map +1 -1
- package/dist/lib/commands/utils/attributes.d.ts +2 -1
- package/dist/lib/commands/utils/attributes.d.ts.map +1 -1
- package/dist/lib/commands/utils/attributes.js +32 -34
- package/dist/lib/commands/utils/attributes.js.map +1 -1
- package/dist/lib/commands/utils/deployment.d.ts.map +1 -1
- package/dist/lib/commands/utils/deployment.js +3 -2
- package/dist/lib/commands/utils/deployment.js.map +1 -1
- package/dist/lib/commands/utils/pools.d.ts.map +1 -1
- package/dist/lib/commands/utils/pools.js +7 -6
- package/dist/lib/commands/utils/pools.js.map +1 -1
- package/dist/lib/config.d.ts +1 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +45 -4
- 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.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 +2 -0
- package/dist/lib/questions.d.ts.map +1 -1
- package/dist/lib/questions.js +34 -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/utils.d.ts +3 -0
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +29 -2
- package/dist/lib/utils.js.map +1 -1
- package/dist/package.json +12 -12
- 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-labels.md +3 -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 +5 -167
- package/install.ps1 +3 -3
- package/install.sh +3 -3
- package/lib/client.ts +15 -7
- package/lib/commands/config.ts +22 -6
- package/lib/commands/generate.ts +76 -0
- package/lib/commands/generators/databases.ts +508 -0
- package/lib/commands/init.ts +25 -14
- package/lib/commands/pull.ts +245 -193
- package/lib/commands/push.ts +336 -130
- package/lib/commands/run.ts +1 -1
- package/lib/commands/schema.ts +30 -11
- 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 +194 -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 +12 -11
- package/lib/commands/utils/attributes.ts +44 -53
- package/lib/commands/utils/deployment.ts +6 -2
- package/lib/commands/utils/pools.ts +7 -6
- package/lib/config.ts +51 -4
- package/lib/constants.ts +22 -0
- package/lib/emulation/docker.ts +97 -83
- package/lib/parser.ts +16 -11
- package/lib/questions.ts +36 -21
- package/lib/sdks.ts +15 -11
- package/lib/utils.ts +35 -4
- package/package.json +12 -12
- package/scoop/appwrite.config.json +29 -19
- package/.github/workflows/build-verify.yml +0 -71
- package/bun.lock +0 -627
- package/dist/lib/commands/db.d.ts +0 -34
- package/dist/lib/commands/db.d.ts.map +0 -1
- package/dist/lib/commands/db.js +0 -247
- package/dist/lib/commands/db.js.map +0 -1
- 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/dist/sites/profile-website/src/lib/utils.d.ts +0 -4
- package/dist/sites/profile-website/src/lib/utils.d.ts.map +0 -1
- package/dist/sites/profile-website/src/lib/utils.js +0 -32
- package/dist/sites/profile-website/src/lib/utils.js.map +0 -1
- package/dist/sites/profile-website/tailwind.config.d.ts +0 -3
- package/dist/sites/profile-website/tailwind.config.d.ts.map +0 -1
- package/dist/sites/profile-website/tailwind.config.js +0 -110
- package/dist/sites/profile-website/tailwind.config.js.map +0 -1
- package/dist/test.d.ts +0 -2
- package/dist/test.d.ts.map +0 -1
- package/dist/test.js +0 -38
- package/dist/test.js.map +0 -1
- package/lib/commands/db.ts +0 -324
- package/lib/commands/services/avatars.ts +0 -400
- package/lib/commands/services/tablesdb.ts +0 -1928
- package/scripts/generate-commands.ts +0 -539
package/lib/config.ts
CHANGED
|
@@ -22,8 +22,9 @@ import type {
|
|
|
22
22
|
GlobalConfigData,
|
|
23
23
|
} from "./types.js";
|
|
24
24
|
import { createSettingsObject } from "./utils.js";
|
|
25
|
+
import { SDK_TITLE_LOWER } from "./constants.js";
|
|
25
26
|
|
|
26
|
-
const JSONBigInt = JSONbig({
|
|
27
|
+
const JSONBigInt = JSONbig({ useNativeBigInt: true });
|
|
27
28
|
|
|
28
29
|
const KeysVars = new Set(["key", "value"]);
|
|
29
30
|
const KeysSite = new Set([
|
|
@@ -158,6 +159,41 @@ const KeyIndexesColumns = new Set([
|
|
|
158
159
|
"orders",
|
|
159
160
|
]);
|
|
160
161
|
|
|
162
|
+
const CONFIG_KEY_ORDER = [
|
|
163
|
+
"projectId",
|
|
164
|
+
"projectName",
|
|
165
|
+
"endpoint",
|
|
166
|
+
"settings",
|
|
167
|
+
"functions",
|
|
168
|
+
"sites",
|
|
169
|
+
"databases",
|
|
170
|
+
"collections",
|
|
171
|
+
"tablesDB",
|
|
172
|
+
"tables",
|
|
173
|
+
"buckets",
|
|
174
|
+
"teams",
|
|
175
|
+
"topics",
|
|
176
|
+
"messages",
|
|
177
|
+
];
|
|
178
|
+
|
|
179
|
+
function orderConfigKeys<T extends Record<string, any>>(data: T): T {
|
|
180
|
+
const ordered: Record<string, any> = {};
|
|
181
|
+
|
|
182
|
+
for (const key of CONFIG_KEY_ORDER) {
|
|
183
|
+
if (key in data) {
|
|
184
|
+
ordered[key] = data[key];
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
for (const key of Object.keys(data)) {
|
|
189
|
+
if (!(key in ordered)) {
|
|
190
|
+
ordered[key] = data[key];
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
return ordered as T;
|
|
195
|
+
}
|
|
196
|
+
|
|
161
197
|
function whitelistKeys<T = any>(
|
|
162
198
|
value: T,
|
|
163
199
|
keys: Set<string>,
|
|
@@ -306,8 +342,8 @@ class Config<T extends ConfigData = ConfigData> {
|
|
|
306
342
|
}
|
|
307
343
|
|
|
308
344
|
class Local extends Config<ConfigType> {
|
|
309
|
-
static CONFIG_FILE_PATH =
|
|
310
|
-
static CONFIG_FILE_PATH_LEGACY =
|
|
345
|
+
static CONFIG_FILE_PATH = `${SDK_TITLE_LOWER}.config.json`;
|
|
346
|
+
static CONFIG_FILE_PATH_LEGACY = `${SDK_TITLE_LOWER}.json`;
|
|
311
347
|
configDirectoryPath = "";
|
|
312
348
|
|
|
313
349
|
constructor(
|
|
@@ -325,6 +361,17 @@ class Local extends Config<ConfigType> {
|
|
|
325
361
|
this.configDirectoryPath = _path.dirname(absolutePath);
|
|
326
362
|
}
|
|
327
363
|
|
|
364
|
+
write(): void {
|
|
365
|
+
const dir = _path.dirname(this.path);
|
|
366
|
+
if (!fs.existsSync(dir)) {
|
|
367
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
368
|
+
}
|
|
369
|
+
const orderedData = orderConfigKeys(this.data);
|
|
370
|
+
fs.writeFileSync(this.path, JSONBigInt.stringify(orderedData, null, 4), {
|
|
371
|
+
mode: 0o600,
|
|
372
|
+
});
|
|
373
|
+
}
|
|
374
|
+
|
|
328
375
|
static findConfigFile(filename: string): string | null {
|
|
329
376
|
let currentPath = process.cwd();
|
|
330
377
|
|
|
@@ -727,7 +774,7 @@ class Local extends Config<ConfigType> {
|
|
|
727
774
|
}
|
|
728
775
|
|
|
729
776
|
class Global extends Config<GlobalConfigData> {
|
|
730
|
-
static CONFIG_FILE_PATH =
|
|
777
|
+
static CONFIG_FILE_PATH = `.${SDK_TITLE_LOWER}/prefs.json`;
|
|
731
778
|
|
|
732
779
|
static PREFERENCE_CURRENT = "current" as const;
|
|
733
780
|
static PREFERENCE_ENDPOINT = "endpoint" as const;
|
package/lib/constants.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// SDK
|
|
2
|
+
export const SDK_TITLE = 'Appwrite';
|
|
3
|
+
export const SDK_TITLE_LOWER = 'appwrite';
|
|
4
|
+
export const SDK_VERSION = '0.0.0';
|
|
5
|
+
export const SDK_NAME = 'NAME';
|
|
6
|
+
export const SDK_PLATFORM = '';
|
|
7
|
+
export const SDK_LANGUAGE = 'cli';
|
|
8
|
+
export const SDK_LOGO = "\n _ _ _ ___ __ _____\n \/_\\ _ __ _ ____ ___ __(_) |_ ___ \/ __\\ \/ \/ \\_ \\\n \/\/_\\\\| '_ \\| '_ \\ \\ \/\\ \/ \/ '__| | __\/ _ \\ \/ \/ \/ \/ \/ \/\\\/\n \/ _ \\ |_) | |_) \\ V V \/| | | | || __\/ \/ \/___\/ \/___\/\\\/ \/_\n \\_\/ \\_\/ .__\/| .__\/ \\_\/\\_\/ |_| |_|\\__\\___| \\____\/\\____\/\\____\/\n |_| |_|\n\n";
|
|
9
|
+
|
|
10
|
+
// CLI
|
|
11
|
+
export const EXECUTABLE_NAME = 'appwrite';
|
|
12
|
+
|
|
13
|
+
// NPM
|
|
14
|
+
export const NPM_PACKAGE_NAME = 'appwrite-cli';
|
|
15
|
+
export const NPM_REGISTRY_URL = `https://registry.npmjs.org/${NPM_PACKAGE_NAME}/latest`;
|
|
16
|
+
|
|
17
|
+
// GitHub
|
|
18
|
+
export const GITHUB_REPO = 'appwrite/appwrite-cli';
|
|
19
|
+
export const GITHUB_RELEASES_URL = `https://github.com/${GITHUB_REPO}/releases`;
|
|
20
|
+
|
|
21
|
+
// API
|
|
22
|
+
export const DEFAULT_ENDPOINT = 'https://cloud.appwrite.io/v1';
|
package/lib/emulation/docker.ts
CHANGED
|
@@ -78,107 +78,121 @@ export async function dockerBuild(
|
|
|
78
78
|
fs.mkdirSync(tmpBuildPath, { recursive: true });
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
81
|
+
let killInterval: ReturnType<typeof setInterval> | undefined;
|
|
82
|
+
|
|
83
|
+
try {
|
|
84
|
+
for (const f of files) {
|
|
85
|
+
const filePath = path.join(tmpBuildPath, f);
|
|
86
|
+
const fileDir = path.dirname(filePath);
|
|
87
|
+
if (!fs.existsSync(fileDir)) {
|
|
88
|
+
fs.mkdirSync(fileDir, { recursive: true });
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
const sourcePath = path.join(functionDir, f);
|
|
92
|
+
fs.copyFileSync(sourcePath, filePath);
|
|
86
93
|
}
|
|
87
94
|
|
|
88
|
-
const
|
|
89
|
-
|
|
90
|
-
|
|
95
|
+
const params: string[] = ["run"];
|
|
96
|
+
params.push("--name", id);
|
|
97
|
+
params.push("-v", `${tmpBuildPath}/:/mnt/code:rw`);
|
|
98
|
+
params.push("-e", "OPEN_RUNTIMES_ENV=development");
|
|
99
|
+
params.push("-e", "OPEN_RUNTIMES_SECRET=");
|
|
100
|
+
params.push("-e", `OPEN_RUNTIMES_ENTRYPOINT=${func.entrypoint}`);
|
|
91
101
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
params.push("-e", "OPEN_RUNTIMES_ENV=development");
|
|
96
|
-
params.push("-e", "OPEN_RUNTIMES_SECRET=");
|
|
97
|
-
params.push("-e", `OPEN_RUNTIMES_ENTRYPOINT=${func.entrypoint}`);
|
|
102
|
+
for (const k of Object.keys(variables)) {
|
|
103
|
+
params.push("-e", `${k}=${variables[k]}`);
|
|
104
|
+
}
|
|
98
105
|
|
|
99
|
-
|
|
100
|
-
params.push("-e", `${k}=${variables[k]}`);
|
|
101
|
-
}
|
|
106
|
+
params.push(imageName, "sh", "-c", `helpers/build.sh "${func.commands}"`);
|
|
102
107
|
|
|
103
|
-
|
|
108
|
+
const buildProcess = childProcess.spawn("docker", params, {
|
|
109
|
+
stdio: "pipe",
|
|
110
|
+
cwd: functionDir,
|
|
111
|
+
env: {
|
|
112
|
+
...process.env,
|
|
113
|
+
DOCKER_CLI_HINTS: "false",
|
|
114
|
+
},
|
|
115
|
+
});
|
|
104
116
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
env: {
|
|
109
|
-
...process.env,
|
|
110
|
-
DOCKER_CLI_HINTS: "false",
|
|
111
|
-
},
|
|
112
|
-
});
|
|
117
|
+
buildProcess.stdout.on("data", (data) => {
|
|
118
|
+
process.stdout.write(chalk.blackBright(`${data}\n`));
|
|
119
|
+
});
|
|
113
120
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
121
|
+
buildProcess.stderr.on("data", (data) => {
|
|
122
|
+
process.stderr.write(chalk.blackBright(`${data}\n`));
|
|
123
|
+
});
|
|
117
124
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
125
|
+
killInterval = setInterval(() => {
|
|
126
|
+
if (!Queue.isEmpty()) {
|
|
127
|
+
log("Cancelling build ...");
|
|
128
|
+
buildProcess.stdout.destroy();
|
|
129
|
+
buildProcess.stdin.destroy();
|
|
130
|
+
buildProcess.stderr.destroy();
|
|
131
|
+
buildProcess.kill("SIGKILL");
|
|
132
|
+
clearInterval(killInterval);
|
|
133
|
+
}
|
|
134
|
+
}, 100);
|
|
121
135
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
buildProcess.stdout.destroy();
|
|
126
|
-
buildProcess.stdin.destroy();
|
|
127
|
-
buildProcess.stderr.destroy();
|
|
128
|
-
buildProcess.kill("SIGKILL");
|
|
129
|
-
clearInterval(killInterval);
|
|
130
|
-
}
|
|
131
|
-
}, 100);
|
|
136
|
+
await new Promise<void>((res) => {
|
|
137
|
+
buildProcess.on("close", res);
|
|
138
|
+
});
|
|
132
139
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
});
|
|
140
|
+
clearInterval(killInterval);
|
|
141
|
+
killInterval = undefined;
|
|
136
142
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
143
|
+
if (!Queue.isEmpty()) {
|
|
144
|
+
await dockerStop(id);
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
141
147
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
148
|
+
const copyPath = path.join(
|
|
149
|
+
localConfig.getDirname(),
|
|
150
|
+
func.path,
|
|
151
|
+
".appwrite",
|
|
152
|
+
"build.tar.gz",
|
|
153
|
+
);
|
|
154
|
+
const copyDir = path.dirname(copyPath);
|
|
155
|
+
if (!fs.existsSync(copyDir)) {
|
|
156
|
+
fs.mkdirSync(copyDir, { recursive: true });
|
|
157
|
+
}
|
|
152
158
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
159
|
+
const copyProcess = childProcess.spawn(
|
|
160
|
+
"docker",
|
|
161
|
+
["cp", `${id}:/mnt/code/code.tar.gz`, copyPath],
|
|
162
|
+
{
|
|
163
|
+
stdio: "pipe",
|
|
164
|
+
cwd: functionDir,
|
|
165
|
+
env: {
|
|
166
|
+
...process.env,
|
|
167
|
+
DOCKER_CLI_HINTS: "false",
|
|
168
|
+
},
|
|
162
169
|
},
|
|
163
|
-
|
|
164
|
-
);
|
|
170
|
+
);
|
|
165
171
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
172
|
+
await new Promise<void>((res) => {
|
|
173
|
+
copyProcess.on("close", res);
|
|
174
|
+
});
|
|
169
175
|
|
|
170
|
-
|
|
176
|
+
await dockerStop(id);
|
|
177
|
+
} finally {
|
|
178
|
+
// Clean up interval if still running
|
|
179
|
+
if (killInterval !== undefined) {
|
|
180
|
+
clearInterval(killInterval);
|
|
181
|
+
}
|
|
171
182
|
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
fs.
|
|
179
|
-
|
|
183
|
+
// Clean up temp files
|
|
184
|
+
const tempPath = path.join(
|
|
185
|
+
localConfig.getDirname(),
|
|
186
|
+
func.path,
|
|
187
|
+
"code.tar.gz",
|
|
188
|
+
);
|
|
189
|
+
if (fs.existsSync(tempPath)) {
|
|
190
|
+
fs.rmSync(tempPath, { force: true });
|
|
191
|
+
}
|
|
180
192
|
|
|
181
|
-
|
|
193
|
+
// Always clean up tmpBuildPath
|
|
194
|
+
fs.rmSync(tmpBuildPath, { recursive: true, force: true });
|
|
195
|
+
}
|
|
182
196
|
}
|
|
183
197
|
|
|
184
198
|
export async function dockerStart(
|
package/lib/parser.ts
CHANGED
|
@@ -8,6 +8,12 @@ import os from "os";
|
|
|
8
8
|
import { Client } from "@appwrite.io/console";
|
|
9
9
|
import { isCloud } from "./utils.js";
|
|
10
10
|
import type { CliConfig } from "./types.js";
|
|
11
|
+
import {
|
|
12
|
+
SDK_VERSION,
|
|
13
|
+
SDK_TITLE,
|
|
14
|
+
SDK_LOGO,
|
|
15
|
+
EXECUTABLE_NAME,
|
|
16
|
+
} from "./constants.js";
|
|
11
17
|
|
|
12
18
|
const cliConfig: CliConfig = {
|
|
13
19
|
verbose: false,
|
|
@@ -128,8 +134,8 @@ export const parseError = (err: Error): void => {
|
|
|
128
134
|
// Silently fail
|
|
129
135
|
}
|
|
130
136
|
|
|
131
|
-
const version =
|
|
132
|
-
const stepsToReproduce = `Running
|
|
137
|
+
const version = SDK_VERSION;
|
|
138
|
+
const stepsToReproduce = `Running \`${EXECUTABLE_NAME} ${(cliConfig.reportData as any).data.args.join(" ")}\``;
|
|
133
139
|
const yourEnvironment = `CLI version: ${version}\nOperation System: ${os.type()}\nAppwrite version: ${appwriteVersion}\nIs Cloud: ${isCloud()}`;
|
|
134
140
|
|
|
135
141
|
const stack = "```\n" + (err.stack || err.message) + "\n```";
|
|
@@ -226,8 +232,7 @@ export const error = (message?: string): void => {
|
|
|
226
232
|
console.error(`${chalk.red.bold("✗ Error:")} ${chalk.red(message ?? "")}`);
|
|
227
233
|
};
|
|
228
234
|
|
|
229
|
-
export const logo =
|
|
230
|
-
"\n _ _ _ ___ __ _____\n \/_\\ _ __ _ ____ ___ __(_) |_ ___ \/ __\\ \/ \/ \\_ \\\n \/\/_\\\\| '_ \\| '_ \\ \\ \/\\ \/ \/ '__| | __\/ _ \\ \/ \/ \/ \/ \/ \/\\\/\n \/ _ \\ |_) | |_) \\ V V \/| | | | || __\/ \/ \/___\/ \/___\/\\\/ \/_\n \\_\/ \\_\/ .__\/| .__\/ \\_\/\\_\/ |_| |_|\\__\\___| \\____\/\\____\/\\____\/\n |_| |_|\n\n";
|
|
235
|
+
export const logo = SDK_LOGO;
|
|
231
236
|
|
|
232
237
|
export const commandDescriptions: Record<string, string> = {
|
|
233
238
|
account: `The account command allows you to authenticate and manage a user account.`,
|
|
@@ -235,25 +240,25 @@ export const commandDescriptions: Record<string, string> = {
|
|
|
235
240
|
avatars: `The avatars command aims to help you complete everyday tasks related to your app image, icons, and avatars.`,
|
|
236
241
|
databases: `(Legacy) The databases command allows you to create structured collections of documents and query and filter lists of documents.`,
|
|
237
242
|
"tables-db": `The tables-db command allows you to create structured tables of columns and query and filter lists of rows.`,
|
|
238
|
-
init: `The init command provides a convenient wrapper for creating and initializing projects, functions, collections, buckets, teams, and messaging-topics in
|
|
243
|
+
init: `The init command provides a convenient wrapper for creating and initializing projects, functions, collections, buckets, teams, and messaging-topics in ${SDK_TITLE}.`,
|
|
239
244
|
push: `The push command provides a convenient wrapper for pushing your functions, collections, buckets, teams, and messaging-topics.`,
|
|
240
245
|
run: `The run command allows you to run the project locally to allow easy development and quick debugging.`,
|
|
241
246
|
functions: `The functions command allows you to view, create, and manage your Cloud Functions.`,
|
|
242
|
-
health: `The health command allows you to both validate and monitor your
|
|
243
|
-
pull: `The pull command helps you pull your
|
|
247
|
+
health: `The health command allows you to both validate and monitor your ${SDK_TITLE} server's health.`,
|
|
248
|
+
pull: `The pull command helps you pull your ${SDK_TITLE} project, functions, collections, buckets, teams, and messaging-topics`,
|
|
244
249
|
locale: `The locale command allows you to customize your app based on your users' location.`,
|
|
245
250
|
sites: `The sites command allows you to view, create and manage your Appwrite Sites.`,
|
|
246
251
|
storage: `The storage command allows you to manage your project files.`,
|
|
247
252
|
teams: `The teams command allows you to group users of your project to enable them to share read and write access to your project resources.`,
|
|
248
|
-
update: `The update command allows you to update the
|
|
253
|
+
update: `The update command allows you to update the ${SDK_TITLE} CLI to the latest version.`,
|
|
249
254
|
users: `The users command allows you to manage your project users.`,
|
|
250
255
|
projects: `The projects command allows you to manage your projects, add platforms, manage API keys, Dev Keys etc.`,
|
|
251
256
|
project: `The project command allows you to manage project related resources like usage, variables, etc.`,
|
|
252
257
|
client: `The client command allows you to configure your CLI`,
|
|
253
258
|
login: `The login command allows you to authenticate and manage a user account.`,
|
|
254
|
-
logout: `The logout command allows you to log out of your
|
|
255
|
-
whoami: `The
|
|
256
|
-
register: `Outputs the link to create an
|
|
259
|
+
logout: `The logout command allows you to log out of your ${SDK_TITLE} account.`,
|
|
260
|
+
whoami: `The whoami command gives information about the currently logged-in user.`,
|
|
261
|
+
register: `Outputs the link to create an ${SDK_TITLE} account.`,
|
|
257
262
|
console: `The console command gives you access to the APIs used by the Appwrite Console.`,
|
|
258
263
|
messaging: `The messaging command allows you to manage topics and targets and send messages.`,
|
|
259
264
|
migrations: `The migrations command allows you to migrate data between services.`,
|
package/lib/questions.ts
CHANGED
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
getSitesService,
|
|
14
14
|
getDatabasesService,
|
|
15
15
|
} from "./services.js";
|
|
16
|
+
import { SDK_TITLE, DEFAULT_ENDPOINT, EXECUTABLE_NAME } from "./constants.js";
|
|
16
17
|
|
|
17
18
|
interface Answers {
|
|
18
19
|
override?: boolean;
|
|
@@ -48,9 +49,9 @@ const whenOverride = (answers: Answers): boolean =>
|
|
|
48
49
|
answers.override === undefined ? true : answers.override;
|
|
49
50
|
|
|
50
51
|
const getIgnores = (runtime: string): string[] => {
|
|
51
|
-
const
|
|
52
|
+
const language = runtime.split("-").slice(0, -1).join("-");
|
|
52
53
|
|
|
53
|
-
switch (
|
|
54
|
+
switch (language) {
|
|
54
55
|
case "cpp":
|
|
55
56
|
return ["build", "CMakeFiles", "CMakeCaches.txt"];
|
|
56
57
|
case "dart":
|
|
@@ -82,9 +83,9 @@ const getIgnores = (runtime: string): string[] => {
|
|
|
82
83
|
};
|
|
83
84
|
|
|
84
85
|
const getEntrypoint = (runtime: string): string | undefined => {
|
|
85
|
-
const
|
|
86
|
+
const language = runtime.split("-").slice(0, -1).join("-");
|
|
86
87
|
|
|
87
|
-
switch (
|
|
88
|
+
switch (language) {
|
|
88
89
|
case "dart":
|
|
89
90
|
return "lib/main.dart";
|
|
90
91
|
case "deno":
|
|
@@ -120,9 +121,9 @@ const getEntrypoint = (runtime: string): string | undefined => {
|
|
|
120
121
|
};
|
|
121
122
|
|
|
122
123
|
const getInstallCommand = (runtime: string): string | undefined => {
|
|
123
|
-
const
|
|
124
|
+
const language = runtime.split("-").slice(0, -1).join("-");
|
|
124
125
|
|
|
125
|
-
switch (
|
|
126
|
+
switch (language) {
|
|
126
127
|
case "dart":
|
|
127
128
|
return "dart pub get";
|
|
128
129
|
case "deno":
|
|
@@ -156,7 +157,7 @@ export const questionsInitProject: Question[] = [
|
|
|
156
157
|
{
|
|
157
158
|
type: "confirm",
|
|
158
159
|
name: "override",
|
|
159
|
-
message: `An
|
|
160
|
+
message: `An ${SDK_TITLE} project ( ${localConfig.getProject()["projectId"]} ) is already associated with the current directory. Would you like to override it?`,
|
|
160
161
|
when() {
|
|
161
162
|
return Object.keys(localConfig.getProject()).length !== 0;
|
|
162
163
|
},
|
|
@@ -233,7 +234,7 @@ export const questionsInitProject: Question[] = [
|
|
|
233
234
|
{
|
|
234
235
|
type: "search-list",
|
|
235
236
|
name: "project",
|
|
236
|
-
message:
|
|
237
|
+
message: `Choose your ${SDK_TITLE} project.`,
|
|
237
238
|
choices: async (answers: Answers) => {
|
|
238
239
|
const queries = [
|
|
239
240
|
JSON.stringify({
|
|
@@ -273,11 +274,10 @@ export const questionsInitProject: Question[] = [
|
|
|
273
274
|
{
|
|
274
275
|
type: "list",
|
|
275
276
|
name: "region",
|
|
276
|
-
message:
|
|
277
|
+
message: `Select your ${SDK_TITLE} Cloud region`,
|
|
277
278
|
choices: async () => {
|
|
278
279
|
let client = await sdkForConsole(true);
|
|
279
|
-
const endpoint =
|
|
280
|
-
globalConfig.getEndpoint() || "https://cloud.appwrite.io/v1";
|
|
280
|
+
const endpoint = globalConfig.getEndpoint() || DEFAULT_ENDPOINT;
|
|
281
281
|
let response = (await client.call(
|
|
282
282
|
"GET",
|
|
283
283
|
new URL(endpoint + "/console/regions"),
|
|
@@ -306,7 +306,7 @@ export const questionsInitProjectAutopull: Question[] = [
|
|
|
306
306
|
{
|
|
307
307
|
type: "confirm",
|
|
308
308
|
name: "autopull",
|
|
309
|
-
message: `Would you like to pull all resources from project you just linked?`,
|
|
309
|
+
message: `Would you like to pull all resources from the project you just linked?`,
|
|
310
310
|
},
|
|
311
311
|
];
|
|
312
312
|
|
|
@@ -348,7 +348,7 @@ export const questionsPullFunctions: Question[] = [
|
|
|
348
348
|
);
|
|
349
349
|
|
|
350
350
|
if (functions.length === 0) {
|
|
351
|
-
throw
|
|
351
|
+
throw `We couldn't find any functions in your ${SDK_TITLE} project`;
|
|
352
352
|
}
|
|
353
353
|
return functions.map((func: any) => {
|
|
354
354
|
return {
|
|
@@ -368,6 +368,14 @@ export const questionsPullFunctionsCode: Question[] = [
|
|
|
368
368
|
},
|
|
369
369
|
];
|
|
370
370
|
|
|
371
|
+
export const questionsPushFunctionsCode: Question[] = [
|
|
372
|
+
{
|
|
373
|
+
type: "confirm",
|
|
374
|
+
name: "override",
|
|
375
|
+
message: "Do you want to create a deployment for your functions?",
|
|
376
|
+
},
|
|
377
|
+
];
|
|
378
|
+
|
|
371
379
|
export const questionsPullSites: Question[] = [
|
|
372
380
|
{
|
|
373
381
|
type: "checkbox",
|
|
@@ -383,7 +391,7 @@ export const questionsPullSites: Question[] = [
|
|
|
383
391
|
);
|
|
384
392
|
|
|
385
393
|
if (sites.length === 0) {
|
|
386
|
-
throw
|
|
394
|
+
throw `We couldn't find any sites in your ${SDK_TITLE} project`;
|
|
387
395
|
}
|
|
388
396
|
return sites.map((site: any) => {
|
|
389
397
|
return {
|
|
@@ -403,6 +411,14 @@ export const questionsPullSitesCode: Question[] = [
|
|
|
403
411
|
},
|
|
404
412
|
];
|
|
405
413
|
|
|
414
|
+
export const questionsPushSitesCode: Question[] = [
|
|
415
|
+
{
|
|
416
|
+
type: "confirm",
|
|
417
|
+
name: "override",
|
|
418
|
+
message: "Do you want to create a deployment for your sites?",
|
|
419
|
+
},
|
|
420
|
+
];
|
|
421
|
+
|
|
406
422
|
export const questionsCreateFunction: Question[] = [
|
|
407
423
|
{
|
|
408
424
|
type: "input",
|
|
@@ -502,7 +518,7 @@ export const questionsCreateBucket: Question[] = [
|
|
|
502
518
|
export const questionsCreateTeam: Question[] = [
|
|
503
519
|
{
|
|
504
520
|
type: "input",
|
|
505
|
-
name: "
|
|
521
|
+
name: "team",
|
|
506
522
|
message: "What would you like to name your team?",
|
|
507
523
|
default: "My Awesome Team",
|
|
508
524
|
},
|
|
@@ -703,7 +719,7 @@ export const questionsLogin: Question[] = [
|
|
|
703
719
|
{
|
|
704
720
|
type: "list",
|
|
705
721
|
name: "method",
|
|
706
|
-
message: "What you like to do?",
|
|
722
|
+
message: "What would you like to do?",
|
|
707
723
|
choices: [
|
|
708
724
|
{ name: "Login to an account", value: "login" },
|
|
709
725
|
{ name: "Switch to an account", value: "select" },
|
|
@@ -771,7 +787,7 @@ export const questionGetEndpoint: Question[] = [
|
|
|
771
787
|
{
|
|
772
788
|
type: "input",
|
|
773
789
|
name: "endpoint",
|
|
774
|
-
message:
|
|
790
|
+
message: `Enter the endpoint of your ${SDK_TITLE} server`,
|
|
775
791
|
default: "http://localhost/v1",
|
|
776
792
|
async validate(value: string) {
|
|
777
793
|
if (!value) {
|
|
@@ -1014,7 +1030,6 @@ export const questionsGetEntrypoint: Question[] = [
|
|
|
1014
1030
|
type: "input",
|
|
1015
1031
|
name: "entrypoint",
|
|
1016
1032
|
message: "Enter the entrypoint",
|
|
1017
|
-
default: null,
|
|
1018
1033
|
validate(value: string) {
|
|
1019
1034
|
if (!value) {
|
|
1020
1035
|
return "Please enter your entrypoint";
|
|
@@ -1062,11 +1077,11 @@ export const questionsListFactors: Question[] = [
|
|
|
1062
1077
|
value: "totp",
|
|
1063
1078
|
},
|
|
1064
1079
|
{
|
|
1065
|
-
name: `Email (Get a security code at your
|
|
1080
|
+
name: `Email (Get a security code at your ${SDK_TITLE} email address)`,
|
|
1066
1081
|
value: "email",
|
|
1067
1082
|
},
|
|
1068
1083
|
{
|
|
1069
|
-
name: `SMS (Get a security code on your
|
|
1084
|
+
name: `SMS (Get a security code on your ${SDK_TITLE} phone number)`,
|
|
1070
1085
|
value: "phone",
|
|
1071
1086
|
},
|
|
1072
1087
|
{
|
|
@@ -1104,7 +1119,7 @@ export const questionsRunFunctions: Question[] = [
|
|
|
1104
1119
|
let functions = localConfig.getFunctions();
|
|
1105
1120
|
if (functions.length === 0) {
|
|
1106
1121
|
throw new Error(
|
|
1107
|
-
|
|
1122
|
+
`No functions found. Use '${EXECUTABLE_NAME} pull functions' to synchronize existing one, or use '${EXECUTABLE_NAME} init function' to create a new one.`,
|
|
1108
1123
|
);
|
|
1109
1124
|
}
|
|
1110
1125
|
let choices = functions.map((func: any, idx: number) => {
|
package/lib/sdks.ts
CHANGED
|
@@ -1,18 +1,24 @@
|
|
|
1
1
|
import { globalConfig, localConfig } from "./config.js";
|
|
2
2
|
import { Client } from "@appwrite.io/console";
|
|
3
3
|
import os from "os";
|
|
4
|
+
import {
|
|
5
|
+
DEFAULT_ENDPOINT,
|
|
6
|
+
EXECUTABLE_NAME,
|
|
7
|
+
SDK_TITLE,
|
|
8
|
+
SDK_VERSION,
|
|
9
|
+
} from "./constants.js";
|
|
4
10
|
|
|
5
11
|
export const sdkForConsole = async (
|
|
6
12
|
requiresAuth: boolean = true,
|
|
7
13
|
): Promise<Client> => {
|
|
8
14
|
const client = new Client();
|
|
9
|
-
const endpoint = globalConfig.getEndpoint() ||
|
|
15
|
+
const endpoint = globalConfig.getEndpoint() || DEFAULT_ENDPOINT;
|
|
10
16
|
const cookie = globalConfig.getCookie();
|
|
11
17
|
const selfSigned = globalConfig.getSelfSigned();
|
|
12
18
|
|
|
13
19
|
if (requiresAuth && cookie === "") {
|
|
14
20
|
throw new Error(
|
|
15
|
-
|
|
21
|
+
`Session not found. Please run \`${EXECUTABLE_NAME} login\` to create a session`,
|
|
16
22
|
);
|
|
17
23
|
}
|
|
18
24
|
|
|
@@ -20,8 +26,8 @@ export const sdkForConsole = async (
|
|
|
20
26
|
"x-sdk-name": "Command Line",
|
|
21
27
|
"x-sdk-platform": "console",
|
|
22
28
|
"x-sdk-language": "cli",
|
|
23
|
-
"x-sdk-version":
|
|
24
|
-
"user-agent": `AppwriteCLI
|
|
29
|
+
"x-sdk-version": SDK_VERSION,
|
|
30
|
+
"user-agent": `AppwriteCLI/${SDK_VERSION} (${os.type()} ${os.version()}; ${os.arch()})`,
|
|
25
31
|
};
|
|
26
32
|
|
|
27
33
|
client
|
|
@@ -38,9 +44,7 @@ export const sdkForProject = async (): Promise<Client> => {
|
|
|
38
44
|
const client = new Client();
|
|
39
45
|
|
|
40
46
|
const endpoint =
|
|
41
|
-
localConfig.getEndpoint() ||
|
|
42
|
-
globalConfig.getEndpoint() ||
|
|
43
|
-
"https://cloud.appwrite.io/v1";
|
|
47
|
+
localConfig.getEndpoint() || globalConfig.getEndpoint() || DEFAULT_ENDPOINT;
|
|
44
48
|
|
|
45
49
|
const project = localConfig.getProject().projectId
|
|
46
50
|
? localConfig.getProject().projectId
|
|
@@ -52,7 +56,7 @@ export const sdkForProject = async (): Promise<Client> => {
|
|
|
52
56
|
|
|
53
57
|
if (!project) {
|
|
54
58
|
throw new Error(
|
|
55
|
-
|
|
59
|
+
`Project is not set. Please run \`${EXECUTABLE_NAME} init project\` to initialize the current directory with an ${SDK_TITLE} project.`,
|
|
56
60
|
);
|
|
57
61
|
}
|
|
58
62
|
|
|
@@ -60,8 +64,8 @@ export const sdkForProject = async (): Promise<Client> => {
|
|
|
60
64
|
"x-sdk-name": "Command Line",
|
|
61
65
|
"x-sdk-platform": "console",
|
|
62
66
|
"x-sdk-language": "cli",
|
|
63
|
-
"x-sdk-version":
|
|
64
|
-
"user-agent": `AppwriteCLI
|
|
67
|
+
"x-sdk-version": SDK_VERSION,
|
|
68
|
+
"user-agent": `AppwriteCLI/${SDK_VERSION} (${os.type()} ${os.version()}; ${os.arch()})`,
|
|
65
69
|
};
|
|
66
70
|
|
|
67
71
|
client
|
|
@@ -79,6 +83,6 @@ export const sdkForProject = async (): Promise<Client> => {
|
|
|
79
83
|
}
|
|
80
84
|
|
|
81
85
|
throw new Error(
|
|
82
|
-
|
|
86
|
+
`Session not found. Please run \`${EXECUTABLE_NAME} login\` to create a session.`,
|
|
83
87
|
);
|
|
84
88
|
};
|