@nlabs/reaktor 0.10.5 → 0.10.6
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/lib/actions/apps.d.ts +1 -0
- package/lib/actions/apps.d.ts.map +1 -0
- package/lib/actions/apps.js +221 -0
- package/lib/actions/connections.d.ts +1 -0
- package/lib/actions/connections.d.ts.map +1 -0
- package/lib/actions/connections.js +62 -0
- package/lib/actions/content.d.ts +1 -0
- package/lib/actions/content.d.ts.map +1 -0
- package/lib/actions/content.js +240 -0
- package/lib/actions/conversations.d.ts +1 -0
- package/lib/actions/conversations.d.ts.map +1 -0
- package/lib/actions/conversations.js +335 -0
- package/lib/actions/dynamodb.d.ts +1 -0
- package/lib/actions/dynamodb.d.ts.map +1 -0
- package/lib/actions/dynamodb.js +119 -0
- package/lib/actions/email.d.ts +1 -0
- package/lib/actions/email.d.ts.map +1 -0
- package/lib/actions/email.js +56 -0
- package/lib/actions/files.d.ts +1 -0
- package/lib/actions/files.d.ts.map +1 -0
- package/lib/actions/files.js +226 -0
- package/lib/actions/groups.d.ts +1 -0
- package/lib/actions/groups.d.ts.map +1 -0
- package/lib/actions/groups.js +267 -0
- package/lib/actions/images.d.ts +1 -0
- package/lib/actions/images.d.ts.map +1 -0
- package/lib/actions/images.js +723 -0
- package/lib/actions/index.d.ts +1 -0
- package/lib/actions/index.d.ts.map +1 -0
- package/lib/actions/index.js +29 -0
- package/lib/actions/ios.d.ts +1 -0
- package/lib/actions/ios.d.ts.map +1 -0
- package/lib/actions/ios.js +230 -0
- package/lib/actions/locations.d.ts +1 -0
- package/lib/actions/locations.d.ts.map +1 -0
- package/lib/actions/locations.js +111 -0
- package/lib/actions/messages.d.ts +1 -0
- package/lib/actions/messages.d.ts.map +1 -0
- package/lib/actions/messages.js +167 -0
- package/lib/actions/notifications.d.ts +3 -2
- package/lib/actions/notifications.d.ts.map +1 -0
- package/lib/actions/notifications.js +37 -0
- package/lib/actions/payments.d.ts +1 -0
- package/lib/actions/payments.d.ts.map +1 -0
- package/lib/actions/payments.js +449 -0
- package/lib/actions/posts.d.ts +1 -0
- package/lib/actions/posts.d.ts.map +1 -0
- package/lib/actions/posts.js +608 -0
- package/lib/actions/profiles.d.ts +1 -0
- package/lib/actions/profiles.d.ts.map +1 -0
- package/lib/actions/profiles.js +58 -0
- package/lib/actions/reactions.d.ts +1 -0
- package/lib/actions/reactions.d.ts.map +1 -0
- package/lib/actions/reactions.js +286 -0
- package/lib/actions/s3.d.ts +1 -0
- package/lib/actions/s3.d.ts.map +1 -0
- package/lib/actions/s3.js +102 -0
- package/lib/actions/search.d.ts +1 -0
- package/lib/actions/search.d.ts.map +1 -0
- package/lib/actions/search.js +81 -0
- package/lib/actions/sms.d.ts +1 -0
- package/lib/actions/sms.d.ts.map +1 -0
- package/lib/actions/sms.js +52 -0
- package/lib/actions/statistics.d.ts +1 -0
- package/lib/actions/statistics.d.ts.map +1 -0
- package/lib/actions/statistics.js +43 -0
- package/lib/actions/subscriptions.d.ts +1 -0
- package/lib/actions/subscriptions.d.ts.map +1 -0
- package/lib/actions/subscriptions.js +202 -0
- package/lib/actions/tags.d.ts +1 -0
- package/lib/actions/tags.d.ts.map +1 -0
- package/lib/actions/tags.js +263 -0
- package/lib/actions/users.d.ts +1 -0
- package/lib/actions/users.d.ts.map +1 -0
- package/lib/actions/users.js +802 -0
- package/lib/actions/videos.d.ts +1 -0
- package/lib/actions/videos.d.ts.map +1 -0
- package/lib/actions/videos.js +423 -0
- package/lib/actions/websockets.d.ts +1 -0
- package/lib/actions/websockets.d.ts.map +1 -0
- package/lib/actions/websockets.js +164 -0
- package/lib/adapters/arangoAdapter.d.ts +1 -0
- package/lib/adapters/arangoAdapter.d.ts.map +1 -0
- package/lib/adapters/arangoAdapter.js +70 -0
- package/lib/adapters/contentAdapter.d.ts +1 -0
- package/lib/adapters/contentAdapter.d.ts.map +1 -0
- package/lib/adapters/contentAdapter.js +108 -0
- package/lib/adapters/fileAdapter.d.ts +1 -0
- package/lib/adapters/fileAdapter.d.ts.map +1 -0
- package/lib/adapters/fileAdapter.js +119 -0
- package/lib/adapters/imageAdapter.d.ts +1 -0
- package/lib/adapters/imageAdapter.d.ts.map +1 -0
- package/lib/adapters/imageAdapter.js +112 -0
- package/lib/adapters/index.d.ts +1 -0
- package/lib/adapters/index.d.ts.map +1 -0
- package/lib/adapters/index.js +11 -0
- package/lib/adapters/messageAdapter.d.ts +1 -0
- package/lib/adapters/messageAdapter.d.ts.map +1 -0
- package/lib/adapters/messageAdapter.js +82 -0
- package/lib/adapters/postAdapter.d.ts +1 -0
- package/lib/adapters/postAdapter.d.ts.map +1 -0
- package/lib/adapters/postAdapter.js +117 -0
- package/lib/adapters/reaktorAdapter.d.ts +1 -0
- package/lib/adapters/reaktorAdapter.d.ts.map +1 -0
- package/lib/adapters/reaktorAdapter.js +59 -0
- package/lib/adapters/tagAdapter.d.ts +1 -0
- package/lib/adapters/tagAdapter.d.ts.map +1 -0
- package/lib/adapters/tagAdapter.js +99 -0
- package/lib/adapters/userAdapter.d.ts +1 -0
- package/lib/adapters/userAdapter.d.ts.map +1 -0
- package/lib/adapters/userAdapter.js +264 -0
- package/lib/config.d.ts +1 -0
- package/lib/config.d.ts.map +1 -0
- package/lib/config.js +161 -0
- package/lib/handlers/graphqlHandler.d.ts +1 -0
- package/lib/handlers/graphqlHandler.d.ts.map +1 -0
- package/lib/handlers/graphqlHandler.js +118 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +18 -0
- package/lib/lambdas/actions/websockets.d.ts +1 -0
- package/lib/lambdas/actions/websockets.d.ts.map +1 -0
- package/lib/lambdas/actions/websockets.js +105 -0
- package/lib/lambdas/authorizer.d.ts +1 -0
- package/lib/lambdas/authorizer.d.ts.map +1 -0
- package/lib/lambdas/authorizer.js +41 -0
- package/lib/lambdas/connection.d.ts +1 -0
- package/lib/lambdas/connection.d.ts.map +1 -0
- package/lib/lambdas/connection.js +85 -0
- package/lib/lambdas/utils/message.d.ts +1 -0
- package/lib/lambdas/utils/message.d.ts.map +1 -0
- package/lib/lambdas/utils/message.js +20 -0
- package/lib/lambdas/utils/websocket.d.ts +1 -0
- package/lib/lambdas/utils/websocket.d.ts.map +1 -0
- package/lib/lambdas/utils/websocket.js +78 -0
- package/lib/mocks/conversation.d.ts +1 -0
- package/lib/mocks/conversation.d.ts.map +1 -0
- package/lib/mocks/conversation.js +10 -0
- package/lib/mocks/file.d.ts +1 -0
- package/lib/mocks/file.d.ts.map +1 -0
- package/lib/mocks/file.js +13 -0
- package/lib/mocks/group.d.ts +1 -0
- package/lib/mocks/group.d.ts.map +1 -0
- package/lib/mocks/group.js +20 -0
- package/lib/mocks/image.d.ts +1 -0
- package/lib/mocks/image.d.ts.map +1 -0
- package/lib/mocks/image.js +17 -0
- package/lib/mocks/post.d.ts +1 -0
- package/lib/mocks/post.d.ts.map +1 -0
- package/lib/mocks/post.js +28 -0
- package/lib/mocks/tag.d.ts +1 -0
- package/lib/mocks/tag.d.ts.map +1 -0
- package/lib/mocks/tag.js +12 -0
- package/lib/mocks/user.d.ts +1 -0
- package/lib/mocks/user.d.ts.map +1 -0
- package/lib/mocks/user.js +61 -0
- package/lib/mocks/video.d.ts +1 -0
- package/lib/mocks/video.d.ts.map +1 -0
- package/lib/mocks/video.js +17 -0
- package/lib/mutations/content.d.ts +1 -0
- package/lib/mutations/content.d.ts.map +1 -0
- package/lib/mutations/content.js +27 -0
- package/lib/mutations/index.d.ts +1 -0
- package/lib/mutations/index.d.ts.map +1 -0
- package/lib/mutations/index.js +29 -0
- package/lib/mutations/locations.d.ts +1 -0
- package/lib/mutations/locations.d.ts.map +1 -0
- package/lib/mutations/locations.js +22 -0
- package/lib/mutations/messages.d.ts +1 -0
- package/lib/mutations/messages.d.ts.map +1 -0
- package/lib/mutations/messages.js +75 -0
- package/lib/mutations/posts.d.ts +1 -0
- package/lib/mutations/posts.d.ts.map +1 -0
- package/lib/mutations/posts.js +31 -0
- package/lib/mutations/profiles.d.ts +1 -0
- package/lib/mutations/profiles.d.ts.map +1 -0
- package/lib/mutations/profiles.js +78 -0
- package/lib/mutations/reactions.d.ts +1 -0
- package/lib/mutations/reactions.d.ts.map +1 -0
- package/lib/mutations/reactions.js +29 -0
- package/lib/mutations/statistics.d.ts +1 -0
- package/lib/mutations/statistics.d.ts.map +1 -0
- package/lib/mutations/statistics.js +17 -0
- package/lib/mutations/subscriptions.d.ts +1 -0
- package/lib/mutations/subscriptions.d.ts.map +1 -0
- package/lib/mutations/subscriptions.js +38 -0
- package/lib/mutations/tags.d.ts +1 -0
- package/lib/mutations/tags.d.ts.map +1 -0
- package/lib/mutations/tags.js +109 -0
- package/lib/mutations/users.d.ts +1 -0
- package/lib/mutations/users.d.ts.map +1 -0
- package/lib/mutations/users.js +129 -0
- package/lib/objectTypes/app.d.ts +1 -0
- package/lib/objectTypes/app.d.ts.map +1 -0
- package/lib/objectTypes/app.js +147 -0
- package/lib/objectTypes/bankAccount.d.ts +1 -0
- package/lib/objectTypes/bankAccount.d.ts.map +1 -0
- package/lib/objectTypes/bankAccount.js +54 -0
- package/lib/objectTypes/connection.d.ts +1 -0
- package/lib/objectTypes/connection.d.ts.map +1 -0
- package/lib/objectTypes/connection.js +26 -0
- package/lib/objectTypes/content.d.ts +1 -0
- package/lib/objectTypes/content.d.ts.map +1 -0
- package/lib/objectTypes/content.js +79 -0
- package/lib/objectTypes/conversation.d.ts +1 -0
- package/lib/objectTypes/conversation.d.ts.map +1 -0
- package/lib/objectTypes/conversation.js +53 -0
- package/lib/objectTypes/creditCard.d.ts +1 -0
- package/lib/objectTypes/creditCard.d.ts.map +1 -0
- package/lib/objectTypes/creditCard.js +64 -0
- package/lib/objectTypes/document.d.ts +1 -0
- package/lib/objectTypes/document.d.ts.map +1 -0
- package/lib/objectTypes/document.js +21 -0
- package/lib/objectTypes/error.d.ts +1 -0
- package/lib/objectTypes/error.d.ts.map +1 -0
- package/lib/objectTypes/error.js +24 -0
- package/lib/objectTypes/external.d.ts +1 -0
- package/lib/objectTypes/external.d.ts.map +1 -0
- package/lib/objectTypes/external.js +52 -0
- package/lib/objectTypes/file.d.ts +1 -0
- package/lib/objectTypes/file.d.ts.map +1 -0
- package/lib/objectTypes/file.js +76 -0
- package/lib/objectTypes/filter.d.ts +1 -0
- package/lib/objectTypes/filter.d.ts.map +1 -0
- package/lib/objectTypes/filter.js +21 -0
- package/lib/objectTypes/group.d.ts +1 -0
- package/lib/objectTypes/group.d.ts.map +1 -0
- package/lib/objectTypes/group.js +97 -0
- package/lib/objectTypes/iapSubscription.d.ts +1 -0
- package/lib/objectTypes/iapSubscription.d.ts.map +1 -0
- package/lib/objectTypes/iapSubscription.js +18 -0
- package/lib/objectTypes/image.d.ts +1 -0
- package/lib/objectTypes/image.d.ts.map +1 -0
- package/lib/objectTypes/image.js +105 -0
- package/lib/objectTypes/index.d.ts +1 -0
- package/lib/objectTypes/index.d.ts.map +1 -0
- package/lib/objectTypes/index.js +28 -0
- package/lib/objectTypes/location.d.ts +1 -0
- package/lib/objectTypes/location.d.ts.map +1 -0
- package/lib/objectTypes/location.js +85 -0
- package/lib/objectTypes/message.d.ts +1 -0
- package/lib/objectTypes/message.d.ts.map +1 -0
- package/lib/objectTypes/message.js +72 -0
- package/lib/objectTypes/passcode.d.ts +1 -0
- package/lib/objectTypes/passcode.d.ts.map +1 -0
- package/lib/objectTypes/passcode.js +20 -0
- package/lib/objectTypes/plan.d.ts +1 -0
- package/lib/objectTypes/plan.d.ts.map +1 -0
- package/lib/objectTypes/plan.js +71 -0
- package/lib/objectTypes/post.d.ts +1 -0
- package/lib/objectTypes/post.d.ts.map +1 -0
- package/lib/objectTypes/post.js +101 -0
- package/lib/objectTypes/profile.d.ts +1 -0
- package/lib/objectTypes/profile.d.ts.map +1 -0
- package/lib/objectTypes/profile.js +68 -0
- package/lib/objectTypes/reaction.d.ts +1 -0
- package/lib/objectTypes/reaction.d.ts.map +1 -0
- package/lib/objectTypes/reaction.js +37 -0
- package/lib/objectTypes/relation.d.ts +1 -0
- package/lib/objectTypes/relation.d.ts.map +1 -0
- package/lib/objectTypes/relation.js +27 -0
- package/lib/objectTypes/search.d.ts +1 -0
- package/lib/objectTypes/search.d.ts.map +1 -0
- package/lib/objectTypes/search.js +50 -0
- package/lib/objectTypes/statistics.d.ts +1 -0
- package/lib/objectTypes/statistics.d.ts.map +1 -0
- package/lib/objectTypes/statistics.js +17 -0
- package/lib/objectTypes/subscription.d.ts +1 -0
- package/lib/objectTypes/subscription.d.ts.map +1 -0
- package/lib/objectTypes/subscription.js +102 -0
- package/lib/objectTypes/tag.d.ts +1 -0
- package/lib/objectTypes/tag.d.ts.map +1 -0
- package/lib/objectTypes/tag.js +41 -0
- package/lib/objectTypes/user.d.ts +1 -0
- package/lib/objectTypes/user.d.ts.map +1 -0
- package/lib/objectTypes/user.js +111 -0
- package/lib/queries/content.d.ts +1 -0
- package/lib/queries/content.d.ts.map +1 -0
- package/lib/queries/content.js +50 -0
- package/lib/queries/index.d.ts +1 -0
- package/lib/queries/index.d.ts.map +1 -0
- package/lib/queries/index.js +27 -0
- package/lib/queries/locations.d.ts +1 -0
- package/lib/queries/locations.d.ts.map +1 -0
- package/lib/queries/locations.js +23 -0
- package/lib/queries/messages.d.ts +1 -0
- package/lib/queries/messages.d.ts.map +1 -0
- package/lib/queries/messages.js +35 -0
- package/lib/queries/posts.d.ts +1 -0
- package/lib/queries/posts.d.ts.map +1 -0
- package/lib/queries/posts.js +154 -0
- package/lib/queries/reactions.d.ts +1 -0
- package/lib/queries/reactions.d.ts.map +1 -0
- package/lib/queries/reactions.js +34 -0
- package/lib/queries/statistics.d.ts +1 -0
- package/lib/queries/statistics.d.ts.map +1 -0
- package/lib/queries/statistics.js +17 -0
- package/lib/queries/subscriptions.d.ts +1 -0
- package/lib/queries/subscriptions.d.ts.map +1 -0
- package/lib/queries/subscriptions.js +21 -0
- package/lib/queries/tags.d.ts +1 -0
- package/lib/queries/tags.d.ts.map +1 -0
- package/lib/queries/tags.js +56 -0
- package/lib/queries/users.d.ts +1 -0
- package/lib/queries/users.d.ts.map +1 -0
- package/lib/queries/users.js +39 -0
- package/lib/templates/email/layout.d.ts +1 -0
- package/lib/templates/email/layout.d.ts.map +1 -0
- package/lib/templates/email/layout.js +281 -0
- package/lib/templates/email/passwordForgot.d.ts +1 -0
- package/lib/templates/email/passwordForgot.d.ts.map +1 -0
- package/lib/templates/email/passwordForgot.js +17 -0
- package/lib/templates/email/passwordRecovery.d.ts +1 -0
- package/lib/templates/email/passwordRecovery.d.ts.map +1 -0
- package/lib/templates/email/passwordRecovery.js +14 -0
- package/lib/templates/email/verifyEmail.d.ts +1 -0
- package/lib/templates/email/verifyEmail.d.ts.map +1 -0
- package/lib/templates/email/verifyEmail.js +17 -0
- package/lib/templates/email/welcome.d.ts +1 -0
- package/lib/templates/email/welcome.d.ts.map +1 -0
- package/lib/templates/email/welcome.js +17 -0
- package/lib/templates/sms/passwordForgot.d.ts +1 -0
- package/lib/templates/sms/passwordForgot.d.ts.map +1 -0
- package/lib/templates/sms/passwordForgot.js +3 -0
- package/lib/templates/sms/passwordRecovery.d.ts +1 -0
- package/lib/templates/sms/passwordRecovery.d.ts.map +1 -0
- package/lib/templates/sms/passwordRecovery.js +3 -0
- package/lib/templates/sms/verifyEmail.d.ts +1 -0
- package/lib/templates/sms/verifyEmail.d.ts.map +1 -0
- package/lib/templates/sms/verifyEmail.js +3 -0
- package/lib/templates/sms/verifyPhone.d.ts +1 -0
- package/lib/templates/sms/verifyPhone.d.ts.map +1 -0
- package/lib/templates/sms/verifyPhone.js +3 -0
- package/lib/templates/sms/welcome.d.ts +1 -0
- package/lib/templates/sms/welcome.d.ts.map +1 -0
- package/lib/templates/sms/welcome.js +3 -0
- package/lib/types/apps.types.d.ts +1 -0
- package/lib/types/apps.types.d.ts.map +1 -0
- package/lib/types/apps.types.js +10 -0
- package/lib/types/arangodb.types.d.ts +1 -0
- package/lib/types/arangodb.types.d.ts.map +1 -0
- package/lib/types/arangodb.types.js +6 -0
- package/lib/types/auth.types.d.ts +1 -0
- package/lib/types/auth.types.d.ts.map +1 -0
- package/lib/types/auth.types.js +6 -0
- package/lib/types/connections.types.d.ts +1 -0
- package/lib/types/connections.types.d.ts.map +1 -0
- package/lib/types/connections.types.js +6 -0
- package/lib/types/content.types.d.ts +1 -0
- package/lib/types/content.types.d.ts.map +1 -0
- package/lib/types/content.types.js +6 -0
- package/lib/types/conversations.types.d.ts +1 -0
- package/lib/types/conversations.types.d.ts.map +1 -0
- package/lib/types/conversations.types.js +6 -0
- package/lib/types/email.types.d.ts +1 -0
- package/lib/types/email.types.d.ts.map +1 -0
- package/lib/types/email.types.js +6 -0
- package/lib/types/error.types.d.ts +1 -0
- package/lib/types/error.types.d.ts.map +1 -0
- package/lib/types/error.types.js +20 -0
- package/lib/types/files.types.d.ts +1 -0
- package/lib/types/files.types.d.ts.map +1 -0
- package/lib/types/files.types.js +6 -0
- package/lib/types/google.types.d.ts +1 -0
- package/lib/types/google.types.d.ts.map +1 -0
- package/lib/types/google.types.js +6 -0
- package/lib/types/groups.types.d.ts +1 -0
- package/lib/types/groups.types.d.ts.map +1 -0
- package/lib/types/groups.types.js +6 -0
- package/lib/types/images.types.d.ts +1 -0
- package/lib/types/images.types.d.ts.map +1 -0
- package/lib/types/images.types.js +6 -0
- package/lib/types/index.d.ts +1 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/index.js +28 -0
- package/lib/types/locations.types.d.ts +1 -0
- package/lib/types/locations.types.d.ts.map +1 -0
- package/lib/types/locations.types.js +6 -0
- package/lib/types/messages.types.d.ts +1 -0
- package/lib/types/messages.types.d.ts.map +1 -0
- package/lib/types/messages.types.js +6 -0
- package/lib/types/notifications.types.d.ts +1 -0
- package/lib/types/notifications.types.d.ts.map +1 -0
- package/lib/types/notifications.types.js +6 -0
- package/lib/types/payments.types.d.ts +1 -0
- package/lib/types/payments.types.d.ts.map +1 -0
- package/lib/types/payments.types.js +6 -0
- package/lib/types/posts.types.d.ts +1 -0
- package/lib/types/posts.types.d.ts.map +1 -0
- package/lib/types/posts.types.js +6 -0
- package/lib/types/profiles.types.d.ts +1 -0
- package/lib/types/profiles.types.d.ts.map +1 -0
- package/lib/types/profiles.types.js +3 -0
- package/lib/types/statistics.types.d.ts +1 -0
- package/lib/types/statistics.types.d.ts.map +1 -0
- package/lib/types/statistics.types.js +3 -0
- package/lib/types/tags.types.d.ts +1 -0
- package/lib/types/tags.types.d.ts.map +1 -0
- package/lib/types/tags.types.js +6 -0
- package/lib/types/users.types.d.ts +1 -0
- package/lib/types/users.types.d.ts.map +1 -0
- package/lib/types/users.types.js +6 -0
- package/lib/types/videos.types.d.ts +1 -0
- package/lib/types/videos.types.d.ts.map +1 -0
- package/lib/types/videos.types.js +6 -0
- package/lib/types/websockets.types.d.ts +1 -0
- package/lib/types/websockets.types.d.ts.map +1 -0
- package/lib/types/websockets.types.js +6 -0
- package/lib/utils/adapterUtils.d.ts +1 -0
- package/lib/utils/adapterUtils.d.ts.map +1 -0
- package/lib/utils/adapterUtils.js +23 -0
- package/lib/utils/analyticsUtils.d.ts +1 -0
- package/lib/utils/analyticsUtils.d.ts.map +1 -0
- package/lib/utils/analyticsUtils.js +45 -0
- package/lib/utils/arangodbUtils.d.ts +1 -0
- package/lib/utils/arangodbUtils.d.ts.map +1 -0
- package/lib/utils/arangodbUtils.js +130 -0
- package/lib/utils/authUtils.d.ts +1 -0
- package/lib/utils/authUtils.d.ts.map +1 -0
- package/lib/utils/authUtils.js +54 -0
- package/lib/utils/contextUtils.d.ts +1 -0
- package/lib/utils/contextUtils.d.ts.map +1 -0
- package/lib/utils/contextUtils.js +10 -0
- package/lib/utils/dbI18n.d.ts +1 -0
- package/lib/utils/dbI18n.d.ts.map +1 -0
- package/lib/utils/dbI18n.example.d.ts +1 -0
- package/lib/utils/dbI18n.example.d.ts.map +1 -0
- package/lib/utils/dbI18n.example.js +93 -0
- package/lib/utils/dbI18n.js +28 -0
- package/lib/utils/googleTranslate.d.ts +1 -0
- package/lib/utils/googleTranslate.d.ts.map +1 -0
- package/lib/utils/googleTranslate.js +70 -0
- package/lib/utils/graphqlUtils.d.ts +1 -0
- package/lib/utils/graphqlUtils.d.ts.map +1 -0
- package/lib/utils/graphqlUtils.js +11 -0
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/index.d.ts.map +1 -0
- package/lib/utils/index.js +19 -0
- package/lib/utils/languageDetection.d.ts +1 -0
- package/lib/utils/languageDetection.d.ts.map +1 -0
- package/lib/utils/languageDetection.js +120 -0
- package/lib/utils/localeUtils.d.ts +1 -0
- package/lib/utils/localeUtils.d.ts.map +1 -0
- package/lib/utils/localeUtils.example.d.ts +1 -0
- package/lib/utils/localeUtils.example.d.ts.map +1 -0
- package/lib/utils/localeUtils.example.js +124 -0
- package/lib/utils/localeUtils.js +71 -0
- package/lib/utils/middlewareUtils.d.ts +1 -0
- package/lib/utils/middlewareUtils.d.ts.map +1 -0
- package/lib/utils/middlewareUtils.js +10 -0
- package/lib/utils/sessionUtils.d.ts +1 -0
- package/lib/utils/sessionUtils.d.ts.map +1 -0
- package/lib/utils/sessionUtils.js +26 -0
- package/lib/utils/stripeUtils.d.ts +2 -1
- package/lib/utils/stripeUtils.d.ts.map +1 -0
- package/lib/utils/stripeUtils.js +12 -0
- package/lib/utils/templateUtils.d.ts +1 -0
- package/lib/utils/templateUtils.d.ts.map +1 -0
- package/lib/utils/templateUtils.js +11 -0
- package/lib/utils/testUtils.d.ts +1 -0
- package/lib/utils/testUtils.d.ts.map +1 -0
- package/lib/utils/testUtils.js +292 -0
- package/lib/utils/translationQueue.d.ts +1 -0
- package/lib/utils/translationQueue.d.ts.map +1 -0
- package/lib/utils/translationQueue.example.d.ts +1 -0
- package/lib/utils/translationQueue.example.d.ts.map +1 -0
- package/lib/utils/translationQueue.example.js +340 -0
- package/lib/utils/translationQueue.js +113 -0
- package/package.json +43 -24
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2019-Present, Nitrogen Labs, Inc.
|
|
3
|
+
* Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
|
|
4
|
+
*/ export const IsUserError = Symbol();
|
|
5
|
+
export class UserError extends Error {
|
|
6
|
+
constructor(...args){
|
|
7
|
+
super(...args);
|
|
8
|
+
this.name = 'Error';
|
|
9
|
+
this.message = args[0];
|
|
10
|
+
this[IsUserError] = true;
|
|
11
|
+
// Error.captureStackTrace(this);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export const logError = (params, error, context)=>{
|
|
15
|
+
const { column, line, message, source } = error || {};
|
|
16
|
+
const { databaseName, ...updatedContext } = context || {};
|
|
17
|
+
console.error('Reaktor Error:', {
|
|
18
|
+
column,
|
|
19
|
+
line,
|
|
20
|
+
message,
|
|
21
|
+
source,
|
|
22
|
+
type: 'error',
|
|
23
|
+
...params,
|
|
24
|
+
...updatedContext,
|
|
25
|
+
error
|
|
26
|
+
});
|
|
27
|
+
throw error || new UserError(params?.value);
|
|
28
|
+
};
|
|
29
|
+
export const logException = (params, context)=>{
|
|
30
|
+
const { databaseName, ...updatedContext } = context;
|
|
31
|
+
console.error('Reaktor Exception:', {
|
|
32
|
+
type: 'exception',
|
|
33
|
+
...params,
|
|
34
|
+
...updatedContext
|
|
35
|
+
});
|
|
36
|
+
throw new UserError(params?.value);
|
|
37
|
+
};
|
|
38
|
+
export const logInfo = (params)=>{
|
|
39
|
+
console.info('Reaktor Log:', {
|
|
40
|
+
type: 'log',
|
|
41
|
+
...params
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL3V0aWxzL2FuYWx5dGljc1V0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQgdHlwZSB7QXBpQ29udGV4dH0gZnJvbSAnLi4vdHlwZXMvYXV0aC50eXBlcy5qcyc7XG5cbmV4cG9ydCB0eXBlIFJlYWt0b3JFcnJvciA9IEVycm9yICYge1xuICByZWFkb25seSBjb2x1bW4/OiBudW1iZXI7XG4gIHJlYWRvbmx5IGxpbmU/OiBudW1iZXI7XG4gIHJlYWRvbmx5IG1lc3NhZ2U/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNvdXJjZT86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFJlYWt0b3JMb2dQYXJhbXMgPSB7XG4gIHJlYWRvbmx5IGFjdGlvbj86IHN0cmluZztcbiAgcmVhZG9ubHkgY2F0ZWdvcnk/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxhYmVsPzogc3RyaW5nO1xuICByZWFkb25seSBwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgcmVhZG9ubHkgdmFsdWU/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgY29uc3QgSXNVc2VyRXJyb3IgPSBTeW1ib2woKTtcbmV4cG9ydCBjbGFzcyBVc2VyRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKC4uLmFyZ3MpIHtcbiAgICBzdXBlciguLi5hcmdzKTtcbiAgICB0aGlzLm5hbWUgPSAnRXJyb3InO1xuICAgIHRoaXMubWVzc2FnZSA9IGFyZ3NbMF07XG4gICAgdGhpc1tJc1VzZXJFcnJvcl0gPSB0cnVlO1xuXG4gICAgLy8gRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcyk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGxvZ0Vycm9yID0gKHBhcmFtczogUmVha3RvckxvZ1BhcmFtcywgZXJyb3I/OiBSZWFrdG9yRXJyb3IsIGNvbnRleHQ/OiBBcGlDb250ZXh0KTogUHJvbWlzZTx1bmtub3duPiA9PiB7XG4gIGNvbnN0IHtcbiAgICBjb2x1bW4sXG4gICAgbGluZSxcbiAgICBtZXNzYWdlLFxuICAgIHNvdXJjZVxuICB9ID0gZXJyb3IgfHwge307XG5cbiAgY29uc3Qge2RhdGFiYXNlTmFtZSwgLi4udXBkYXRlZENvbnRleHR9ID0gY29udGV4dCB8fCB7fTtcblxuICBjb25zb2xlLmVycm9yKCdSZWFrdG9yIEVycm9yOicsIHtcbiAgICBjb2x1bW4sXG4gICAgbGluZSxcbiAgICBtZXNzYWdlLFxuICAgIHNvdXJjZSxcbiAgICB0eXBlOiAnZXJyb3InLFxuICAgIC4uLnBhcmFtcyxcbiAgICAuLi51cGRhdGVkQ29udGV4dCxcbiAgICBlcnJvclxuICB9KTtcblxuICB0aHJvdyAoZXJyb3IgfHwgbmV3IFVzZXJFcnJvcihwYXJhbXM/LnZhbHVlKSk7XG59O1xuXG5leHBvcnQgY29uc3QgbG9nRXhjZXB0aW9uID0gKHBhcmFtczogUmVha3RvckxvZ1BhcmFtcywgY29udGV4dDogQXBpQ29udGV4dCk6IFByb21pc2U8dW5rbm93bj4gPT4ge1xuICBjb25zdCB7ZGF0YWJhc2VOYW1lLCAuLi51cGRhdGVkQ29udGV4dH0gPSBjb250ZXh0O1xuXG4gIGNvbnNvbGUuZXJyb3IoJ1JlYWt0b3IgRXhjZXB0aW9uOicsIHt0eXBlOiAnZXhjZXB0aW9uJywgLi4ucGFyYW1zLCAuLi51cGRhdGVkQ29udGV4dH0pO1xuICB0aHJvdyBuZXcgVXNlckVycm9yKHBhcmFtcz8udmFsdWUpO1xufTtcblxuZXhwb3J0IGNvbnN0IGxvZ0luZm8gPSAocGFyYW1zKTogdm9pZCA9PiB7XG4gIGNvbnNvbGUuaW5mbygnUmVha3RvciBMb2c6Jywge3R5cGU6ICdsb2cnLCAuLi5wYXJhbXN9KTtcbn07XG4iXSwibmFtZXMiOlsiSXNVc2VyRXJyb3IiLCJTeW1ib2wiLCJVc2VyRXJyb3IiLCJFcnJvciIsImFyZ3MiLCJuYW1lIiwibWVzc2FnZSIsImxvZ0Vycm9yIiwicGFyYW1zIiwiZXJyb3IiLCJjb250ZXh0IiwiY29sdW1uIiwibGluZSIsInNvdXJjZSIsImRhdGFiYXNlTmFtZSIsInVwZGF0ZWRDb250ZXh0IiwiY29uc29sZSIsInR5cGUiLCJ2YWx1ZSIsImxvZ0V4Y2VwdGlvbiIsImxvZ0luZm8iLCJpbmZvIl0sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0FrQkQsT0FBTyxNQUFNQSxjQUFjQyxTQUFTO0FBQ3BDLE9BQU8sTUFBTUMsa0JBQWtCQztJQUM3QixZQUFZLEdBQUdDLElBQUksQ0FBRTtRQUNuQixLQUFLLElBQUlBO1FBQ1QsSUFBSSxDQUFDQyxJQUFJLEdBQUc7UUFDWixJQUFJLENBQUNDLE9BQU8sR0FBR0YsSUFBSSxDQUFDLEVBQUU7UUFDdEIsSUFBSSxDQUFDSixZQUFZLEdBQUc7SUFFcEIsaUNBQWlDO0lBQ25DO0FBQ0Y7QUFFQSxPQUFPLE1BQU1PLFdBQVcsQ0FBQ0MsUUFBMEJDLE9BQXNCQztJQUN2RSxNQUFNLEVBQ0pDLE1BQU0sRUFDTkMsSUFBSSxFQUNKTixPQUFPLEVBQ1BPLE1BQU0sRUFDUCxHQUFHSixTQUFTLENBQUM7SUFFZCxNQUFNLEVBQUNLLFlBQVksRUFBRSxHQUFHQyxnQkFBZSxHQUFHTCxXQUFXLENBQUM7SUFFdERNLFFBQVFQLEtBQUssQ0FBQyxrQkFBa0I7UUFDOUJFO1FBQ0FDO1FBQ0FOO1FBQ0FPO1FBQ0FJLE1BQU07UUFDTixHQUFHVCxNQUFNO1FBQ1QsR0FBR08sY0FBYztRQUNqQk47SUFDRjtJQUVBLE1BQU9BLFNBQVMsSUFBSVAsVUFBVU0sUUFBUVU7QUFDeEMsRUFBRTtBQUVGLE9BQU8sTUFBTUMsZUFBZSxDQUFDWCxRQUEwQkU7SUFDckQsTUFBTSxFQUFDSSxZQUFZLEVBQUUsR0FBR0MsZ0JBQWUsR0FBR0w7SUFFMUNNLFFBQVFQLEtBQUssQ0FBQyxzQkFBc0I7UUFBQ1EsTUFBTTtRQUFhLEdBQUdULE1BQU07UUFBRSxHQUFHTyxjQUFjO0lBQUE7SUFDcEYsTUFBTSxJQUFJYixVQUFVTSxRQUFRVTtBQUM5QixFQUFFO0FBRUYsT0FBTyxNQUFNRSxVQUFVLENBQUNaO0lBQ3RCUSxRQUFRSyxJQUFJLENBQUMsZ0JBQWdCO1FBQUNKLE1BQU07UUFBTyxHQUFHVCxNQUFNO0lBQUE7QUFDdEQsRUFBRSJ9
|
|
@@ -68,3 +68,4 @@ export declare const getLimit: (start?: number, to?: number) => ArangoDbLimit;
|
|
|
68
68
|
export declare const selectReactionCountByType: (objectType: string, objectKey: string, field: string, selects: any) => any;
|
|
69
69
|
export declare const sortIds: (ids: string[], sort?: string) => string[];
|
|
70
70
|
export declare const getGqlFields: (info: any) => string[];
|
|
71
|
+
//# sourceMappingURL=arangodbUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arangodbUtils.d.ts","sourceRoot":"","sources":["../../src/utils/arangodbUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAOlC,OAAO,KAAK,EAAC,kBAAkB,EAAE,aAAa,EAAC,MAAM,4BAA4B,CAAC;AAElF,eAAO,MAAM,KAAK,GAAI,eAAe,MAAM,KAAG,QAW7C,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyD7B,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,YAAY,kBAAkB,EAAE,SAAI,KAAG,MAmB/D,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,QAAO,MAAU,EAAE,KAAI,MAAW,KAAG,aAQ7D,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,YAAY,MAAM,EAAE,WAAW,MAAM,EAAE,OAAO,MAAM,EAAE,YAAO,QAUtG,CAAC;AAEF,eAAO,MAAM,OAAO,GAAI,KAAK,MAAM,EAAE,EAAE,OAAM,MAAc,KAAG,MAAM,EAMlE,CAAC;AAEH,eAAO,MAAM,YAAY,GAAI,SAAI,aAShC,CAAC"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2019-Present, Nitrogen Labs, Inc.
|
|
3
|
+
* Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
|
|
4
|
+
*/ import { Database } from 'arangojs';
|
|
5
|
+
import graphqlFields from 'graphql-fields';
|
|
6
|
+
import { Config } from '../config.js';
|
|
7
|
+
import { parseNum } from '@nlabs/utils/parsers/numbers';
|
|
8
|
+
import { parseArangoId, parseId } from '@nlabs/utils/parsers/strings';
|
|
9
|
+
export const useDb = (databaseName)=>{
|
|
10
|
+
const arangoConfig = Config.get('arangodb');
|
|
11
|
+
return new Database({
|
|
12
|
+
auth: {
|
|
13
|
+
password: arangoConfig.password,
|
|
14
|
+
username: arangoConfig.username
|
|
15
|
+
},
|
|
16
|
+
databaseName: databaseName || 'reaktor',
|
|
17
|
+
url: `${arangoConfig.url}:${arangoConfig.port}`
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
export const collectionDetails = {
|
|
21
|
+
apps: {
|
|
22
|
+
collection: 'apps',
|
|
23
|
+
key: 'appId'
|
|
24
|
+
},
|
|
25
|
+
conversations: {
|
|
26
|
+
collection: 'conversations',
|
|
27
|
+
key: 'conversationId'
|
|
28
|
+
},
|
|
29
|
+
files: {
|
|
30
|
+
collection: 'files',
|
|
31
|
+
key: 'fileId'
|
|
32
|
+
},
|
|
33
|
+
groups: {
|
|
34
|
+
collection: 'groups',
|
|
35
|
+
key: 'groupId'
|
|
36
|
+
},
|
|
37
|
+
images: {
|
|
38
|
+
collection: 'images',
|
|
39
|
+
key: 'imageId'
|
|
40
|
+
},
|
|
41
|
+
locations: {
|
|
42
|
+
collection: 'locations',
|
|
43
|
+
key: 'locationId'
|
|
44
|
+
},
|
|
45
|
+
messages: {
|
|
46
|
+
collection: 'messages',
|
|
47
|
+
key: 'messageId'
|
|
48
|
+
},
|
|
49
|
+
notifications: {
|
|
50
|
+
collection: 'notifications',
|
|
51
|
+
key: 'notificationId'
|
|
52
|
+
},
|
|
53
|
+
payments: {
|
|
54
|
+
collection: 'payments',
|
|
55
|
+
key: 'paymentId'
|
|
56
|
+
},
|
|
57
|
+
posts: {
|
|
58
|
+
collection: 'posts',
|
|
59
|
+
key: 'postId'
|
|
60
|
+
},
|
|
61
|
+
reactions: {
|
|
62
|
+
collection: 'reactions',
|
|
63
|
+
key: 'reactionId'
|
|
64
|
+
},
|
|
65
|
+
subscriptions: {
|
|
66
|
+
collection: 'subscriptions',
|
|
67
|
+
key: 'subscriptionId'
|
|
68
|
+
},
|
|
69
|
+
tags: {
|
|
70
|
+
collection: 'tags',
|
|
71
|
+
key: 'tagId'
|
|
72
|
+
},
|
|
73
|
+
users: {
|
|
74
|
+
collection: 'users',
|
|
75
|
+
key: 'userId'
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
export const getDocId = (collection, item)=>{
|
|
79
|
+
const { _id, _key, id } = item;
|
|
80
|
+
const itemId = parseArangoId(_id || id);
|
|
81
|
+
if (itemId) {
|
|
82
|
+
const idParts = itemId.split('/');
|
|
83
|
+
if (collectionDetails[idParts[0]]) {
|
|
84
|
+
return itemId;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
let itemKey = parseId(_key);
|
|
88
|
+
if (!itemKey) {
|
|
89
|
+
itemKey = item[collectionDetails[collection].key];
|
|
90
|
+
}
|
|
91
|
+
return itemKey ? `${collection}/${itemKey}` : '';
|
|
92
|
+
};
|
|
93
|
+
export const getLimit = (start = 0, to = 30)=>{
|
|
94
|
+
let num = parseNum(to) - parseNum(start);
|
|
95
|
+
if (num > 50) {
|
|
96
|
+
num = 50;
|
|
97
|
+
}
|
|
98
|
+
return {
|
|
99
|
+
aql: to >= 0 ? `LIMIT ${start}, ${num}` : '',
|
|
100
|
+
num,
|
|
101
|
+
start
|
|
102
|
+
};
|
|
103
|
+
};
|
|
104
|
+
export const selectReactionCountByType = (objectType, objectKey, field, selects)=>{
|
|
105
|
+
const reactionType = field.substring(0, field.indexOf('Count'));
|
|
106
|
+
selects.queries.push(`LET ${field} = FIRST(
|
|
107
|
+
FOR obj, r IN INBOUND ${objectKey}._id hasReaction
|
|
108
|
+
FILTER r.name == "${reactionType}" && r.type == "${objectType}"
|
|
109
|
+
COLLECT WITH COUNT INTO count
|
|
110
|
+
RETURN count
|
|
111
|
+
)`);
|
|
112
|
+
selects.objects.push(`${field}:${field}`);
|
|
113
|
+
return selects;
|
|
114
|
+
};
|
|
115
|
+
export const sortIds = (ids, sort = 'ASC')=>ids.sort((a, b)=>{
|
|
116
|
+
if (sort.toUpperCase() === 'ASC') {
|
|
117
|
+
return a.localeCompare(b);
|
|
118
|
+
}
|
|
119
|
+
return b.localeCompare(a);
|
|
120
|
+
});
|
|
121
|
+
export const getGqlFields = (info)=>{
|
|
122
|
+
const fields = graphqlFields(info) || {};
|
|
123
|
+
const methodName = Object.keys(fields)[0];
|
|
124
|
+
if (methodName) {
|
|
125
|
+
return Object.keys(fields[methodName]);
|
|
126
|
+
}
|
|
127
|
+
return [];
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL3V0aWxzL2FyYW5nb2RiVXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTktUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7RGF0YWJhc2V9IGZyb20gJ2FyYW5nb2pzJztcbmltcG9ydCBncmFwaHFsRmllbGRzIGZyb20gJ2dyYXBocWwtZmllbGRzJztcblxuaW1wb3J0IHtDb25maWd9IGZyb20gJy4uL2NvbmZpZy5qcyc7XG5cbmltcG9ydCB7cGFyc2VOdW19IGZyb20gJ0BubGFicy91dGlscy9wYXJzZXJzL251bWJlcnMnO1xuaW1wb3J0IHtwYXJzZUFyYW5nb0lkLCBwYXJzZUlkfSBmcm9tICdAbmxhYnMvdXRpbHMvcGFyc2Vycy9zdHJpbmdzJztcbmltcG9ydCB0eXBlIHtBcmFuZ29EYkNvbGxlY3Rpb24sIEFyYW5nb0RiTGltaXR9IGZyb20gJy4uL3R5cGVzL2FyYW5nb2RiLnR5cGVzLmpzJztcblxuZXhwb3J0IGNvbnN0IHVzZURiID0gKGRhdGFiYXNlTmFtZT86IHN0cmluZyk6IERhdGFiYXNlID0+IHtcbiAgY29uc3QgYXJhbmdvQ29uZmlnID0gQ29uZmlnLmdldCgnYXJhbmdvZGInKTtcblxuICByZXR1cm4gbmV3IERhdGFiYXNlKHtcbiAgICBhdXRoOiB7XG4gICAgICBwYXNzd29yZDogYXJhbmdvQ29uZmlnLnBhc3N3b3JkLFxuICAgICAgdXNlcm5hbWU6IGFyYW5nb0NvbmZpZy51c2VybmFtZVxuICAgIH0sXG4gICAgZGF0YWJhc2VOYW1lOiBkYXRhYmFzZU5hbWUgfHwgJ3JlYWt0b3InLFxuICAgIHVybDogYCR7YXJhbmdvQ29uZmlnLnVybH06JHthcmFuZ29Db25maWcucG9ydH1gXG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGNvbGxlY3Rpb25EZXRhaWxzID0ge1xuICBhcHBzOiB7XG4gICAgY29sbGVjdGlvbjogJ2FwcHMnLFxuICAgIGtleTogJ2FwcElkJ1xuICB9LFxuICBjb252ZXJzYXRpb25zOiB7XG4gICAgY29sbGVjdGlvbjogJ2NvbnZlcnNhdGlvbnMnLFxuICAgIGtleTogJ2NvbnZlcnNhdGlvbklkJ1xuICB9LFxuICBmaWxlczoge1xuICAgIGNvbGxlY3Rpb246ICdmaWxlcycsXG4gICAga2V5OiAnZmlsZUlkJ1xuICB9LFxuICBncm91cHM6IHtcbiAgICBjb2xsZWN0aW9uOiAnZ3JvdXBzJyxcbiAgICBrZXk6ICdncm91cElkJ1xuICB9LFxuICBpbWFnZXM6IHtcbiAgICBjb2xsZWN0aW9uOiAnaW1hZ2VzJyxcbiAgICBrZXk6ICdpbWFnZUlkJ1xuICB9LFxuICBsb2NhdGlvbnM6IHtcbiAgICBjb2xsZWN0aW9uOiAnbG9jYXRpb25zJyxcbiAgICBrZXk6ICdsb2NhdGlvbklkJ1xuICB9LFxuICBtZXNzYWdlczoge1xuICAgIGNvbGxlY3Rpb246ICdtZXNzYWdlcycsXG4gICAga2V5OiAnbWVzc2FnZUlkJ1xuICB9LFxuICBub3RpZmljYXRpb25zOiB7XG4gICAgY29sbGVjdGlvbjogJ25vdGlmaWNhdGlvbnMnLFxuICAgIGtleTogJ25vdGlmaWNhdGlvbklkJ1xuICB9LFxuICBwYXltZW50czoge1xuICAgIGNvbGxlY3Rpb246ICdwYXltZW50cycsXG4gICAga2V5OiAncGF5bWVudElkJ1xuICB9LFxuICBwb3N0czoge1xuICAgIGNvbGxlY3Rpb246ICdwb3N0cycsXG4gICAga2V5OiAncG9zdElkJ1xuICB9LFxuICByZWFjdGlvbnM6IHtcbiAgICBjb2xsZWN0aW9uOiAncmVhY3Rpb25zJyxcbiAgICBrZXk6ICdyZWFjdGlvbklkJ1xuICB9LFxuICBzdWJzY3JpcHRpb25zOiB7XG4gICAgY29sbGVjdGlvbjogJ3N1YnNjcmlwdGlvbnMnLFxuICAgIGtleTogJ3N1YnNjcmlwdGlvbklkJ1xuICB9LFxuICB0YWdzOiB7XG4gICAgY29sbGVjdGlvbjogJ3RhZ3MnLFxuICAgIGtleTogJ3RhZ0lkJ1xuICB9LFxuICB1c2Vyczoge1xuICAgIGNvbGxlY3Rpb246ICd1c2VycycsXG4gICAga2V5OiAndXNlcklkJ1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0RG9jSWQgPSAoY29sbGVjdGlvbjogQXJhbmdvRGJDb2xsZWN0aW9uLCBpdGVtKTogc3RyaW5nID0+IHtcbiAgY29uc3Qge19pZCwgX2tleSwgaWR9ID0gaXRlbTtcbiAgY29uc3QgaXRlbUlkID0gcGFyc2VBcmFuZ29JZChfaWQgfHwgaWQpO1xuXG4gIGlmKGl0ZW1JZCkge1xuICAgIGNvbnN0IGlkUGFydHMgPSBpdGVtSWQuc3BsaXQoJy8nKTtcblxuICAgIGlmKGNvbGxlY3Rpb25EZXRhaWxzW2lkUGFydHNbMF1dKSB7XG4gICAgICByZXR1cm4gaXRlbUlkO1xuICAgIH1cbiAgfVxuXG4gIGxldCBpdGVtS2V5ID0gcGFyc2VJZChfa2V5KTtcblxuICBpZighaXRlbUtleSkge1xuICAgIGl0ZW1LZXkgPSBpdGVtW2NvbGxlY3Rpb25EZXRhaWxzW2NvbGxlY3Rpb25dLmtleV07XG4gIH1cblxuICByZXR1cm4gaXRlbUtleSA/IGAke2NvbGxlY3Rpb259LyR7aXRlbUtleX1gIDogJyc7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TGltaXQgPSAoc3RhcnQ6IG51bWJlciA9IDAsIHRvOiBudW1iZXIgPSAzMCk6IEFyYW5nb0RiTGltaXQgPT4ge1xuICBsZXQgbnVtID0gcGFyc2VOdW0odG8pIC0gcGFyc2VOdW0oc3RhcnQpO1xuXG4gIGlmKG51bSA+IDUwKSB7XG4gICAgbnVtID0gNTA7XG4gIH1cblxuICByZXR1cm4ge2FxbDogdG8gPj0gMCA/IGBMSU1JVCAke3N0YXJ0fSwgJHtudW19YCA6ICcnLCBudW0sIHN0YXJ0fTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZWxlY3RSZWFjdGlvbkNvdW50QnlUeXBlID0gKG9iamVjdFR5cGU6IHN0cmluZywgb2JqZWN0S2V5OiBzdHJpbmcsIGZpZWxkOiBzdHJpbmcsIHNlbGVjdHMpID0+IHtcbiAgY29uc3QgcmVhY3Rpb25UeXBlOiBzdHJpbmcgPSBmaWVsZC5zdWJzdHJpbmcoMCwgZmllbGQuaW5kZXhPZignQ291bnQnKSk7XG4gIHNlbGVjdHMucXVlcmllcy5wdXNoKGBMRVQgJHtmaWVsZH0gPSBGSVJTVChcbiAgICAgIEZPUiBvYmosIHIgSU4gSU5CT1VORCAke29iamVjdEtleX0uX2lkIGhhc1JlYWN0aW9uXG4gICAgICBGSUxURVIgci5uYW1lID09IFwiJHtyZWFjdGlvblR5cGV9XCIgJiYgci50eXBlID09IFwiJHtvYmplY3RUeXBlfVwiXG4gICAgICBDT0xMRUNUIFdJVEggQ09VTlQgSU5UTyBjb3VudFxuICAgICAgUkVUVVJOIGNvdW50XG4gICAgKWApO1xuICBzZWxlY3RzLm9iamVjdHMucHVzaChgJHtmaWVsZH06JHtmaWVsZH1gKTtcbiAgcmV0dXJuIHNlbGVjdHM7XG59O1xuXG5leHBvcnQgY29uc3Qgc29ydElkcyA9IChpZHM6IHN0cmluZ1tdLCBzb3J0OiBzdHJpbmcgPSAnQVNDJyk6IHN0cmluZ1tdID0+IGlkcy5zb3J0KChhLCBiKSA9PiB7XG4gIGlmKHNvcnQudG9VcHBlckNhc2UoKSA9PT0gJ0FTQycpIHtcbiAgICByZXR1cm4gYS5sb2NhbGVDb21wYXJlKGIpO1xuICB9XG5cbiAgcmV0dXJuIGIubG9jYWxlQ29tcGFyZShhKTtcbn0pO1xuXG5leHBvcnQgY29uc3QgZ2V0R3FsRmllbGRzID0gKGluZm8pID0+IHtcbiAgY29uc3QgZmllbGRzID0gZ3JhcGhxbEZpZWxkcyhpbmZvKSB8fCB7fTtcbiAgY29uc3QgbWV0aG9kTmFtZTogc3RyaW5nID0gT2JqZWN0LmtleXMoZmllbGRzKVswXTtcblxuICBpZihtZXRob2ROYW1lKSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGZpZWxkc1ttZXRob2ROYW1lXSk7XG4gIH1cblxuICByZXR1cm4gW107XG59OyJdLCJuYW1lcyI6WyJEYXRhYmFzZSIsImdyYXBocWxGaWVsZHMiLCJDb25maWciLCJwYXJzZU51bSIsInBhcnNlQXJhbmdvSWQiLCJwYXJzZUlkIiwidXNlRGIiLCJkYXRhYmFzZU5hbWUiLCJhcmFuZ29Db25maWciLCJnZXQiLCJhdXRoIiwicGFzc3dvcmQiLCJ1c2VybmFtZSIsInVybCIsInBvcnQiLCJjb2xsZWN0aW9uRGV0YWlscyIsImFwcHMiLCJjb2xsZWN0aW9uIiwia2V5IiwiY29udmVyc2F0aW9ucyIsImZpbGVzIiwiZ3JvdXBzIiwiaW1hZ2VzIiwibG9jYXRpb25zIiwibWVzc2FnZXMiLCJub3RpZmljYXRpb25zIiwicGF5bWVudHMiLCJwb3N0cyIsInJlYWN0aW9ucyIsInN1YnNjcmlwdGlvbnMiLCJ0YWdzIiwidXNlcnMiLCJnZXREb2NJZCIsIml0ZW0iLCJfaWQiLCJfa2V5IiwiaWQiLCJpdGVtSWQiLCJpZFBhcnRzIiwic3BsaXQiLCJpdGVtS2V5IiwiZ2V0TGltaXQiLCJzdGFydCIsInRvIiwibnVtIiwiYXFsIiwic2VsZWN0UmVhY3Rpb25Db3VudEJ5VHlwZSIsIm9iamVjdFR5cGUiLCJvYmplY3RLZXkiLCJmaWVsZCIsInNlbGVjdHMiLCJyZWFjdGlvblR5cGUiLCJzdWJzdHJpbmciLCJpbmRleE9mIiwicXVlcmllcyIsInB1c2giLCJvYmplY3RzIiwic29ydElkcyIsImlkcyIsInNvcnQiLCJhIiwiYiIsInRvVXBwZXJDYXNlIiwibG9jYWxlQ29tcGFyZSIsImdldEdxbEZpZWxkcyIsImluZm8iLCJmaWVsZHMiLCJtZXRob2ROYW1lIiwiT2JqZWN0Iiwia2V5cyJdLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDLEdBQ0QsU0FBUUEsUUFBUSxRQUFPLFdBQVc7QUFDbEMsT0FBT0MsbUJBQW1CLGlCQUFpQjtBQUUzQyxTQUFRQyxNQUFNLFFBQU8sZUFBZTtBQUVwQyxTQUFRQyxRQUFRLFFBQU8sK0JBQStCO0FBQ3RELFNBQVFDLGFBQWEsRUFBRUMsT0FBTyxRQUFPLCtCQUErQjtBQUdwRSxPQUFPLE1BQU1DLFFBQVEsQ0FBQ0M7SUFDcEIsTUFBTUMsZUFBZU4sT0FBT08sR0FBRyxDQUFDO0lBRWhDLE9BQU8sSUFBSVQsU0FBUztRQUNsQlUsTUFBTTtZQUNKQyxVQUFVSCxhQUFhRyxRQUFRO1lBQy9CQyxVQUFVSixhQUFhSSxRQUFRO1FBQ2pDO1FBQ0FMLGNBQWNBLGdCQUFnQjtRQUM5Qk0sS0FBSyxHQUFHTCxhQUFhSyxHQUFHLENBQUMsQ0FBQyxFQUFFTCxhQUFhTSxJQUFJLEVBQUU7SUFDakQ7QUFDRixFQUFFO0FBRUYsT0FBTyxNQUFNQyxvQkFBb0I7SUFDL0JDLE1BQU07UUFDSkMsWUFBWTtRQUNaQyxLQUFLO0lBQ1A7SUFDQUMsZUFBZTtRQUNiRixZQUFZO1FBQ1pDLEtBQUs7SUFDUDtJQUNBRSxPQUFPO1FBQ0xILFlBQVk7UUFDWkMsS0FBSztJQUNQO0lBQ0FHLFFBQVE7UUFDTkosWUFBWTtRQUNaQyxLQUFLO0lBQ1A7SUFDQUksUUFBUTtRQUNOTCxZQUFZO1FBQ1pDLEtBQUs7SUFDUDtJQUNBSyxXQUFXO1FBQ1ROLFlBQVk7UUFDWkMsS0FBSztJQUNQO0lBQ0FNLFVBQVU7UUFDUlAsWUFBWTtRQUNaQyxLQUFLO0lBQ1A7SUFDQU8sZUFBZTtRQUNiUixZQUFZO1FBQ1pDLEtBQUs7SUFDUDtJQUNBUSxVQUFVO1FBQ1JULFlBQVk7UUFDWkMsS0FBSztJQUNQO0lBQ0FTLE9BQU87UUFDTFYsWUFBWTtRQUNaQyxLQUFLO0lBQ1A7SUFDQVUsV0FBVztRQUNUWCxZQUFZO1FBQ1pDLEtBQUs7SUFDUDtJQUNBVyxlQUFlO1FBQ2JaLFlBQVk7UUFDWkMsS0FBSztJQUNQO0lBQ0FZLE1BQU07UUFDSmIsWUFBWTtRQUNaQyxLQUFLO0lBQ1A7SUFDQWEsT0FBTztRQUNMZCxZQUFZO1FBQ1pDLEtBQUs7SUFDUDtBQUNGLEVBQUU7QUFFRixPQUFPLE1BQU1jLFdBQVcsQ0FBQ2YsWUFBZ0NnQjtJQUN2RCxNQUFNLEVBQUNDLEdBQUcsRUFBRUMsSUFBSSxFQUFFQyxFQUFFLEVBQUMsR0FBR0g7SUFDeEIsTUFBTUksU0FBU2pDLGNBQWM4QixPQUFPRTtJQUVwQyxJQUFHQyxRQUFRO1FBQ1QsTUFBTUMsVUFBVUQsT0FBT0UsS0FBSyxDQUFDO1FBRTdCLElBQUd4QixpQkFBaUIsQ0FBQ3VCLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUNoQyxPQUFPRDtRQUNUO0lBQ0Y7SUFFQSxJQUFJRyxVQUFVbkMsUUFBUThCO0lBRXRCLElBQUcsQ0FBQ0ssU0FBUztRQUNYQSxVQUFVUCxJQUFJLENBQUNsQixpQkFBaUIsQ0FBQ0UsV0FBVyxDQUFDQyxHQUFHLENBQUM7SUFDbkQ7SUFFQSxPQUFPc0IsVUFBVSxHQUFHdkIsV0FBVyxDQUFDLEVBQUV1QixTQUFTLEdBQUc7QUFDaEQsRUFBRTtBQUVGLE9BQU8sTUFBTUMsV0FBVyxDQUFDQyxRQUFnQixDQUFDLEVBQUVDLEtBQWEsRUFBRTtJQUN6RCxJQUFJQyxNQUFNekMsU0FBU3dDLE1BQU14QyxTQUFTdUM7SUFFbEMsSUFBR0UsTUFBTSxJQUFJO1FBQ1hBLE1BQU07SUFDUjtJQUVBLE9BQU87UUFBQ0MsS0FBS0YsTUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFRCxNQUFNLEVBQUUsRUFBRUUsS0FBSyxHQUFHO1FBQUlBO1FBQUtGO0lBQUs7QUFDbEUsRUFBRTtBQUVGLE9BQU8sTUFBTUksNEJBQTRCLENBQUNDLFlBQW9CQyxXQUFtQkMsT0FBZUM7SUFDOUYsTUFBTUMsZUFBdUJGLE1BQU1HLFNBQVMsQ0FBQyxHQUFHSCxNQUFNSSxPQUFPLENBQUM7SUFDOURILFFBQVFJLE9BQU8sQ0FBQ0MsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFTixNQUFNOzRCQUNSLEVBQUVELFVBQVU7d0JBQ2hCLEVBQUVHLGFBQWEsZ0JBQWdCLEVBQUVKLFdBQVc7OztLQUcvRCxDQUFDO0lBQ0pHLFFBQVFNLE9BQU8sQ0FBQ0QsSUFBSSxDQUFDLEdBQUdOLE1BQU0sQ0FBQyxFQUFFQSxPQUFPO0lBQ3hDLE9BQU9DO0FBQ1QsRUFBRTtBQUVGLE9BQU8sTUFBTU8sVUFBVSxDQUFDQyxLQUFlQyxPQUFlLEtBQUssR0FBZUQsSUFBSUMsSUFBSSxDQUFDLENBQUNDLEdBQUdDO1FBQ3JGLElBQUdGLEtBQUtHLFdBQVcsT0FBTyxPQUFPO1lBQy9CLE9BQU9GLEVBQUVHLGFBQWEsQ0FBQ0Y7UUFDekI7UUFFQSxPQUFPQSxFQUFFRSxhQUFhLENBQUNIO0lBQ3pCLEdBQUc7QUFFSCxPQUFPLE1BQU1JLGVBQWUsQ0FBQ0M7SUFDM0IsTUFBTUMsU0FBU2pFLGNBQWNnRSxTQUFTLENBQUM7SUFDdkMsTUFBTUUsYUFBcUJDLE9BQU9DLElBQUksQ0FBQ0gsT0FBTyxDQUFDLEVBQUU7SUFFakQsSUFBR0MsWUFBWTtRQUNiLE9BQU9DLE9BQU9DLElBQUksQ0FBQ0gsTUFBTSxDQUFDQyxXQUFXO0lBQ3ZDO0lBRUEsT0FBTyxFQUFFO0FBQ1gsRUFBRSJ9
|
package/lib/utils/authUtils.d.ts
CHANGED
|
@@ -21,3 +21,4 @@ export declare const getLambdaData: (data: LambdaData | string) => {
|
|
|
21
21
|
export declare const parseJsonData: (data: any) => any;
|
|
22
22
|
export declare const isAuthenticated: (context: ApiContext, userId: string) => boolean;
|
|
23
23
|
export declare const createContext: (context: ApiContext, event: any) => Promise<ApiContext>;
|
|
24
|
+
//# sourceMappingURL=authUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authUtils.d.ts","sourceRoot":"","sources":["../../src/utils/authUtils.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAGvD,MAAM,MAAM,iBAAiB,GAAG;IAAC,SAAS,EAAE,WAAW,CAAC;IACtD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;CACzB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,MAAM,UAAU,GAAG,MAAM;;;CAetD,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,SAAI,QAMjC,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,SAAS,UAAU,EAAE,QAAQ,MAAM,YAKlE,CAAC;AAGF,eAAO,MAAM,aAAa,GAAU,SAAS,UAAU,EAAE,UAAK,KAAG,OAAO,CAAC,UAAU,CAuBlF,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2019-Present, Nitrogen Labs, Inc.
|
|
3
|
+
* Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
|
|
4
|
+
*/ import { getSession } from './sessionUtils.js';
|
|
5
|
+
export const getLambdaData = (data)=>{
|
|
6
|
+
if (typeof data === 'string') {
|
|
7
|
+
return {
|
|
8
|
+
body: parseJsonData(data),
|
|
9
|
+
context: {}
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
const { body, 'body-json': bodyJson, requestContext } = data;
|
|
13
|
+
const queryData = body || bodyJson;
|
|
14
|
+
return {
|
|
15
|
+
body: parseJsonData(queryData),
|
|
16
|
+
context: requestContext ? {
|
|
17
|
+
...requestContext
|
|
18
|
+
} : {}
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
export const parseJsonData = (data)=>{
|
|
22
|
+
try {
|
|
23
|
+
return JSON.parse(data);
|
|
24
|
+
} catch (error) {
|
|
25
|
+
return data;
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
export const isAuthenticated = (context, userId)=>{
|
|
29
|
+
const { session } = context;
|
|
30
|
+
const { userAccess = 0, userId: sessionUserId } = session || {};
|
|
31
|
+
return userAccess > 3 || sessionUserId === userId;
|
|
32
|
+
};
|
|
33
|
+
export const createContext = async (context, event)=>{
|
|
34
|
+
try {
|
|
35
|
+
const authHeader = event.headers?.Authorization || event.headers?.authorization;
|
|
36
|
+
const token = authHeader?.replace('Bearer ', '');
|
|
37
|
+
if (!token) {
|
|
38
|
+
return context;
|
|
39
|
+
}
|
|
40
|
+
const session = getSession(token);
|
|
41
|
+
if (session?.userId) {
|
|
42
|
+
return {
|
|
43
|
+
...context,
|
|
44
|
+
session
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
return context;
|
|
48
|
+
} catch (error) {
|
|
49
|
+
console.error('Auth error:', error);
|
|
50
|
+
return context;
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL3V0aWxzL2F1dGhVdGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtnZXRTZXNzaW9ufSBmcm9tICcuL3Nlc3Npb25VdGlscy5qcyc7XG5cbmltcG9ydCB0eXBlIHtBcHBTdGFnZX0gZnJvbSAnLi4vdHlwZXMvYXBwcy50eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7QXBpQ29udGV4dH0gZnJvbSAnLi4vdHlwZXMvYXV0aC50eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7U2Vzc2lvbn0gZnJvbSAnLi9zZXNzaW9uVXRpbHMuanMnO1xuXG5leHBvcnQgdHlwZSBMYW1iZGFEYXRhQ29udGV4dCA9IHthY2NvdW50SWQ6ICdhY2NvdW50SWQnLFxuICByZWFkb25seSByZXF1ZXN0SWQ6IHN0cmluZyxcbiAgcmVhZG9ubHkgcmVxdWVzdFRpbWVFcG9jaDogbnVtYmVyLFxuICByZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmcsXG4gIHJlYWRvbmx5IHJlc291cmNlUGF0aDogc3RyaW5nLFxuICByZWFkb25seSBzdGFnZTogQXBwU3RhZ2Vcbn07XG5cbmV4cG9ydCB0eXBlIExhbWJkYURhdGEgPSB7XG4gIHJlYWRvbmx5IGJvZHk/OiBzdHJpbmcgfCBvYmplY3Q7XG4gIHJlYWRvbmx5ICdib2R5LWpzb24nPzogc3RyaW5nO1xuICByZWFkb25seSBjb250ZXh0PzogTGFtYmRhRGF0YUNvbnRleHQ7XG4gIHJlYWRvbmx5IHJlcXVlc3RDb250ZXh0Pzogb2JqZWN0O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldExhbWJkYURhdGEgPSAoZGF0YTogTGFtYmRhRGF0YSB8IHN0cmluZykgPT4ge1xuICBpZih0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4ge1xuICAgICAgYm9keTogcGFyc2VKc29uRGF0YShkYXRhKSxcbiAgICAgIGNvbnRleHQ6IHt9XG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0IHtib2R5LCAnYm9keS1qc29uJzogYm9keUpzb24sIHJlcXVlc3RDb250ZXh0fSA9IGRhdGEgYXMgTGFtYmRhRGF0YTtcbiAgY29uc3QgcXVlcnlEYXRhID0gYm9keSB8fCBib2R5SnNvbjtcblxuICByZXR1cm4ge1xuICAgIGJvZHk6IHBhcnNlSnNvbkRhdGEocXVlcnlEYXRhKSxcbiAgICBjb250ZXh0OiByZXF1ZXN0Q29udGV4dCA/IHsuLi5yZXF1ZXN0Q29udGV4dH0gOiB7fVxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlSnNvbkRhdGEgPSAoZGF0YSkgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBKU09OLnBhcnNlKGRhdGEpO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBpc0F1dGhlbnRpY2F0ZWQgPSAoY29udGV4dDogQXBpQ29udGV4dCwgdXNlcklkOiBzdHJpbmcpID0+IHtcbiAgY29uc3Qge3Nlc3Npb259ID0gY29udGV4dDtcbiAgY29uc3Qge3VzZXJBY2Nlc3MgPSAwLCB1c2VySWQ6IHNlc3Npb25Vc2VySWR9ID0gc2Vzc2lvbiB8fCB7fTtcblxuICByZXR1cm4gdXNlckFjY2VzcyA+IDMgfHwgc2Vzc2lvblVzZXJJZCA9PT0gdXNlcklkO1xufTtcblxuXG5leHBvcnQgY29uc3QgY3JlYXRlQ29udGV4dCA9IGFzeW5jIChjb250ZXh0OiBBcGlDb250ZXh0LCBldmVudCk6IFByb21pc2U8QXBpQ29udGV4dD4gPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IGF1dGhIZWFkZXIgPSBldmVudC5oZWFkZXJzPy5BdXRob3JpemF0aW9uIHx8IGV2ZW50LmhlYWRlcnM/LmF1dGhvcml6YXRpb247XG4gICAgY29uc3QgdG9rZW4gPSBhdXRoSGVhZGVyPy5yZXBsYWNlKCdCZWFyZXIgJywgJycpO1xuXG4gICAgaWYoIXRva2VuKSB7XG4gICAgICByZXR1cm4gY29udGV4dDtcbiAgICB9XG5cbiAgICBjb25zdCBzZXNzaW9uOiBTZXNzaW9uID0gZ2V0U2Vzc2lvbih0b2tlbik7XG5cbiAgICBpZihzZXNzaW9uPy51c2VySWQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmNvbnRleHQsXG4gICAgICAgIHNlc3Npb25cbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbnRleHQ7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBjb25zb2xlLmVycm9yKCdBdXRoIGVycm9yOicsIGVycm9yKTtcbiAgICByZXR1cm4gY29udGV4dDtcbiAgfVxufTsiXSwibmFtZXMiOlsiZ2V0U2Vzc2lvbiIsImdldExhbWJkYURhdGEiLCJkYXRhIiwiYm9keSIsInBhcnNlSnNvbkRhdGEiLCJjb250ZXh0IiwiYm9keUpzb24iLCJyZXF1ZXN0Q29udGV4dCIsInF1ZXJ5RGF0YSIsIkpTT04iLCJwYXJzZSIsImVycm9yIiwiaXNBdXRoZW50aWNhdGVkIiwidXNlcklkIiwic2Vzc2lvbiIsInVzZXJBY2Nlc3MiLCJzZXNzaW9uVXNlcklkIiwiY3JlYXRlQ29udGV4dCIsImV2ZW50IiwiYXV0aEhlYWRlciIsImhlYWRlcnMiLCJBdXRob3JpemF0aW9uIiwiYXV0aG9yaXphdGlvbiIsInRva2VuIiwicmVwbGFjZSIsImNvbnNvbGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUNELFNBQVFBLFVBQVUsUUFBTyxvQkFBb0I7QUFxQjdDLE9BQU8sTUFBTUMsZ0JBQWdCLENBQUNDO0lBQzVCLElBQUcsT0FBT0EsU0FBUyxVQUFVO1FBQzNCLE9BQU87WUFDTEMsTUFBTUMsY0FBY0Y7WUFDcEJHLFNBQVMsQ0FBQztRQUNaO0lBQ0Y7SUFFQSxNQUFNLEVBQUNGLElBQUksRUFBRSxhQUFhRyxRQUFRLEVBQUVDLGNBQWMsRUFBQyxHQUFHTDtJQUN0RCxNQUFNTSxZQUFZTCxRQUFRRztJQUUxQixPQUFPO1FBQ0xILE1BQU1DLGNBQWNJO1FBQ3BCSCxTQUFTRSxpQkFBaUI7WUFBQyxHQUFHQSxjQUFjO1FBQUEsSUFBSSxDQUFDO0lBQ25EO0FBQ0YsRUFBRTtBQUVGLE9BQU8sTUFBTUgsZ0JBQWdCLENBQUNGO0lBQzVCLElBQUk7UUFDRixPQUFPTyxLQUFLQyxLQUFLLENBQUNSO0lBQ3BCLEVBQUUsT0FBTVMsT0FBTztRQUNiLE9BQU9UO0lBQ1Q7QUFDRixFQUFFO0FBRUYsT0FBTyxNQUFNVSxrQkFBa0IsQ0FBQ1AsU0FBcUJRO0lBQ25ELE1BQU0sRUFBQ0MsT0FBTyxFQUFDLEdBQUdUO0lBQ2xCLE1BQU0sRUFBQ1UsYUFBYSxDQUFDLEVBQUVGLFFBQVFHLGFBQWEsRUFBQyxHQUFHRixXQUFXLENBQUM7SUFFNUQsT0FBT0MsYUFBYSxLQUFLQyxrQkFBa0JIO0FBQzdDLEVBQUU7QUFHRixPQUFPLE1BQU1JLGdCQUFnQixPQUFPWixTQUFxQmE7SUFDdkQsSUFBSTtRQUNGLE1BQU1DLGFBQWFELE1BQU1FLE9BQU8sRUFBRUMsaUJBQWlCSCxNQUFNRSxPQUFPLEVBQUVFO1FBQ2xFLE1BQU1DLFFBQVFKLFlBQVlLLFFBQVEsV0FBVztRQUU3QyxJQUFHLENBQUNELE9BQU87WUFDVCxPQUFPbEI7UUFDVDtRQUVBLE1BQU1TLFVBQW1CZCxXQUFXdUI7UUFFcEMsSUFBR1QsU0FBU0QsUUFBUTtZQUNsQixPQUFPO2dCQUNMLEdBQUdSLE9BQU87Z0JBQ1ZTO1lBQ0Y7UUFDRjtRQUVBLE9BQU9UO0lBQ1QsRUFBRSxPQUFNTSxPQUFPO1FBQ2JjLFFBQVFkLEtBQUssQ0FBQyxlQUFlQTtRQUM3QixPQUFPTjtJQUNUO0FBQ0YsRUFBRSJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contextUtils.d.ts","sourceRoot":"","sources":["../../src/utils/contextUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAC,wBAAwB,EAAC,MAAM,wBAAwB,CAAC;AAErE,eAAO,MAAM,sBAAsB,GAAI,OAAO,eAAe,KAAG,wBAc/D,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export const extractLanguageContext = (event)=>{
|
|
2
|
+
const acceptLanguage = event.headers?.['Accept-Language'] || event.headers?.['accept-language'] || event.headers?.['Accept-Language'] || event.headers?.['accept-language'];
|
|
3
|
+
const ipAddress = event.requestContext?.identity?.sourceIp || event.headers?.['X-Forwarded-For']?.split(',')[0] || event.headers?.['x-forwarded-for']?.split(',')[0];
|
|
4
|
+
return {
|
|
5
|
+
acceptLanguage,
|
|
6
|
+
ipCountry: ipAddress ? 'US' : undefined
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL3V0aWxzL2NvbnRleHRVdGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7QVBJR2F0ZXdheUV2ZW50fSBmcm9tICdhd3MtbGFtYmRhJztcbmltcG9ydCB0eXBlIHtMYW5ndWFnZURldGVjdGlvbkNvbnRleHR9IGZyb20gJy4vbGFuZ3VhZ2VEZXRlY3Rpb24uanMnO1xuXG5leHBvcnQgY29uc3QgZXh0cmFjdExhbmd1YWdlQ29udGV4dCA9IChldmVudDogQVBJR2F0ZXdheUV2ZW50KTogTGFuZ3VhZ2VEZXRlY3Rpb25Db250ZXh0ID0+IHtcbiAgY29uc3QgYWNjZXB0TGFuZ3VhZ2UgPSBldmVudC5oZWFkZXJzPy5bJ0FjY2VwdC1MYW5ndWFnZSddXG4gICAgfHwgZXZlbnQuaGVhZGVycz8uWydhY2NlcHQtbGFuZ3VhZ2UnXVxuICAgIHx8IGV2ZW50LmhlYWRlcnM/LlsnQWNjZXB0LUxhbmd1YWdlJ11cbiAgICB8fCBldmVudC5oZWFkZXJzPy5bJ2FjY2VwdC1sYW5ndWFnZSddO1xuXG4gIGNvbnN0IGlwQWRkcmVzcyA9IGV2ZW50LnJlcXVlc3RDb250ZXh0Py5pZGVudGl0eT8uc291cmNlSXBcbiAgICB8fCBldmVudC5oZWFkZXJzPy5bJ1gtRm9yd2FyZGVkLUZvciddPy5zcGxpdCgnLCcpWzBdXG4gICAgfHwgZXZlbnQuaGVhZGVycz8uWyd4LWZvcndhcmRlZC1mb3InXT8uc3BsaXQoJywnKVswXTtcblxuICByZXR1cm4ge1xuICAgIGFjY2VwdExhbmd1YWdlLFxuICAgIGlwQ291bnRyeTogaXBBZGRyZXNzID8gJ1VTJyA6IHVuZGVmaW5lZFxuICB9IGFzIExhbmd1YWdlRGV0ZWN0aW9uQ29udGV4dDtcbn07Il0sIm5hbWVzIjpbImV4dHJhY3RMYW5ndWFnZUNvbnRleHQiLCJldmVudCIsImFjY2VwdExhbmd1YWdlIiwiaGVhZGVycyIsImlwQWRkcmVzcyIsInJlcXVlc3RDb250ZXh0IiwiaWRlbnRpdHkiLCJzb3VyY2VJcCIsInNwbGl0IiwiaXBDb3VudHJ5IiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLE1BQU1BLHlCQUF5QixDQUFDQztJQUNyQyxNQUFNQyxpQkFBaUJELE1BQU1FLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixJQUNwREYsTUFBTUUsT0FBTyxFQUFFLENBQUMsa0JBQWtCLElBQ2xDRixNQUFNRSxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsSUFDbENGLE1BQU1FLE9BQU8sRUFBRSxDQUFDLGtCQUFrQjtJQUV2QyxNQUFNQyxZQUFZSCxNQUFNSSxjQUFjLEVBQUVDLFVBQVVDLFlBQzdDTixNQUFNRSxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRUssTUFBTSxJQUFJLENBQUMsRUFBRSxJQUNqRFAsTUFBTUUsT0FBTyxFQUFFLENBQUMsa0JBQWtCLEVBQUVLLE1BQU0sSUFBSSxDQUFDLEVBQUU7SUFFdEQsT0FBTztRQUNMTjtRQUNBTyxXQUFXTCxZQUFZLE9BQU9NO0lBQ2hDO0FBQ0YsRUFBRSJ9
|
package/lib/utils/dbI18n.d.ts
CHANGED
|
@@ -8,3 +8,4 @@ export declare const dbI18nMultiple: (context: ApiContext, translations: Array<{
|
|
|
8
8
|
}>) => Promise<string[]>;
|
|
9
9
|
export declare const dbI18nWithInterpolation: (context: ApiContext, key: string, fallbackContent: string, interpolation?: Record<string, any>, locale?: Locale) => Promise<string>;
|
|
10
10
|
export declare const dbI18nBatch: (context: ApiContext, keys: string[], fallbackMap: Record<string, string>, locale?: Locale) => Promise<Record<string, string>>;
|
|
11
|
+
//# sourceMappingURL=dbI18n.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dbI18n.d.ts","sourceRoot":"","sources":["../../src/utils/dbI18n.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,2BAA2B,CAAC;AAEtD,eAAO,MAAM,MAAM,GACjB,SAAS,UAAU,EACnB,KAAK,MAAM,EACX,iBAAiB,MAAM,EACvB,SAAQ,MAAa,KACpB,OAAO,CAAC,MAAM,CAAkE,CAAC;AAEpF,eAAO,MAAM,cAAc,GACzB,SAAS,UAAU,EACnB,cAAc,KAAK,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC,KACD,OAAO,CAAC,MAAM,EAAE,CAMlB,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,SAAS,UAAU,EACnB,KAAK,MAAM,EACX,iBAAiB,MAAM,EACvB,gBAAe,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,EACvC,SAAQ,MAAa,KACpB,OAAO,CAAC,MAAM,CAMhB,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,SAAS,UAAU,EACnB,MAAM,MAAM,EAAE,EACd,aAAa,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACnC,SAAQ,MAAa,KACpB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAehC,CAAC"}
|
|
@@ -18,3 +18,4 @@ export declare function generateWelcomeEmail(context: ApiContext, username: stri
|
|
|
18
18
|
export declare function generateNotificationMessages(context: ApiContext, locale?: Locale): Promise<Record<string, string>>;
|
|
19
19
|
export declare function getErrorMessage(context: ApiContext, errorCode: string, locale?: Locale): Promise<string>;
|
|
20
20
|
export declare function getUserGreeting(context: ApiContext, userLocale?: string): Promise<string>;
|
|
21
|
+
//# sourceMappingURL=dbI18n.example.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dbI18n.example.d.ts","sourceRoot":"","sources":["../../src/utils/dbI18n.example.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,2BAA2B,CAAC;AAGtD,wBAAsB,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,mBAU9F;AAGD,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,MAAa,mBAYtB;AAGD,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,MAAa;;;GA0BtG;AAGD,wBAAsB,4BAA4B,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,GAAE,MAAa,mCAkB5F;AAGD,wBAAsB,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAE,MAAa,mBAclG;AAGD,wBAAsB,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,MAAM,mBAY7E"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025-Present, Nitrogen Labs, Inc.
|
|
3
|
+
* Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
|
|
4
|
+
*
|
|
5
|
+
* Example usage of the database-driven i18n system
|
|
6
|
+
*
|
|
7
|
+
* This demonstrates how to use the new i18n utility that fetches
|
|
8
|
+
* translations from the database with fallback support.
|
|
9
|
+
*/ import { dbI18n, dbI18nBatch, dbI18nMultiple, dbI18nWithInterpolation } from './dbI18n.js';
|
|
10
|
+
// Example 1: Basic database translation with fallback
|
|
11
|
+
export async function sendWelcomeSMS(context, username, phoneNumber) {
|
|
12
|
+
const message = await dbI18n(context, 'sms.welcome', 'Welcome to TorchOne, {{username}}! Thank you for joining our platform.', 'en');
|
|
13
|
+
console.log(`Sending SMS to ${phoneNumber}: ${message}`);
|
|
14
|
+
return message;
|
|
15
|
+
}
|
|
16
|
+
// Example 2: Translation with interpolation
|
|
17
|
+
export async function sendVerificationCode(context, code, locale = 'en') {
|
|
18
|
+
const message = await dbI18nWithInterpolation(context, 'sms.verificationCode', 'Your verification code is: {{code}}', {
|
|
19
|
+
code
|
|
20
|
+
}, locale);
|
|
21
|
+
console.log(`Sending verification code in ${locale}: ${message}`);
|
|
22
|
+
return message;
|
|
23
|
+
}
|
|
24
|
+
// Example 3: Multiple translations at once
|
|
25
|
+
export async function generateWelcomeEmail(context, username, locale = 'en') {
|
|
26
|
+
const [welcomeMessage, getStartedMessage, teamSignature] = await dbI18nMultiple(context, [
|
|
27
|
+
{
|
|
28
|
+
key: 'email.welcome',
|
|
29
|
+
fallback: 'Welcome to TorchOne, {{username}}!',
|
|
30
|
+
locale
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
key: 'email.getStarted',
|
|
34
|
+
fallback: 'To get started, please complete your profile and explore our features.',
|
|
35
|
+
locale
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
key: 'email.teamSignature',
|
|
39
|
+
fallback: 'The TorchOne Team',
|
|
40
|
+
locale
|
|
41
|
+
}
|
|
42
|
+
]);
|
|
43
|
+
// Apply interpolation to welcome message
|
|
44
|
+
const interpolatedWelcome = welcomeMessage.replace(/\{\{username\}\}/g, username);
|
|
45
|
+
return {
|
|
46
|
+
subject: interpolatedWelcome,
|
|
47
|
+
body: `${interpolatedWelcome}\n\n${getStartedMessage}\n\n${teamSignature}`
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
// Example 4: Batch translation for better performance
|
|
51
|
+
export async function generateNotificationMessages(context, locale = 'en') {
|
|
52
|
+
const keys = [
|
|
53
|
+
'notification.welcome',
|
|
54
|
+
'notification.verification',
|
|
55
|
+
'notification.passwordReset',
|
|
56
|
+
'notification.profileUpdate'
|
|
57
|
+
];
|
|
58
|
+
const fallbackMap = {
|
|
59
|
+
'notification.welcome': 'Welcome to TorchOne!',
|
|
60
|
+
'notification.verification': 'Please verify your account.',
|
|
61
|
+
'notification.passwordReset': 'Your password has been reset.',
|
|
62
|
+
'notification.profileUpdate': 'Your profile has been updated.'
|
|
63
|
+
};
|
|
64
|
+
const translations = await dbI18nBatch(context, keys, fallbackMap, locale);
|
|
65
|
+
return translations;
|
|
66
|
+
}
|
|
67
|
+
// Example 5: Error handling with fallback
|
|
68
|
+
export async function getErrorMessage(context, errorCode, locale = 'en') {
|
|
69
|
+
try {
|
|
70
|
+
const message = await dbI18n(context, `error.${errorCode}`, `An error occurred: ${errorCode}`, locale);
|
|
71
|
+
return message;
|
|
72
|
+
} catch (error) {
|
|
73
|
+
// If database is unavailable, return fallback
|
|
74
|
+
console.error('Database error, using fallback:', error);
|
|
75
|
+
return `An error occurred: ${errorCode}`;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
// Example 6: Dynamic content based on user preferences
|
|
79
|
+
export async function getUserGreeting(context, userLocale) {
|
|
80
|
+
// Use user's locale if available, otherwise default to 'en'
|
|
81
|
+
const locale = userLocale || 'en';
|
|
82
|
+
const greeting = await dbI18n(context, 'greeting.morning', 'Good morning!', locale);
|
|
83
|
+
return greeting;
|
|
84
|
+
} // Usage examples:
|
|
85
|
+
// const context = { databaseName: 'torchone-dev', session: { userId: 'user123' } };
|
|
86
|
+
// await sendWelcomeSMS(context, 'John', '+1234567890');
|
|
87
|
+
// await sendVerificationCode(context, '123456', 'es');
|
|
88
|
+
// const email = await generateWelcomeEmail(context, 'Maria', 'pt');
|
|
89
|
+
// const notifications = await generateNotificationMessages(context, 'fr');
|
|
90
|
+
// const errorMsg = await getErrorMessage(context, 'INVALID_EMAIL', 'de');
|
|
91
|
+
// const greeting = await getUserGreeting(context, 'en');
|
|
92
|
+
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL3V0aWxzL2RiSTE4bi5leGFtcGxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDI1LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICpcbiAqIEV4YW1wbGUgdXNhZ2Ugb2YgdGhlIGRhdGFiYXNlLWRyaXZlbiBpMThuIHN5c3RlbVxuICpcbiAqIFRoaXMgZGVtb25zdHJhdGVzIGhvdyB0byB1c2UgdGhlIG5ldyBpMThuIHV0aWxpdHkgdGhhdCBmZXRjaGVzXG4gKiB0cmFuc2xhdGlvbnMgZnJvbSB0aGUgZGF0YWJhc2Ugd2l0aCBmYWxsYmFjayBzdXBwb3J0LlxuICovXG5cbmltcG9ydCB7ZGJJMThuLCBkYkkxOG5CYXRjaCwgZGJJMThuTXVsdGlwbGUsIGRiSTE4bldpdGhJbnRlcnBvbGF0aW9ufSBmcm9tICcuL2RiSTE4bi5qcyc7XG5cbmltcG9ydCB0eXBlIHtBcGlDb250ZXh0fSBmcm9tICcuLi90eXBlcy9hdXRoLnR5cGVzLmpzJztcbmltcG9ydCB0eXBlIHtMb2NhbGV9IGZyb20gJy4uL3R5cGVzL2NvbnRlbnQudHlwZXMuanMnO1xuXG4vLyBFeGFtcGxlIDE6IEJhc2ljIGRhdGFiYXNlIHRyYW5zbGF0aW9uIHdpdGggZmFsbGJhY2tcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzZW5kV2VsY29tZVNNUyhjb250ZXh0OiBBcGlDb250ZXh0LCB1c2VybmFtZTogc3RyaW5nLCBwaG9uZU51bWJlcjogc3RyaW5nKSB7XG4gIGNvbnN0IG1lc3NhZ2UgPSBhd2FpdCBkYkkxOG4oXG4gICAgY29udGV4dCxcbiAgICAnc21zLndlbGNvbWUnLFxuICAgICdXZWxjb21lIHRvIFRvcmNoT25lLCB7e3VzZXJuYW1lfX0hIFRoYW5rIHlvdSBmb3Igam9pbmluZyBvdXIgcGxhdGZvcm0uJyxcbiAgICAnZW4nXG4gICk7XG5cbiAgY29uc29sZS5sb2coYFNlbmRpbmcgU01TIHRvICR7cGhvbmVOdW1iZXJ9OiAke21lc3NhZ2V9YCk7XG4gIHJldHVybiBtZXNzYWdlO1xufVxuXG4vLyBFeGFtcGxlIDI6IFRyYW5zbGF0aW9uIHdpdGggaW50ZXJwb2xhdGlvblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNlbmRWZXJpZmljYXRpb25Db2RlKFxuICBjb250ZXh0OiBBcGlDb250ZXh0LFxuICBjb2RlOiBzdHJpbmcsXG4gIGxvY2FsZTogTG9jYWxlID0gJ2VuJ1xuKSB7XG4gIGNvbnN0IG1lc3NhZ2UgPSBhd2FpdCBkYkkxOG5XaXRoSW50ZXJwb2xhdGlvbihcbiAgICBjb250ZXh0LFxuICAgICdzbXMudmVyaWZpY2F0aW9uQ29kZScsXG4gICAgJ1lvdXIgdmVyaWZpY2F0aW9uIGNvZGUgaXM6IHt7Y29kZX19JyxcbiAgICB7Y29kZX0sXG4gICAgbG9jYWxlXG4gICk7XG5cbiAgY29uc29sZS5sb2coYFNlbmRpbmcgdmVyaWZpY2F0aW9uIGNvZGUgaW4gJHtsb2NhbGV9OiAke21lc3NhZ2V9YCk7XG4gIHJldHVybiBtZXNzYWdlO1xufVxuXG4vLyBFeGFtcGxlIDM6IE11bHRpcGxlIHRyYW5zbGF0aW9ucyBhdCBvbmNlXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2VuZXJhdGVXZWxjb21lRW1haWwoY29udGV4dDogQXBpQ29udGV4dCwgdXNlcm5hbWU6IHN0cmluZywgbG9jYWxlOiBMb2NhbGUgPSAnZW4nKSB7XG4gIGNvbnN0IFt3ZWxjb21lTWVzc2FnZSwgZ2V0U3RhcnRlZE1lc3NhZ2UsIHRlYW1TaWduYXR1cmVdID0gYXdhaXQgZGJJMThuTXVsdGlwbGUoY29udGV4dCwgW1xuICAgIHtcbiAgICAgIGtleTogJ2VtYWlsLndlbGNvbWUnLFxuICAgICAgZmFsbGJhY2s6ICdXZWxjb21lIHRvIFRvcmNoT25lLCB7e3VzZXJuYW1lfX0hJyxcbiAgICAgIGxvY2FsZVxuICAgIH0sXG4gICAge1xuICAgICAga2V5OiAnZW1haWwuZ2V0U3RhcnRlZCcsXG4gICAgICBmYWxsYmFjazogJ1RvIGdldCBzdGFydGVkLCBwbGVhc2UgY29tcGxldGUgeW91ciBwcm9maWxlIGFuZCBleHBsb3JlIG91ciBmZWF0dXJlcy4nLFxuICAgICAgbG9jYWxlXG4gICAgfSxcbiAgICB7XG4gICAgICBrZXk6ICdlbWFpbC50ZWFtU2lnbmF0dXJlJyxcbiAgICAgIGZhbGxiYWNrOiAnVGhlIFRvcmNoT25lIFRlYW0nLFxuICAgICAgbG9jYWxlXG4gICAgfVxuICBdKTtcblxuICAvLyBBcHBseSBpbnRlcnBvbGF0aW9uIHRvIHdlbGNvbWUgbWVzc2FnZVxuICBjb25zdCBpbnRlcnBvbGF0ZWRXZWxjb21lID0gd2VsY29tZU1lc3NhZ2UucmVwbGFjZSgvXFx7XFx7dXNlcm5hbWVcXH1cXH0vZywgdXNlcm5hbWUpO1xuXG4gIHJldHVybiB7XG4gICAgc3ViamVjdDogaW50ZXJwb2xhdGVkV2VsY29tZSxcbiAgICBib2R5OiBgJHtpbnRlcnBvbGF0ZWRXZWxjb21lfVxcblxcbiR7Z2V0U3RhcnRlZE1lc3NhZ2V9XFxuXFxuJHt0ZWFtU2lnbmF0dXJlfWBcbiAgfTtcbn1cblxuLy8gRXhhbXBsZSA0OiBCYXRjaCB0cmFuc2xhdGlvbiBmb3IgYmV0dGVyIHBlcmZvcm1hbmNlXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2VuZXJhdGVOb3RpZmljYXRpb25NZXNzYWdlcyhjb250ZXh0OiBBcGlDb250ZXh0LCBsb2NhbGU6IExvY2FsZSA9ICdlbicpIHtcbiAgY29uc3Qga2V5cyA9IFtcbiAgICAnbm90aWZpY2F0aW9uLndlbGNvbWUnLFxuICAgICdub3RpZmljYXRpb24udmVyaWZpY2F0aW9uJyxcbiAgICAnbm90aWZpY2F0aW9uLnBhc3N3b3JkUmVzZXQnLFxuICAgICdub3RpZmljYXRpb24ucHJvZmlsZVVwZGF0ZSdcbiAgXTtcblxuICBjb25zdCBmYWxsYmFja01hcCA9IHtcbiAgICAnbm90aWZpY2F0aW9uLndlbGNvbWUnOiAnV2VsY29tZSB0byBUb3JjaE9uZSEnLFxuICAgICdub3RpZmljYXRpb24udmVyaWZpY2F0aW9uJzogJ1BsZWFzZSB2ZXJpZnkgeW91ciBhY2NvdW50LicsXG4gICAgJ25vdGlmaWNhdGlvbi5wYXNzd29yZFJlc2V0JzogJ1lvdXIgcGFzc3dvcmQgaGFzIGJlZW4gcmVzZXQuJyxcbiAgICAnbm90aWZpY2F0aW9uLnByb2ZpbGVVcGRhdGUnOiAnWW91ciBwcm9maWxlIGhhcyBiZWVuIHVwZGF0ZWQuJ1xuICB9O1xuXG4gIGNvbnN0IHRyYW5zbGF0aW9ucyA9IGF3YWl0IGRiSTE4bkJhdGNoKGNvbnRleHQsIGtleXMsIGZhbGxiYWNrTWFwLCBsb2NhbGUpO1xuXG4gIHJldHVybiB0cmFuc2xhdGlvbnM7XG59XG5cbi8vIEV4YW1wbGUgNTogRXJyb3IgaGFuZGxpbmcgd2l0aCBmYWxsYmFja1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEVycm9yTWVzc2FnZShjb250ZXh0OiBBcGlDb250ZXh0LCBlcnJvckNvZGU6IHN0cmluZywgbG9jYWxlOiBMb2NhbGUgPSAnZW4nKSB7XG4gIHRyeSB7XG4gICAgY29uc3QgbWVzc2FnZSA9IGF3YWl0IGRiSTE4bihcbiAgICAgIGNvbnRleHQsXG4gICAgICBgZXJyb3IuJHtlcnJvckNvZGV9YCxcbiAgICAgIGBBbiBlcnJvciBvY2N1cnJlZDogJHtlcnJvckNvZGV9YCxcbiAgICAgIGxvY2FsZVxuICAgICk7XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICAvLyBJZiBkYXRhYmFzZSBpcyB1bmF2YWlsYWJsZSwgcmV0dXJuIGZhbGxiYWNrXG4gICAgY29uc29sZS5lcnJvcignRGF0YWJhc2UgZXJyb3IsIHVzaW5nIGZhbGxiYWNrOicsIGVycm9yKTtcbiAgICByZXR1cm4gYEFuIGVycm9yIG9jY3VycmVkOiAke2Vycm9yQ29kZX1gO1xuICB9XG59XG5cbi8vIEV4YW1wbGUgNjogRHluYW1pYyBjb250ZW50IGJhc2VkIG9uIHVzZXIgcHJlZmVyZW5jZXNcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRVc2VyR3JlZXRpbmcoY29udGV4dDogQXBpQ29udGV4dCwgdXNlckxvY2FsZT86IHN0cmluZykge1xuICAvLyBVc2UgdXNlcidzIGxvY2FsZSBpZiBhdmFpbGFibGUsIG90aGVyd2lzZSBkZWZhdWx0IHRvICdlbidcbiAgY29uc3QgbG9jYWxlOiBMb2NhbGUgPSAodXNlckxvY2FsZSBhcyBMb2NhbGUpIHx8ICdlbic7XG5cbiAgY29uc3QgZ3JlZXRpbmcgPSBhd2FpdCBkYkkxOG4oXG4gICAgY29udGV4dCxcbiAgICAnZ3JlZXRpbmcubW9ybmluZycsXG4gICAgJ0dvb2QgbW9ybmluZyEnLFxuICAgIGxvY2FsZVxuICApO1xuXG4gIHJldHVybiBncmVldGluZztcbn1cblxuLy8gVXNhZ2UgZXhhbXBsZXM6XG4vLyBjb25zdCBjb250ZXh0ID0geyBkYXRhYmFzZU5hbWU6ICd0b3JjaG9uZS1kZXYnLCBzZXNzaW9uOiB7IHVzZXJJZDogJ3VzZXIxMjMnIH0gfTtcbi8vIGF3YWl0IHNlbmRXZWxjb21lU01TKGNvbnRleHQsICdKb2huJywgJysxMjM0NTY3ODkwJyk7XG4vLyBhd2FpdCBzZW5kVmVyaWZpY2F0aW9uQ29kZShjb250ZXh0LCAnMTIzNDU2JywgJ2VzJyk7XG4vLyBjb25zdCBlbWFpbCA9IGF3YWl0IGdlbmVyYXRlV2VsY29tZUVtYWlsKGNvbnRleHQsICdNYXJpYScsICdwdCcpO1xuLy8gY29uc3Qgbm90aWZpY2F0aW9ucyA9IGF3YWl0IGdlbmVyYXRlTm90aWZpY2F0aW9uTWVzc2FnZXMoY29udGV4dCwgJ2ZyJyk7XG4vLyBjb25zdCBlcnJvck1zZyA9IGF3YWl0IGdldEVycm9yTWVzc2FnZShjb250ZXh0LCAnSU5WQUxJRF9FTUFJTCcsICdkZScpO1xuLy8gY29uc3QgZ3JlZXRpbmcgPSBhd2FpdCBnZXRVc2VyR3JlZXRpbmcoY29udGV4dCwgJ2VuJyk7Il0sIm5hbWVzIjpbImRiSTE4biIsImRiSTE4bkJhdGNoIiwiZGJJMThuTXVsdGlwbGUiLCJkYkkxOG5XaXRoSW50ZXJwb2xhdGlvbiIsInNlbmRXZWxjb21lU01TIiwiY29udGV4dCIsInVzZXJuYW1lIiwicGhvbmVOdW1iZXIiLCJtZXNzYWdlIiwiY29uc29sZSIsImxvZyIsInNlbmRWZXJpZmljYXRpb25Db2RlIiwiY29kZSIsImxvY2FsZSIsImdlbmVyYXRlV2VsY29tZUVtYWlsIiwid2VsY29tZU1lc3NhZ2UiLCJnZXRTdGFydGVkTWVzc2FnZSIsInRlYW1TaWduYXR1cmUiLCJrZXkiLCJmYWxsYmFjayIsImludGVycG9sYXRlZFdlbGNvbWUiLCJyZXBsYWNlIiwic3ViamVjdCIsImJvZHkiLCJnZW5lcmF0ZU5vdGlmaWNhdGlvbk1lc3NhZ2VzIiwia2V5cyIsImZhbGxiYWNrTWFwIiwidHJhbnNsYXRpb25zIiwiZ2V0RXJyb3JNZXNzYWdlIiwiZXJyb3JDb2RlIiwiZXJyb3IiLCJnZXRVc2VyR3JlZXRpbmciLCJ1c2VyTG9jYWxlIiwiZ3JlZXRpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztDQVFDLEdBRUQsU0FBUUEsTUFBTSxFQUFFQyxXQUFXLEVBQUVDLGNBQWMsRUFBRUMsdUJBQXVCLFFBQU8sY0FBYztBQUt6RixzREFBc0Q7QUFDdEQsT0FBTyxlQUFlQyxlQUFlQyxPQUFtQixFQUFFQyxRQUFnQixFQUFFQyxXQUFtQjtJQUM3RixNQUFNQyxVQUFVLE1BQU1SLE9BQ3BCSyxTQUNBLGVBQ0EsMEVBQ0E7SUFHRkksUUFBUUMsR0FBRyxDQUFDLENBQUMsZUFBZSxFQUFFSCxZQUFZLEVBQUUsRUFBRUMsU0FBUztJQUN2RCxPQUFPQTtBQUNUO0FBRUEsNENBQTRDO0FBQzVDLE9BQU8sZUFBZUcscUJBQ3BCTixPQUFtQixFQUNuQk8sSUFBWSxFQUNaQyxTQUFpQixJQUFJO0lBRXJCLE1BQU1MLFVBQVUsTUFBTUwsd0JBQ3BCRSxTQUNBLHdCQUNBLHVDQUNBO1FBQUNPO0lBQUksR0FDTEM7SUFHRkosUUFBUUMsR0FBRyxDQUFDLENBQUMsNkJBQTZCLEVBQUVHLE9BQU8sRUFBRSxFQUFFTCxTQUFTO0lBQ2hFLE9BQU9BO0FBQ1Q7QUFFQSwyQ0FBMkM7QUFDM0MsT0FBTyxlQUFlTSxxQkFBcUJULE9BQW1CLEVBQUVDLFFBQWdCLEVBQUVPLFNBQWlCLElBQUk7SUFDckcsTUFBTSxDQUFDRSxnQkFBZ0JDLG1CQUFtQkMsY0FBYyxHQUFHLE1BQU1mLGVBQWVHLFNBQVM7UUFDdkY7WUFDRWEsS0FBSztZQUNMQyxVQUFVO1lBQ1ZOO1FBQ0Y7UUFDQTtZQUNFSyxLQUFLO1lBQ0xDLFVBQVU7WUFDVk47UUFDRjtRQUNBO1lBQ0VLLEtBQUs7WUFDTEMsVUFBVTtZQUNWTjtRQUNGO0tBQ0Q7SUFFRCx5Q0FBeUM7SUFDekMsTUFBTU8sc0JBQXNCTCxlQUFlTSxPQUFPLENBQUMscUJBQXFCZjtJQUV4RSxPQUFPO1FBQ0xnQixTQUFTRjtRQUNURyxNQUFNLEdBQUdILG9CQUFvQixJQUFJLEVBQUVKLGtCQUFrQixJQUFJLEVBQUVDLGVBQWU7SUFDNUU7QUFDRjtBQUVBLHNEQUFzRDtBQUN0RCxPQUFPLGVBQWVPLDZCQUE2Qm5CLE9BQW1CLEVBQUVRLFNBQWlCLElBQUk7SUFDM0YsTUFBTVksT0FBTztRQUNYO1FBQ0E7UUFDQTtRQUNBO0tBQ0Q7SUFFRCxNQUFNQyxjQUFjO1FBQ2xCLHdCQUF3QjtRQUN4Qiw2QkFBNkI7UUFDN0IsOEJBQThCO1FBQzlCLDhCQUE4QjtJQUNoQztJQUVBLE1BQU1DLGVBQWUsTUFBTTFCLFlBQVlJLFNBQVNvQixNQUFNQyxhQUFhYjtJQUVuRSxPQUFPYztBQUNUO0FBRUEsMENBQTBDO0FBQzFDLE9BQU8sZUFBZUMsZ0JBQWdCdkIsT0FBbUIsRUFBRXdCLFNBQWlCLEVBQUVoQixTQUFpQixJQUFJO0lBQ2pHLElBQUk7UUFDRixNQUFNTCxVQUFVLE1BQU1SLE9BQ3BCSyxTQUNBLENBQUMsTUFBTSxFQUFFd0IsV0FBVyxFQUNwQixDQUFDLG1CQUFtQixFQUFFQSxXQUFXLEVBQ2pDaEI7UUFFRixPQUFPTDtJQUNULEVBQUUsT0FBTXNCLE9BQU87UUFDYiw4Q0FBOEM7UUFDOUNyQixRQUFRcUIsS0FBSyxDQUFDLG1DQUFtQ0E7UUFDakQsT0FBTyxDQUFDLG1CQUFtQixFQUFFRCxXQUFXO0lBQzFDO0FBQ0Y7QUFFQSx1REFBdUQ7QUFDdkQsT0FBTyxlQUFlRSxnQkFBZ0IxQixPQUFtQixFQUFFMkIsVUFBbUI7SUFDNUUsNERBQTREO0lBQzVELE1BQU1uQixTQUFpQixBQUFDbUIsY0FBeUI7SUFFakQsTUFBTUMsV0FBVyxNQUFNakMsT0FDckJLLFNBQ0Esb0JBQ0EsaUJBQ0FRO0lBR0YsT0FBT29CO0FBQ1QsRUFFQSxrQkFBa0I7Q0FDbEIsb0ZBQW9GO0NBQ3BGLHdEQUF3RDtDQUN4RCx1REFBdUQ7Q0FDdkQsb0VBQW9FO0NBQ3BFLDJFQUEyRTtDQUMzRSwwRUFBMEU7Q0FDMUUseURBQXlEIn0=
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025-Present, Nitrogen Labs, Inc.
|
|
3
|
+
* Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
|
|
4
|
+
*/ import { getContentWithFallback } from '../actions/content.js';
|
|
5
|
+
export const dbI18n = async (context, key, fallbackContent, locale = 'en')=>getContentWithFallback(context, key, fallbackContent, locale);
|
|
6
|
+
export const dbI18nMultiple = async (context, translations)=>{
|
|
7
|
+
const promises = translations.map(({ key, fallback, locale = 'en' })=>getContentWithFallback(context, key, fallback, locale));
|
|
8
|
+
return Promise.all(promises);
|
|
9
|
+
};
|
|
10
|
+
export const dbI18nWithInterpolation = async (context, key, fallbackContent, interpolation = {}, locale = 'en')=>{
|
|
11
|
+
const content = await getContentWithFallback(context, key, fallbackContent, locale);
|
|
12
|
+
return content.replace(/\{\{(\w+)\}\}/g, (match, key)=>interpolation[key] !== undefined ? String(interpolation[key]) : match);
|
|
13
|
+
};
|
|
14
|
+
export const dbI18nBatch = async (context, keys, fallbackMap, locale = 'en')=>{
|
|
15
|
+
const translations = keys.map((key)=>({
|
|
16
|
+
key,
|
|
17
|
+
fallback: fallbackMap[key] || key,
|
|
18
|
+
locale
|
|
19
|
+
}));
|
|
20
|
+
const results = await dbI18nMultiple(context, translations);
|
|
21
|
+
const resultMap = {};
|
|
22
|
+
keys.forEach((key, index)=>{
|
|
23
|
+
resultMap[key] = results[index];
|
|
24
|
+
});
|
|
25
|
+
return resultMap;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL3V0aWxzL2RiSTE4bi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyNS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtnZXRDb250ZW50V2l0aEZhbGxiYWNrfSBmcm9tICcuLi9hY3Rpb25zL2NvbnRlbnQuanMnO1xuXG5pbXBvcnQgdHlwZSB7QXBpQ29udGV4dH0gZnJvbSAnLi4vdHlwZXMvYXV0aC50eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7TG9jYWxlfSBmcm9tICcuLi90eXBlcy9jb250ZW50LnR5cGVzLmpzJztcblxuZXhwb3J0IGNvbnN0IGRiSTE4biA9IGFzeW5jIChcbiAgY29udGV4dDogQXBpQ29udGV4dCxcbiAga2V5OiBzdHJpbmcsXG4gIGZhbGxiYWNrQ29udGVudDogc3RyaW5nLFxuICBsb2NhbGU6IExvY2FsZSA9ICdlbidcbik6IFByb21pc2U8c3RyaW5nPiA9PiBnZXRDb250ZW50V2l0aEZhbGxiYWNrKGNvbnRleHQsIGtleSwgZmFsbGJhY2tDb250ZW50LCBsb2NhbGUpO1xuXG5leHBvcnQgY29uc3QgZGJJMThuTXVsdGlwbGUgPSBhc3luYyAoXG4gIGNvbnRleHQ6IEFwaUNvbnRleHQsXG4gIHRyYW5zbGF0aW9uczogQXJyYXk8e1xuICAgIGtleTogc3RyaW5nO1xuICAgIGZhbGxiYWNrOiBzdHJpbmc7XG4gICAgbG9jYWxlPzogTG9jYWxlO1xuICB9PlxuKTogUHJvbWlzZTxzdHJpbmdbXT4gPT4ge1xuICBjb25zdCBwcm9taXNlcyA9IHRyYW5zbGF0aW9ucy5tYXAoKHtrZXksIGZhbGxiYWNrLCBsb2NhbGUgPSAnZW4nfSkgPT5cbiAgICBnZXRDb250ZW50V2l0aEZhbGxiYWNrKGNvbnRleHQsIGtleSwgZmFsbGJhY2ssIGxvY2FsZSlcbiAgKTtcblxuICByZXR1cm4gUHJvbWlzZS5hbGwocHJvbWlzZXMpO1xufTtcblxuZXhwb3J0IGNvbnN0IGRiSTE4bldpdGhJbnRlcnBvbGF0aW9uID0gYXN5bmMgKFxuICBjb250ZXh0OiBBcGlDb250ZXh0LFxuICBrZXk6IHN0cmluZyxcbiAgZmFsbGJhY2tDb250ZW50OiBzdHJpbmcsXG4gIGludGVycG9sYXRpb246IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fSxcbiAgbG9jYWxlOiBMb2NhbGUgPSAnZW4nXG4pOiBQcm9taXNlPHN0cmluZz4gPT4ge1xuICBjb25zdCBjb250ZW50ID0gYXdhaXQgZ2V0Q29udGVudFdpdGhGYWxsYmFjayhjb250ZXh0LCBrZXksIGZhbGxiYWNrQ29udGVudCwgbG9jYWxlKTtcblxuICByZXR1cm4gY29udGVudC5yZXBsYWNlKC9cXHtcXHsoXFx3KylcXH1cXH0vZywgKG1hdGNoLCBrZXkpID0+XG4gICAgKGludGVycG9sYXRpb25ba2V5XSAhPT0gdW5kZWZpbmVkID8gU3RyaW5nKGludGVycG9sYXRpb25ba2V5XSkgOiBtYXRjaClcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBkYkkxOG5CYXRjaCA9IGFzeW5jIChcbiAgY29udGV4dDogQXBpQ29udGV4dCxcbiAga2V5czogc3RyaW5nW10sXG4gIGZhbGxiYWNrTWFwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LFxuICBsb2NhbGU6IExvY2FsZSA9ICdlbidcbik6IFByb21pc2U8UmVjb3JkPHN0cmluZywgc3RyaW5nPj4gPT4ge1xuICBjb25zdCB0cmFuc2xhdGlvbnMgPSBrZXlzLm1hcCgoa2V5KSA9PiAoe1xuICAgIGtleSxcbiAgICBmYWxsYmFjazogZmFsbGJhY2tNYXBba2V5XSB8fCBrZXksXG4gICAgbG9jYWxlXG4gIH0pKTtcblxuICBjb25zdCByZXN1bHRzID0gYXdhaXQgZGJJMThuTXVsdGlwbGUoY29udGV4dCwgdHJhbnNsYXRpb25zKTtcblxuICBjb25zdCByZXN1bHRNYXA6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcbiAga2V5cy5mb3JFYWNoKChrZXksIGluZGV4KSA9PiB7XG4gICAgcmVzdWx0TWFwW2tleV0gPSByZXN1bHRzW2luZGV4XTtcbiAgfSk7XG5cbiAgcmV0dXJuIHJlc3VsdE1hcDtcbn07Il0sIm5hbWVzIjpbImdldENvbnRlbnRXaXRoRmFsbGJhY2siLCJkYkkxOG4iLCJjb250ZXh0Iiwia2V5IiwiZmFsbGJhY2tDb250ZW50IiwibG9jYWxlIiwiZGJJMThuTXVsdGlwbGUiLCJ0cmFuc2xhdGlvbnMiLCJwcm9taXNlcyIsIm1hcCIsImZhbGxiYWNrIiwiUHJvbWlzZSIsImFsbCIsImRiSTE4bldpdGhJbnRlcnBvbGF0aW9uIiwiaW50ZXJwb2xhdGlvbiIsImNvbnRlbnQiLCJyZXBsYWNlIiwibWF0Y2giLCJ1bmRlZmluZWQiLCJTdHJpbmciLCJkYkkxOG5CYXRjaCIsImtleXMiLCJmYWxsYmFja01hcCIsInJlc3VsdHMiLCJyZXN1bHRNYXAiLCJmb3JFYWNoIiwiaW5kZXgiXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUNELFNBQVFBLHNCQUFzQixRQUFPLHdCQUF3QjtBQUs3RCxPQUFPLE1BQU1DLFNBQVMsT0FDcEJDLFNBQ0FDLEtBQ0FDLGlCQUNBQyxTQUFpQixJQUFJLEdBQ0RMLHVCQUF1QkUsU0FBU0MsS0FBS0MsaUJBQWlCQyxRQUFRO0FBRXBGLE9BQU8sTUFBTUMsaUJBQWlCLE9BQzVCSixTQUNBSztJQU1BLE1BQU1DLFdBQVdELGFBQWFFLEdBQUcsQ0FBQyxDQUFDLEVBQUNOLEdBQUcsRUFBRU8sUUFBUSxFQUFFTCxTQUFTLElBQUksRUFBQyxHQUMvREwsdUJBQXVCRSxTQUFTQyxLQUFLTyxVQUFVTDtJQUdqRCxPQUFPTSxRQUFRQyxHQUFHLENBQUNKO0FBQ3JCLEVBQUU7QUFFRixPQUFPLE1BQU1LLDBCQUEwQixPQUNyQ1gsU0FDQUMsS0FDQUMsaUJBQ0FVLGdCQUFxQyxDQUFDLENBQUMsRUFDdkNULFNBQWlCLElBQUk7SUFFckIsTUFBTVUsVUFBVSxNQUFNZix1QkFBdUJFLFNBQVNDLEtBQUtDLGlCQUFpQkM7SUFFNUUsT0FBT1UsUUFBUUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDQyxPQUFPZCxNQUM5Q1csYUFBYSxDQUFDWCxJQUFJLEtBQUtlLFlBQVlDLE9BQU9MLGFBQWEsQ0FBQ1gsSUFBSSxJQUFJYztBQUVyRSxFQUFFO0FBRUYsT0FBTyxNQUFNRyxjQUFjLE9BQ3pCbEIsU0FDQW1CLE1BQ0FDLGFBQ0FqQixTQUFpQixJQUFJO0lBRXJCLE1BQU1FLGVBQWVjLEtBQUtaLEdBQUcsQ0FBQyxDQUFDTixNQUFTLENBQUE7WUFDdENBO1lBQ0FPLFVBQVVZLFdBQVcsQ0FBQ25CLElBQUksSUFBSUE7WUFDOUJFO1FBQ0YsQ0FBQTtJQUVBLE1BQU1rQixVQUFVLE1BQU1qQixlQUFlSixTQUFTSztJQUU5QyxNQUFNaUIsWUFBb0MsQ0FBQztJQUMzQ0gsS0FBS0ksT0FBTyxDQUFDLENBQUN0QixLQUFLdUI7UUFDakJGLFNBQVMsQ0FBQ3JCLElBQUksR0FBR29CLE9BQU8sQ0FBQ0csTUFBTTtJQUNqQztJQUVBLE9BQU9GO0FBQ1QsRUFBRSJ9
|
|
@@ -4,3 +4,4 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export declare const translateText: (text: string, targetLanguage: string, sourceLanguage?: string) => Promise<string>;
|
|
6
6
|
export declare const translateBatch: (texts: string[], targetLanguage: string, sourceLanguage?: string) => Promise<string[]>;
|
|
7
|
+
//# sourceMappingURL=googleTranslate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"googleTranslate.d.ts","sourceRoot":"","sources":["../../src/utils/googleTranslate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,eAAO,MAAM,aAAa,GACxB,MAAM,MAAM,EACZ,gBAAgB,MAAM,EACtB,iBAAgB,MAAa,KAC5B,OAAO,CAAC,MAAM,CAqChB,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,OAAO,MAAM,EAAE,EACf,gBAAgB,MAAM,EACtB,iBAAgB,MAAa,KAC5B,OAAO,CAAC,MAAM,EAAE,CAqClB,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025-Present, Nitrogen Labs, Inc.
|
|
3
|
+
* Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
|
|
4
|
+
*/ import { Config } from '../config.js';
|
|
5
|
+
export const translateText = async (text, targetLanguage, sourceLanguage = 'en')=>{
|
|
6
|
+
try {
|
|
7
|
+
const apiKey = Config.get('google.key');
|
|
8
|
+
if (!apiKey) {
|
|
9
|
+
throw new Error('Google Translate API key not configured');
|
|
10
|
+
}
|
|
11
|
+
const url = `https://translation.googleapis.com/language/translate/v2?key=${apiKey}`;
|
|
12
|
+
const response = await fetch(url, {
|
|
13
|
+
method: 'POST',
|
|
14
|
+
headers: {
|
|
15
|
+
'Content-Type': 'application/json'
|
|
16
|
+
},
|
|
17
|
+
body: JSON.stringify({
|
|
18
|
+
q: text,
|
|
19
|
+
target: targetLanguage,
|
|
20
|
+
source: sourceLanguage,
|
|
21
|
+
format: 'text'
|
|
22
|
+
})
|
|
23
|
+
});
|
|
24
|
+
if (!response.ok) {
|
|
25
|
+
throw new Error(`Google Translate API error: ${response.status} ${response.statusText}`);
|
|
26
|
+
}
|
|
27
|
+
const data = await response.json();
|
|
28
|
+
if (!data.data?.translations?.[0]?.translatedText) {
|
|
29
|
+
throw new Error('Invalid response from Google Translate API');
|
|
30
|
+
}
|
|
31
|
+
return data.data.translations[0].translatedText;
|
|
32
|
+
} catch (error) {
|
|
33
|
+
console.error('Translation error:', error);
|
|
34
|
+
throw error;
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
export const translateBatch = async (texts, targetLanguage, sourceLanguage = 'en')=>{
|
|
38
|
+
try {
|
|
39
|
+
const apiKey = Config.get('google.key');
|
|
40
|
+
if (!apiKey) {
|
|
41
|
+
throw new Error('Google Translate API key not configured');
|
|
42
|
+
}
|
|
43
|
+
const url = `https://translation.googleapis.com/language/translate/v2?key=${apiKey}`;
|
|
44
|
+
const response = await fetch(url, {
|
|
45
|
+
method: 'POST',
|
|
46
|
+
headers: {
|
|
47
|
+
'Content-Type': 'application/json'
|
|
48
|
+
},
|
|
49
|
+
body: JSON.stringify({
|
|
50
|
+
q: texts,
|
|
51
|
+
target: targetLanguage,
|
|
52
|
+
source: sourceLanguage,
|
|
53
|
+
format: 'text'
|
|
54
|
+
})
|
|
55
|
+
});
|
|
56
|
+
if (!response.ok) {
|
|
57
|
+
throw new Error(`Google Translate API error: ${response.status} ${response.statusText}`);
|
|
58
|
+
}
|
|
59
|
+
const data = await response.json();
|
|
60
|
+
if (!data.data?.translations) {
|
|
61
|
+
throw new Error('Invalid response from Google Translate API');
|
|
62
|
+
}
|
|
63
|
+
return data.data.translations.map((t)=>t.translatedText);
|
|
64
|
+
} catch (error) {
|
|
65
|
+
console.error('Batch translation error:', error);
|
|
66
|
+
throw error;
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL3V0aWxzL2dvb2dsZVRyYW5zbGF0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyNS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuXG5pbXBvcnQge0NvbmZpZ30gZnJvbSAnLi4vY29uZmlnLmpzJztcblxuaW50ZXJmYWNlIEdvb2dsZVRyYW5zbGF0ZVJlc3BvbnNlIHtcbiAgZGF0YToge1xuICAgIHRyYW5zbGF0aW9uczogQXJyYXk8e1xuICAgICAgdHJhbnNsYXRlZFRleHQ6IHN0cmluZztcbiAgICAgIGRldGVjdGVkU291cmNlTGFuZ3VhZ2U/OiBzdHJpbmc7XG4gICAgfT47XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCB0cmFuc2xhdGVUZXh0ID0gYXN5bmMgKFxuICB0ZXh0OiBzdHJpbmcsXG4gIHRhcmdldExhbmd1YWdlOiBzdHJpbmcsXG4gIHNvdXJjZUxhbmd1YWdlOiBzdHJpbmcgPSAnZW4nXG4pOiBQcm9taXNlPHN0cmluZz4gPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IGFwaUtleSA9IENvbmZpZy5nZXQoJ2dvb2dsZS5rZXknKTtcbiAgICBpZighYXBpS2V5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0dvb2dsZSBUcmFuc2xhdGUgQVBJIGtleSBub3QgY29uZmlndXJlZCcpO1xuICAgIH1cblxuICAgIGNvbnN0IHVybCA9IGBodHRwczovL3RyYW5zbGF0aW9uLmdvb2dsZWFwaXMuY29tL2xhbmd1YWdlL3RyYW5zbGF0ZS92Mj9rZXk9JHthcGlLZXl9YDtcblxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJsLCB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgfSxcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgcTogdGV4dCxcbiAgICAgICAgdGFyZ2V0OiB0YXJnZXRMYW5ndWFnZSxcbiAgICAgICAgc291cmNlOiBzb3VyY2VMYW5ndWFnZSxcbiAgICAgICAgZm9ybWF0OiAndGV4dCdcbiAgICAgIH0pXG4gICAgfSk7XG5cbiAgICBpZighcmVzcG9uc2Uub2spIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgR29vZ2xlIFRyYW5zbGF0ZSBBUEkgZXJyb3I6ICR7cmVzcG9uc2Uuc3RhdHVzfSAke3Jlc3BvbnNlLnN0YXR1c1RleHR9YCk7XG4gICAgfVxuXG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKSBhcyBHb29nbGVUcmFuc2xhdGVSZXNwb25zZTtcblxuICAgIGlmKCFkYXRhLmRhdGE/LnRyYW5zbGF0aW9ucz8uWzBdPy50cmFuc2xhdGVkVGV4dCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHJlc3BvbnNlIGZyb20gR29vZ2xlIFRyYW5zbGF0ZSBBUEknKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZGF0YS5kYXRhLnRyYW5zbGF0aW9uc1swXS50cmFuc2xhdGVkVGV4dDtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGNvbnNvbGUuZXJyb3IoJ1RyYW5zbGF0aW9uIGVycm9yOicsIGVycm9yKTtcbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHRyYW5zbGF0ZUJhdGNoID0gYXN5bmMgKFxuICB0ZXh0czogc3RyaW5nW10sXG4gIHRhcmdldExhbmd1YWdlOiBzdHJpbmcsXG4gIHNvdXJjZUxhbmd1YWdlOiBzdHJpbmcgPSAnZW4nXG4pOiBQcm9taXNlPHN0cmluZ1tdPiA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgYXBpS2V5ID0gQ29uZmlnLmdldCgnZ29vZ2xlLmtleScpO1xuICAgIGlmKCFhcGlLZXkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignR29vZ2xlIFRyYW5zbGF0ZSBBUEkga2V5IG5vdCBjb25maWd1cmVkJyk7XG4gICAgfVxuXG4gICAgY29uc3QgdXJsID0gYGh0dHBzOi8vdHJhbnNsYXRpb24uZ29vZ2xlYXBpcy5jb20vbGFuZ3VhZ2UvdHJhbnNsYXRlL3YyP2tleT0ke2FwaUtleX1gO1xuXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmwsIHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICB9LFxuICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICBxOiB0ZXh0cyxcbiAgICAgICAgdGFyZ2V0OiB0YXJnZXRMYW5ndWFnZSxcbiAgICAgICAgc291cmNlOiBzb3VyY2VMYW5ndWFnZSxcbiAgICAgICAgZm9ybWF0OiAndGV4dCdcbiAgICAgIH0pXG4gICAgfSk7XG5cbiAgICBpZighcmVzcG9uc2Uub2spIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgR29vZ2xlIFRyYW5zbGF0ZSBBUEkgZXJyb3I6ICR7cmVzcG9uc2Uuc3RhdHVzfSAke3Jlc3BvbnNlLnN0YXR1c1RleHR9YCk7XG4gICAgfVxuXG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKSBhcyBHb29nbGVUcmFuc2xhdGVSZXNwb25zZTtcblxuICAgIGlmKCFkYXRhLmRhdGE/LnRyYW5zbGF0aW9ucykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHJlc3BvbnNlIGZyb20gR29vZ2xlIFRyYW5zbGF0ZSBBUEknKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZGF0YS5kYXRhLnRyYW5zbGF0aW9ucy5tYXAoKHQpID0+IHQudHJhbnNsYXRlZFRleHQpO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcignQmF0Y2ggdHJhbnNsYXRpb24gZXJyb3I6JywgZXJyb3IpO1xuICAgIHRocm93IGVycm9yO1xuICB9XG59OyJdLCJuYW1lcyI6WyJDb25maWciLCJ0cmFuc2xhdGVUZXh0IiwidGV4dCIsInRhcmdldExhbmd1YWdlIiwic291cmNlTGFuZ3VhZ2UiLCJhcGlLZXkiLCJnZXQiLCJFcnJvciIsInVybCIsInJlc3BvbnNlIiwiZmV0Y2giLCJtZXRob2QiLCJoZWFkZXJzIiwiYm9keSIsIkpTT04iLCJzdHJpbmdpZnkiLCJxIiwidGFyZ2V0Iiwic291cmNlIiwiZm9ybWF0Iiwib2siLCJzdGF0dXMiLCJzdGF0dXNUZXh0IiwiZGF0YSIsImpzb24iLCJ0cmFuc2xhdGlvbnMiLCJ0cmFuc2xhdGVkVGV4dCIsImVycm9yIiwiY29uc29sZSIsInRyYW5zbGF0ZUJhdGNoIiwidGV4dHMiLCJtYXAiLCJ0Il0sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0FFRCxTQUFRQSxNQUFNLFFBQU8sZUFBZTtBQVdwQyxPQUFPLE1BQU1DLGdCQUFnQixPQUMzQkMsTUFDQUMsZ0JBQ0FDLGlCQUF5QixJQUFJO0lBRTdCLElBQUk7UUFDRixNQUFNQyxTQUFTTCxPQUFPTSxHQUFHLENBQUM7UUFDMUIsSUFBRyxDQUFDRCxRQUFRO1lBQ1YsTUFBTSxJQUFJRSxNQUFNO1FBQ2xCO1FBRUEsTUFBTUMsTUFBTSxDQUFDLDZEQUE2RCxFQUFFSCxRQUFRO1FBRXBGLE1BQU1JLFdBQVcsTUFBTUMsTUFBTUYsS0FBSztZQUNoQ0csUUFBUTtZQUNSQyxTQUFTO2dCQUNQLGdCQUFnQjtZQUNsQjtZQUNBQyxNQUFNQyxLQUFLQyxTQUFTLENBQUM7Z0JBQ25CQyxHQUFHZDtnQkFDSGUsUUFBUWQ7Z0JBQ1JlLFFBQVFkO2dCQUNSZSxRQUFRO1lBQ1Y7UUFDRjtRQUVBLElBQUcsQ0FBQ1YsU0FBU1csRUFBRSxFQUFFO1lBQ2YsTUFBTSxJQUFJYixNQUFNLENBQUMsNEJBQTRCLEVBQUVFLFNBQVNZLE1BQU0sQ0FBQyxDQUFDLEVBQUVaLFNBQVNhLFVBQVUsRUFBRTtRQUN6RjtRQUVBLE1BQU1DLE9BQU8sTUFBTWQsU0FBU2UsSUFBSTtRQUVoQyxJQUFHLENBQUNELEtBQUtBLElBQUksRUFBRUUsY0FBYyxDQUFDLEVBQUUsRUFBRUMsZ0JBQWdCO1lBQ2hELE1BQU0sSUFBSW5CLE1BQU07UUFDbEI7UUFFQSxPQUFPZ0IsS0FBS0EsSUFBSSxDQUFDRSxZQUFZLENBQUMsRUFBRSxDQUFDQyxjQUFjO0lBQ2pELEVBQUUsT0FBTUMsT0FBTztRQUNiQyxRQUFRRCxLQUFLLENBQUMsc0JBQXNCQTtRQUNwQyxNQUFNQTtJQUNSO0FBQ0YsRUFBRTtBQUVGLE9BQU8sTUFBTUUsaUJBQWlCLE9BQzVCQyxPQUNBM0IsZ0JBQ0FDLGlCQUF5QixJQUFJO0lBRTdCLElBQUk7UUFDRixNQUFNQyxTQUFTTCxPQUFPTSxHQUFHLENBQUM7UUFDMUIsSUFBRyxDQUFDRCxRQUFRO1lBQ1YsTUFBTSxJQUFJRSxNQUFNO1FBQ2xCO1FBRUEsTUFBTUMsTUFBTSxDQUFDLDZEQUE2RCxFQUFFSCxRQUFRO1FBRXBGLE1BQU1JLFdBQVcsTUFBTUMsTUFBTUYsS0FBSztZQUNoQ0csUUFBUTtZQUNSQyxTQUFTO2dCQUNQLGdCQUFnQjtZQUNsQjtZQUNBQyxNQUFNQyxLQUFLQyxTQUFTLENBQUM7Z0JBQ25CQyxHQUFHYztnQkFDSGIsUUFBUWQ7Z0JBQ1JlLFFBQVFkO2dCQUNSZSxRQUFRO1lBQ1Y7UUFDRjtRQUVBLElBQUcsQ0FBQ1YsU0FBU1csRUFBRSxFQUFFO1lBQ2YsTUFBTSxJQUFJYixNQUFNLENBQUMsNEJBQTRCLEVBQUVFLFNBQVNZLE1BQU0sQ0FBQyxDQUFDLEVBQUVaLFNBQVNhLFVBQVUsRUFBRTtRQUN6RjtRQUVBLE1BQU1DLE9BQU8sTUFBTWQsU0FBU2UsSUFBSTtRQUVoQyxJQUFHLENBQUNELEtBQUtBLElBQUksRUFBRUUsY0FBYztZQUMzQixNQUFNLElBQUlsQixNQUFNO1FBQ2xCO1FBRUEsT0FBT2dCLEtBQUtBLElBQUksQ0FBQ0UsWUFBWSxDQUFDTSxHQUFHLENBQUMsQ0FBQ0MsSUFBTUEsRUFBRU4sY0FBYztJQUMzRCxFQUFFLE9BQU1DLE9BQU87UUFDYkMsUUFBUUQsS0FBSyxDQUFDLDRCQUE0QkE7UUFDMUMsTUFBTUE7SUFDUjtBQUNGLEVBQUUifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphqlUtils.d.ts","sourceRoot":"","sources":["../../src/utils/graphqlUtils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAEvD,eAAO,MAAM,kBAAkB,GAAI,MAAM,GAAG,KAAG,MAAM,EAAwB,CAAC;AAE9E,eAAO,MAAM,wBAAwB,GAAI,aAAa,UAAU,MAAM,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,SAAS,GAAG,EAAE,MAAM,GAAG;;;;;;;CAOlH,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { getGqlFields } from './arangodbUtils.js';
|
|
2
|
+
export const getRequestedFields = (info)=>getGqlFields(info);
|
|
3
|
+
export const enhanceContextWithFields = (baseContext)=>(root, args, context, info)=>{
|
|
4
|
+
const enhancedContext = {
|
|
5
|
+
...baseContext,
|
|
6
|
+
fields: getGqlFields(info)
|
|
7
|
+
};
|
|
8
|
+
return enhancedContext;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL3V0aWxzL2dyYXBocWxVdGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2dldEdxbEZpZWxkc30gZnJvbSAnLi9hcmFuZ29kYlV0aWxzLmpzJztcblxuaW1wb3J0IHR5cGUge0FwaUNvbnRleHR9IGZyb20gJy4uL3R5cGVzL2F1dGgudHlwZXMuanMnO1xuXG5leHBvcnQgY29uc3QgZ2V0UmVxdWVzdGVkRmllbGRzID0gKGluZm86IGFueSk6IHN0cmluZ1tdID0+IGdldEdxbEZpZWxkcyhpbmZvKTtcblxuZXhwb3J0IGNvbnN0IGVuaGFuY2VDb250ZXh0V2l0aEZpZWxkcyA9IChiYXNlQ29udGV4dDogQXBpQ29udGV4dCkgPT4gKHJvb3Q6IGFueSwgYXJnczogYW55LCBjb250ZXh0OiBhbnksIGluZm86IGFueSkgPT4ge1xuICBjb25zdCBlbmhhbmNlZENvbnRleHQgPSB7XG4gICAgLi4uYmFzZUNvbnRleHQsXG4gICAgZmllbGRzOiBnZXRHcWxGaWVsZHMoaW5mbylcbiAgfTtcblxuICByZXR1cm4gZW5oYW5jZWRDb250ZXh0O1xufTsiXSwibmFtZXMiOlsiZ2V0R3FsRmllbGRzIiwiZ2V0UmVxdWVzdGVkRmllbGRzIiwiaW5mbyIsImVuaGFuY2VDb250ZXh0V2l0aEZpZWxkcyIsImJhc2VDb250ZXh0Iiwicm9vdCIsImFyZ3MiLCJjb250ZXh0IiwiZW5oYW5jZWRDb250ZXh0IiwiZmllbGRzIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFRQSxZQUFZLFFBQU8scUJBQXFCO0FBSWhELE9BQU8sTUFBTUMscUJBQXFCLENBQUNDLE9BQXdCRixhQUFhRSxNQUFNO0FBRTlFLE9BQU8sTUFBTUMsMkJBQTJCLENBQUNDLGNBQTRCLENBQUNDLE1BQVdDLE1BQVdDLFNBQWNMO1FBQ3hHLE1BQU1NLGtCQUFrQjtZQUN0QixHQUFHSixXQUFXO1lBQ2RLLFFBQVFULGFBQWFFO1FBQ3ZCO1FBRUEsT0FBT007SUFDVCxFQUFFIn0=
|
package/lib/utils/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2019-Present, Nitrogen Labs, Inc.
|
|
3
|
+
* Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
|
|
4
|
+
*/ export * from './adapterUtils.js';
|
|
5
|
+
export * from './analyticsUtils.js';
|
|
6
|
+
export * from './arangodbUtils.js';
|
|
7
|
+
export * from './authUtils.js';
|
|
8
|
+
export * from './contextUtils.js';
|
|
9
|
+
export * from './dbI18n.js';
|
|
10
|
+
export * from './googleTranslate.js';
|
|
11
|
+
export * from './graphqlUtils.js';
|
|
12
|
+
export * from './languageDetection.js';
|
|
13
|
+
export * from './localeUtils.js';
|
|
14
|
+
export * from './middlewareUtils.js';
|
|
15
|
+
export * from './sessionUtils.js';
|
|
16
|
+
export * from './templateUtils.js';
|
|
17
|
+
export * from './translationQueue.js';
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL3V0aWxzL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5leHBvcnQgKiBmcm9tICcuL2FkYXB0ZXJVdGlscy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2FuYWx5dGljc1V0aWxzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vYXJhbmdvZGJVdGlscy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2F1dGhVdGlscy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRleHRVdGlscy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2RiSTE4bi5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2dvb2dsZVRyYW5zbGF0ZS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2dyYXBocWxVdGlscy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2xhbmd1YWdlRGV0ZWN0aW9uLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vbG9jYWxlVXRpbHMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9taWRkbGV3YXJlVXRpbHMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXNzaW9uVXRpbHMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi90ZW1wbGF0ZVV0aWxzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNsYXRpb25RdWV1ZS5qcyc7XG5cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0FDRCxjQUFjLG9CQUFvQjtBQUNsQyxjQUFjLHNCQUFzQjtBQUNwQyxjQUFjLHFCQUFxQjtBQUNuQyxjQUFjLGlCQUFpQjtBQUMvQixjQUFjLG9CQUFvQjtBQUNsQyxjQUFjLGNBQWM7QUFDNUIsY0FBYyx1QkFBdUI7QUFDckMsY0FBYyxvQkFBb0I7QUFDbEMsY0FBYyx5QkFBeUI7QUFDdkMsY0FBYyxtQkFBbUI7QUFDakMsY0FBYyx1QkFBdUI7QUFDckMsY0FBYyxvQkFBb0I7QUFDbEMsY0FBYyxxQkFBcUI7QUFDbkMsY0FBYyx3QkFBd0IifQ==
|