@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
|
@@ -14,3 +14,4 @@ export declare const getConversation: (context: ApiContext, conversationId: stri
|
|
|
14
14
|
export declare const updateConversation: (context: ApiContext, conversation: ConversationType) => Promise<ConversationType>;
|
|
15
15
|
export declare const addUserToConversation: (context: ApiContext, { conversationId, userId }: UpdateConversationUserParams) => Promise<ConversationType>;
|
|
16
16
|
export declare const deleteUserFromConversation: (context: ApiContext, { conversationId, userId }: UpdateConversationUserParams) => Promise<ConversationType>;
|
|
17
|
+
//# sourceMappingURL=conversations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversations.d.ts","sourceRoot":"","sources":["../../src/actions/conversations.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAC,aAAa,EAAW,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC7B,MAAM,iCAAiC,CAAC;AAMzC,eAAO,MAAM,wBAAwB,GAAI,UAAS,mBAAwB;WAOzC,aAAa;CAE7C,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,SAAS,UAAU,EAAE,QAAQ,MAAM,EAAE,aAAQ,KAAG,OAAO,CAAC,gBAAgB,EAAE,CAwB1G,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAChC,SAAS,UAAU,EACnB,0BAIG,wBAAwB,KAC1B,OAAO,CAAC,gBAAgB,CAgC1B,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAChC,SAAS,UAAU,EACnB,0BAIG,wBAAwB,KAC1B,OAAO,CAAC,gBAAgB,CA2C1B,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,SAAS,UAAU,EACnB,0CAIG,uBAAuB,KACzB,OAAO,CAAC,cAAc,EAAE,CA4B1B,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,SAAS,UAAU,EACnB,0CAIG,uBAAuB,KACzB,OAAO,CAAC,gBAAgB,EAAE,CA2B5B,CAAC;AAoCF,eAAO,MAAM,eAAe,GAAI,SAAS,UAAU,EAAE,gBAAgB,MAAM,KAAG,OAAO,CAAC,gBAAgB,CA8CrG,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,SAAS,UAAU,EACnB,cAAc,gBAAgB,KAC7B,OAAO,CAAC,gBAAgB,CAmC1B,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAChC,SAAS,UAAU,EACnB,4BAGG,4BAA4B,KAC9B,OAAO,CAAC,gBAAgB,CAuC1B,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACrC,SAAS,UAAU,EACnB,4BAGG,4BAA4B,KAC9B,OAAO,CAAC,gBAAgB,CAqB1B,CAAC"}
|
|
@@ -0,0 +1,335 @@
|
|
|
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 { cloneDeep } from '@nlabs/utils/objects/clone';
|
|
5
|
+
import { createHash, parseId } from '@nlabs/utils/parsers/strings';
|
|
6
|
+
import { aql } from 'arangojs';
|
|
7
|
+
import { Config } from '../config.js';
|
|
8
|
+
import { ErrorTypes } from '../types/error.types.js';
|
|
9
|
+
import { logError } from '../utils/analyticsUtils.js';
|
|
10
|
+
import { getLimit, sortIds, useDb } from '../utils/arangodbUtils.js';
|
|
11
|
+
import { getImageUrl } from './images.js';
|
|
12
|
+
import { getDisplayName, getUser } from './users.js';
|
|
13
|
+
const eventCategory = 'conversations';
|
|
14
|
+
export const parseConversationOptions = (options = {})=>{
|
|
15
|
+
const { from = 0, to = 30 } = options;
|
|
16
|
+
return {
|
|
17
|
+
limit: getLimit(from, to)
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
export const getConversations = (context, userId, options)=>{
|
|
21
|
+
const action = 'getConversations';
|
|
22
|
+
const { databaseName } = context;
|
|
23
|
+
const { limit } = parseConversationOptions(options);
|
|
24
|
+
const userDocId = `users/${userId}`;
|
|
25
|
+
const aqlQry = `FOR c, e IN 1..1 OUTBOUND "${userDocId}" hasConversation
|
|
26
|
+
${limit.aql}
|
|
27
|
+
LET users = (
|
|
28
|
+
FOR u, uc IN 1..1 INBOUND c._id hasConversation
|
|
29
|
+
FILTER u._id != "${userDocId}"
|
|
30
|
+
RETURN u
|
|
31
|
+
)
|
|
32
|
+
RETURN MERGE(c, {users: users})`;
|
|
33
|
+
return useDb(databaseName).query(aqlQry).then((cursor)=>cursor.all()).catch((error)=>{
|
|
34
|
+
logError({
|
|
35
|
+
action,
|
|
36
|
+
category: eventCategory,
|
|
37
|
+
label: ErrorTypes.DATABASE_ERROR
|
|
38
|
+
}, error, context);
|
|
39
|
+
return [];
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
export const getDirectConversation = async (context, { fromId, toId, toUser })=>{
|
|
43
|
+
const action = 'getDirectConversation';
|
|
44
|
+
const { databaseName } = context;
|
|
45
|
+
try {
|
|
46
|
+
const formatFromId = parseId(fromId);
|
|
47
|
+
const formatToId = parseId(toId);
|
|
48
|
+
const userIds = [
|
|
49
|
+
formatFromId,
|
|
50
|
+
formatToId
|
|
51
|
+
];
|
|
52
|
+
const sortedUserIds = sortIds(userIds);
|
|
53
|
+
const conversationId = createHash(`conversations-${sortedUserIds.join('-')}`, null);
|
|
54
|
+
const user = toUser || await getUser(context, {
|
|
55
|
+
userId: formatToId
|
|
56
|
+
});
|
|
57
|
+
const aqlQry = aql`LET c = DOCUMENT(${`conversations/${conversationId}`}) RETURN c`;
|
|
58
|
+
const conversation = await useDb(databaseName).query(aqlQry).then((cursor)=>cursor.next()).catch((error)=>logError({
|
|
59
|
+
action,
|
|
60
|
+
category: eventCategory,
|
|
61
|
+
label: ErrorTypes.DATABASE_ERROR
|
|
62
|
+
}, error, context));
|
|
63
|
+
if (conversation) {
|
|
64
|
+
return {
|
|
65
|
+
...conversation,
|
|
66
|
+
users: [
|
|
67
|
+
user
|
|
68
|
+
]
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
return addDirectConversation(context, {
|
|
72
|
+
fromId,
|
|
73
|
+
toId,
|
|
74
|
+
toUser: user
|
|
75
|
+
});
|
|
76
|
+
} catch (databaseError) {
|
|
77
|
+
return logError({
|
|
78
|
+
action,
|
|
79
|
+
category: eventCategory,
|
|
80
|
+
label: ErrorTypes.DATABASE_ERROR
|
|
81
|
+
}, databaseError, context);
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
export const addDirectConversation = async (context, { fromId, toId, toUser })=>{
|
|
85
|
+
const action = 'getDirectConversation';
|
|
86
|
+
const { databaseName } = context;
|
|
87
|
+
try {
|
|
88
|
+
const formatFromId = parseId(fromId);
|
|
89
|
+
const formatToId = parseId(toId);
|
|
90
|
+
const userIds = [
|
|
91
|
+
formatFromId,
|
|
92
|
+
formatToId
|
|
93
|
+
];
|
|
94
|
+
const sortedUserIds = sortIds([
|
|
95
|
+
formatFromId,
|
|
96
|
+
formatToId
|
|
97
|
+
]);
|
|
98
|
+
const user = toUser || await getUser(context, {
|
|
99
|
+
userId: formatToId
|
|
100
|
+
});
|
|
101
|
+
const conversationId = createHash(`conversations-${sortedUserIds.join('-')}`, null);
|
|
102
|
+
const now = Date.now();
|
|
103
|
+
const insert = {
|
|
104
|
+
_key: conversationId,
|
|
105
|
+
added: now,
|
|
106
|
+
isDirect: true,
|
|
107
|
+
modified: now
|
|
108
|
+
};
|
|
109
|
+
const insertQuery = aql`INSERT ${insert} IN conversations RETURN NEW`;
|
|
110
|
+
const updatedConversation = await useDb(databaseName).query(insertQuery).then((cursor)=>cursor.next());
|
|
111
|
+
await Promise.all(userIds.map((userId)=>{
|
|
112
|
+
const edgeId = createHash(`hasConversation-${userId}-${conversationId}`);
|
|
113
|
+
const edge = {
|
|
114
|
+
_from: `users/${userId}`,
|
|
115
|
+
_key: edgeId,
|
|
116
|
+
_to: `conversations/${conversationId}`,
|
|
117
|
+
added: Date.now()
|
|
118
|
+
};
|
|
119
|
+
const insertEdgeQuery = aql`INSERT ${edge} IN hasConversation RETURN NEW`;
|
|
120
|
+
return useDb(databaseName).query(insertEdgeQuery);
|
|
121
|
+
}));
|
|
122
|
+
return {
|
|
123
|
+
...updatedConversation,
|
|
124
|
+
users: [
|
|
125
|
+
user
|
|
126
|
+
]
|
|
127
|
+
};
|
|
128
|
+
} catch (databaseError) {
|
|
129
|
+
logError({
|
|
130
|
+
action,
|
|
131
|
+
category: eventCategory,
|
|
132
|
+
label: ErrorTypes.DATABASE_ERROR
|
|
133
|
+
}, databaseError, context);
|
|
134
|
+
return {};
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
export const getConnectionUsers = (context, { conversationId, includeAll = false, isDirect })=>{
|
|
138
|
+
const action = 'getConnectionUsers';
|
|
139
|
+
const { databaseName, session: { userId: sessionUserId } } = context;
|
|
140
|
+
const filters = [
|
|
141
|
+
'c.userId == u._key'
|
|
142
|
+
];
|
|
143
|
+
if (!includeAll) {
|
|
144
|
+
filters.push(`u._key != ${sessionUserId}`);
|
|
145
|
+
}
|
|
146
|
+
if (isDirect) {
|
|
147
|
+
filters.push(`p.vertices[0].isDirect == ${isDirect}`);
|
|
148
|
+
}
|
|
149
|
+
const aqlQry = aql`FOR u, e,p IN 1..1 INBOUND ${`conversations/${conversationId}`} hasConversation
|
|
150
|
+
OPTIONS {vertexCollections: "users"}
|
|
151
|
+
FOR c IN connections
|
|
152
|
+
FILTER ${filters.join(' && ')}
|
|
153
|
+
RETURN c`;
|
|
154
|
+
return useDb(databaseName).query(aqlQry).then((cursor)=>cursor.all()).catch((error)=>{
|
|
155
|
+
logError({
|
|
156
|
+
action,
|
|
157
|
+
category: eventCategory,
|
|
158
|
+
label: ErrorTypes.DATABASE_ERROR
|
|
159
|
+
}, error, context);
|
|
160
|
+
return [];
|
|
161
|
+
});
|
|
162
|
+
};
|
|
163
|
+
export const getConversationUsers = (context, { conversationId, includeAll = false, isDirect })=>{
|
|
164
|
+
const action = 'getConversationUsers';
|
|
165
|
+
const { databaseName, session: { userId: sessionUserId } } = context;
|
|
166
|
+
const filters = [
|
|
167
|
+
'c.userId == u._key'
|
|
168
|
+
];
|
|
169
|
+
if (!includeAll) {
|
|
170
|
+
filters.push(`u._key != ${sessionUserId}`);
|
|
171
|
+
}
|
|
172
|
+
if (isDirect) {
|
|
173
|
+
filters.push(`p.vertices[0].isDirect == ${isDirect}`);
|
|
174
|
+
}
|
|
175
|
+
const aqlQry = aql`FOR u, e,p IN 1..1 INBOUND ${`conversations/${conversationId}`} hasConversation
|
|
176
|
+
OPTIONS {vertexCollections: "users"}
|
|
177
|
+
FILTER ${filters.join(' && ')}
|
|
178
|
+
RETURN u`;
|
|
179
|
+
return useDb(databaseName).query(aqlQry).then((cursor)=>cursor.all()).catch((error)=>{
|
|
180
|
+
logError({
|
|
181
|
+
action,
|
|
182
|
+
category: eventCategory,
|
|
183
|
+
label: ErrorTypes.DATABASE_ERROR
|
|
184
|
+
}, error, context);
|
|
185
|
+
return [];
|
|
186
|
+
});
|
|
187
|
+
};
|
|
188
|
+
// export const getDirectConversationOld = (context: ApiContext, userId: string): Promise<ConversationType> => {
|
|
189
|
+
// const action: string = 'getDirectConversation';
|
|
190
|
+
// const {database, session: {userId: sessionId}} = context;
|
|
191
|
+
// const sessionDocId: string = `users/${sessionId}`;
|
|
192
|
+
// const formatUserId: string = parseArangoId(userId);
|
|
193
|
+
// const aqlQry: AqlQuery = aql`LET from = (
|
|
194
|
+
// FOR c, e IN 1..1 OUTBOUND ${sessionDocId} hasConversation
|
|
195
|
+
// FILTER c.direct == true
|
|
196
|
+
// RETURN c
|
|
197
|
+
// )
|
|
198
|
+
// LET to = (
|
|
199
|
+
// FOR c, e IN 1..1 OUTBOUND ${formatUserId} hasConversation
|
|
200
|
+
// FILTER c.direct == true
|
|
201
|
+
// RETURN c
|
|
202
|
+
// )
|
|
203
|
+
// LET conversation = FIRST(INTERSECTION(from, to))
|
|
204
|
+
// LET users = !IS_NULL(conversation) && (
|
|
205
|
+
// FOR g IN[${sessionDocId}, ${formatUserId}]
|
|
206
|
+
// FOR u IN users
|
|
207
|
+
// FILTER g == u._id
|
|
208
|
+
// RETURN u
|
|
209
|
+
// )
|
|
210
|
+
// RETURN IS_NULL(conversation) ? null : MERGE(conversation, {users: users})`;
|
|
211
|
+
// return database.query(aqlQry)
|
|
212
|
+
// .then((cursor) => cursor.next())
|
|
213
|
+
// .catch((error: Error) => logError({
|
|
214
|
+
// action,
|
|
215
|
+
// category: eventCategory,
|
|
216
|
+
// label: ErrorTypes.DATABASE_ERROR
|
|
217
|
+
// }, error, context));
|
|
218
|
+
// };
|
|
219
|
+
export const getConversation = (context, conversationId)=>{
|
|
220
|
+
const action = 'getItem';
|
|
221
|
+
const { databaseName, session: { userId: sessionId } } = context;
|
|
222
|
+
const sessionDocId = `users/${sessionId}`;
|
|
223
|
+
const conversationDocId = `conversations/${parseId(conversationId)}`;
|
|
224
|
+
const aqlQry = aql`FOR c, e IN 1..1 OUTBOUND ${sessionDocId} hasConversation
|
|
225
|
+
FILTER c._id == ${conversationDocId}
|
|
226
|
+
LET u = (
|
|
227
|
+
FOR inUser, inEdge IN 1..1 INBOUND ${conversationDocId} hasConversation
|
|
228
|
+
RETURN inUser
|
|
229
|
+
)
|
|
230
|
+
LIMIT 1
|
|
231
|
+
RETURN MERGE(c, {users: u})`;
|
|
232
|
+
return useDb(databaseName).query(aqlQry).then((cursor)=>cursor.next()).then((conversation)=>{
|
|
233
|
+
if (!conversation) {
|
|
234
|
+
return {};
|
|
235
|
+
}
|
|
236
|
+
conversation.users = conversation.users.map((user)=>{
|
|
237
|
+
const { imageId, userId } = user;
|
|
238
|
+
const thumbUrlData = {
|
|
239
|
+
bucket: Config.get('aws.s3.Bucket'),
|
|
240
|
+
imageDir: 'thumbs',
|
|
241
|
+
imageId,
|
|
242
|
+
type: 'users',
|
|
243
|
+
typeId: userId
|
|
244
|
+
};
|
|
245
|
+
return {
|
|
246
|
+
...user,
|
|
247
|
+
name: getDisplayName(user),
|
|
248
|
+
thumb: getImageUrl(thumbUrlData)
|
|
249
|
+
};
|
|
250
|
+
});
|
|
251
|
+
return conversation;
|
|
252
|
+
}).catch((error)=>logError({
|
|
253
|
+
action,
|
|
254
|
+
category: eventCategory,
|
|
255
|
+
label: ErrorTypes.DATABASE_ERROR
|
|
256
|
+
}, error, context));
|
|
257
|
+
};
|
|
258
|
+
export const updateConversation = (context, conversation)=>{
|
|
259
|
+
const action = 'updateConversation';
|
|
260
|
+
const { databaseName, session: { userId: sessionId } } = context;
|
|
261
|
+
const { conversationId = createHash(`conversation-${sessionId} `), isDirect = false, name } = conversation;
|
|
262
|
+
const formatConversationId = parseId(conversationId);
|
|
263
|
+
const now = Date.now();
|
|
264
|
+
const update = {
|
|
265
|
+
isDirect,
|
|
266
|
+
modified: now,
|
|
267
|
+
name
|
|
268
|
+
};
|
|
269
|
+
const insert = {
|
|
270
|
+
...cloneDeep(update),
|
|
271
|
+
_key: formatConversationId,
|
|
272
|
+
added: now
|
|
273
|
+
};
|
|
274
|
+
const aqlQry = aql`UPSERT {_key: ${formatConversationId} }
|
|
275
|
+
INSERT ${insert}
|
|
276
|
+
UPDATE ${update}
|
|
277
|
+
IN conversations RETURN NEW`;
|
|
278
|
+
return useDb(databaseName).query(aqlQry).then((cursor)=>cursor.next()).then((conversation)=>conversation).catch((error)=>logError({
|
|
279
|
+
action,
|
|
280
|
+
category: eventCategory,
|
|
281
|
+
label: ErrorTypes.DATABASE_ERROR
|
|
282
|
+
}, error, context));
|
|
283
|
+
};
|
|
284
|
+
export const addUserToConversation = (context, { conversationId, userId })=>{
|
|
285
|
+
const action = 'addUserToConversation';
|
|
286
|
+
const { databaseName } = context;
|
|
287
|
+
const formatConversationId = parseId(conversationId);
|
|
288
|
+
const formatUserId = parseId(userId);
|
|
289
|
+
const conversationDocId = `conversations/${formatConversationId}`;
|
|
290
|
+
const userDocId = `users/${formatUserId}`;
|
|
291
|
+
const aqlQry = aql`FOR hc IN hasConversation
|
|
292
|
+
FILTER hc._from == ${userDocId} && hc._to == ${conversationDocId}
|
|
293
|
+
LIMIT 1
|
|
294
|
+
RETURN hc`;
|
|
295
|
+
return useDb(databaseName).query(aqlQry).then((cursor)=>cursor.next()).then((hasConversationEdge)=>{
|
|
296
|
+
if (!!hasConversationEdge) {
|
|
297
|
+
return hasConversationEdge;
|
|
298
|
+
}
|
|
299
|
+
const edgeCollection = useDb(databaseName).collection('hasConversation');
|
|
300
|
+
const edgeId = createHash(`convo - ${formatConversationId} -${formatUserId} `);
|
|
301
|
+
const edge = {
|
|
302
|
+
_from: userDocId,
|
|
303
|
+
_key: edgeId,
|
|
304
|
+
_to: conversationDocId,
|
|
305
|
+
added: Date.now()
|
|
306
|
+
};
|
|
307
|
+
return edgeCollection.save(edge, {
|
|
308
|
+
returnNew: true
|
|
309
|
+
}).then(()=>edge);
|
|
310
|
+
}).catch((error)=>logError({
|
|
311
|
+
action,
|
|
312
|
+
category: eventCategory,
|
|
313
|
+
label: ErrorTypes.DATABASE_ERROR
|
|
314
|
+
}, error, context));
|
|
315
|
+
};
|
|
316
|
+
export const deleteUserFromConversation = (context, { conversationId, userId })=>{
|
|
317
|
+
const action = 'deleteUserFromConversation';
|
|
318
|
+
const { databaseName } = context;
|
|
319
|
+
const formatConversationId = parseId(conversationId);
|
|
320
|
+
const formatUserId = parseId(userId);
|
|
321
|
+
const conversationDocId = `conversations/${formatConversationId}`;
|
|
322
|
+
const userDocId = `users/${formatUserId}`;
|
|
323
|
+
const aqlQry = aql`FOR hc IN hasConversation
|
|
324
|
+
FILTER hc._from == ${userDocId} && hc._to == ${conversationDocId}
|
|
325
|
+
LIMIT 1
|
|
326
|
+
REMOVE hc IN hasConversation
|
|
327
|
+
RETURN OLD`;
|
|
328
|
+
return useDb(databaseName).query(aqlQry).then((cursor)=>cursor.next()).catch((error)=>logError({
|
|
329
|
+
action,
|
|
330
|
+
category: eventCategory,
|
|
331
|
+
label: ErrorTypes.DATABASE_ERROR
|
|
332
|
+
}, error, context));
|
|
333
|
+
};
|
|
334
|
+
|
|
335
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL2FjdGlvbnMvY29udmVyc2F0aW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtjbG9uZURlZXB9IGZyb20gJ0BubGFicy91dGlscy9vYmplY3RzL2Nsb25lJztcbmltcG9ydCB7Y3JlYXRlSGFzaCwgcGFyc2VJZH0gZnJvbSAnQG5sYWJzL3V0aWxzL3BhcnNlcnMvc3RyaW5ncyc7XG5pbXBvcnQge2FxbH0gZnJvbSAnYXJhbmdvanMnO1xuaW1wb3J0IHtDb25maWd9IGZyb20gJy4uL2NvbmZpZy5qcyc7XG5pbXBvcnQge0Vycm9yVHlwZXN9IGZyb20gJy4uL3R5cGVzL2Vycm9yLnR5cGVzLmpzJztcbmltcG9ydCB7bG9nRXJyb3J9IGZyb20gJy4uL3V0aWxzL2FuYWx5dGljc1V0aWxzLmpzJztcbmltcG9ydCB7Z2V0TGltaXQsIHNvcnRJZHMsIHVzZURifSBmcm9tICcuLi91dGlscy9hcmFuZ29kYlV0aWxzLmpzJztcbmltcG9ydCB7Z2V0SW1hZ2VVcmx9IGZyb20gJy4vaW1hZ2VzLmpzJztcbmltcG9ydCB7Z2V0RGlzcGxheU5hbWUsIGdldFVzZXJ9IGZyb20gJy4vdXNlcnMuanMnO1xuXG5pbXBvcnQgdHlwZSB7QXFsUXVlcnl9IGZyb20gJ2FyYW5nb2pzL2FxbCc7XG5pbXBvcnQgdHlwZSB7RWRnZUNvbGxlY3Rpb259IGZyb20gJ2FyYW5nb2pzL2NvbGxlY3Rpb25zJztcbmltcG9ydCB0eXBlIHtBcmFuZ29EYkxpbWl0LCBFZGdlVHlwZX0gZnJvbSAnLi4vdHlwZXMvYXJhbmdvZGIudHlwZXMuanMnO1xuaW1wb3J0IHR5cGUge0FwaUNvbnRleHR9IGZyb20gJy4uL3R5cGVzL2F1dGgudHlwZXMuanMnO1xuaW1wb3J0IHR5cGUge0Nvbm5lY3Rpb25UeXBlfSBmcm9tICcuLi90eXBlcy9jb25uZWN0aW9ucy50eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7XG4gIENvbnZlcnNhdGlvbk9wdGlvbnMsXG4gIENvbnZlcnNhdGlvblR5cGUsXG4gIENvbnZlcnNhdGlvblVzZXJzUGFyYW1zLFxuICBEaXJlY3RDb252ZXJzYXRpb25QYXJhbXMsXG4gIFVwZGF0ZUNvbnZlcnNhdGlvblVzZXJQYXJhbXNcbn0gZnJvbSAnLi4vdHlwZXMvY29udmVyc2F0aW9ucy50eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7SW1hZ2VVcmxEYXRhfSBmcm9tICcuLi90eXBlcy9pbWFnZXMudHlwZXMuanMnO1xuaW1wb3J0IHR5cGUge1VzZXJUeXBlfSBmcm9tICcuLi90eXBlcy91c2Vycy50eXBlcy5qcyc7XG5cbmNvbnN0IGV2ZW50Q2F0ZWdvcnk6IHN0cmluZyA9ICdjb252ZXJzYXRpb25zJztcblxuZXhwb3J0IGNvbnN0IHBhcnNlQ29udmVyc2F0aW9uT3B0aW9ucyA9IChvcHRpb25zOiBDb252ZXJzYXRpb25PcHRpb25zID0ge30pID0+IHtcbiAgY29uc3Qge1xuICAgIGZyb20gPSAwLFxuICAgIHRvID0gMzBcbiAgfSA9IG9wdGlvbnM7XG5cbiAgcmV0dXJuIHtcbiAgICBsaW1pdDogZ2V0TGltaXQoZnJvbSwgdG8pIGFzIEFyYW5nb0RiTGltaXRcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRDb252ZXJzYXRpb25zID0gKGNvbnRleHQ6IEFwaUNvbnRleHQsIHVzZXJJZDogc3RyaW5nLCBvcHRpb25zPyk6IFByb21pc2U8Q29udmVyc2F0aW9uVHlwZVtdPiA9PiB7XG4gIGNvbnN0IGFjdGlvbjogc3RyaW5nID0gJ2dldENvbnZlcnNhdGlvbnMnO1xuICBjb25zdCB7ZGF0YWJhc2VOYW1lfSA9IGNvbnRleHQ7XG4gIGNvbnN0IHtsaW1pdH0gPSBwYXJzZUNvbnZlcnNhdGlvbk9wdGlvbnMob3B0aW9ucyk7XG4gIGNvbnN0IHVzZXJEb2NJZDogc3RyaW5nID0gYHVzZXJzLyR7dXNlcklkfWA7XG4gIGNvbnN0IGFxbFFyeTogc3RyaW5nID0gYEZPUiBjLCBlIElOIDEuLjEgT1VUQk9VTkQgXCIke3VzZXJEb2NJZH1cIiBoYXNDb252ZXJzYXRpb25cbiAgICAke2xpbWl0LmFxbH1cbiAgICBMRVQgdXNlcnMgPSAoXG4gICAgICBGT1IgdSwgdWMgSU4gMS4uMSBJTkJPVU5EIGMuX2lkIGhhc0NvbnZlcnNhdGlvblxuICAgICAgRklMVEVSIHUuX2lkICE9IFwiJHt1c2VyRG9jSWR9XCJcbiAgICAgIFJFVFVSTiB1XG4gICAgKVxuICAgIFJFVFVSTiBNRVJHRShjLCB7dXNlcnM6IHVzZXJzfSlgO1xuXG4gIHJldHVybiB1c2VEYihkYXRhYmFzZU5hbWUpLnF1ZXJ5KGFxbFFyeSlcbiAgICAudGhlbigoY3Vyc29yKSA9PiBjdXJzb3IuYWxsKCkgYXMgdW5rbm93biBhcyBDb252ZXJzYXRpb25UeXBlW10pXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgIGxvZ0Vycm9yKHtcbiAgICAgICAgYWN0aW9uLFxuICAgICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbiAgICAgICAgbGFiZWw6IEVycm9yVHlwZXMuREFUQUJBU0VfRVJST1JcbiAgICAgIH0sIGVycm9yLCBjb250ZXh0KTtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXREaXJlY3RDb252ZXJzYXRpb24gPSBhc3luYyAoXG4gIGNvbnRleHQ6IEFwaUNvbnRleHQsXG4gIHtcbiAgICBmcm9tSWQsXG4gICAgdG9JZCxcbiAgICB0b1VzZXJcbiAgfTogRGlyZWN0Q29udmVyc2F0aW9uUGFyYW1zXG4pOiBQcm9taXNlPENvbnZlcnNhdGlvblR5cGU+ID0+IHtcbiAgY29uc3QgYWN0aW9uOiBzdHJpbmcgPSAnZ2V0RGlyZWN0Q29udmVyc2F0aW9uJztcbiAgY29uc3Qge2RhdGFiYXNlTmFtZX0gPSBjb250ZXh0O1xuXG4gIHRyeSB7XG4gICAgY29uc3QgZm9ybWF0RnJvbUlkID0gcGFyc2VJZChmcm9tSWQpO1xuICAgIGNvbnN0IGZvcm1hdFRvSWQgPSBwYXJzZUlkKHRvSWQpO1xuICAgIGNvbnN0IHVzZXJJZHMgPSBbZm9ybWF0RnJvbUlkLCBmb3JtYXRUb0lkXTtcbiAgICBjb25zdCBzb3J0ZWRVc2VySWRzID0gc29ydElkcyh1c2VySWRzKTtcbiAgICBjb25zdCBjb252ZXJzYXRpb25JZCA9IGNyZWF0ZUhhc2goYGNvbnZlcnNhdGlvbnMtJHtzb3J0ZWRVc2VySWRzLmpvaW4oJy0nKX1gLCBudWxsKTtcbiAgICBjb25zdCB1c2VyOiBVc2VyVHlwZSA9IHRvVXNlciB8fCBhd2FpdCBnZXRVc2VyKGNvbnRleHQsIHt1c2VySWQ6IGZvcm1hdFRvSWR9KTtcbiAgICBjb25zdCBhcWxRcnk6IEFxbFF1ZXJ5ID0gYXFsYExFVCBjID0gRE9DVU1FTlQoJHtgY29udmVyc2F0aW9ucy8ke2NvbnZlcnNhdGlvbklkfWB9KSBSRVRVUk4gY2A7XG4gICAgY29uc3QgY29udmVyc2F0aW9uID0gYXdhaXQgdXNlRGIoZGF0YWJhc2VOYW1lKS5xdWVyeShhcWxRcnkpXG4gICAgICAudGhlbigoY3Vyc29yKSA9PiBjdXJzb3IubmV4dCgpKVxuICAgICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IGxvZ0Vycm9yKHtcbiAgICAgICAgYWN0aW9uLFxuICAgICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbiAgICAgICAgbGFiZWw6IEVycm9yVHlwZXMuREFUQUJBU0VfRVJST1JcbiAgICAgIH0sIGVycm9yLCBjb250ZXh0KSk7XG5cbiAgICBpZihjb252ZXJzYXRpb24pIHtcbiAgICAgIHJldHVybiB7Li4uY29udmVyc2F0aW9uLCB1c2VyczogW3VzZXJdfTtcbiAgICB9XG5cbiAgICByZXR1cm4gYWRkRGlyZWN0Q29udmVyc2F0aW9uKGNvbnRleHQsIHtmcm9tSWQsIHRvSWQsIHRvVXNlcjogdXNlcn0pO1xuICB9IGNhdGNoKGRhdGFiYXNlRXJyb3IpIHtcbiAgICByZXR1cm4gbG9nRXJyb3Ioe1xuICAgICAgYWN0aW9uLFxuICAgICAgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksXG4gICAgICBsYWJlbDogRXJyb3JUeXBlcy5EQVRBQkFTRV9FUlJPUlxuICAgIH0sIGRhdGFiYXNlRXJyb3IsIGNvbnRleHQpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgYWRkRGlyZWN0Q29udmVyc2F0aW9uID0gYXN5bmMgKFxuICBjb250ZXh0OiBBcGlDb250ZXh0LFxuICB7XG4gICAgZnJvbUlkLFxuICAgIHRvSWQsXG4gICAgdG9Vc2VyXG4gIH06IERpcmVjdENvbnZlcnNhdGlvblBhcmFtc1xuKTogUHJvbWlzZTxDb252ZXJzYXRpb25UeXBlPiA9PiB7XG4gIGNvbnN0IGFjdGlvbjogc3RyaW5nID0gJ2dldERpcmVjdENvbnZlcnNhdGlvbic7XG4gIGNvbnN0IHtkYXRhYmFzZU5hbWV9ID0gY29udGV4dDtcblxuICB0cnkge1xuICAgIGNvbnN0IGZvcm1hdEZyb21JZCA9IHBhcnNlSWQoZnJvbUlkKTtcbiAgICBjb25zdCBmb3JtYXRUb0lkID0gcGFyc2VJZCh0b0lkKTtcbiAgICBjb25zdCB1c2VySWRzID0gW2Zvcm1hdEZyb21JZCwgZm9ybWF0VG9JZF07XG4gICAgY29uc3Qgc29ydGVkVXNlcklkcyA9IHNvcnRJZHMoW2Zvcm1hdEZyb21JZCwgZm9ybWF0VG9JZF0pO1xuICAgIGNvbnN0IHVzZXI6IFVzZXJUeXBlID0gdG9Vc2VyIHx8IGF3YWl0IGdldFVzZXIoY29udGV4dCwge3VzZXJJZDogZm9ybWF0VG9JZH0pO1xuICAgIGNvbnN0IGNvbnZlcnNhdGlvbklkID0gY3JlYXRlSGFzaChgY29udmVyc2F0aW9ucy0ke3NvcnRlZFVzZXJJZHMuam9pbignLScpfWAsIG51bGwpO1xuICAgIGNvbnN0IG5vdyA9IERhdGUubm93KCk7XG4gICAgY29uc3QgaW5zZXJ0ID0ge1xuICAgICAgX2tleTogY29udmVyc2F0aW9uSWQsXG4gICAgICBhZGRlZDogbm93LFxuICAgICAgaXNEaXJlY3Q6IHRydWUsXG4gICAgICBtb2RpZmllZDogbm93XG4gICAgfTtcbiAgICBjb25zdCBpbnNlcnRRdWVyeTogQXFsUXVlcnkgPSBhcWxgSU5TRVJUICR7aW5zZXJ0fSBJTiBjb252ZXJzYXRpb25zIFJFVFVSTiBORVdgO1xuICAgIGNvbnN0IHVwZGF0ZWRDb252ZXJzYXRpb24gPSBhd2FpdCB1c2VEYihkYXRhYmFzZU5hbWUpLnF1ZXJ5KGluc2VydFF1ZXJ5KVxuICAgICAgLnRoZW4oKGN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSk7XG5cbiAgICBhd2FpdCBQcm9taXNlLmFsbCh1c2VySWRzLm1hcCgodXNlcklkKSA9PiB7XG4gICAgICBjb25zdCBlZGdlSWQ6IHN0cmluZyA9IGNyZWF0ZUhhc2goYGhhc0NvbnZlcnNhdGlvbi0ke3VzZXJJZH0tJHtjb252ZXJzYXRpb25JZH1gKTtcbiAgICAgIGNvbnN0IGVkZ2U6IEVkZ2VUeXBlID0ge1xuICAgICAgICBfZnJvbTogYHVzZXJzLyR7dXNlcklkfWAsXG4gICAgICAgIF9rZXk6IGVkZ2VJZCxcbiAgICAgICAgX3RvOiBgY29udmVyc2F0aW9ucy8ke2NvbnZlcnNhdGlvbklkfWAsXG4gICAgICAgIGFkZGVkOiBEYXRlLm5vdygpXG4gICAgICB9O1xuICAgICAgY29uc3QgaW5zZXJ0RWRnZVF1ZXJ5OiBBcWxRdWVyeSA9IGFxbGBJTlNFUlQgJHtlZGdlfSBJTiBoYXNDb252ZXJzYXRpb24gUkVUVVJOIE5FV2A7XG4gICAgICByZXR1cm4gdXNlRGIoZGF0YWJhc2VOYW1lKS5xdWVyeShpbnNlcnRFZGdlUXVlcnkpO1xuICAgIH0pKTtcblxuICAgIHJldHVybiB7Li4udXBkYXRlZENvbnZlcnNhdGlvbiwgdXNlcnM6IFt1c2VyXX07XG4gIH0gY2F0Y2goZGF0YWJhc2VFcnJvcikge1xuICAgIGxvZ0Vycm9yKHtcbiAgICAgIGFjdGlvbixcbiAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5LFxuICAgICAgbGFiZWw6IEVycm9yVHlwZXMuREFUQUJBU0VfRVJST1JcbiAgICB9LCBkYXRhYmFzZUVycm9yLCBjb250ZXh0KTtcbiAgICByZXR1cm4ge307XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBnZXRDb25uZWN0aW9uVXNlcnMgPSAoXG4gIGNvbnRleHQ6IEFwaUNvbnRleHQsXG4gIHtcbiAgICBjb252ZXJzYXRpb25JZCxcbiAgICBpbmNsdWRlQWxsID0gZmFsc2UsXG4gICAgaXNEaXJlY3RcbiAgfTogQ29udmVyc2F0aW9uVXNlcnNQYXJhbXNcbik6IFByb21pc2U8Q29ubmVjdGlvblR5cGVbXT4gPT4ge1xuICBjb25zdCBhY3Rpb246IHN0cmluZyA9ICdnZXRDb25uZWN0aW9uVXNlcnMnO1xuICBjb25zdCB7ZGF0YWJhc2VOYW1lLCBzZXNzaW9uOiB7dXNlcklkOiBzZXNzaW9uVXNlcklkfX0gPSBjb250ZXh0O1xuICBjb25zdCBmaWx0ZXJzOiBzdHJpbmdbXSA9IFsnYy51c2VySWQgPT0gdS5fa2V5J107XG5cbiAgaWYoIWluY2x1ZGVBbGwpIHtcbiAgICBmaWx0ZXJzLnB1c2goYHUuX2tleSAhPSAke3Nlc3Npb25Vc2VySWR9YCk7XG4gIH1cbiAgaWYoaXNEaXJlY3QpIHtcbiAgICBmaWx0ZXJzLnB1c2goYHAudmVydGljZXNbMF0uaXNEaXJlY3QgPT0gJHtpc0RpcmVjdH1gKTtcbiAgfVxuXG4gIGNvbnN0IGFxbFFyeTogQXFsUXVlcnkgPSBhcWxgRk9SIHUsIGUscCBJTiAxLi4xIElOQk9VTkQgJHtgY29udmVyc2F0aW9ucy8ke2NvbnZlcnNhdGlvbklkfWB9IGhhc0NvbnZlcnNhdGlvblxuICAgIE9QVElPTlMge3ZlcnRleENvbGxlY3Rpb25zOiBcInVzZXJzXCJ9XG4gICAgRk9SIGMgSU4gY29ubmVjdGlvbnNcbiAgICBGSUxURVIgJHtmaWx0ZXJzLmpvaW4oJyAmJiAnKX1cbiAgICBSRVRVUk4gY2A7XG5cbiAgcmV0dXJuIHVzZURiKGRhdGFiYXNlTmFtZSkucXVlcnkoYXFsUXJ5KVxuICAgIC50aGVuKChjdXJzb3IpID0+IGN1cnNvci5hbGwoKSBhcyB1bmtub3duIGFzIENvbm5lY3Rpb25UeXBlW10pXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgIGxvZ0Vycm9yKHtcbiAgICAgICAgYWN0aW9uLFxuICAgICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbiAgICAgICAgbGFiZWw6IEVycm9yVHlwZXMuREFUQUJBU0VfRVJST1JcbiAgICAgIH0sIGVycm9yLCBjb250ZXh0KTtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRDb252ZXJzYXRpb25Vc2VycyA9IChcbiAgY29udGV4dDogQXBpQ29udGV4dCxcbiAge1xuICAgIGNvbnZlcnNhdGlvbklkLFxuICAgIGluY2x1ZGVBbGwgPSBmYWxzZSxcbiAgICBpc0RpcmVjdFxuICB9OiBDb252ZXJzYXRpb25Vc2Vyc1BhcmFtc1xuKTogUHJvbWlzZTxDb252ZXJzYXRpb25UeXBlW10+ID0+IHtcbiAgY29uc3QgYWN0aW9uOiBzdHJpbmcgPSAnZ2V0Q29udmVyc2F0aW9uVXNlcnMnO1xuICBjb25zdCB7ZGF0YWJhc2VOYW1lLCBzZXNzaW9uOiB7dXNlcklkOiBzZXNzaW9uVXNlcklkfX0gPSBjb250ZXh0O1xuICBjb25zdCBmaWx0ZXJzOiBzdHJpbmdbXSA9IFsnYy51c2VySWQgPT0gdS5fa2V5J107XG5cbiAgaWYoIWluY2x1ZGVBbGwpIHtcbiAgICBmaWx0ZXJzLnB1c2goYHUuX2tleSAhPSAke3Nlc3Npb25Vc2VySWR9YCk7XG4gIH1cbiAgaWYoaXNEaXJlY3QpIHtcbiAgICBmaWx0ZXJzLnB1c2goYHAudmVydGljZXNbMF0uaXNEaXJlY3QgPT0gJHtpc0RpcmVjdH1gKTtcbiAgfVxuXG4gIGNvbnN0IGFxbFFyeTogQXFsUXVlcnkgPSBhcWxgRk9SIHUsIGUscCBJTiAxLi4xIElOQk9VTkQgJHtgY29udmVyc2F0aW9ucy8ke2NvbnZlcnNhdGlvbklkfWB9IGhhc0NvbnZlcnNhdGlvblxuICAgIE9QVElPTlMge3ZlcnRleENvbGxlY3Rpb25zOiBcInVzZXJzXCJ9XG4gICAgRklMVEVSICR7ZmlsdGVycy5qb2luKCcgJiYgJyl9XG4gICAgUkVUVVJOIHVgO1xuXG4gIHJldHVybiB1c2VEYihkYXRhYmFzZU5hbWUpLnF1ZXJ5KGFxbFFyeSlcbiAgICAudGhlbigoY3Vyc29yKSA9PiBjdXJzb3IuYWxsKCkgYXMgdW5rbm93biBhcyBDb252ZXJzYXRpb25UeXBlW10pXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgIGxvZ0Vycm9yKHtcbiAgICAgICAgYWN0aW9uLFxuICAgICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbiAgICAgICAgbGFiZWw6IEVycm9yVHlwZXMuREFUQUJBU0VfRVJST1JcbiAgICAgIH0sIGVycm9yLCBjb250ZXh0KTtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9KTtcbn07XG5cbi8vIGV4cG9ydCBjb25zdCBnZXREaXJlY3RDb252ZXJzYXRpb25PbGQgPSAoY29udGV4dDogQXBpQ29udGV4dCwgdXNlcklkOiBzdHJpbmcpOiBQcm9taXNlPENvbnZlcnNhdGlvblR5cGU+ID0+IHtcbi8vICAgY29uc3QgYWN0aW9uOiBzdHJpbmcgPSAnZ2V0RGlyZWN0Q29udmVyc2F0aW9uJztcbi8vICAgY29uc3Qge2RhdGFiYXNlLCBzZXNzaW9uOiB7dXNlcklkOiBzZXNzaW9uSWR9fSA9IGNvbnRleHQ7XG4vLyAgIGNvbnN0IHNlc3Npb25Eb2NJZDogc3RyaW5nID0gYHVzZXJzLyR7c2Vzc2lvbklkfWA7XG4vLyAgIGNvbnN0IGZvcm1hdFVzZXJJZDogc3RyaW5nID0gcGFyc2VBcmFuZ29JZCh1c2VySWQpO1xuXG4vLyAgIGNvbnN0IGFxbFFyeTogQXFsUXVlcnkgPSBhcWxgTEVUIGZyb20gPSAoXG4vLyAgICAgICBGT1IgYywgZSBJTiAxLi4xIE9VVEJPVU5EICR7c2Vzc2lvbkRvY0lkfSBoYXNDb252ZXJzYXRpb25cbi8vICAgICAgIEZJTFRFUiBjLmRpcmVjdCA9PSB0cnVlXG4vLyAgICAgICBSRVRVUk4gY1xuLy8gICAgIClcbi8vICAgICBMRVQgdG8gPSAoXG4vLyAgICAgICBGT1IgYywgZSBJTiAxLi4xIE9VVEJPVU5EICR7Zm9ybWF0VXNlcklkfSBoYXNDb252ZXJzYXRpb25cbi8vICAgICAgIEZJTFRFUiBjLmRpcmVjdCA9PSB0cnVlXG4vLyAgICAgICBSRVRVUk4gY1xuLy8gICAgIClcbi8vICAgICBMRVQgY29udmVyc2F0aW9uID0gRklSU1QoSU5URVJTRUNUSU9OKGZyb20sIHRvKSlcbi8vICAgICBMRVQgdXNlcnMgPSAhSVNfTlVMTChjb252ZXJzYXRpb24pICYmIChcbi8vICAgICAgIEZPUiBnIElOWyR7c2Vzc2lvbkRvY0lkfSwgJHtmb3JtYXRVc2VySWR9XVxuLy8gICAgICAgRk9SIHUgSU4gdXNlcnNcbi8vICAgICAgIEZJTFRFUiBnID09IHUuX2lkXG4vLyAgICAgICBSRVRVUk4gdVxuLy8gICAgIClcbi8vICAgICBSRVRVUk4gSVNfTlVMTChjb252ZXJzYXRpb24pID8gbnVsbCA6IE1FUkdFKGNvbnZlcnNhdGlvbiwge3VzZXJzOiB1c2Vyc30pYDtcblxuLy8gICByZXR1cm4gZGF0YWJhc2UucXVlcnkoYXFsUXJ5KVxuLy8gICAgIC50aGVuKChjdXJzb3IpID0+IGN1cnNvci5uZXh0KCkpXG4vLyAgICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IGxvZ0Vycm9yKHtcbi8vICAgICAgIGFjdGlvbixcbi8vICAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5LFxuLy8gICAgICAgbGFiZWw6IEVycm9yVHlwZXMuREFUQUJBU0VfRVJST1Jcbi8vICAgICB9LCBlcnJvciwgY29udGV4dCkpO1xuLy8gfTtcblxuZXhwb3J0IGNvbnN0IGdldENvbnZlcnNhdGlvbiA9IChjb250ZXh0OiBBcGlDb250ZXh0LCBjb252ZXJzYXRpb25JZDogc3RyaW5nKTogUHJvbWlzZTxDb252ZXJzYXRpb25UeXBlPiA9PiB7XG4gIGNvbnN0IGFjdGlvbjogc3RyaW5nID0gJ2dldEl0ZW0nO1xuICBjb25zdCB7ZGF0YWJhc2VOYW1lLCBzZXNzaW9uOiB7dXNlcklkOiBzZXNzaW9uSWR9fSA9IGNvbnRleHQ7XG4gIGNvbnN0IHNlc3Npb25Eb2NJZDogc3RyaW5nID0gYHVzZXJzLyR7c2Vzc2lvbklkfWA7XG4gIGNvbnN0IGNvbnZlcnNhdGlvbkRvY0lkOiBzdHJpbmcgPSBgY29udmVyc2F0aW9ucy8ke3BhcnNlSWQoY29udmVyc2F0aW9uSWQpfWA7XG5cbiAgY29uc3QgYXFsUXJ5OiBBcWxRdWVyeSA9IGFxbGBGT1IgYywgZSBJTiAxLi4xIE9VVEJPVU5EICR7c2Vzc2lvbkRvY0lkfSBoYXNDb252ZXJzYXRpb25cbiAgICBGSUxURVIgYy5faWQgPT0gJHtjb252ZXJzYXRpb25Eb2NJZH1cbiAgICBMRVQgdSA9IChcbiAgICAgIEZPUiBpblVzZXIsIGluRWRnZSBJTiAxLi4xIElOQk9VTkQgJHtjb252ZXJzYXRpb25Eb2NJZH0gaGFzQ29udmVyc2F0aW9uXG4gICAgICBSRVRVUk4gaW5Vc2VyXG4gICAgKVxuICAgIExJTUlUIDFcbiAgICBSRVRVUk4gTUVSR0UoYywge3VzZXJzOiB1fSlgO1xuXG4gIHJldHVybiB1c2VEYihkYXRhYmFzZU5hbWUpLnF1ZXJ5KGFxbFFyeSlcbiAgICAudGhlbigoY3Vyc29yKSA9PiBjdXJzb3IubmV4dCgpKVxuICAgIC50aGVuKChjb252ZXJzYXRpb246IENvbnZlcnNhdGlvblR5cGUpID0+IHtcbiAgICAgIGlmKCFjb252ZXJzYXRpb24pIHtcbiAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgfVxuXG4gICAgICBjb252ZXJzYXRpb24udXNlcnMgPSBjb252ZXJzYXRpb24udXNlcnMubWFwKCh1c2VyOiBVc2VyVHlwZSkgPT4ge1xuICAgICAgICBjb25zdCB7aW1hZ2VJZCwgdXNlcklkfSA9IHVzZXI7XG4gICAgICAgIGNvbnN0IHRodW1iVXJsRGF0YTogSW1hZ2VVcmxEYXRhID0ge1xuICAgICAgICAgIGJ1Y2tldDogQ29uZmlnLmdldCgnYXdzLnMzLkJ1Y2tldCcpLFxuICAgICAgICAgIGltYWdlRGlyOiAndGh1bWJzJyxcbiAgICAgICAgICBpbWFnZUlkLFxuICAgICAgICAgIHR5cGU6ICd1c2VycycsXG4gICAgICAgICAgdHlwZUlkOiB1c2VySWRcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLnVzZXIsXG4gICAgICAgICAgbmFtZTogZ2V0RGlzcGxheU5hbWUodXNlciksXG4gICAgICAgICAgdGh1bWI6IGdldEltYWdlVXJsKHRodW1iVXJsRGF0YSlcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gY29udmVyc2F0aW9uO1xuICAgIH0pXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IGxvZ0Vycm9yKHtcbiAgICAgIGFjdGlvbixcbiAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5LFxuICAgICAgbGFiZWw6IEVycm9yVHlwZXMuREFUQUJBU0VfRVJST1JcbiAgICB9LCBlcnJvciwgY29udGV4dCkpO1xufTtcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZUNvbnZlcnNhdGlvbiA9IChcbiAgY29udGV4dDogQXBpQ29udGV4dCxcbiAgY29udmVyc2F0aW9uOiBDb252ZXJzYXRpb25UeXBlXG4pOiBQcm9taXNlPENvbnZlcnNhdGlvblR5cGU+ID0+IHtcbiAgY29uc3QgYWN0aW9uOiBzdHJpbmcgPSAndXBkYXRlQ29udmVyc2F0aW9uJztcbiAgY29uc3Qge2RhdGFiYXNlTmFtZSwgc2Vzc2lvbjoge3VzZXJJZDogc2Vzc2lvbklkfX0gPSBjb250ZXh0O1xuICBjb25zdCB7XG4gICAgY29udmVyc2F0aW9uSWQgPSBjcmVhdGVIYXNoKGBjb252ZXJzYXRpb24tJHtzZXNzaW9uSWR9IGApLFxuICAgIGlzRGlyZWN0ID0gZmFsc2UsXG4gICAgbmFtZVxuICB9ID0gY29udmVyc2F0aW9uO1xuICBjb25zdCBmb3JtYXRDb252ZXJzYXRpb25JZDogc3RyaW5nID0gcGFyc2VJZChjb252ZXJzYXRpb25JZCk7XG4gIGNvbnN0IG5vdzogbnVtYmVyID0gRGF0ZS5ub3coKTtcbiAgY29uc3QgdXBkYXRlID0ge1xuICAgIGlzRGlyZWN0LFxuICAgIG1vZGlmaWVkOiBub3csXG4gICAgbmFtZVxuICB9O1xuXG4gIGNvbnN0IGluc2VydCA9IHtcbiAgICAuLi5jbG9uZURlZXAodXBkYXRlKSxcbiAgICBfa2V5OiBmb3JtYXRDb252ZXJzYXRpb25JZCxcbiAgICBhZGRlZDogbm93XG4gIH07XG5cbiAgY29uc3QgYXFsUXJ5OiBBcWxRdWVyeSA9IGFxbGBVUFNFUlQge19rZXk6ICR7Zm9ybWF0Q29udmVyc2F0aW9uSWR9IH1cbiAgICBJTlNFUlQgJHtpbnNlcnR9XG4gICAgVVBEQVRFICR7dXBkYXRlfVxuICAgIElOIGNvbnZlcnNhdGlvbnMgUkVUVVJOIE5FV2A7XG5cbiAgcmV0dXJuIHVzZURiKGRhdGFiYXNlTmFtZSkucXVlcnkoYXFsUXJ5KVxuICAgIC50aGVuKChjdXJzb3IpID0+IGN1cnNvci5uZXh0KCkpXG4gICAgLnRoZW4oKGNvbnZlcnNhdGlvbjogQ29udmVyc2F0aW9uVHlwZSkgPT4gY29udmVyc2F0aW9uKVxuICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiBsb2dFcnJvcih7XG4gICAgICBhY3Rpb24sXG4gICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbiAgICAgIGxhYmVsOiBFcnJvclR5cGVzLkRBVEFCQVNFX0VSUk9SXG4gICAgfSwgZXJyb3IsIGNvbnRleHQpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBhZGRVc2VyVG9Db252ZXJzYXRpb24gPSAoXG4gIGNvbnRleHQ6IEFwaUNvbnRleHQsXG4gIHtcbiAgICBjb252ZXJzYXRpb25JZCxcbiAgICB1c2VySWRcbiAgfTogVXBkYXRlQ29udmVyc2F0aW9uVXNlclBhcmFtc1xuKTogUHJvbWlzZTxDb252ZXJzYXRpb25UeXBlPiA9PiB7XG4gIGNvbnN0IGFjdGlvbjogc3RyaW5nID0gJ2FkZFVzZXJUb0NvbnZlcnNhdGlvbic7XG4gIGNvbnN0IHtkYXRhYmFzZU5hbWV9ID0gY29udGV4dDtcbiAgY29uc3QgZm9ybWF0Q29udmVyc2F0aW9uSWQ6IHN0cmluZyA9IHBhcnNlSWQoY29udmVyc2F0aW9uSWQpO1xuICBjb25zdCBmb3JtYXRVc2VySWQ6IHN0cmluZyA9IHBhcnNlSWQodXNlcklkKTtcbiAgY29uc3QgY29udmVyc2F0aW9uRG9jSWQ6IHN0cmluZyA9IGBjb252ZXJzYXRpb25zLyR7Zm9ybWF0Q29udmVyc2F0aW9uSWR9YDtcbiAgY29uc3QgdXNlckRvY0lkOiBzdHJpbmcgPSBgdXNlcnMvJHtmb3JtYXRVc2VySWR9YDtcblxuICBjb25zdCBhcWxRcnk6IEFxbFF1ZXJ5ID0gYXFsYEZPUiBoYyBJTiBoYXNDb252ZXJzYXRpb25cbiAgICBGSUxURVIgaGMuX2Zyb20gPT0gJHt1c2VyRG9jSWR9ICYmIGhjLl90byA9PSAke2NvbnZlcnNhdGlvbkRvY0lkfVxuICAgIExJTUlUIDFcbiAgICBSRVRVUk4gaGNgO1xuXG4gIHJldHVybiB1c2VEYihkYXRhYmFzZU5hbWUpLnF1ZXJ5KGFxbFFyeSlcbiAgICAudGhlbigoY3Vyc29yKSA9PiBjdXJzb3IubmV4dCgpKVxuICAgIC50aGVuKChoYXNDb252ZXJzYXRpb25FZGdlKSA9PiB7XG4gICAgICBpZighIWhhc0NvbnZlcnNhdGlvbkVkZ2UpIHtcbiAgICAgICAgcmV0dXJuIGhhc0NvbnZlcnNhdGlvbkVkZ2U7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGVkZ2VDb2xsZWN0aW9uOiBFZGdlQ29sbGVjdGlvbiA9IHVzZURiKGRhdGFiYXNlTmFtZSkuY29sbGVjdGlvbignaGFzQ29udmVyc2F0aW9uJyk7XG4gICAgICBjb25zdCBlZGdlSWQ6IHN0cmluZyA9IGNyZWF0ZUhhc2goYGNvbnZvIC0gJHtmb3JtYXRDb252ZXJzYXRpb25JZH0gLSR7Zm9ybWF0VXNlcklkfSBgKTtcblxuICAgICAgY29uc3QgZWRnZTogQ29udmVyc2F0aW9uVHlwZSA9IHtcbiAgICAgICAgX2Zyb206IHVzZXJEb2NJZCxcbiAgICAgICAgX2tleTogZWRnZUlkLFxuICAgICAgICBfdG86IGNvbnZlcnNhdGlvbkRvY0lkLFxuICAgICAgICBhZGRlZDogRGF0ZS5ub3coKVxuICAgICAgfTtcblxuICAgICAgcmV0dXJuIGVkZ2VDb2xsZWN0aW9uXG4gICAgICAgIC5zYXZlKGVkZ2UsIHtyZXR1cm5OZXc6IHRydWV9KVxuICAgICAgICAudGhlbigoKSA9PiBlZGdlKTtcbiAgICB9KVxuICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiBsb2dFcnJvcih7XG4gICAgICBhY3Rpb24sXG4gICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbiAgICAgIGxhYmVsOiBFcnJvclR5cGVzLkRBVEFCQVNFX0VSUk9SXG4gICAgfSwgZXJyb3IsIGNvbnRleHQpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWxldGVVc2VyRnJvbUNvbnZlcnNhdGlvbiA9IChcbiAgY29udGV4dDogQXBpQ29udGV4dCxcbiAge1xuICAgIGNvbnZlcnNhdGlvbklkLFxuICAgIHVzZXJJZFxuICB9OiBVcGRhdGVDb252ZXJzYXRpb25Vc2VyUGFyYW1zXG4pOiBQcm9taXNlPENvbnZlcnNhdGlvblR5cGU+ID0+IHtcbiAgY29uc3QgYWN0aW9uOiBzdHJpbmcgPSAnZGVsZXRlVXNlckZyb21Db252ZXJzYXRpb24nO1xuICBjb25zdCB7ZGF0YWJhc2VOYW1lfSA9IGNvbnRleHQ7XG4gIGNvbnN0IGZvcm1hdENvbnZlcnNhdGlvbklkOiBzdHJpbmcgPSBwYXJzZUlkKGNvbnZlcnNhdGlvbklkKTtcbiAgY29uc3QgZm9ybWF0VXNlcklkOiBzdHJpbmcgPSBwYXJzZUlkKHVzZXJJZCk7XG4gIGNvbnN0IGNvbnZlcnNhdGlvbkRvY0lkOiBzdHJpbmcgPSBgY29udmVyc2F0aW9ucy8ke2Zvcm1hdENvbnZlcnNhdGlvbklkfWA7XG4gIGNvbnN0IHVzZXJEb2NJZDogc3RyaW5nID0gYHVzZXJzLyR7Zm9ybWF0VXNlcklkfWA7XG5cbiAgY29uc3QgYXFsUXJ5OiBBcWxRdWVyeSA9IGFxbGBGT1IgaGMgSU4gaGFzQ29udmVyc2F0aW9uXG4gICAgRklMVEVSIGhjLl9mcm9tID09ICR7dXNlckRvY0lkfSAmJiBoYy5fdG8gPT0gJHtjb252ZXJzYXRpb25Eb2NJZH1cbiAgICBMSU1JVCAxXG4gICAgUkVNT1ZFIGhjIElOIGhhc0NvbnZlcnNhdGlvblxuICAgIFJFVFVSTiBPTERgO1xuXG4gIHJldHVybiB1c2VEYihkYXRhYmFzZU5hbWUpLnF1ZXJ5KGFxbFFyeSlcbiAgICAudGhlbigoY3Vyc29yKSA9PiBjdXJzb3IubmV4dCgpKVxuICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiBsb2dFcnJvcih7XG4gICAgICBhY3Rpb24sXG4gICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbiAgICAgIGxhYmVsOiBFcnJvclR5cGVzLkRBVEFCQVNFX0VSUk9SXG4gICAgfSwgZXJyb3IsIGNvbnRleHQpKTtcbn07XG4iXSwibmFtZXMiOlsiY2xvbmVEZWVwIiwiY3JlYXRlSGFzaCIsInBhcnNlSWQiLCJhcWwiLCJDb25maWciLCJFcnJvclR5cGVzIiwibG9nRXJyb3IiLCJnZXRMaW1pdCIsInNvcnRJZHMiLCJ1c2VEYiIsImdldEltYWdlVXJsIiwiZ2V0RGlzcGxheU5hbWUiLCJnZXRVc2VyIiwiZXZlbnRDYXRlZ29yeSIsInBhcnNlQ29udmVyc2F0aW9uT3B0aW9ucyIsIm9wdGlvbnMiLCJmcm9tIiwidG8iLCJsaW1pdCIsImdldENvbnZlcnNhdGlvbnMiLCJjb250ZXh0IiwidXNlcklkIiwiYWN0aW9uIiwiZGF0YWJhc2VOYW1lIiwidXNlckRvY0lkIiwiYXFsUXJ5IiwicXVlcnkiLCJ0aGVuIiwiY3Vyc29yIiwiYWxsIiwiY2F0Y2giLCJlcnJvciIsImNhdGVnb3J5IiwibGFiZWwiLCJEQVRBQkFTRV9FUlJPUiIsImdldERpcmVjdENvbnZlcnNhdGlvbiIsImZyb21JZCIsInRvSWQiLCJ0b1VzZXIiLCJmb3JtYXRGcm9tSWQiLCJmb3JtYXRUb0lkIiwidXNlcklkcyIsInNvcnRlZFVzZXJJZHMiLCJjb252ZXJzYXRpb25JZCIsImpvaW4iLCJ1c2VyIiwiY29udmVyc2F0aW9uIiwibmV4dCIsInVzZXJzIiwiYWRkRGlyZWN0Q29udmVyc2F0aW9uIiwiZGF0YWJhc2VFcnJvciIsIm5vdyIsIkRhdGUiLCJpbnNlcnQiLCJfa2V5IiwiYWRkZWQiLCJpc0RpcmVjdCIsIm1vZGlmaWVkIiwiaW5zZXJ0UXVlcnkiLCJ1cGRhdGVkQ29udmVyc2F0aW9uIiwiUHJvbWlzZSIsIm1hcCIsImVkZ2VJZCIsImVkZ2UiLCJfZnJvbSIsIl90byIsImluc2VydEVkZ2VRdWVyeSIsImdldENvbm5lY3Rpb25Vc2VycyIsImluY2x1ZGVBbGwiLCJzZXNzaW9uIiwic2Vzc2lvblVzZXJJZCIsImZpbHRlcnMiLCJwdXNoIiwiZ2V0Q29udmVyc2F0aW9uVXNlcnMiLCJnZXRDb252ZXJzYXRpb24iLCJzZXNzaW9uSWQiLCJzZXNzaW9uRG9jSWQiLCJjb252ZXJzYXRpb25Eb2NJZCIsImltYWdlSWQiLCJ0aHVtYlVybERhdGEiLCJidWNrZXQiLCJnZXQiLCJpbWFnZURpciIsInR5cGUiLCJ0eXBlSWQiLCJuYW1lIiwidGh1bWIiLCJ1cGRhdGVDb252ZXJzYXRpb24iLCJmb3JtYXRDb252ZXJzYXRpb25JZCIsInVwZGF0ZSIsImFkZFVzZXJUb0NvbnZlcnNhdGlvbiIsImZvcm1hdFVzZXJJZCIsImhhc0NvbnZlcnNhdGlvbkVkZ2UiLCJlZGdlQ29sbGVjdGlvbiIsImNvbGxlY3Rpb24iLCJzYXZlIiwicmV0dXJuTmV3IiwiZGVsZXRlVXNlckZyb21Db252ZXJzYXRpb24iXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUNELFNBQVFBLFNBQVMsUUFBTyw2QkFBNkI7QUFDckQsU0FBUUMsVUFBVSxFQUFFQyxPQUFPLFFBQU8sK0JBQStCO0FBQ2pFLFNBQVFD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
|
|
@@ -10,3 +10,4 @@ export declare const dynamoPut: (params: PutItemCommandInput) => Promise<PutItem
|
|
|
10
10
|
export declare const dynamoUpdate: (params: UpdateItemCommandInput) => Promise<UpdateItemCommandOutput>;
|
|
11
11
|
export declare const dynamoPutList: (params: BatchWriteItemCommandInput) => Promise<BatchWriteItemCommandOutput>;
|
|
12
12
|
export declare const dynamoDel: (params: DeleteItemCommandInput) => Promise<DeleteItemCommandOutput>;
|
|
13
|
+
//# sourceMappingURL=dynamodb.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamodb.d.ts","sourceRoot":"","sources":["../../src/actions/dynamodb.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,sBAAsB,EACtB,uBAAuB,EAEvB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,0BAA0B,CAAC;AAKlC,eAAO,MAAM,SAAS,GAAI,QAAQ,mBAAmB,KAAG,OAAO,CAAC,oBAAoB,CAehF,CAAC;AAEL,eAAO,MAAM,eAAe,GAAI,SAAS,kBAAkB,KAAG,GAAG,EA0BhE,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,QAAQ,iBAAiB,EAAE,eAAU,KAAG,OAAO,CAAC,oBAAoB,EAAE,CAkChG,CAAC;AAEL,eAAO,MAAM,SAAS,GAAI,QAAQ,mBAAmB,KAAG,OAAO,CAAC,oBAAoB,CAahF,CAAC;AAEL,eAAO,MAAM,YAAY,GAAI,QAAQ,sBAAsB,KAAG,OAAO,CAAC,uBAAuB,CAazF,CAAC;AAEL,eAAO,MAAM,aAAa,GAAI,QAAQ,0BAA0B,KAAG,OAAO,CAAC,2BAA2B,CAalG,CAAC;AAEL,eAAO,MAAM,SAAS,GAAI,QAAQ,sBAAsB,KAAG,OAAO,CAAC,uBAAuB,CAatF,CAAC"}
|
|
@@ -0,0 +1,119 @@
|
|
|
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 { DynamoDB } from '@aws-sdk/client-dynamodb';
|
|
5
|
+
import { Config } from '../config.js';
|
|
6
|
+
// const eventCategory: string = 'dynamodb';
|
|
7
|
+
export const dynamoGet = (params)=>new Promise((resolve, reject)=>{
|
|
8
|
+
const dynamodb = new DynamoDB({
|
|
9
|
+
credentials: Config.get('aws.credentials'),
|
|
10
|
+
region: Config.get('aws.region')
|
|
11
|
+
});
|
|
12
|
+
params.ConsistentRead = false;
|
|
13
|
+
dynamodb.getItem(params, (error, results)=>{
|
|
14
|
+
if (error) {
|
|
15
|
+
return reject(error);
|
|
16
|
+
}
|
|
17
|
+
return resolve(results);
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
export const parseDynamoList = (results)=>{
|
|
21
|
+
const { Items: items = [] } = results;
|
|
22
|
+
const data = [];
|
|
23
|
+
for(let idx = 0, len = items.length; idx < len; idx++){
|
|
24
|
+
const tmp = items[idx];
|
|
25
|
+
const obj = {};
|
|
26
|
+
let key;
|
|
27
|
+
for(key in tmp){
|
|
28
|
+
if (tmp.hasOwnProperty(key)) {
|
|
29
|
+
if (tmp[key].S) {
|
|
30
|
+
obj[key] = tmp[key].S.toString();
|
|
31
|
+
} else if (tmp[key].N) {
|
|
32
|
+
obj[key] = parseFloat(tmp[key].N);
|
|
33
|
+
} else {
|
|
34
|
+
obj[key] = tmp[key].B;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
data.push(obj);
|
|
39
|
+
}
|
|
40
|
+
return data;
|
|
41
|
+
};
|
|
42
|
+
export const dynamoGetList = (params, startItem)=>new Promise((resolve, reject)=>{
|
|
43
|
+
const dynamodb = new DynamoDB({
|
|
44
|
+
credentials: Config.get('aws.credentials'),
|
|
45
|
+
region: Config.get('aws.region')
|
|
46
|
+
});
|
|
47
|
+
const { ConsistentRead: consistentRead } = params;
|
|
48
|
+
const updatedParams = {
|
|
49
|
+
...params
|
|
50
|
+
};
|
|
51
|
+
if (startItem) {
|
|
52
|
+
updatedParams.ExclusiveStartKey = startItem;
|
|
53
|
+
}
|
|
54
|
+
if (!consistentRead) {
|
|
55
|
+
updatedParams.ConsistentRead = false;
|
|
56
|
+
}
|
|
57
|
+
const list = [];
|
|
58
|
+
dynamodb.query(updatedParams, (error, output)=>{
|
|
59
|
+
if (error) {
|
|
60
|
+
return reject(error);
|
|
61
|
+
}
|
|
62
|
+
list.push(...parseDynamoList(output) || []);
|
|
63
|
+
const { LastEvaluatedKey: lastKey } = output;
|
|
64
|
+
if (lastKey !== undefined) {
|
|
65
|
+
return dynamoGetList(params, lastKey);
|
|
66
|
+
}
|
|
67
|
+
return resolve(list);
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
export const dynamoPut = (params)=>new Promise((resolve, reject)=>{
|
|
71
|
+
const dynamodb = new DynamoDB({
|
|
72
|
+
credentials: Config.get('aws.credentials'),
|
|
73
|
+
region: Config.get('aws.region')
|
|
74
|
+
});
|
|
75
|
+
dynamodb.putItem(params, (error, output)=>{
|
|
76
|
+
if (error) {
|
|
77
|
+
return reject(error);
|
|
78
|
+
}
|
|
79
|
+
return resolve(output);
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
export const dynamoUpdate = (params)=>new Promise((resolve, reject)=>{
|
|
83
|
+
const dynamodb = new DynamoDB({
|
|
84
|
+
credentials: Config.get('aws.credentials'),
|
|
85
|
+
region: Config.get('aws.region')
|
|
86
|
+
});
|
|
87
|
+
dynamodb.updateItem(params, (error, output)=>{
|
|
88
|
+
if (error) {
|
|
89
|
+
return reject(error);
|
|
90
|
+
}
|
|
91
|
+
return resolve(output);
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
export const dynamoPutList = (params)=>new Promise((resolve, reject)=>{
|
|
95
|
+
const dynamodb = new DynamoDB({
|
|
96
|
+
credentials: Config.get('aws.credentials'),
|
|
97
|
+
region: Config.get('aws.region')
|
|
98
|
+
});
|
|
99
|
+
dynamodb.batchWriteItem(params, (error, output)=>{
|
|
100
|
+
if (error) {
|
|
101
|
+
return reject(error);
|
|
102
|
+
}
|
|
103
|
+
return resolve(output);
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
export const dynamoDel = (params)=>new Promise((resolve, reject)=>{
|
|
107
|
+
const dynamodb = new DynamoDB({
|
|
108
|
+
credentials: Config.get('aws.credentials'),
|
|
109
|
+
region: Config.get('aws.region')
|
|
110
|
+
});
|
|
111
|
+
dynamodb.deleteItem(params, (error, output)=>{
|
|
112
|
+
if (error) {
|
|
113
|
+
return reject(error);
|
|
114
|
+
}
|
|
115
|
+
return resolve(output);
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL2FjdGlvbnMvZHluYW1vZGIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTktUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7XG4gIEJhdGNoV3JpdGVJdGVtQ29tbWFuZElucHV0LFxuICBCYXRjaFdyaXRlSXRlbUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUl0ZW1Db21tYW5kSW5wdXQsXG4gIERlbGV0ZUl0ZW1Db21tYW5kT3V0cHV0LFxuICBEeW5hbW9EQixcbiAgR2V0SXRlbUNvbW1hbmRJbnB1dCxcbiAgR2V0SXRlbUNvbW1hbmRPdXRwdXQsXG4gIFB1dEl0ZW1Db21tYW5kSW5wdXQsXG4gIFB1dEl0ZW1Db21tYW5kT3V0cHV0LFxuICBRdWVyeUNvbW1hbmRJbnB1dCxcbiAgUXVlcnlDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVJdGVtQ29tbWFuZElucHV0LFxuICBVcGRhdGVJdGVtQ29tbWFuZE91dHB1dFxufSBmcm9tICdAYXdzLXNkay9jbGllbnQtZHluYW1vZGInO1xuXG5pbXBvcnQge0NvbmZpZ30gZnJvbSAnLi4vY29uZmlnLmpzJztcblxuLy8gY29uc3QgZXZlbnRDYXRlZ29yeTogc3RyaW5nID0gJ2R5bmFtb2RiJztcbmV4cG9ydCBjb25zdCBkeW5hbW9HZXQgPSAocGFyYW1zOiBHZXRJdGVtQ29tbWFuZElucHV0KTogUHJvbWlzZTxHZXRJdGVtQ29tbWFuZE91dHB1dD4gPT5cbiAgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IGR5bmFtb2RiID0gbmV3IER5bmFtb0RCKHtcbiAgICAgIGNyZWRlbnRpYWxzOiBDb25maWcuZ2V0KCdhd3MuY3JlZGVudGlhbHMnKSxcbiAgICAgIHJlZ2lvbjogQ29uZmlnLmdldCgnYXdzLnJlZ2lvbicpXG4gICAgfSk7XG4gICAgcGFyYW1zLkNvbnNpc3RlbnRSZWFkID0gZmFsc2U7XG5cbiAgICBkeW5hbW9kYi5nZXRJdGVtKHBhcmFtcywgKGVycm9yOiBFcnJvciwgcmVzdWx0czogR2V0SXRlbUNvbW1hbmRPdXRwdXQpID0+IHtcbiAgICAgIGlmKGVycm9yKSB7XG4gICAgICAgIHJldHVybiByZWplY3QoZXJyb3IpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzb2x2ZShyZXN1bHRzKTtcbiAgICB9KTtcbiAgfSk7XG5cbmV4cG9ydCBjb25zdCBwYXJzZUR5bmFtb0xpc3QgPSAocmVzdWx0czogUXVlcnlDb21tYW5kT3V0cHV0KTogYW55W10gPT4ge1xuICBjb25zdCB7SXRlbXM6IGl0ZW1zID0gW119ID0gcmVzdWx0cztcbiAgY29uc3QgZGF0YTogYW55W10gPSBbXTtcblxuXG4gIGZvcihsZXQgaWR4OiBudW1iZXIgPSAwLCBsZW4gPSBpdGVtcy5sZW5ndGg7IGlkeCA8IGxlbjsgaWR4KyspIHtcbiAgICBjb25zdCB0bXAgPSBpdGVtc1tpZHhdO1xuICAgIGNvbnN0IG9iaiA9IHt9O1xuICAgIGxldCBrZXk7XG5cbiAgICBmb3Ioa2V5IGluIHRtcCkge1xuICAgICAgaWYodG1wLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgaWYodG1wW2tleV0uUykge1xuICAgICAgICAgIG9ialtrZXldID0gdG1wW2tleV0uUy50b1N0cmluZygpO1xuICAgICAgICB9IGVsc2UgaWYodG1wW2tleV0uTikge1xuICAgICAgICAgIG9ialtrZXldID0gcGFyc2VGbG9hdCh0bXBba2V5XS5OKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBvYmpba2V5XSA9IHRtcFtrZXldLkI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBkYXRhLnB1c2gob2JqKTtcbiAgfVxuXG4gIHJldHVybiBkYXRhO1xufTtcblxuZXhwb3J0IGNvbnN0IGR5bmFtb0dldExpc3QgPSAocGFyYW1zOiBRdWVyeUNvbW1hbmRJbnB1dCwgc3RhcnRJdGVtPyk6IFByb21pc2U8R2V0SXRlbUNvbW1hbmRPdXRwdXRbXT4gPT5cbiAgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IGR5bmFtb2RiID0gbmV3IER5bmFtb0RCKHtcbiAgICAgIGNyZWRlbnRpYWxzOiBDb25maWcuZ2V0KCdhd3MuY3JlZGVudGlhbHMnKSxcbiAgICAgIHJlZ2lvbjogQ29uZmlnLmdldCgnYXdzLnJlZ2lvbicpXG4gICAgfSk7XG4gICAgY29uc3Qge0NvbnNpc3RlbnRSZWFkOiBjb25zaXN0ZW50UmVhZH0gPSBwYXJhbXM7XG4gICAgY29uc3QgdXBkYXRlZFBhcmFtcyA9IHsuLi5wYXJhbXN9O1xuXG4gICAgaWYoc3RhcnRJdGVtKSB7XG4gICAgICB1cGRhdGVkUGFyYW1zLkV4Y2x1c2l2ZVN0YXJ0S2V5ID0gc3RhcnRJdGVtO1xuICAgIH1cblxuICAgIGlmKCFjb25zaXN0ZW50UmVhZCkge1xuICAgICAgdXBkYXRlZFBhcmFtcy5Db25zaXN0ZW50UmVhZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IGxpc3QgPSBbXTtcblxuICAgIGR5bmFtb2RiLnF1ZXJ5KHVwZGF0ZWRQYXJhbXMsIChlcnJvcjogRXJyb3IsIG91dHB1dDogUXVlcnlDb21tYW5kT3V0cHV0KSA9PiB7XG4gICAgICBpZihlcnJvcikge1xuICAgICAgICByZXR1cm4gcmVqZWN0KGVycm9yKTtcbiAgICAgIH1cblxuICAgICAgbGlzdC5wdXNoKC4uLihwYXJzZUR5bmFtb0xpc3Qob3V0cHV0KSB8fCBbXSkpO1xuXG4gICAgICBjb25zdCB7TGFzdEV2YWx1YXRlZEtleTogbGFzdEtleX0gPSBvdXRwdXQ7XG5cbiAgICAgIGlmKGxhc3RLZXkgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gZHluYW1vR2V0TGlzdChwYXJhbXMsIGxhc3RLZXkpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzb2x2ZShsaXN0KTtcbiAgICB9KTtcbiAgfSk7XG5cbmV4cG9ydCBjb25zdCBkeW5hbW9QdXQgPSAocGFyYW1zOiBQdXRJdGVtQ29tbWFuZElucHV0KTogUHJvbWlzZTxQdXRJdGVtQ29tbWFuZE91dHB1dD4gPT5cbiAgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IGR5bmFtb2RiID0gbmV3IER5bmFtb0RCKHtcbiAgICAgIGNyZWRlbnRpYWxzOiBDb25maWcuZ2V0KCdhd3MuY3JlZGVudGlhbHMnKSxcbiAgICAgIHJlZ2lvbjogQ29uZmlnLmdldCgnYXdzLnJlZ2lvbicpXG4gICAgfSk7XG5cbiAgICBkeW5hbW9kYi5wdXRJdGVtKHBhcmFtcywgKGVycm9yLCBvdXRwdXQ6IFB1dEl0ZW1Db21tYW5kT3V0cHV0KSA9PiB7XG4gICAgICBpZihlcnJvcikge1xuICAgICAgICByZXR1cm4gcmVqZWN0KGVycm9yKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXNvbHZlKG91dHB1dCk7XG4gICAgfSk7XG4gIH0pO1xuXG5leHBvcnQgY29uc3QgZHluYW1vVXBkYXRlID0gKHBhcmFtczogVXBkYXRlSXRlbUNvbW1hbmRJbnB1dCk6IFByb21pc2U8VXBkYXRlSXRlbUNvbW1hbmRPdXRwdXQ+ID0+XG4gIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBjb25zdCBkeW5hbW9kYiA9IG5ldyBEeW5hbW9EQih7XG4gICAgICBjcmVkZW50aWFsczogQ29uZmlnLmdldCgnYXdzLmNyZWRlbnRpYWxzJyksXG4gICAgICByZWdpb246IENvbmZpZy5nZXQoJ2F3cy5yZWdpb24nKVxuICAgIH0pO1xuXG4gICAgZHluYW1vZGIudXBkYXRlSXRlbShwYXJhbXMsIChlcnJvcjogRXJyb3IsIG91dHB1dDogVXBkYXRlSXRlbUNvbW1hbmRPdXRwdXQpID0+IHtcbiAgICAgIGlmKGVycm9yKSB7XG4gICAgICAgIHJldHVybiByZWplY3QoZXJyb3IpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc29sdmUob3V0cHV0KTtcbiAgICB9KTtcbiAgfSk7XG5cbmV4cG9ydCBjb25zdCBkeW5hbW9QdXRMaXN0ID0gKHBhcmFtczogQmF0Y2hXcml0ZUl0ZW1Db21tYW5kSW5wdXQpOiBQcm9taXNlPEJhdGNoV3JpdGVJdGVtQ29tbWFuZE91dHB1dD4gPT5cbiAgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IGR5bmFtb2RiID0gbmV3IER5bmFtb0RCKHtcbiAgICAgIGNyZWRlbnRpYWxzOiBDb25maWcuZ2V0KCdhd3MuY3JlZGVudGlhbHMnKSxcbiAgICAgIHJlZ2lvbjogQ29uZmlnLmdldCgnYXdzLnJlZ2lvbicpXG4gICAgfSk7XG5cbiAgICBkeW5hbW9kYi5iYXRjaFdyaXRlSXRlbShwYXJhbXMsIChlcnJvcjogRXJyb3IsIG91dHB1dDogQmF0Y2hXcml0ZUl0ZW1Db21tYW5kT3V0cHV0KSA9PiB7XG4gICAgICBpZihlcnJvcikge1xuICAgICAgICByZXR1cm4gcmVqZWN0KGVycm9yKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXNvbHZlKG91dHB1dCk7XG4gICAgfSk7XG4gIH0pO1xuXG5leHBvcnQgY29uc3QgZHluYW1vRGVsID0gKHBhcmFtczogRGVsZXRlSXRlbUNvbW1hbmRJbnB1dCk6IFByb21pc2U8RGVsZXRlSXRlbUNvbW1hbmRPdXRwdXQ+ID0+XG4gIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBjb25zdCBkeW5hbW9kYiA9IG5ldyBEeW5hbW9EQih7XG4gICAgICBjcmVkZW50aWFsczogQ29uZmlnLmdldCgnYXdzLmNyZWRlbnRpYWxzJyksXG4gICAgICByZWdpb246IENvbmZpZy5nZXQoJ2F3cy5yZWdpb24nKVxuICAgIH0pO1xuXG4gICAgZHluYW1vZGIuZGVsZXRlSXRlbShwYXJhbXMsIChlcnJvciwgb3V0cHV0OiBEZWxldGVJdGVtQ29tbWFuZE91dHB1dCkgPT4ge1xuICAgICAgaWYoZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIHJlamVjdChlcnJvcik7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzb2x2ZShvdXRwdXQpO1xuICAgIH0pO1xuICB9KTtcbiJdLCJuYW1lcyI6WyJEeW5hbW9EQiIsIkNvbmZpZyIsImR5bmFtb0dldCIsInBhcmFtcyIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwiZHluYW1vZGIiLCJjcmVkZW50aWFscyIsImdldCIsInJlZ2lvbiIsIkNvbnNpc3RlbnRSZWFkIiwiZ2V0SXRlbSIsImVycm9yIiwicmVzdWx0cyIsInBhcnNlRHluYW1vTGlzdCIsIkl0ZW1zIiwiaXRlbXMiLCJkYXRhIiwiaWR4IiwibGVuIiwibGVuZ3RoIiwidG1wIiwib2JqIiwia2V5IiwiaGFzT3duUHJvcGVydHkiLCJTIiwidG9TdHJpbmciLCJOIiwicGFyc2VGbG9hdCIsIkIiLCJwdXNoIiwiZHluYW1vR2V0TGlzdCIsInN0YXJ0SXRlbSIsImNvbnNpc3RlbnRSZWFkIiwidXBkYXRlZFBhcmFtcyIsIkV4Y2x1c2l2ZVN0YXJ0S2V5IiwibGlzdCIsInF1ZXJ5Iiwib3V0cHV0IiwiTGFzdEV2YWx1YXRlZEtleSIsImxhc3RLZXkiLCJ1bmRlZmluZWQiLCJkeW5hbW9QdXQiLCJwdXRJdGVtIiwiZHluYW1vVXBkYXRlIiwidXBkYXRlSXRlbSIsImR5bmFtb1B1dExpc3QiLCJiYXRjaFdyaXRlSXRlbSIsImR5bmFtb0RlbCIsImRlbGV0ZUl0ZW0iXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUNELFNBS0VBLFFBQVEsUUFTSCwyQkFBMkI7QUFFbEMsU0FBUUMsTUFBTSxRQUFPLGVBQWU7QUFFcEMsNENBQTRDO0FBQzVDLE9BQU8sTUFBTUMsWUFBWSxDQUFDQyxTQUN4QixJQUFJQyxRQUFRLENBQUNDLFNBQVNDO1FBQ3BCLE1BQU1DLFdBQVcsSUFBSVAsU0FBUztZQUM1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
|
package/lib/actions/email.d.ts
CHANGED
|
@@ -6,3 +6,4 @@ import { SendEmailCommandInput, SendEmailCommandOutput } from '@aws-sdk/client-s
|
|
|
6
6
|
import { EmailType } from '../types/email.types.js';
|
|
7
7
|
export declare const sesSend: (params: SendEmailCommandInput) => Promise<SendEmailCommandOutput>;
|
|
8
8
|
export declare const sendEmail: (params: EmailType) => Promise<boolean>;
|
|
9
|
+
//# sourceMappingURL=email.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../src/actions/email.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAC,qBAAqB,EAAE,sBAAsB,EAAM,MAAM,qBAAqB,CAAC;AAGvF,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAKlD,eAAO,MAAM,OAAO,GAAI,QAAQ,qBAAqB,KAAG,OAAO,CAAC,sBAAsB,CAiBlF,CAAC;AAEL,eAAO,MAAM,SAAS,GAAI,QAAQ,SAAS,KAAG,OAAO,CAAC,OAAO,CAoC5D,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
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 { SES } from '@aws-sdk/client-ses';
|
|
5
|
+
import { Config } from '../config.js';
|
|
6
|
+
import { logError } from '../utils/analyticsUtils.js';
|
|
7
|
+
const eventCategory = 'email';
|
|
8
|
+
export const sesSend = (params)=>new Promise((resolve, reject)=>{
|
|
9
|
+
const ses = new SES({
|
|
10
|
+
credentials: {
|
|
11
|
+
accessKeyId: Config.get('aws.credentials.accessKeyId'),
|
|
12
|
+
secretAccessKey: Config.get('aws.credentials.secretAccessKey')
|
|
13
|
+
},
|
|
14
|
+
region: Config.get('aws.region')
|
|
15
|
+
});
|
|
16
|
+
ses.sendEmail(params, (error, response)=>{
|
|
17
|
+
if (error) {
|
|
18
|
+
return reject(error);
|
|
19
|
+
}
|
|
20
|
+
return resolve(response);
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
export const sendEmail = (params)=>{
|
|
24
|
+
const { context, html, subject, text, user } = params;
|
|
25
|
+
const to = [
|
|
26
|
+
user.email
|
|
27
|
+
];
|
|
28
|
+
const emailParams = {
|
|
29
|
+
Destination: {
|
|
30
|
+
ToAddresses: to
|
|
31
|
+
},
|
|
32
|
+
Message: {
|
|
33
|
+
Body: {
|
|
34
|
+
Html: {
|
|
35
|
+
Data: html
|
|
36
|
+
},
|
|
37
|
+
Text: {
|
|
38
|
+
Data: text
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
Subject: {
|
|
42
|
+
Data: subject
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
Source: `"${context.config.details.supportName}" <${context.config.details.supportEmail}>`
|
|
46
|
+
};
|
|
47
|
+
return sesSend(emailParams).then(()=>true).catch((error)=>{
|
|
48
|
+
logError({
|
|
49
|
+
action: 'sendEmail',
|
|
50
|
+
category: eventCategory
|
|
51
|
+
}, error, context);
|
|
52
|
+
return false;
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL2FjdGlvbnMvZW1haWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTktUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7U2VuZEVtYWlsQ29tbWFuZElucHV0LCBTZW5kRW1haWxDb21tYW5kT3V0cHV0LCBTRVN9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1zZXMnO1xuXG5pbXBvcnQge0NvbmZpZ30gZnJvbSAnLi4vY29uZmlnLmpzJztcbmltcG9ydCB7RW1haWxUeXBlfSBmcm9tICcuLi90eXBlcy9lbWFpbC50eXBlcy5qcyc7XG5pbXBvcnQge2xvZ0Vycm9yfSBmcm9tICcuLi91dGlscy9hbmFseXRpY3NVdGlscy5qcyc7XG5cbmNvbnN0IGV2ZW50Q2F0ZWdvcnk6IHN0cmluZyA9ICdlbWFpbCc7XG5cbmV4cG9ydCBjb25zdCBzZXNTZW5kID0gKHBhcmFtczogU2VuZEVtYWlsQ29tbWFuZElucHV0KTogUHJvbWlzZTxTZW5kRW1haWxDb21tYW5kT3V0cHV0PiA9PlxuICBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29uc3Qgc2VzID0gbmV3IFNFUyh7XG4gICAgICBjcmVkZW50aWFsczoge1xuICAgICAgICBhY2Nlc3NLZXlJZDogQ29uZmlnLmdldCgnYXdzLmNyZWRlbnRpYWxzLmFjY2Vzc0tleUlkJyksXG4gICAgICAgIHNlY3JldEFjY2Vzc0tleTogQ29uZmlnLmdldCgnYXdzLmNyZWRlbnRpYWxzLnNlY3JldEFjY2Vzc0tleScpXG4gICAgICB9LFxuICAgICAgcmVnaW9uOiBDb25maWcuZ2V0KCdhd3MucmVnaW9uJylcbiAgICB9KTtcblxuICAgIHNlcy5zZW5kRW1haWwocGFyYW1zLCAoZXJyb3I6IEVycm9yLCByZXNwb25zZTogU2VuZEVtYWlsQ29tbWFuZE91dHB1dCkgPT4ge1xuICAgICAgaWYoZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIHJlamVjdChlcnJvcik7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXNvbHZlKHJlc3BvbnNlKTtcbiAgICB9KTtcbiAgfSk7XG5cbmV4cG9ydCBjb25zdCBzZW5kRW1haWwgPSAocGFyYW1zOiBFbWFpbFR5cGUpOiBQcm9taXNlPGJvb2xlYW4+ID0+IHtcbiAgY29uc3Qge1xuICAgIGNvbnRleHQsXG4gICAgaHRtbCxcbiAgICBzdWJqZWN0LFxuICAgIHRleHQsXG4gICAgdXNlclxuICB9ID0gcGFyYW1zO1xuXG4gIGNvbnN0IHRvID0gW3VzZXIuZW1haWxdO1xuICBjb25zdCBlbWFpbFBhcmFtczogU2VuZEVtYWlsQ29tbWFuZElucHV0ID0ge1xuICAgIERlc3RpbmF0aW9uOiB7VG9BZGRyZXNzZXM6IHRvfSxcbiAgICBNZXNzYWdlOiB7XG4gICAgICBCb2R5OiB7XG4gICAgICAgIEh0bWw6IHtEYXRhOiBodG1sfSxcbiAgICAgICAgVGV4dDoge0RhdGE6IHRleHR9XG4gICAgICB9LFxuICAgICAgU3ViamVjdDoge0RhdGE6IHN1YmplY3R9XG4gICAgfSxcbiAgICBTb3VyY2U6IGBcIiR7Y29udGV4dC5jb25maWcuZGV0YWlscy5zdXBwb3J0TmFtZX1cIiA8JHtjb250ZXh0LmNvbmZpZy5kZXRhaWxzLnN1cHBvcnRFbWFpbH0+YFxuICB9O1xuXG4gIHJldHVybiBzZXNTZW5kKGVtYWlsUGFyYW1zKVxuICAgIC50aGVuKCgpID0+IHRydWUpXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgIGxvZ0Vycm9yKFxuICAgICAgICB7XG4gICAgICAgICAgYWN0aW9uOiAnc2VuZEVtYWlsJyxcbiAgICAgICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeVxuICAgICAgICB9LFxuICAgICAgICBlcnJvcixcbiAgICAgICAgY29udGV4dFxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0pO1xufTtcbiJdLCJuYW1lcyI6WyJTRVMiLCJDb25maWciLCJsb2dFcnJvciIsImV2ZW50Q2F0ZWdvcnkiLCJzZXNTZW5kIiwicGFyYW1zIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJzZXMiLCJjcmVkZW50aWFscyIsImFjY2Vzc0tleUlkIiwiZ2V0Iiwic2VjcmV0QWNjZXNzS2V5IiwicmVnaW9uIiwic2VuZEVtYWlsIiwiZXJyb3IiLCJyZXNwb25zZSIsImNvbnRleHQiLCJodG1sIiwic3ViamVjdCIsInRleHQiLCJ1c2VyIiwidG8iLCJlbWFpbCIsImVtYWlsUGFyYW1zIiwiRGVzdGluYXRpb24iLCJUb0FkZHJlc3NlcyIsIk1lc3NhZ2UiLCJCb2R5IiwiSHRtbCIsIkRhdGEiLCJUZXh0IiwiU3ViamVjdCIsIlNvdXJjZSIsImNvbmZpZyIsImRldGFpbHMiLCJzdXBwb3J0TmFtZSIsInN1cHBvcnRFbWFpbCIsInRoZW4iLCJjYXRjaCIsImFjdGlvbiIsImNhdGVnb3J5Il0sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0FDRCxTQUF1REEsR0FBRyxRQUFPLHNCQUFzQjtBQUV2RixTQUFRQyxNQUFNLFFBQU8sZUFBZTtBQUVwQyxTQUFRQyxRQUFRLFFBQU8sNkJBQTZCO0FBRXBELE1BQU1DLGdCQUF3QjtBQUU5QixPQUFPLE1BQU1DLFVBQVUsQ0FBQ0MsU0FDdEIsSUFBSUMsUUFBUSxDQUFDQyxTQUFTQztRQUNwQixNQUFNQyxNQUFNLElBQUlULElBQUk7WUFDbEJVLGFBQWE7Z0JBQ1hDLGFBQWFWLE9BQU9XLEdBQUcsQ0FBQztnQkFDeEJDLGlCQUFpQlosT0FBT1csR0FBRyxDQUFDO1lBQzlCO1lBQ0FFLFFBQVFiLE9BQU9XLEdBQUcsQ0FBQztRQUNyQjtRQUVBSCxJQUFJTSxTQUFTLENBQUNWLFFBQVEsQ0FBQ1csT0FBY0M7WUFDbkMsSUFBR0QsT0FBTztnQkFDUixPQUFPUixPQUFPUTtZQUNoQjtZQUVBLE9BQU9ULFFBQVFVO1FBQ2pCO0lBQ0YsR0FBRztBQUVMLE9BQU8sTUFBTUYsWUFBWSxDQUFDVjtJQUN4QixNQUFNLEVBQ0phLE9BQU8sRUFDUEMsSUFBSSxFQUNKQyxPQUFPLEVBQ1BDLElBQUksRUFDSkMsSUFBSSxFQUNMLEdBQUdqQjtJQUVKLE1BQU1rQixLQUFLO1FBQUNELEtBQUtFLEtBQUs7S0FBQztJQUN2QixNQUFNQyxjQUFxQztRQUN6Q0MsYUFBYTtZQUFDQyxhQUFhSjtRQUFFO1FBQzdCSyxTQUFTO1lBQ1BDLE1BQU07Z0JBQ0pDLE1BQU07b0JBQUNDLE1BQU1aO2dCQUFJO2dCQUNqQmEsTUFBTTtvQkFBQ0QsTUFBTVY7Z0JBQUk7WUFDbkI7WUFDQVksU0FBUztnQkFBQ0YsTUFBTVg7WUFBTztRQUN6QjtRQUNBYyxRQUFRLENBQUMsQ0FBQyxFQUFFaEIsUUFBUWlCLE1BQU0sQ0FBQ0MsT0FBTyxDQUFDQyxXQUFXLENBQUMsR0FBRyxFQUFFbkIsUUFBUWlCLE1BQU0sQ0FBQ0MsT0FBTyxDQUFDRSxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQzVGO0lBRUEsT0FBT2xDLFFBQVFxQixhQUNaYyxJQUFJLENBQUMsSUFBTSxNQUNYQyxLQUFLLENBQUMsQ0FBQ3hCO1FBQ05kLFNBQ0U7WUFDRXVDLFFBQVE7WUFDUkMsVUFBVXZDO1FBQ1osR0FDQWEsT0FDQUU7UUFHRixPQUFPO0lBQ1Q7QUFDSixFQUFFIn0=
|
package/lib/actions/files.d.ts
CHANGED
|
@@ -17,3 +17,4 @@ export declare const linkFiles: (context: ApiContext, postDocId: string, files:
|
|
|
17
17
|
export declare const updateFiles: (context: ApiContext, postDocId: string, files: FileType[]) => Promise<any>;
|
|
18
18
|
export declare const encodeBase64: (buffer: Buffer) => string;
|
|
19
19
|
export declare const decodeBase64: (dataString: string) => any;
|
|
20
|
+
//# sourceMappingURL=files.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/actions/files.ts"],"names":[],"mappings":"AAYA,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAC;AAUnD,eAAO,MAAM,SAAS,EAAE,MAAuC,CAAC;AAEhE,eAAO,MAAM,UAAU,+CAAwE,CAAC;AAEhG,eAAO,MAAM,UAAU,GAAI,SAAS,UAAU,EAAE,MAAM,QAAQ,iBAa7D,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,SAAS,UAAU,EAAE,MAAM,QAAQ,KAAG,OAAO,CAAC,QAAQ,CA8BhF,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,YAAO,EAAE,MAAM,QAAQ,EAAE,QAAQ,MAAM,iBAqCjE,CAAC;AAEF,eAAO,MAAM,OAAO,GAAI,SAAS,UAAU,EAAE,MAAM,QAAQ,KAAG,OAAO,CAAC,QAAQ,CAkB7E,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,UAAU,GAAG,KAAG,SAmB9C,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,QAAO,MAAW,KAAG,OAAO,CAAC,SAAS,EAAE,CAMtE,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,EAAE,QAAO,MAAW,KAAG,OAAO,CAAC,SAAS,EAAE,CAOrF,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,QAAO,MAAW,KAAG,OAAO,CAAC,GAAG,EAAE,CA0BlE,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,OAAO,MAAM,EAAE,QAAO,MAAW,KAAG,OAAO,CAAC,GAAG,EAAE,CA2BjF,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,EAAE,UAAU,MAAM,KAAG,MAA6C,CAAC;AAElH,eAAO,MAAM,SAAS,GAAI,SAAS,UAAU,EAAE,WAAW,MAAM,EAAE,OAAO,QAAQ,EAAE,KAAG,OAAO,CAAC,GAAG,CAI9F,CAAC;AAEJ,eAAO,MAAM,WAAW,GAAI,SAAS,UAAU,EAAE,WAAW,MAAM,EAAE,OAAO,QAAQ,EAAE,KAAG,OAAO,CAAC,GAAG,CAqClG,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,KAAG,MAAgD,CAAC;AAE/F,eAAO,MAAM,YAAY,GAAI,YAAY,MAAM,KAAG,GAiBjD,CAAC"}
|