@appconda/nextjs 1.0.12
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/autoclose.yml +11 -0
- package/.github/workflows/publish.yml +42 -0
- package/.travis.yml +32 -0
- package/CHANGELOG.md +1 -0
- package/LICENSE +12 -0
- package/README.md +0 -0
- package/dist/cjs/sdk.js +10608 -0
- package/dist/cjs/sdk.js.map +1 -0
- package/dist/esm/sdk.js +10589 -0
- package/dist/esm/sdk.js.map +1 -0
- package/dist/iife/sdk.js +10609 -0
- package/docs/examples/account/create-anonymous-session.md +11 -0
- package/docs/examples/account/create-email-password-session.md +14 -0
- package/docs/examples/account/create-email-token.md +15 -0
- package/docs/examples/account/create-j-w-t.md +11 -0
- package/docs/examples/account/create-magic-u-r-l-token.md +16 -0
- package/docs/examples/account/create-mfa-authenticator.md +13 -0
- package/docs/examples/account/create-mfa-challenge.md +13 -0
- package/docs/examples/account/create-mfa-recovery-codes.md +11 -0
- package/docs/examples/account/create-o-auth2session.md +15 -0
- package/docs/examples/account/create-o-auth2token.md +15 -0
- package/docs/examples/account/create-phone-token.md +14 -0
- package/docs/examples/account/create-phone-verification.md +11 -0
- package/docs/examples/account/create-push-target.md +15 -0
- package/docs/examples/account/create-recovery.md +14 -0
- package/docs/examples/account/create-session.md +14 -0
- package/docs/examples/account/create-verification.md +13 -0
- package/docs/examples/account/create.md +16 -0
- package/docs/examples/account/delete-identity.md +13 -0
- package/docs/examples/account/delete-mfa-authenticator.md +13 -0
- package/docs/examples/account/delete-push-target.md +13 -0
- package/docs/examples/account/delete-session.md +13 -0
- package/docs/examples/account/delete-sessions.md +11 -0
- package/docs/examples/account/delete.md +11 -0
- package/docs/examples/account/get-mfa-recovery-codes.md +11 -0
- package/docs/examples/account/get-prefs.md +11 -0
- package/docs/examples/account/get-session.md +13 -0
- package/docs/examples/account/get.md +11 -0
- package/docs/examples/account/list-identities.md +13 -0
- package/docs/examples/account/list-logs.md +13 -0
- package/docs/examples/account/list-mfa-factors.md +11 -0
- package/docs/examples/account/list-sessions.md +11 -0
- package/docs/examples/account/update-email.md +14 -0
- package/docs/examples/account/update-m-f-a.md +13 -0
- package/docs/examples/account/update-magic-u-r-l-session.md +14 -0
- package/docs/examples/account/update-mfa-authenticator.md +14 -0
- package/docs/examples/account/update-mfa-challenge.md +14 -0
- package/docs/examples/account/update-mfa-recovery-codes.md +11 -0
- package/docs/examples/account/update-name.md +13 -0
- package/docs/examples/account/update-password.md +14 -0
- package/docs/examples/account/update-phone-session.md +14 -0
- package/docs/examples/account/update-phone-verification.md +14 -0
- package/docs/examples/account/update-phone.md +14 -0
- package/docs/examples/account/update-prefs.md +13 -0
- package/docs/examples/account/update-push-target.md +14 -0
- package/docs/examples/account/update-recovery.md +15 -0
- package/docs/examples/account/update-session.md +13 -0
- package/docs/examples/account/update-status.md +11 -0
- package/docs/examples/account/update-verification.md +14 -0
- package/docs/examples/assistant/chat.md +13 -0
- package/docs/examples/avatars/get-browser.md +16 -0
- package/docs/examples/avatars/get-credit-card.md +16 -0
- package/docs/examples/avatars/get-favicon.md +13 -0
- package/docs/examples/avatars/get-flag.md +16 -0
- package/docs/examples/avatars/get-image.md +15 -0
- package/docs/examples/avatars/get-initials.md +16 -0
- package/docs/examples/avatars/get-q-r.md +16 -0
- package/docs/examples/console/variables.md +11 -0
- package/docs/examples/databases/create-boolean-attribute.md +18 -0
- package/docs/examples/databases/create-collection.md +18 -0
- package/docs/examples/databases/create-datetime-attribute.md +18 -0
- package/docs/examples/databases/create-document.md +17 -0
- package/docs/examples/databases/create-email-attribute.md +18 -0
- package/docs/examples/databases/create-enum-attribute.md +19 -0
- package/docs/examples/databases/create-float-attribute.md +20 -0
- package/docs/examples/databases/create-index.md +18 -0
- package/docs/examples/databases/create-integer-attribute.md +20 -0
- package/docs/examples/databases/create-ip-attribute.md +18 -0
- package/docs/examples/databases/create-relationship-attribute.md +20 -0
- package/docs/examples/databases/create-string-attribute.md +20 -0
- package/docs/examples/databases/create-url-attribute.md +18 -0
- package/docs/examples/databases/create.md +15 -0
- package/docs/examples/databases/delete-attribute.md +15 -0
- package/docs/examples/databases/delete-collection.md +14 -0
- package/docs/examples/databases/delete-document.md +15 -0
- package/docs/examples/databases/delete-index.md +15 -0
- package/docs/examples/databases/delete.md +13 -0
- package/docs/examples/databases/get-attribute.md +15 -0
- package/docs/examples/databases/get-collection-usage.md +15 -0
- package/docs/examples/databases/get-collection.md +14 -0
- package/docs/examples/databases/get-database-usage.md +14 -0
- package/docs/examples/databases/get-document.md +16 -0
- package/docs/examples/databases/get-index.md +15 -0
- package/docs/examples/databases/get-usage.md +13 -0
- package/docs/examples/databases/get.md +13 -0
- package/docs/examples/databases/list-attributes.md +15 -0
- package/docs/examples/databases/list-collection-logs.md +15 -0
- package/docs/examples/databases/list-collections.md +15 -0
- package/docs/examples/databases/list-document-logs.md +16 -0
- package/docs/examples/databases/list-documents.md +15 -0
- package/docs/examples/databases/list-indexes.md +15 -0
- package/docs/examples/databases/list-logs.md +14 -0
- package/docs/examples/databases/list.md +14 -0
- package/docs/examples/databases/update-boolean-attribute.md +17 -0
- package/docs/examples/databases/update-collection.md +18 -0
- package/docs/examples/databases/update-datetime-attribute.md +17 -0
- package/docs/examples/databases/update-document.md +17 -0
- package/docs/examples/databases/update-email-attribute.md +17 -0
- package/docs/examples/databases/update-enum-attribute.md +18 -0
- package/docs/examples/databases/update-float-attribute.md +19 -0
- package/docs/examples/databases/update-integer-attribute.md +19 -0
- package/docs/examples/databases/update-ip-attribute.md +17 -0
- package/docs/examples/databases/update-relationship-attribute.md +16 -0
- package/docs/examples/databases/update-string-attribute.md +17 -0
- package/docs/examples/databases/update-url-attribute.md +17 -0
- package/docs/examples/databases/update.md +15 -0
- package/docs/examples/functions/create-build.md +15 -0
- package/docs/examples/functions/create-deployment.md +17 -0
- package/docs/examples/functions/create-execution.md +19 -0
- package/docs/examples/functions/create-variable.md +15 -0
- package/docs/examples/functions/create.md +34 -0
- package/docs/examples/functions/delete-deployment.md +14 -0
- package/docs/examples/functions/delete-execution.md +14 -0
- package/docs/examples/functions/delete-variable.md +14 -0
- package/docs/examples/functions/delete.md +13 -0
- package/docs/examples/functions/get-deployment-download.md +14 -0
- package/docs/examples/functions/get-deployment.md +14 -0
- package/docs/examples/functions/get-execution.md +14 -0
- package/docs/examples/functions/get-function-usage.md +14 -0
- package/docs/examples/functions/get-template.md +13 -0
- package/docs/examples/functions/get-usage.md +13 -0
- package/docs/examples/functions/get-variable.md +14 -0
- package/docs/examples/functions/get.md +13 -0
- package/docs/examples/functions/list-deployments.md +15 -0
- package/docs/examples/functions/list-executions.md +15 -0
- package/docs/examples/functions/list-runtimes.md +11 -0
- package/docs/examples/functions/list-specifications.md +11 -0
- package/docs/examples/functions/list-templates.md +16 -0
- package/docs/examples/functions/list-variables.md +13 -0
- package/docs/examples/functions/list.md +14 -0
- package/docs/examples/functions/update-deployment-build.md +14 -0
- package/docs/examples/functions/update-deployment.md +14 -0
- package/docs/examples/functions/update-variable.md +16 -0
- package/docs/examples/functions/update.md +30 -0
- package/docs/examples/graphql/mutation.md +13 -0
- package/docs/examples/graphql/query.md +13 -0
- package/docs/examples/health/get-antivirus.md +11 -0
- package/docs/examples/health/get-cache.md +11 -0
- package/docs/examples/health/get-certificate.md +13 -0
- package/docs/examples/health/get-d-b.md +11 -0
- package/docs/examples/health/get-failed-jobs.md +14 -0
- package/docs/examples/health/get-pub-sub.md +11 -0
- package/docs/examples/health/get-queue-builds.md +13 -0
- package/docs/examples/health/get-queue-certificates.md +13 -0
- package/docs/examples/health/get-queue-databases.md +14 -0
- package/docs/examples/health/get-queue-deletes.md +13 -0
- package/docs/examples/health/get-queue-functions.md +13 -0
- package/docs/examples/health/get-queue-logs.md +13 -0
- package/docs/examples/health/get-queue-mails.md +13 -0
- package/docs/examples/health/get-queue-messaging.md +13 -0
- package/docs/examples/health/get-queue-migrations.md +13 -0
- package/docs/examples/health/get-queue-usage-dump.md +13 -0
- package/docs/examples/health/get-queue-usage.md +13 -0
- package/docs/examples/health/get-queue-webhooks.md +13 -0
- package/docs/examples/health/get-queue.md +11 -0
- package/docs/examples/health/get-storage-local.md +11 -0
- package/docs/examples/health/get-storage.md +11 -0
- package/docs/examples/health/get-time.md +11 -0
- package/docs/examples/health/get.md +11 -0
- package/docs/examples/locale/get.md +11 -0
- package/docs/examples/locale/list-codes.md +11 -0
- package/docs/examples/locale/list-continents.md +11 -0
- package/docs/examples/locale/list-countries-e-u.md +11 -0
- package/docs/examples/locale/list-countries-phones.md +11 -0
- package/docs/examples/locale/list-countries.md +11 -0
- package/docs/examples/locale/list-currencies.md +11 -0
- package/docs/examples/locale/list-languages.md +11 -0
- package/docs/examples/messaging/create-apns-provider.md +20 -0
- package/docs/examples/messaging/create-email.md +24 -0
- package/docs/examples/messaging/create-fcm-provider.md +16 -0
- package/docs/examples/messaging/create-mailgun-provider.md +22 -0
- package/docs/examples/messaging/create-msg91provider.md +18 -0
- package/docs/examples/messaging/create-push.md +28 -0
- package/docs/examples/messaging/create-sendgrid-provider.md +20 -0
- package/docs/examples/messaging/create-sms.md +19 -0
- package/docs/examples/messaging/create-smtp-provider.md +26 -0
- package/docs/examples/messaging/create-subscriber.md +15 -0
- package/docs/examples/messaging/create-telesign-provider.md +18 -0
- package/docs/examples/messaging/create-textmagic-provider.md +18 -0
- package/docs/examples/messaging/create-topic.md +15 -0
- package/docs/examples/messaging/create-twilio-provider.md +18 -0
- package/docs/examples/messaging/create-vonage-provider.md +18 -0
- package/docs/examples/messaging/delete-provider.md +13 -0
- package/docs/examples/messaging/delete-subscriber.md +14 -0
- package/docs/examples/messaging/delete-topic.md +13 -0
- package/docs/examples/messaging/delete.md +13 -0
- package/docs/examples/messaging/get-message.md +13 -0
- package/docs/examples/messaging/get-provider.md +13 -0
- package/docs/examples/messaging/get-subscriber.md +14 -0
- package/docs/examples/messaging/get-topic.md +13 -0
- package/docs/examples/messaging/list-message-logs.md +14 -0
- package/docs/examples/messaging/list-messages.md +14 -0
- package/docs/examples/messaging/list-provider-logs.md +14 -0
- package/docs/examples/messaging/list-providers.md +14 -0
- package/docs/examples/messaging/list-subscriber-logs.md +14 -0
- package/docs/examples/messaging/list-subscribers.md +15 -0
- package/docs/examples/messaging/list-targets.md +14 -0
- package/docs/examples/messaging/list-topic-logs.md +14 -0
- package/docs/examples/messaging/list-topics.md +14 -0
- package/docs/examples/messaging/update-apns-provider.md +20 -0
- package/docs/examples/messaging/update-email.md +24 -0
- package/docs/examples/messaging/update-fcm-provider.md +16 -0
- package/docs/examples/messaging/update-mailgun-provider.md +22 -0
- package/docs/examples/messaging/update-msg91provider.md +18 -0
- package/docs/examples/messaging/update-push.md +28 -0
- package/docs/examples/messaging/update-sendgrid-provider.md +20 -0
- package/docs/examples/messaging/update-sms.md +19 -0
- package/docs/examples/messaging/update-smtp-provider.md +26 -0
- package/docs/examples/messaging/update-telesign-provider.md +18 -0
- package/docs/examples/messaging/update-textmagic-provider.md +18 -0
- package/docs/examples/messaging/update-topic.md +15 -0
- package/docs/examples/messaging/update-twilio-provider.md +18 -0
- package/docs/examples/messaging/update-vonage-provider.md +18 -0
- package/docs/examples/migrations/create-appwrite-migration.md +16 -0
- package/docs/examples/migrations/create-firebase-migration.md +14 -0
- package/docs/examples/migrations/create-firebase-o-auth-migration.md +14 -0
- package/docs/examples/migrations/create-n-host-migration.md +20 -0
- package/docs/examples/migrations/create-supabase-migration.md +19 -0
- package/docs/examples/migrations/delete-firebase-auth.md +11 -0
- package/docs/examples/migrations/delete.md +13 -0
- package/docs/examples/migrations/get-appwrite-report.md +16 -0
- package/docs/examples/migrations/get-firebase-report-o-auth.md +14 -0
- package/docs/examples/migrations/get-firebase-report.md +14 -0
- package/docs/examples/migrations/get-n-host-report.md +20 -0
- package/docs/examples/migrations/get-supabase-report.md +19 -0
- package/docs/examples/migrations/get.md +13 -0
- package/docs/examples/migrations/list-firebase-projects.md +11 -0
- package/docs/examples/migrations/list.md +14 -0
- package/docs/examples/migrations/retry.md +13 -0
- package/docs/examples/project/create-variable.md +14 -0
- package/docs/examples/project/delete-variable.md +13 -0
- package/docs/examples/project/get-usage.md +15 -0
- package/docs/examples/project/get-variable.md +13 -0
- package/docs/examples/project/list-variables.md +11 -0
- package/docs/examples/project/update-variable.md +15 -0
- package/docs/examples/projects/create-j-w-t.md +15 -0
- package/docs/examples/projects/create-key.md +16 -0
- package/docs/examples/projects/create-platform.md +18 -0
- package/docs/examples/projects/create-smtp-test.md +22 -0
- package/docs/examples/projects/create-webhook.md +20 -0
- package/docs/examples/projects/create.md +25 -0
- package/docs/examples/projects/delete-email-template.md +15 -0
- package/docs/examples/projects/delete-key.md +14 -0
- package/docs/examples/projects/delete-platform.md +14 -0
- package/docs/examples/projects/delete-sms-template.md +15 -0
- package/docs/examples/projects/delete-webhook.md +14 -0
- package/docs/examples/projects/delete.md +13 -0
- package/docs/examples/projects/get-email-template.md +15 -0
- package/docs/examples/projects/get-key.md +14 -0
- package/docs/examples/projects/get-platform.md +14 -0
- package/docs/examples/projects/get-sms-template.md +15 -0
- package/docs/examples/projects/get-webhook.md +14 -0
- package/docs/examples/projects/get.md +13 -0
- package/docs/examples/projects/list-keys.md +13 -0
- package/docs/examples/projects/list-platforms.md +13 -0
- package/docs/examples/projects/list-webhooks.md +13 -0
- package/docs/examples/projects/list.md +14 -0
- package/docs/examples/projects/update-api-status-all.md +14 -0
- package/docs/examples/projects/update-api-status.md +15 -0
- package/docs/examples/projects/update-auth-duration.md +14 -0
- package/docs/examples/projects/update-auth-limit.md +14 -0
- package/docs/examples/projects/update-auth-password-dictionary.md +14 -0
- package/docs/examples/projects/update-auth-password-history.md +14 -0
- package/docs/examples/projects/update-auth-sessions-limit.md +14 -0
- package/docs/examples/projects/update-auth-status.md +15 -0
- package/docs/examples/projects/update-email-template.md +20 -0
- package/docs/examples/projects/update-key.md +17 -0
- package/docs/examples/projects/update-mock-numbers.md +14 -0
- package/docs/examples/projects/update-o-auth2.md +17 -0
- package/docs/examples/projects/update-personal-data-check.md +14 -0
- package/docs/examples/projects/update-platform.md +18 -0
- package/docs/examples/projects/update-service-status-all.md +14 -0
- package/docs/examples/projects/update-service-status.md +15 -0
- package/docs/examples/projects/update-session-alerts.md +14 -0
- package/docs/examples/projects/update-sms-template.md +16 -0
- package/docs/examples/projects/update-smtp.md +22 -0
- package/docs/examples/projects/update-team.md +14 -0
- package/docs/examples/projects/update-webhook-signature.md +14 -0
- package/docs/examples/projects/update-webhook.md +21 -0
- package/docs/examples/projects/update.md +23 -0
- package/docs/examples/proxy/create-rule.md +15 -0
- package/docs/examples/proxy/delete-rule.md +13 -0
- package/docs/examples/proxy/get-rule.md +13 -0
- package/docs/examples/proxy/list-rules.md +14 -0
- package/docs/examples/proxy/update-rule-verification.md +13 -0
- package/docs/examples/storage/create-bucket.md +22 -0
- package/docs/examples/storage/create-file.md +16 -0
- package/docs/examples/storage/delete-bucket.md +13 -0
- package/docs/examples/storage/delete-file.md +14 -0
- package/docs/examples/storage/get-bucket-usage.md +14 -0
- package/docs/examples/storage/get-bucket.md +13 -0
- package/docs/examples/storage/get-file-download.md +14 -0
- package/docs/examples/storage/get-file-preview.md +25 -0
- package/docs/examples/storage/get-file-view.md +14 -0
- package/docs/examples/storage/get-file.md +14 -0
- package/docs/examples/storage/get-usage.md +13 -0
- package/docs/examples/storage/list-buckets.md +14 -0
- package/docs/examples/storage/list-files.md +15 -0
- package/docs/examples/storage/update-bucket.md +22 -0
- package/docs/examples/storage/update-file.md +16 -0
- package/docs/examples/teams/create-membership.md +19 -0
- package/docs/examples/teams/create.md +15 -0
- package/docs/examples/teams/delete-membership.md +14 -0
- package/docs/examples/teams/delete.md +13 -0
- package/docs/examples/teams/get-membership.md +14 -0
- package/docs/examples/teams/get-prefs.md +13 -0
- package/docs/examples/teams/get.md +13 -0
- package/docs/examples/teams/list-logs.md +14 -0
- package/docs/examples/teams/list-memberships.md +15 -0
- package/docs/examples/teams/list.md +14 -0
- package/docs/examples/teams/update-membership-status.md +16 -0
- package/docs/examples/teams/update-membership.md +15 -0
- package/docs/examples/teams/update-name.md +14 -0
- package/docs/examples/teams/update-prefs.md +14 -0
- package/docs/examples/users/create-argon2user.md +16 -0
- package/docs/examples/users/create-bcrypt-user.md +16 -0
- package/docs/examples/users/create-j-w-t.md +15 -0
- package/docs/examples/users/create-m-d5user.md +16 -0
- package/docs/examples/users/create-mfa-recovery-codes.md +13 -0
- package/docs/examples/users/create-p-h-pass-user.md +16 -0
- package/docs/examples/users/create-s-h-a-user.md +17 -0
- package/docs/examples/users/create-scrypt-modified-user.md +19 -0
- package/docs/examples/users/create-scrypt-user.md +21 -0
- package/docs/examples/users/create-session.md +13 -0
- package/docs/examples/users/create-target.md +18 -0
- package/docs/examples/users/create-token.md +15 -0
- package/docs/examples/users/create.md +17 -0
- package/docs/examples/users/delete-identity.md +13 -0
- package/docs/examples/users/delete-mfa-authenticator.md +14 -0
- package/docs/examples/users/delete-session.md +14 -0
- package/docs/examples/users/delete-sessions.md +13 -0
- package/docs/examples/users/delete-target.md +14 -0
- package/docs/examples/users/delete.md +13 -0
- package/docs/examples/users/get-mfa-recovery-codes.md +13 -0
- package/docs/examples/users/get-prefs.md +13 -0
- package/docs/examples/users/get-target.md +14 -0
- package/docs/examples/users/get-usage.md +13 -0
- package/docs/examples/users/get.md +13 -0
- package/docs/examples/users/list-identities.md +14 -0
- package/docs/examples/users/list-logs.md +14 -0
- package/docs/examples/users/list-memberships.md +13 -0
- package/docs/examples/users/list-mfa-factors.md +13 -0
- package/docs/examples/users/list-sessions.md +13 -0
- package/docs/examples/users/list-targets.md +14 -0
- package/docs/examples/users/list.md +14 -0
- package/docs/examples/users/update-email-verification.md +14 -0
- package/docs/examples/users/update-email.md +14 -0
- package/docs/examples/users/update-labels.md +14 -0
- package/docs/examples/users/update-mfa-recovery-codes.md +13 -0
- package/docs/examples/users/update-mfa.md +14 -0
- package/docs/examples/users/update-name.md +14 -0
- package/docs/examples/users/update-password.md +14 -0
- package/docs/examples/users/update-phone-verification.md +14 -0
- package/docs/examples/users/update-phone.md +14 -0
- package/docs/examples/users/update-prefs.md +14 -0
- package/docs/examples/users/update-status.md +14 -0
- package/docs/examples/users/update-target.md +17 -0
- package/docs/examples/vcs/create-repository-detection.md +15 -0
- package/docs/examples/vcs/create-repository.md +15 -0
- package/docs/examples/vcs/delete-installation.md +13 -0
- package/docs/examples/vcs/get-installation.md +13 -0
- package/docs/examples/vcs/get-repository-contents.md +15 -0
- package/docs/examples/vcs/get-repository.md +14 -0
- package/docs/examples/vcs/list-installations.md +14 -0
- package/docs/examples/vcs/list-repositories.md +14 -0
- package/docs/examples/vcs/list-repository-branches.md +14 -0
- package/docs/examples/vcs/update-external-deployments.md +15 -0
- package/package.json +42 -0
- package/publish.sh +4 -0
- package/rollup.config.js +27 -0
- package/src/Cache/Adapter.ts +11 -0
- package/src/Cache/Adapters/Filesystem.ts +126 -0
- package/src/Cache/Adapters/Memory.ts +57 -0
- package/src/Cache/Adapters/None.ts +36 -0
- package/src/Cache/Adapters/Redis.ts +106 -0
- package/src/Cache/Adapters/Sharding.ts +87 -0
- package/src/Cache/Cache.ts +75 -0
- package/src/Cache/index.ts +5 -0
- package/src/Cache/test.ts +0 -0
- package/src/Services.ts +41 -0
- package/src/client.ts +397 -0
- package/src/decorators/Cache.ts +102 -0
- package/src/decorators/CacheKey.ts +9 -0
- package/src/decorators/Invalidate.ts +68 -0
- package/src/enums/api-service.ts +13 -0
- package/src/enums/api.ts +5 -0
- package/src/enums/auth-method.ts +9 -0
- package/src/enums/authentication-factor.ts +6 -0
- package/src/enums/authenticator-type.ts +3 -0
- package/src/enums/browser.ts +16 -0
- package/src/enums/compression.ts +5 -0
- package/src/enums/credit-card.ts +18 -0
- package/src/enums/database-usage-range.ts +5 -0
- package/src/enums/email-template-locale.ts +133 -0
- package/src/enums/email-template-type.ts +9 -0
- package/src/enums/entities/EntityLimitType.ts +4 -0
- package/src/enums/entities/PropertyAttributeName.ts +27 -0
- package/src/enums/entities/PropertyCondition.ts +8 -0
- package/src/enums/entities/PropertyType.ts +16 -0
- package/src/enums/entities/PropertyValueType.ts +6 -0
- package/src/enums/entities/RowAccess.ts +2 -0
- package/src/enums/entities/ViewFilterCondition.ts +12 -0
- package/src/enums/execution-method.ts +8 -0
- package/src/enums/flag.ts +197 -0
- package/src/enums/function-usage-range.ts +5 -0
- package/src/enums/image-format.ts +7 -0
- package/src/enums/image-gravity.ts +11 -0
- package/src/enums/index-type.ts +5 -0
- package/src/enums/messaging-provider-type.ts +5 -0
- package/src/enums/name.ts +14 -0
- package/src/enums/o-auth-provider copy.ts +41 -0
- package/src/enums/o-auth-provider.ts +41 -0
- package/src/enums/password-hash.ts +13 -0
- package/src/enums/platform-type.ts +17 -0
- package/src/enums/project-usage-range.ts +4 -0
- package/src/enums/region.ts +4 -0
- package/src/enums/relation-mutate.ts +5 -0
- package/src/enums/relationship-type.ts +6 -0
- package/src/enums/resource-type.ts +4 -0
- package/src/enums/runtime.ts +48 -0
- package/src/enums/s-m-t-p-secure.ts +3 -0
- package/src/enums/shared/ApplicationLayout.ts +4 -0
- package/src/enums/shared/Colors.ts +24 -0
- package/src/enums/shared/InputType.ts +6 -0
- package/src/enums/shared/Periodicity.ts +7 -0
- package/src/enums/shared/SvgIcon.ts +37 -0
- package/src/enums/shared/Theme.ts +4 -0
- package/src/enums/sms-template-locale.ts +133 -0
- package/src/enums/sms-template-type.ts +6 -0
- package/src/enums/smtp-encryption.ts +5 -0
- package/src/enums/storage-usage-range.ts +5 -0
- package/src/enums/subscriptions/PricingModel.ts +14 -0
- package/src/enums/subscriptions/SubscriptionBillingPeriod.ts +15 -0
- package/src/enums/subscriptions/SubscriptionFeatureLimitType.ts +16 -0
- package/src/enums/subscriptions/SubscriptionPriceType.ts +10 -0
- package/src/enums/tenants/LinkedAccountStatus.ts +5 -0
- package/src/enums/tenants/TenantUserJoined.ts +6 -0
- package/src/enums/tenants/TenantUserStatus.ts +6 -0
- package/src/enums/tenants/TenantUserType.ts +5 -0
- package/src/enums/user-usage-range.ts +5 -0
- package/src/id.ts +47 -0
- package/src/index.ts +36 -0
- package/src/inputFile.ts +23 -0
- package/src/lib/Registry/Registry.ts +66 -0
- package/src/lib/Registry/index.ts +1 -0
- package/src/models.ts +3339 -0
- package/src/permission.ts +57 -0
- package/src/query.ts +261 -0
- package/src/role.ts +100 -0
- package/src/service-client.ts +29 -0
- package/src/service.ts +30 -0
- package/src/services/account.ts +1643 -0
- package/src/services/applets.ts +75 -0
- package/src/services/avatars.ts +314 -0
- package/src/services/community.ts +102 -0
- package/src/services/configuration.ts +15 -0
- package/src/services/databases.ts +2037 -0
- package/src/services/functions.ts +986 -0
- package/src/services/graphql.ts +75 -0
- package/src/services/health.ts +629 -0
- package/src/services/locale.ts +205 -0
- package/src/services/messaging.ts +2247 -0
- package/src/services/node.ts +15 -0
- package/src/services/permissions.ts +131 -0
- package/src/services/pricing.ts +30 -0
- package/src/services/projects.ts +1901 -0
- package/src/services/roles.ts +101 -0
- package/src/services/schema.ts +65 -0
- package/src/services/storage.ts +576 -0
- package/src/services/subscription.ts +40 -0
- package/src/services/teams.ts +490 -0
- package/src/services/tenant-subscription.ts +93 -0
- package/src/services/tenant.ts +194 -0
- package/src/services/users.ts +1584 -0
- package/tsconfig.json +29 -0
- package/types/Cache/Adapter.d.ts +10 -0
- package/types/Cache/Adapters/Filesystem.d.ts +16 -0
- package/types/Cache/Adapters/Memory.d.ts +18 -0
- package/types/Cache/Adapters/None.d.ts +12 -0
- package/types/Cache/Adapters/Redis.d.ts +14 -0
- package/types/Cache/Adapters/Sharding.d.ts +17 -0
- package/types/Cache/Cache.d.ts +16 -0
- package/types/Cache/index.d.ts +5 -0
- package/types/Cache/test.d.ts +0 -0
- package/types/Services.d.ts +6 -0
- package/types/client.d.ts +141 -0
- package/types/decorators/Cache.d.ts +1 -0
- package/types/decorators/CacheKey.d.ts +1 -0
- package/types/decorators/Invalidate.d.ts +1 -0
- package/types/enums/api-service.d.ts +13 -0
- package/types/enums/api.d.ts +5 -0
- package/types/enums/auth-method.d.ts +9 -0
- package/types/enums/authentication-factor.d.ts +6 -0
- package/types/enums/authenticator-type.d.ts +3 -0
- package/types/enums/browser.d.ts +16 -0
- package/types/enums/compression.d.ts +5 -0
- package/types/enums/credit-card.d.ts +18 -0
- package/types/enums/database-usage-range.d.ts +5 -0
- package/types/enums/email-template-locale.d.ts +133 -0
- package/types/enums/email-template-type.d.ts +9 -0
- package/types/enums/entities/EntityLimitType.d.ts +4 -0
- package/types/enums/entities/PropertyAttributeName.d.ts +27 -0
- package/types/enums/entities/PropertyCondition.d.ts +7 -0
- package/types/enums/entities/PropertyType.d.ts +12 -0
- package/types/enums/entities/PropertyValueType.d.ts +6 -0
- package/types/enums/entities/RowAccess.d.ts +2 -0
- package/types/enums/entities/ViewFilterCondition.d.ts +12 -0
- package/types/enums/execution-method.d.ts +8 -0
- package/types/enums/flag.d.ts +197 -0
- package/types/enums/function-usage-range.d.ts +5 -0
- package/types/enums/image-format.d.ts +7 -0
- package/types/enums/image-gravity.d.ts +11 -0
- package/types/enums/index-type.d.ts +5 -0
- package/types/enums/messaging-provider-type.d.ts +5 -0
- package/types/enums/name.d.ts +14 -0
- package/types/enums/o-auth-provider copy.d.ts +41 -0
- package/types/enums/o-auth-provider.d.ts +41 -0
- package/types/enums/password-hash.d.ts +13 -0
- package/types/enums/platform-type.d.ts +17 -0
- package/types/enums/project-usage-range.d.ts +4 -0
- package/types/enums/region.d.ts +4 -0
- package/types/enums/relation-mutate.d.ts +5 -0
- package/types/enums/relationship-type.d.ts +6 -0
- package/types/enums/resource-type.d.ts +4 -0
- package/types/enums/runtime.d.ts +48 -0
- package/types/enums/s-m-t-p-secure.d.ts +3 -0
- package/types/enums/shared/ApplicationLayout.d.ts +4 -0
- package/types/enums/shared/Colors.d.ts +24 -0
- package/types/enums/shared/InputType.d.ts +6 -0
- package/types/enums/shared/Periodicity.d.ts +7 -0
- package/types/enums/shared/SvgIcon.d.ts +37 -0
- package/types/enums/shared/Theme.d.ts +4 -0
- package/types/enums/sms-template-locale.d.ts +133 -0
- package/types/enums/sms-template-type.d.ts +6 -0
- package/types/enums/smtp-encryption.d.ts +5 -0
- package/types/enums/storage-usage-range.d.ts +5 -0
- package/types/enums/subscriptions/PricingModel.d.ts +11 -0
- package/types/enums/subscriptions/SubscriptionBillingPeriod.d.ts +10 -0
- package/types/enums/subscriptions/SubscriptionFeatureLimitType.d.ts +10 -0
- package/types/enums/subscriptions/SubscriptionPriceType.d.ts +7 -0
- package/types/enums/tenants/LinkedAccountStatus.d.ts +5 -0
- package/types/enums/tenants/TenantUserJoined.d.ts +6 -0
- package/types/enums/tenants/TenantUserStatus.d.ts +6 -0
- package/types/enums/tenants/TenantUserType.d.ts +5 -0
- package/types/enums/user-usage-range.d.ts +5 -0
- package/types/id.d.ts +20 -0
- package/types/index.d.ts +36 -0
- package/types/inputFile.d.ts +6 -0
- package/types/lib/Registry/Registry.d.ts +38 -0
- package/types/lib/Registry/index.d.ts +1 -0
- package/types/models.d.ts +3272 -0
- package/types/permission.d.ts +43 -0
- package/types/query.d.ts +194 -0
- package/types/role.d.ts +70 -0
- package/types/service-client.d.ts +7 -0
- package/types/service.d.ts +11 -0
- package/types/services/account.d.ts +530 -0
- package/types/services/acl.d.ts +28 -0
- package/types/services/applets.d.ts +9 -0
- package/types/services/assistant.d.ts +14 -0
- package/types/services/avatars.d.ts +115 -0
- package/types/services/community.d.ts +19 -0
- package/types/services/configuration.d.ts +5 -0
- package/types/services/console.d.ts +15 -0
- package/types/services/databases.d.ts +613 -0
- package/types/services/functions.d.ts +319 -0
- package/types/services/graphql.d.ts +25 -0
- package/types/services/health.d.ts +231 -0
- package/types/services/locale.d.ts +80 -0
- package/types/services/messaging.d.ts +685 -0
- package/types/services/migrations.d.ts +185 -0
- package/types/services/node.d.ts +5 -0
- package/types/services/permissions.d.ts +20 -0
- package/types/services/pricing.d.ts +15 -0
- package/types/services/project.d.ts +70 -0
- package/types/services/projects.d.ts +542 -0
- package/types/services/proxy.d.ts +59 -0
- package/types/services/roles.d.ts +19 -0
- package/types/services/schema.d.ts +17 -0
- package/types/services/storage.d.ts +189 -0
- package/types/services/subscription-product.d.ts +77 -0
- package/types/services/subscription.d.ts +15 -0
- package/types/services/teams.d.ts +167 -0
- package/types/services/tenant-subscription.d.ts +12 -0
- package/types/services/tenant.d.ts +32 -0
- package/types/services/users.d.ts +499 -0
- package/types/services/vcs.d.ts +108 -0
@@ -0,0 +1,57 @@
|
|
1
|
+
/**
|
2
|
+
* Helper class to generate permission strings for resources.
|
3
|
+
*/
|
4
|
+
export class Permission {
|
5
|
+
/**
|
6
|
+
* Generate read permission string for the provided role.
|
7
|
+
*
|
8
|
+
* @param {string} role
|
9
|
+
* @returns {string}
|
10
|
+
*/
|
11
|
+
static read = (role: string): string => {
|
12
|
+
return `read("${role}")`;
|
13
|
+
}
|
14
|
+
|
15
|
+
/**
|
16
|
+
* Generate write permission string for the provided role.
|
17
|
+
*
|
18
|
+
* This is an alias of update, delete, and possibly create.
|
19
|
+
* Don't use write in combination with update, delete, or create.
|
20
|
+
*
|
21
|
+
* @param {string} role
|
22
|
+
* @returns {string}
|
23
|
+
*/
|
24
|
+
static write = (role: string): string => {
|
25
|
+
return `write("${role}")`;
|
26
|
+
}
|
27
|
+
|
28
|
+
/**
|
29
|
+
* Generate create permission string for the provided role.
|
30
|
+
*
|
31
|
+
* @param {string} role
|
32
|
+
* @returns {string}
|
33
|
+
*/
|
34
|
+
static create = (role: string): string => {
|
35
|
+
return `create("${role}")`;
|
36
|
+
}
|
37
|
+
|
38
|
+
/**
|
39
|
+
* Generate update permission string for the provided role.
|
40
|
+
*
|
41
|
+
* @param {string} role
|
42
|
+
* @returns {string}
|
43
|
+
*/
|
44
|
+
static update = (role: string): string => {
|
45
|
+
return `update("${role}")`;
|
46
|
+
}
|
47
|
+
|
48
|
+
/**
|
49
|
+
* Generate delete permission string for the provided role.
|
50
|
+
*
|
51
|
+
* @param {string} role
|
52
|
+
* @returns {string}
|
53
|
+
*/
|
54
|
+
static delete = (role: string): string => {
|
55
|
+
return `delete("${role}")`;
|
56
|
+
}
|
57
|
+
}
|
package/src/query.ts
ADDED
@@ -0,0 +1,261 @@
|
|
1
|
+
type QueryTypesSingle = string | number | boolean;
|
2
|
+
export type QueryTypesList = string[] | number[] | boolean[] | Query[];
|
3
|
+
export type QueryTypes = QueryTypesSingle | QueryTypesList;
|
4
|
+
type AttributesTypes = string | string[];
|
5
|
+
|
6
|
+
/**
|
7
|
+
* Helper class to generate query strings.
|
8
|
+
*/
|
9
|
+
export class Query {
|
10
|
+
method: string;
|
11
|
+
attribute: AttributesTypes | undefined;
|
12
|
+
values: QueryTypesList | undefined;
|
13
|
+
|
14
|
+
/**
|
15
|
+
* Constructor for Query class.
|
16
|
+
*
|
17
|
+
* @param {string} method
|
18
|
+
* @param {AttributesTypes} attribute
|
19
|
+
* @param {QueryTypes} values
|
20
|
+
*/
|
21
|
+
constructor(
|
22
|
+
method: string,
|
23
|
+
attribute?: AttributesTypes,
|
24
|
+
values?: QueryTypes
|
25
|
+
) {
|
26
|
+
this.method = method;
|
27
|
+
this.attribute = attribute;
|
28
|
+
|
29
|
+
if (values !== undefined) {
|
30
|
+
if (Array.isArray(values)) {
|
31
|
+
this.values = values;
|
32
|
+
} else {
|
33
|
+
this.values = [values] as QueryTypesList;
|
34
|
+
}
|
35
|
+
}
|
36
|
+
}
|
37
|
+
|
38
|
+
/**
|
39
|
+
* Convert the query object to a JSON string.
|
40
|
+
*
|
41
|
+
* @returns {string}
|
42
|
+
*/
|
43
|
+
toString(): string {
|
44
|
+
return JSON.stringify({
|
45
|
+
method: this.method,
|
46
|
+
attribute: this.attribute,
|
47
|
+
values: this.values,
|
48
|
+
});
|
49
|
+
}
|
50
|
+
|
51
|
+
/**
|
52
|
+
* Filter resources where attribute is equal to value.
|
53
|
+
*
|
54
|
+
* @param {string} attribute
|
55
|
+
* @param {QueryTypes} value
|
56
|
+
* @returns {string}
|
57
|
+
*/
|
58
|
+
static equal = (attribute: string, value: QueryTypes): string =>
|
59
|
+
new Query("equal", attribute, value).toString();
|
60
|
+
|
61
|
+
/**
|
62
|
+
* Filter resources where attribute is not equal to value.
|
63
|
+
*
|
64
|
+
* @param {string} attribute
|
65
|
+
* @param {QueryTypes} value
|
66
|
+
* @returns {string}
|
67
|
+
*/
|
68
|
+
static notEqual = (attribute: string, value: QueryTypes): string =>
|
69
|
+
new Query("notEqual", attribute, value).toString();
|
70
|
+
|
71
|
+
/**
|
72
|
+
* Filter resources where attribute is less than value.
|
73
|
+
*
|
74
|
+
* @param {string} attribute
|
75
|
+
* @param {QueryTypes} value
|
76
|
+
* @returns {string}
|
77
|
+
*/
|
78
|
+
static lessThan = (attribute: string, value: QueryTypes): string =>
|
79
|
+
new Query("lessThan", attribute, value).toString();
|
80
|
+
|
81
|
+
/**
|
82
|
+
* Filter resources where attribute is less than or equal to value.
|
83
|
+
*
|
84
|
+
* @param {string} attribute
|
85
|
+
* @param {QueryTypes} value
|
86
|
+
* @returns {string}
|
87
|
+
*/
|
88
|
+
static lessThanEqual = (attribute: string, value: QueryTypes): string =>
|
89
|
+
new Query("lessThanEqual", attribute, value).toString();
|
90
|
+
|
91
|
+
/**
|
92
|
+
* Filter resources where attribute is greater than value.
|
93
|
+
*
|
94
|
+
* @param {string} attribute
|
95
|
+
* @param {QueryTypes} value
|
96
|
+
* @returns {string}
|
97
|
+
*/
|
98
|
+
static greaterThan = (attribute: string, value: QueryTypes): string =>
|
99
|
+
new Query("greaterThan", attribute, value).toString();
|
100
|
+
|
101
|
+
/**
|
102
|
+
* Filter resources where attribute is greater than or equal to value.
|
103
|
+
*
|
104
|
+
* @param {string} attribute
|
105
|
+
* @param {QueryTypes} value
|
106
|
+
* @returns {string}
|
107
|
+
*/
|
108
|
+
static greaterThanEqual = (attribute: string, value: QueryTypes): string =>
|
109
|
+
new Query("greaterThanEqual", attribute, value).toString();
|
110
|
+
|
111
|
+
/**
|
112
|
+
* Filter resources where attribute is null.
|
113
|
+
*
|
114
|
+
* @param {string} attribute
|
115
|
+
* @returns {string}
|
116
|
+
*/
|
117
|
+
static isNull = (attribute: string): string =>
|
118
|
+
new Query("isNull", attribute).toString();
|
119
|
+
|
120
|
+
/**
|
121
|
+
* Filter resources where attribute is not null.
|
122
|
+
*
|
123
|
+
* @param {string} attribute
|
124
|
+
* @returns {string}
|
125
|
+
*/
|
126
|
+
static isNotNull = (attribute: string): string =>
|
127
|
+
new Query("isNotNull", attribute).toString();
|
128
|
+
|
129
|
+
/**
|
130
|
+
* Filter resources where attribute is between start and end (inclusive).
|
131
|
+
*
|
132
|
+
* @param {string} attribute
|
133
|
+
* @param {string | number} start
|
134
|
+
* @param {string | number} end
|
135
|
+
* @returns {string}
|
136
|
+
*/
|
137
|
+
static between = (attribute: string, start: string | number, end: string | number): string =>
|
138
|
+
new Query("between", attribute, [start, end] as QueryTypesList).toString();
|
139
|
+
|
140
|
+
/**
|
141
|
+
* Filter resources where attribute starts with value.
|
142
|
+
*
|
143
|
+
* @param {string} attribute
|
144
|
+
* @param {string} value
|
145
|
+
* @returns {string}
|
146
|
+
*/
|
147
|
+
static startsWith = (attribute: string, value: string): string =>
|
148
|
+
new Query("startsWith", attribute, value).toString();
|
149
|
+
|
150
|
+
/**
|
151
|
+
* Filter resources where attribute ends with value.
|
152
|
+
*
|
153
|
+
* @param {string} attribute
|
154
|
+
* @param {string} value
|
155
|
+
* @returns {string}
|
156
|
+
*/
|
157
|
+
static endsWith = (attribute: string, value: string): string =>
|
158
|
+
new Query("endsWith", attribute, value).toString();
|
159
|
+
|
160
|
+
/**
|
161
|
+
* Specify which attributes should be returned by the API call.
|
162
|
+
*
|
163
|
+
* @param {string[]} attributes
|
164
|
+
* @returns {string}
|
165
|
+
*/
|
166
|
+
static select = (attributes: string[]): string =>
|
167
|
+
new Query("select", undefined, attributes).toString();
|
168
|
+
|
169
|
+
/**
|
170
|
+
* Filter resources by searching attribute for value.
|
171
|
+
* A fulltext index on attribute is required for this query to work.
|
172
|
+
*
|
173
|
+
* @param {string} attribute
|
174
|
+
* @param {string} value
|
175
|
+
* @returns {string}
|
176
|
+
*/
|
177
|
+
static search = (attribute: string, value: string): string =>
|
178
|
+
new Query("search", attribute, value).toString();
|
179
|
+
|
180
|
+
/**
|
181
|
+
* Sort results by attribute descending.
|
182
|
+
*
|
183
|
+
* @param {string} attribute
|
184
|
+
* @returns {string}
|
185
|
+
*/
|
186
|
+
static orderDesc = (attribute: string): string =>
|
187
|
+
new Query("orderDesc", attribute).toString();
|
188
|
+
|
189
|
+
/**
|
190
|
+
* Sort results by attribute ascending.
|
191
|
+
*
|
192
|
+
* @param {string} attribute
|
193
|
+
* @returns {string}
|
194
|
+
*/
|
195
|
+
static orderAsc = (attribute: string): string =>
|
196
|
+
new Query("orderAsc", attribute).toString();
|
197
|
+
|
198
|
+
/**
|
199
|
+
* Return results after documentId.
|
200
|
+
*
|
201
|
+
* @param {string} documentId
|
202
|
+
* @returns {string}
|
203
|
+
*/
|
204
|
+
static cursorAfter = (documentId: string): string =>
|
205
|
+
new Query("cursorAfter", undefined, documentId).toString();
|
206
|
+
|
207
|
+
/**
|
208
|
+
* Return results before documentId.
|
209
|
+
*
|
210
|
+
* @param {string} documentId
|
211
|
+
* @returns {string}
|
212
|
+
*/
|
213
|
+
static cursorBefore = (documentId: string): string =>
|
214
|
+
new Query("cursorBefore", undefined, documentId).toString();
|
215
|
+
|
216
|
+
/**
|
217
|
+
* Return only limit results.
|
218
|
+
*
|
219
|
+
* @param {number} limit
|
220
|
+
* @returns {string}
|
221
|
+
*/
|
222
|
+
static limit = (limit: number): string =>
|
223
|
+
new Query("limit", undefined, limit).toString();
|
224
|
+
|
225
|
+
/**
|
226
|
+
* Filter resources by skipping the first offset results.
|
227
|
+
*
|
228
|
+
* @param {number} offset
|
229
|
+
* @returns {string}
|
230
|
+
*/
|
231
|
+
static offset = (offset: number): string =>
|
232
|
+
new Query("offset", undefined, offset).toString();
|
233
|
+
|
234
|
+
/**
|
235
|
+
* Filter resources where attribute contains the specified value.
|
236
|
+
*
|
237
|
+
* @param {string} attribute
|
238
|
+
* @param {string | string[]} value
|
239
|
+
* @returns {string}
|
240
|
+
*/
|
241
|
+
static contains = (attribute: string, value: string | string[]): string =>
|
242
|
+
new Query("contains", attribute, value).toString();
|
243
|
+
|
244
|
+
/**
|
245
|
+
* Combine multiple queries using logical OR operator.
|
246
|
+
*
|
247
|
+
* @param {string[]} queries
|
248
|
+
* @returns {string}
|
249
|
+
*/
|
250
|
+
static or = (queries: string[]) =>
|
251
|
+
new Query("or", undefined, queries.map((query) => JSON.parse(query))).toString();
|
252
|
+
|
253
|
+
/**
|
254
|
+
* Combine multiple queries using logical AND operator.
|
255
|
+
*
|
256
|
+
* @param {string[]} queries
|
257
|
+
* @returns {string}
|
258
|
+
*/
|
259
|
+
static and = (queries: string[]) =>
|
260
|
+
new Query("and", undefined, queries.map((query) => JSON.parse(query))).toString();
|
261
|
+
}
|
package/src/role.ts
ADDED
@@ -0,0 +1,100 @@
|
|
1
|
+
/**
|
2
|
+
* Helper class to generate role strings for `Permission`.
|
3
|
+
*/
|
4
|
+
export class Role {
|
5
|
+
|
6
|
+
/**
|
7
|
+
* Grants access to anyone.
|
8
|
+
*
|
9
|
+
* This includes authenticated and unauthenticated users.
|
10
|
+
*
|
11
|
+
* @returns {string}
|
12
|
+
*/
|
13
|
+
public static any(): string {
|
14
|
+
return 'any'
|
15
|
+
}
|
16
|
+
|
17
|
+
/**
|
18
|
+
* Grants access to a specific user by user ID.
|
19
|
+
*
|
20
|
+
* You can optionally pass verified or unverified for
|
21
|
+
* `status` to target specific types of users.
|
22
|
+
*
|
23
|
+
* @param {string} id
|
24
|
+
* @param {string} status
|
25
|
+
* @returns {string}
|
26
|
+
*/
|
27
|
+
public static user(id: string, status: string = ''): string {
|
28
|
+
if (status === '') {
|
29
|
+
return `user:${id}`
|
30
|
+
}
|
31
|
+
return `user:${id}/${status}`
|
32
|
+
}
|
33
|
+
|
34
|
+
/**
|
35
|
+
* Grants access to any authenticated or anonymous user.
|
36
|
+
*
|
37
|
+
* You can optionally pass verified or unverified for
|
38
|
+
* `status` to target specific types of users.
|
39
|
+
*
|
40
|
+
* @param {string} status
|
41
|
+
* @returns {string}
|
42
|
+
*/
|
43
|
+
public static users(status: string = ''): string {
|
44
|
+
if (status === '') {
|
45
|
+
return 'users'
|
46
|
+
}
|
47
|
+
return `users/${status}`
|
48
|
+
}
|
49
|
+
|
50
|
+
/**
|
51
|
+
* Grants access to any guest user without a session.
|
52
|
+
*
|
53
|
+
* Authenticated users don't have access to this role.
|
54
|
+
*
|
55
|
+
* @returns {string}
|
56
|
+
*/
|
57
|
+
public static guests(): string {
|
58
|
+
return 'guests'
|
59
|
+
}
|
60
|
+
|
61
|
+
/**
|
62
|
+
* Grants access to a team by team ID.
|
63
|
+
*
|
64
|
+
* You can optionally pass a role for `role` to target
|
65
|
+
* team members with the specified role.
|
66
|
+
*
|
67
|
+
* @param {string} id
|
68
|
+
* @param {string} role
|
69
|
+
* @returns {string}
|
70
|
+
*/
|
71
|
+
public static team(id: string, role: string = ''): string {
|
72
|
+
if (role === '') {
|
73
|
+
return `team:${id}`
|
74
|
+
}
|
75
|
+
return `team:${id}/${role}`
|
76
|
+
}
|
77
|
+
|
78
|
+
/**
|
79
|
+
* Grants access to a specific member of a team.
|
80
|
+
*
|
81
|
+
* When the member is removed from the team, they will
|
82
|
+
* no longer have access.
|
83
|
+
*
|
84
|
+
* @param {string} id
|
85
|
+
* @returns {string}
|
86
|
+
*/
|
87
|
+
public static member(id: string): string {
|
88
|
+
return `member:${id}`
|
89
|
+
}
|
90
|
+
|
91
|
+
/**
|
92
|
+
* Grants access to a user with the specified label.
|
93
|
+
*
|
94
|
+
* @param {string} name
|
95
|
+
* @returns {string}
|
96
|
+
*/
|
97
|
+
public static label(name: string): string {
|
98
|
+
return `label:${name}`
|
99
|
+
}
|
100
|
+
}
|
@@ -0,0 +1,29 @@
|
|
1
|
+
import { Client, Payload } from "./client";
|
2
|
+
|
3
|
+
export abstract class ServiceClient {
|
4
|
+
client: Client;
|
5
|
+
|
6
|
+
|
7
|
+
constructor(client: Client) {
|
8
|
+
this.client = client;
|
9
|
+
}
|
10
|
+
|
11
|
+
protected abstract getServiceName(): string;
|
12
|
+
|
13
|
+
protected async actionCall<T>(actionName: string, payload: Payload): Promise<T> {
|
14
|
+
const apiPath = `/service/registry/${this.getServiceName()}/${actionName}`;
|
15
|
+
|
16
|
+
const uri = new URL(this.client.config.endpoint + apiPath);
|
17
|
+
|
18
|
+
const apiHeaders: { [header: string]: string } = {
|
19
|
+
'content-type': 'application/json',
|
20
|
+
}
|
21
|
+
|
22
|
+
return await this.client.call(
|
23
|
+
'post',
|
24
|
+
uri,
|
25
|
+
apiHeaders,
|
26
|
+
payload,
|
27
|
+
);
|
28
|
+
}
|
29
|
+
}
|
package/src/service.ts
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
import { Client } from './client';
|
2
|
+
import type { Payload } from './client';
|
3
|
+
|
4
|
+
export class Service {
|
5
|
+
/**
|
6
|
+
* The size for chunked uploads in bytes.
|
7
|
+
*/
|
8
|
+
static CHUNK_SIZE = 5*1024*1024; // 5MB
|
9
|
+
|
10
|
+
client: Client;
|
11
|
+
|
12
|
+
constructor(client: Client) {
|
13
|
+
this.client = client;
|
14
|
+
}
|
15
|
+
|
16
|
+
static flatten(data: Payload, prefix = ''): Payload {
|
17
|
+
let output: Payload = {};
|
18
|
+
|
19
|
+
for (const [key, value] of Object.entries(data)) {
|
20
|
+
let finalKey = prefix ? prefix + '[' + key +']' : key;
|
21
|
+
if (Array.isArray(value)) {
|
22
|
+
output = { ...output, ...Service.flatten(value, finalKey) };
|
23
|
+
} else {
|
24
|
+
output[finalKey] = value;
|
25
|
+
}
|
26
|
+
}
|
27
|
+
|
28
|
+
return output;
|
29
|
+
}
|
30
|
+
}
|