@nlabs/reaktor 0.10.2 → 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/coverage/block-navigation.js +1 -1
- package/coverage/index.html +23 -23
- package/coverage/sorter.js +21 -7
- package/lib/actions/apps.d.ts +1 -0
- package/lib/actions/apps.d.ts.map +1 -0
- package/lib/actions/apps.js +218 -17
- package/lib/actions/connections.d.ts +1 -0
- package/lib/actions/connections.d.ts.map +1 -0
- package/lib/actions/connections.js +61 -6
- package/lib/actions/content.d.ts +1 -0
- package/lib/actions/content.d.ts.map +1 -0
- package/lib/actions/content.js +232 -9
- package/lib/actions/conversations.d.ts +1 -0
- package/lib/actions/conversations.d.ts.map +1 -0
- package/lib/actions/conversations.js +321 -19
- package/lib/actions/dynamodb.d.ts +1 -0
- package/lib/actions/dynamodb.d.ts.map +1 -0
- package/lib/actions/dynamodb.js +119 -2
- package/lib/actions/email.d.ts +1 -0
- package/lib/actions/email.d.ts.map +1 -0
- package/lib/actions/email.js +56 -2
- package/lib/actions/files.d.ts +1 -0
- package/lib/actions/files.d.ts.map +1 -0
- package/lib/actions/files.js +226 -5
- package/lib/actions/groups.d.ts +1 -0
- package/lib/actions/groups.d.ts.map +1 -0
- package/lib/actions/groups.js +234 -19
- package/lib/actions/images.d.ts +1 -0
- package/lib/actions/images.d.ts.map +1 -0
- package/lib/actions/images.js +688 -31
- package/lib/actions/index.d.ts +2 -0
- package/lib/actions/index.d.ts.map +1 -0
- package/lib/actions/index.js +29 -2
- package/lib/actions/ios.d.ts +1 -0
- package/lib/actions/ios.d.ts.map +1 -0
- package/lib/actions/ios.js +228 -9
- package/lib/actions/locations.d.ts +1 -0
- package/lib/actions/locations.d.ts.map +1 -0
- package/lib/actions/locations.js +111 -7
- package/lib/actions/messages.d.ts +1 -0
- package/lib/actions/messages.d.ts.map +1 -0
- package/lib/actions/messages.js +155 -21
- package/lib/actions/notifications.d.ts +1 -0
- package/lib/actions/notifications.d.ts.map +1 -0
- package/lib/actions/notifications.js +37 -2
- package/lib/actions/payments.d.ts +1 -0
- package/lib/actions/payments.d.ts.map +1 -0
- package/lib/actions/payments.js +428 -11
- package/lib/actions/posts.d.ts +1 -0
- package/lib/actions/posts.d.ts.map +1 -0
- package/lib/actions/posts.js +540 -75
- package/lib/actions/profiles.d.ts +1 -0
- package/lib/actions/profiles.d.ts.map +1 -0
- package/lib/actions/profiles.js +58 -8
- package/lib/actions/reactions.d.ts +1 -0
- package/lib/actions/reactions.d.ts.map +1 -0
- package/lib/actions/reactions.js +276 -25
- package/lib/actions/s3.d.ts +1 -0
- package/lib/actions/s3.d.ts.map +1 -0
- package/lib/actions/s3.js +102 -2
- package/lib/actions/search.d.ts +1 -0
- package/lib/actions/search.d.ts.map +1 -0
- package/lib/actions/search.js +81 -5
- package/lib/actions/sms.d.ts +1 -0
- package/lib/actions/sms.d.ts.map +1 -0
- package/lib/actions/sms.js +52 -2
- package/lib/actions/statistics.d.ts +1 -0
- package/lib/actions/statistics.d.ts.map +1 -0
- package/lib/actions/statistics.js +41 -6
- package/lib/actions/subscriptions.d.ts +1 -0
- package/lib/actions/subscriptions.d.ts.map +1 -0
- package/lib/actions/subscriptions.js +196 -6
- package/lib/actions/tags.d.ts +1 -0
- package/lib/actions/tags.d.ts.map +1 -0
- package/lib/actions/tags.js +258 -19
- package/lib/actions/users.d.ts +1 -0
- package/lib/actions/users.d.ts.map +1 -0
- package/lib/actions/users.js +781 -66
- package/lib/actions/videos.d.ts +26 -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 +148 -14
- package/lib/adapters/arangoAdapter.d.ts +1 -0
- package/lib/adapters/arangoAdapter.d.ts.map +1 -0
- package/lib/adapters/arangoAdapter.js +70 -2
- package/lib/adapters/contentAdapter.d.ts +1 -0
- package/lib/adapters/contentAdapter.d.ts.map +1 -0
- package/lib/adapters/contentAdapter.js +108 -2
- package/lib/adapters/fileAdapter.d.ts +1 -0
- package/lib/adapters/fileAdapter.d.ts.map +1 -0
- package/lib/adapters/fileAdapter.js +119 -2
- package/lib/adapters/imageAdapter.d.ts +1 -0
- package/lib/adapters/imageAdapter.d.ts.map +1 -0
- package/lib/adapters/imageAdapter.js +112 -2
- package/lib/adapters/index.d.ts +1 -0
- package/lib/adapters/index.d.ts.map +1 -0
- package/lib/adapters/index.js +11 -2
- package/lib/adapters/messageAdapter.d.ts +1 -0
- package/lib/adapters/messageAdapter.d.ts.map +1 -0
- package/lib/adapters/messageAdapter.js +82 -2
- package/lib/adapters/postAdapter.d.ts +1 -0
- package/lib/adapters/postAdapter.d.ts.map +1 -0
- package/lib/adapters/postAdapter.js +117 -2
- package/lib/adapters/reaktorAdapter.d.ts +1 -0
- package/lib/adapters/reaktorAdapter.d.ts.map +1 -0
- package/lib/adapters/reaktorAdapter.js +59 -2
- package/lib/adapters/tagAdapter.d.ts +1 -0
- package/lib/adapters/tagAdapter.d.ts.map +1 -0
- package/lib/adapters/tagAdapter.js +99 -2
- package/lib/adapters/userAdapter.d.ts +1 -0
- package/lib/adapters/userAdapter.d.ts.map +1 -0
- package/lib/adapters/userAdapter.js +264 -2
- package/lib/config.d.ts +1 -0
- package/lib/config.d.ts.map +1 -0
- package/lib/config.js +161 -2
- package/lib/handlers/graphqlHandler.d.ts +1 -0
- package/lib/handlers/graphqlHandler.d.ts.map +1 -0
- package/lib/handlers/graphqlHandler.js +118 -2
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +18 -2
- 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 +89 -14
- package/lib/lambdas/authorizer.d.ts +1 -0
- package/lib/lambdas/authorizer.d.ts.map +1 -0
- package/lib/lambdas/authorizer.js +41 -2
- package/lib/lambdas/connection.d.ts +1 -0
- package/lib/lambdas/connection.d.ts.map +1 -0
- package/lib/lambdas/connection.js +85 -2
- 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 -2
- 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 -2
- package/lib/mocks/conversation.d.ts +1 -0
- package/lib/mocks/conversation.d.ts.map +1 -0
- package/lib/mocks/conversation.js +10 -2
- package/lib/mocks/file.d.ts +1 -0
- package/lib/mocks/file.d.ts.map +1 -0
- package/lib/mocks/file.js +13 -2
- package/lib/mocks/group.d.ts +1 -0
- package/lib/mocks/group.d.ts.map +1 -0
- package/lib/mocks/group.js +20 -2
- package/lib/mocks/image.d.ts +1 -0
- package/lib/mocks/image.d.ts.map +1 -0
- package/lib/mocks/image.js +17 -2
- package/lib/mocks/post.d.ts +1 -0
- package/lib/mocks/post.d.ts.map +1 -0
- package/lib/mocks/post.js +28 -2
- package/lib/mocks/tag.d.ts +1 -0
- package/lib/mocks/tag.d.ts.map +1 -0
- package/lib/mocks/tag.js +12 -2
- package/lib/mocks/user.d.ts +1 -0
- package/lib/mocks/user.d.ts.map +1 -0
- package/lib/mocks/user.js +61 -2
- package/lib/mocks/video.d.ts +4 -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 -2
- package/lib/mutations/index.d.ts +1 -0
- package/lib/mutations/index.d.ts.map +1 -0
- package/lib/mutations/index.js +29 -2
- package/lib/mutations/locations.d.ts +1 -0
- package/lib/mutations/locations.d.ts.map +1 -0
- package/lib/mutations/locations.js +22 -2
- package/lib/mutations/messages.d.ts +1 -0
- package/lib/mutations/messages.d.ts.map +1 -0
- package/lib/mutations/messages.js +75 -2
- package/lib/mutations/posts.d.ts +1 -0
- package/lib/mutations/posts.d.ts.map +1 -0
- package/lib/mutations/posts.js +31 -2
- package/lib/mutations/profiles.d.ts +1 -0
- package/lib/mutations/profiles.d.ts.map +1 -0
- package/lib/mutations/profiles.js +78 -2
- package/lib/mutations/reactions.d.ts +1 -0
- package/lib/mutations/reactions.d.ts.map +1 -0
- package/lib/mutations/reactions.js +29 -2
- package/lib/mutations/statistics.d.ts +1 -0
- package/lib/mutations/statistics.d.ts.map +1 -0
- package/lib/mutations/statistics.js +17 -2
- package/lib/mutations/subscriptions.d.ts +1 -0
- package/lib/mutations/subscriptions.d.ts.map +1 -0
- package/lib/mutations/subscriptions.js +38 -2
- package/lib/mutations/tags.d.ts +1 -0
- package/lib/mutations/tags.d.ts.map +1 -0
- package/lib/mutations/tags.js +109 -2
- package/lib/mutations/users.d.ts +1 -0
- package/lib/mutations/users.d.ts.map +1 -0
- package/lib/mutations/users.js +129 -2
- package/lib/objectTypes/app.d.ts +1 -0
- package/lib/objectTypes/app.d.ts.map +1 -0
- package/lib/objectTypes/app.js +147 -2
- package/lib/objectTypes/bankAccount.d.ts +1 -0
- package/lib/objectTypes/bankAccount.d.ts.map +1 -0
- package/lib/objectTypes/bankAccount.js +54 -2
- package/lib/objectTypes/connection.d.ts +1 -0
- package/lib/objectTypes/connection.d.ts.map +1 -0
- package/lib/objectTypes/connection.js +26 -2
- package/lib/objectTypes/content.d.ts +1 -0
- package/lib/objectTypes/content.d.ts.map +1 -0
- package/lib/objectTypes/content.js +79 -2
- package/lib/objectTypes/conversation.d.ts +1 -0
- package/lib/objectTypes/conversation.d.ts.map +1 -0
- package/lib/objectTypes/conversation.js +53 -2
- package/lib/objectTypes/creditCard.d.ts +1 -0
- package/lib/objectTypes/creditCard.d.ts.map +1 -0
- package/lib/objectTypes/creditCard.js +64 -2
- package/lib/objectTypes/document.d.ts +1 -0
- package/lib/objectTypes/document.d.ts.map +1 -0
- package/lib/objectTypes/document.js +21 -2
- package/lib/objectTypes/error.d.ts +1 -0
- package/lib/objectTypes/error.d.ts.map +1 -0
- package/lib/objectTypes/error.js +24 -2
- package/lib/objectTypes/external.d.ts +1 -0
- package/lib/objectTypes/external.d.ts.map +1 -0
- package/lib/objectTypes/external.js +52 -2
- package/lib/objectTypes/file.d.ts +1 -0
- package/lib/objectTypes/file.d.ts.map +1 -0
- package/lib/objectTypes/file.js +76 -2
- package/lib/objectTypes/filter.d.ts +1 -0
- package/lib/objectTypes/filter.d.ts.map +1 -0
- package/lib/objectTypes/filter.js +21 -2
- package/lib/objectTypes/group.d.ts +1 -0
- package/lib/objectTypes/group.d.ts.map +1 -0
- package/lib/objectTypes/group.js +97 -2
- package/lib/objectTypes/iapSubscription.d.ts +1 -0
- package/lib/objectTypes/iapSubscription.d.ts.map +1 -0
- package/lib/objectTypes/iapSubscription.js +18 -2
- package/lib/objectTypes/image.d.ts +1 -0
- package/lib/objectTypes/image.d.ts.map +1 -0
- package/lib/objectTypes/image.js +105 -2
- package/lib/objectTypes/index.d.ts +1 -0
- package/lib/objectTypes/index.d.ts.map +1 -0
- package/lib/objectTypes/index.js +28 -2
- package/lib/objectTypes/location.d.ts +1 -0
- package/lib/objectTypes/location.d.ts.map +1 -0
- package/lib/objectTypes/location.js +85 -2
- package/lib/objectTypes/message.d.ts +1 -0
- package/lib/objectTypes/message.d.ts.map +1 -0
- package/lib/objectTypes/message.js +72 -2
- package/lib/objectTypes/passcode.d.ts +1 -0
- package/lib/objectTypes/passcode.d.ts.map +1 -0
- package/lib/objectTypes/passcode.js +20 -2
- package/lib/objectTypes/plan.d.ts +1 -0
- package/lib/objectTypes/plan.d.ts.map +1 -0
- package/lib/objectTypes/plan.js +71 -2
- package/lib/objectTypes/post.d.ts +1 -0
- package/lib/objectTypes/post.d.ts.map +1 -0
- package/lib/objectTypes/post.js +101 -2
- package/lib/objectTypes/profile.d.ts +1 -0
- package/lib/objectTypes/profile.d.ts.map +1 -0
- package/lib/objectTypes/profile.js +68 -2
- package/lib/objectTypes/reaction.d.ts +1 -0
- package/lib/objectTypes/reaction.d.ts.map +1 -0
- package/lib/objectTypes/reaction.js +37 -2
- package/lib/objectTypes/relation.d.ts +1 -0
- package/lib/objectTypes/relation.d.ts.map +1 -0
- package/lib/objectTypes/relation.js +27 -2
- package/lib/objectTypes/search.d.ts +1 -0
- package/lib/objectTypes/search.d.ts.map +1 -0
- package/lib/objectTypes/search.js +50 -2
- package/lib/objectTypes/statistics.d.ts +1 -0
- package/lib/objectTypes/statistics.d.ts.map +1 -0
- package/lib/objectTypes/statistics.js +17 -2
- package/lib/objectTypes/subscription.d.ts +1 -0
- package/lib/objectTypes/subscription.d.ts.map +1 -0
- package/lib/objectTypes/subscription.js +102 -2
- package/lib/objectTypes/tag.d.ts +1 -0
- package/lib/objectTypes/tag.d.ts.map +1 -0
- package/lib/objectTypes/tag.js +41 -2
- package/lib/objectTypes/user.d.ts +1 -0
- package/lib/objectTypes/user.d.ts.map +1 -0
- package/lib/objectTypes/user.js +111 -2
- package/lib/queries/content.d.ts +1 -0
- package/lib/queries/content.d.ts.map +1 -0
- package/lib/queries/content.js +50 -2
- package/lib/queries/index.d.ts +1 -0
- package/lib/queries/index.d.ts.map +1 -0
- package/lib/queries/index.js +27 -2
- package/lib/queries/locations.d.ts +1 -0
- package/lib/queries/locations.d.ts.map +1 -0
- package/lib/queries/locations.js +23 -2
- package/lib/queries/messages.d.ts +1 -0
- package/lib/queries/messages.d.ts.map +1 -0
- package/lib/queries/messages.js +35 -2
- package/lib/queries/posts.d.ts +1 -0
- package/lib/queries/posts.d.ts.map +1 -0
- package/lib/queries/posts.js +154 -2
- package/lib/queries/reactions.d.ts +1 -0
- package/lib/queries/reactions.d.ts.map +1 -0
- package/lib/queries/reactions.js +34 -2
- package/lib/queries/statistics.d.ts +1 -0
- package/lib/queries/statistics.d.ts.map +1 -0
- package/lib/queries/statistics.js +17 -2
- package/lib/queries/subscriptions.d.ts +1 -0
- package/lib/queries/subscriptions.d.ts.map +1 -0
- package/lib/queries/subscriptions.js +21 -2
- package/lib/queries/tags.d.ts +1 -0
- package/lib/queries/tags.d.ts.map +1 -0
- package/lib/queries/tags.js +56 -2
- package/lib/queries/users.d.ts +1 -0
- package/lib/queries/users.d.ts.map +1 -0
- package/lib/queries/users.js +39 -2
- 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 +4 -3
- 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 +4 -3
- 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 +4 -3
- 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 +4 -3
- 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 +4 -3
- 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 -2
- 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 -2
- 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 -2
- 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 -2
- 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 -2
- 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 -2
- package/lib/types/arangodb.types.d.ts +2 -1
- package/lib/types/arangodb.types.d.ts.map +1 -0
- package/lib/types/arangodb.types.js +6 -1
- 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 -1
- 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 -1
- 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 -1
- 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 -1
- 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 -1
- 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 -2
- 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 -1
- 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 -1
- 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 -1
- 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 -1
- package/lib/types/index.d.ts +2 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/index.js +28 -2
- 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 -1
- 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 -1
- 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 -1
- 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 -1
- 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 -1
- 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 -1
- 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 -1
- 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 -1
- 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 -1
- package/lib/types/videos.types.d.ts +47 -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 -1
- package/lib/utils/adapterUtils.d.ts +1 -0
- package/lib/utils/adapterUtils.d.ts.map +1 -0
- package/lib/utils/adapterUtils.js +23 -2
- package/lib/utils/analyticsUtils.d.ts +1 -0
- package/lib/utils/analyticsUtils.d.ts.map +1 -0
- package/lib/utils/analyticsUtils.js +45 -2
- package/lib/utils/arangodbUtils.d.ts +1 -0
- package/lib/utils/arangodbUtils.d.ts.map +1 -0
- package/lib/utils/arangodbUtils.js +128 -5
- package/lib/utils/authUtils.d.ts +1 -0
- package/lib/utils/authUtils.d.ts.map +1 -0
- package/lib/utils/authUtils.js +54 -2
- package/lib/utils/contextUtils.d.ts +1 -0
- package/lib/utils/contextUtils.d.ts.map +1 -0
- package/lib/utils/contextUtils.js +10 -2
- 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 +92 -5
- package/lib/utils/dbI18n.js +28 -2
- package/lib/utils/googleTranslate.d.ts +1 -0
- package/lib/utils/googleTranslate.d.ts.map +1 -0
- package/lib/utils/googleTranslate.js +70 -2
- package/lib/utils/graphqlUtils.d.ts +1 -0
- package/lib/utils/graphqlUtils.d.ts.map +1 -0
- package/lib/utils/graphqlUtils.js +11 -2
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/index.d.ts.map +1 -0
- package/lib/utils/index.js +19 -2
- package/lib/utils/languageDetection.d.ts +1 -0
- package/lib/utils/languageDetection.d.ts.map +1 -0
- package/lib/utils/languageDetection.js +120 -2
- 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 -2
- package/lib/utils/localeUtils.js +71 -2
- package/lib/utils/middlewareUtils.d.ts +1 -0
- package/lib/utils/middlewareUtils.d.ts.map +1 -0
- package/lib/utils/middlewareUtils.js +10 -2
- package/lib/utils/sessionUtils.d.ts +1 -0
- package/lib/utils/sessionUtils.d.ts.map +1 -0
- package/lib/utils/sessionUtils.js +26 -2
- package/lib/utils/stripeUtils.d.ts +2 -1
- package/lib/utils/stripeUtils.d.ts.map +1 -0
- package/lib/utils/stripeUtils.js +12 -2
- package/lib/utils/templateUtils.d.ts +1 -0
- package/lib/utils/templateUtils.d.ts.map +1 -0
- package/lib/utils/templateUtils.js +11 -2
- package/lib/utils/testUtils.d.ts +1 -0
- package/lib/utils/testUtils.d.ts.map +1 -0
- package/lib/utils/testUtils.js +292 -2
- 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 -2
- package/lib/utils/translationQueue.js +113 -2
- package/package.json +47 -29
package/lib/actions/dynamodb.js
CHANGED
|
@@ -1,2 +1,119 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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"}
|
package/lib/actions/email.js
CHANGED
|
@@ -1,2 +1,56 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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"}
|
package/lib/actions/files.js
CHANGED
|
@@ -1,5 +1,226 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FjdGlvbnMvZmlsZXMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge2dldCBhcyBodHRwR2V0fSBmcm9tICdAbmxhYnMvcmlwLWh1bnRlcic7XG5pbXBvcnQge2NyZWF0ZUhhc2h9IGZyb20gJ0BubGFicy91dGlscy9wYXJzZXJzL3N0cmluZ3MnO1xuaW1wb3J0IHthcWx9IGZyb20gJ2FyYW5nb2pzJztcbmltcG9ydCB7QXFsUXVlcnl9IGZyb20gJ2FyYW5nb2pzL2FxbCc7XG5pbXBvcnQge2dvb2dsZX0gZnJvbSAnZ29vZ2xlYXBpcyc7XG5cbmltcG9ydCB7cGFyc2VGaWxlfSBmcm9tICcuLi9hZGFwdGVycy9maWxlQWRhcHRlci5qcyc7XG5pbXBvcnQge0NvbmZpZ30gZnJvbSAnLi4vY29uZmlnLmpzJztcbmltcG9ydCB7QXBpQ29udGV4dH0gZnJvbSAnLi4vdHlwZXMvYXV0aC50eXBlcy5qcyc7XG5pbXBvcnQge0Vycm9yVHlwZXN9IGZyb20gJy4uL3R5cGVzL2Vycm9yLnR5cGVzLmpzJztcbmltcG9ydCB7RmlsZVR5cGV9IGZyb20gJy4uL3R5cGVzL2ZpbGVzLnR5cGVzLmpzJztcbmltcG9ydCB7SW1hZ2VUeXBlfSBmcm9tICcuLi90eXBlcy9pbWFnZXMudHlwZXMuanMnO1xuaW1wb3J0IHtsb2dFcnJvcn0gZnJvbSAnLi4vdXRpbHMvYW5hbHl0aWNzVXRpbHMuanMnO1xuaW1wb3J0IHt1c2VEYn0gZnJvbSAnLi4vdXRpbHMvYXJhbmdvZGJVdGlscy5qcyc7XG5pbXBvcnQge3Jlc2l6ZVNhdmVJbWFnZX0gZnJvbSAnLi9pbWFnZXMuanMnO1xuaW1wb3J0IHtjcmVhdGVQb3N0RWRnZX0gZnJvbSAnLi9wb3N0cy5qcyc7XG5cbmltcG9ydCB0eXBlIHtFZGdlQ29sbGVjdGlvbn0gZnJvbSAnYXJhbmdvanMvY29sbGVjdGlvbnMnO1xuXG5jb25zdCBldmVudENhdGVnb3J5OiBzdHJpbmcgPSAnZmlsZXMnO1xuXG5leHBvcnQgY29uc3QgR0lQSFlfVVJMOiBzdHJpbmcgPSAnaHR0cDovL2FwaS5naXBoeS5jb20vdjEvZ2lmcyc7XG5cbmV4cG9ydCBjb25zdCBnZXRZb3VUdWJlID0gKCkgPT4gZ29vZ2xlLnlvdXR1YmUoe2F1dGg6IENvbmZpZy5nZXQoJ2dvb2dsZS5rZXknKSwgdmVyc2lvbjogJ3YzJ30pO1xuXG5leHBvcnQgY29uc3QgaW5zZXJ0RmlsZSA9IChjb250ZXh0OiBBcGlDb250ZXh0LCBmaWxlOiBGaWxlVHlwZSkgPT4ge1xuICBjb25zdCBhY3Rpb24gPSAnaW5zZXJ0RmlsZSc7XG4gIGNvbnN0IHtkYXRhYmFzZU5hbWV9ID0gY29udGV4dDtcbiAgY29uc3QgZm9ybWF0dGVkRmlsZSA9IHBhcnNlRmlsZShmaWxlKTtcbiAgY29uc3QgYXFsUXJ5OiBBcWxRdWVyeSA9IGFxbGBJTlNFUlQgJHtmb3JtYXR0ZWRGaWxlfSBJTiBmaWxlcyBSRVRVUk4gTkVXYDtcblxuICByZXR1cm4gdXNlRGIoZGF0YWJhc2VOYW1lKS5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4gbG9nRXJyb3Ioe1xuICAgICAgYWN0aW9uLFxuICAgICAgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksXG4gICAgICBsYWJlbDogRXJyb3JUeXBlcy5EQVRBQkFTRV9FUlJPUlxuICAgIH0sIGVycm9yLCBjb250ZXh0KSk7XG59O1xuXG5leHBvcnQgY29uc3QgdXBzZXJ0RmlsZSA9IChjb250ZXh0OiBBcGlDb250ZXh0LCBmaWxlOiBGaWxlVHlwZSk6IFByb21pc2U8RmlsZVR5cGU+ID0+IHtcbiAgY29uc3QgYWN0aW9uID0gJ3Vwc2VydEZpbGUnO1xuICBjb25zdCB7ZGF0YWJhc2VOYW1lfSA9IGNvbnRleHQ7XG4gIGNvbnN0IGZvcm1hdHRlZEZpbGUgPSBwYXJzZUZpbGUoZmlsZSk7XG4gIGNvbnN0IHtmaWxlSWR9ID0gZm9ybWF0dGVkRmlsZTtcbiAgY29uc3QgaW5zZXJ0OiBhbnkgPSB7XG4gICAgLi4uZm9ybWF0dGVkRmlsZSxcbiAgICBfa2V5OiBmaWxlSWQsXG4gICAgYWRkZWQ6IERhdGUubm93KCksXG4gICAgbW9kaWZpZWQ6IERhdGUubm93KClcbiAgfTtcbiAgY29uc3QgdXBkYXRlOiBhbnkgPSB7XG4gICAgLi4uZm9ybWF0dGVkRmlsZSxcbiAgICBfa2V5OiBmaWxlSWQsXG4gICAgbW9kaWZpZWQ6IERhdGUubm93KClcbiAgfTtcblxuICBjb25zdCBhcWxRcnk6IEFxbFF1ZXJ5ID0gYXFsYFVQU0VSVCB7X2tleTogJHtmaWxlSWR9fVxuICAgIElOU0VSVCAke2luc2VydH1cbiAgICBVUERBVEUgJHt1cGRhdGV9XG4gICAgSU4gZmlsZXMgUkVUVVJOIE5FV2A7XG5cbiAgcmV0dXJuIHVzZURiKGRhdGFiYXNlTmFtZSkucXVlcnkoYXFsUXJ5KVxuICAgIC50aGVuKChjdXJzb3IpID0+IGN1cnNvci5uZXh0KCkpXG4gICAgLnRoZW4oKHVwZGF0ZWRGaWxlOiBGaWxlVHlwZSkgPT4gdXBkYXRlZEZpbGUpXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IGxvZ0Vycm9yKHtcbiAgICAgIGFjdGlvbixcbiAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5LFxuICAgICAgbGFiZWw6IEVycm9yVHlwZXMuREFUQUJBU0VfRVJST1JcbiAgICB9LCBlcnJvciwgY29udGV4dCkpO1xufTtcblxuZXhwb3J0IGNvbnN0IHVwbG9hZEZpbGUgPSAoY29udGV4dCwgZmlsZTogRmlsZVR5cGUsIGJ1ZmZlcjogQnVmZmVyKSA9PiB7XG4gIGNvbnN0IHtzZXNzaW9uOiB7dXNlcklkOiBzZXNzaW9uSWR9fSA9IGNvbnRleHQ7XG4gIGNvbnN0IGZvcm1hdHRlZEZpbGUgPSBwYXJzZUZpbGUoZmlsZSk7XG4gIGNvbnN0IHtcbiAgICBkZXNjcmlwdGlvbixcbiAgICBmaWxlSWQsXG4gICAgZmlsZVR5cGUsXG4gICAgbmFtZSxcbiAgICB1cmxcbiAgfSA9IGZvcm1hdHRlZEZpbGU7XG4gIGNvbnN0IG5vdyA9IERhdGUubm93KCk7XG4gIGNvbnN0IGZvcm1hdEZpbGVJZDogc3RyaW5nID0gZmlsZUlkIHx8IGNyZWF0ZUhhc2goYGZpbGUtJHtzZXNzaW9uSWR9YCk7XG4gIGxldCB1cGRhdGVkTmFtZSA9IG5hbWU7XG5cbiAgaWYoIXVwZGF0ZWROYW1lICYmICEhdXJsKSB7XG4gICAgdXBkYXRlZE5hbWUgPSB1cmwuc3Vic3RyaW5nKHVybC5sYXN0SW5kZXhPZignLycpICsgMSk7XG4gIH1cblxuICBpZihmaWxlVHlwZSA9PT0gJ2ltYWdlL2pwZWcnIHx8IGZpbGVUeXBlID09PSAnaW1hZ2UvcG5nJykge1xuICAgIHJldHVybiByZXNpemVTYXZlSW1hZ2UoY29udGV4dCwgZm9ybWF0RmlsZUlkLCBidWZmZXIsIGZpbGVUeXBlKVxuICAgICAgLnRoZW4oKHJlc2l6ZWRJbWFnZTogRmlsZVR5cGUpID0+IGluc2VydEZpbGUoY29udGV4dCwge1xuICAgICAgICAuLi5yZXNpemVkSW1hZ2UsXG4gICAgICAgIF9rZXk6IGZvcm1hdEZpbGVJZCxcbiAgICAgICAgYWRkZWQ6IG5vdyxcbiAgICAgICAgZGVzY3JpcHRpb24sXG4gICAgICAgIG1vZGlmaWVkOiBub3csXG4gICAgICAgIG5hbWU6IHVwZGF0ZWROYW1lLFxuICAgICAgICB1c2VySWQ6IHNlc3Npb25JZFxuICAgICAgfSkpO1xuICB9XG5cbiAgcmV0dXJuIGluc2VydEZpbGUoY29udGV4dCwge1xuICAgIC4uLmZvcm1hdHRlZEZpbGUsXG4gICAgYWRkZWQ6IG5vdyxcbiAgICBtb2RpZmllZDogbm93LFxuICAgIHVzZXJJZDogc2Vzc2lvbklkXG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGFkZEZpbGUgPSAoY29udGV4dDogQXBpQ29udGV4dCwgZmlsZTogRmlsZVR5cGUpOiBQcm9taXNlPEZpbGVUeXBlPiA9PiB7XG4gIGNvbnN0IGFjdGlvbiA9ICdhZGRGaWxlJztcbiAgY29uc3Qge2Jhc2U2NCwgdXJsfSA9IGZpbGU7XG5cbiAgaWYoISF1cmwpIHtcbiAgICByZXR1cm4gaHR0cEdldCh1cmwpXG4gICAgICAudGhlbigoYm9keSkgPT4gdXBsb2FkRmlsZShjb250ZXh0LCBmaWxlLCBCdWZmZXIuZnJvbShib2R5LCAnYmluYXJ5JykpKVxuICAgICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IGxvZ0Vycm9yKHtcbiAgICAgICAgYWN0aW9uLFxuICAgICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbiAgICAgICAgbGFiZWw6IEVycm9yVHlwZXMuRklMRV9SRVFVRVNUXG4gICAgICB9LCBlcnJvciwgY29udGV4dCkpO1xuICB9IGVsc2UgaWYoISFiYXNlNjQpIHtcbiAgICBjb25zdCBidWZmZXI6IEJ1ZmZlciA9IEJ1ZmZlci5mcm9tKGJhc2U2NCk7XG4gICAgcmV0dXJuIHVwbG9hZEZpbGUoY29udGV4dCwgZmlsZSwgYnVmZmVyKTtcbiAgfVxuXG4gIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoRXJyb3JUeXBlcy5GSUxFX1JFUVVJUkVEKSk7XG59O1xuXG5leHBvcnQgY29uc3QgcGFyc2VHaXBoeUl0ZW0gPSAoZ2lmSW1hZ2U6IGFueSk6IEltYWdlVHlwZSA9PiB7XG4gIGNvbnN0IHtcbiAgICBpZCxcbiAgICBpbWFnZXM6IHtcbiAgICAgIG9yaWdpbmFsOiB7dXJsID0gJyd9ID0ge30sXG4gICAgICBmaXhlZF9oZWlnaHRfc21hbGw6IHt1cmw6IHRodW1iID0gJyd9ID0ge31cbiAgICB9ID0ge31cbiAgfSA9IGdpZkltYWdlO1xuXG4gIGlmKCFpZCB8fCAhdXJsKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGlkLFxuICAgIHRodW1iLFxuICAgIHR5cGU6ICdnaXBoeScsXG4gICAgdXJsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0R2lwaHlUcmVuZHMgPSAobGltaXQ6IG51bWJlciA9IDMwKTogUHJvbWlzZTxJbWFnZVR5cGVbXT4gPT4ge1xuICBjb25zdCBnaWZVcmwgPSBgJHtHSVBIWV9VUkx9L3RyZW5kaW5nP2FwaV9rZXk9JHtDb25maWcuZ2V0KCdnaXBoeS5rZXknKX0mbGltaXQ9JHtsaW1pdH1gO1xuXG4gIHJldHVybiBodHRwR2V0KGdpZlVybClcbiAgICAudGhlbigocmVzOiBSZXNwb25zZSkgPT4gcmVzLmpzb24oKSlcbiAgICAudGhlbigoanNvbjogYW55KSA9PiBqc29uPy5kYXRhPy5tYXAocGFyc2VHaXBoeUl0ZW0pLmZpbHRlcigoaXRlbSkgPT4gISFpdGVtKSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0R2lwaHlTZWFyY2ggPSAocXVlcnk6IHN0cmluZywgbGltaXQ6IG51bWJlciA9IDMwKTogUHJvbWlzZTxJbWFnZVR5cGVbXT4gPT4ge1xuICBjb25zdCBmb3JtYXRRdWVyeSA9IGVuY29kZVVSSShxdWVyeSk7XG4gIGNvbnN0IGdpZlVybCA9IGAke0dJUEhZX1VSTH0vc2VhcmNoP3E9JHtmb3JtYXRRdWVyeX0mYXBpX2tleT0ke0NvbmZpZy5nZXQoJ2dpcGh5LmtleScpfSZsaW1pdD0ke2xpbWl0fWA7XG5cbiAgcmV0dXJuIGh0dHBHZXQoZ2lmVXJsKVxuICAgIC50aGVuKChyZXM6IFJlc3BvbnNlKSA9PiByZXMuanNvbigpKVxuICAgIC50aGVuKChqc29uOiBhbnkpID0+IGpzb24/LmRhdGE/Lm1hcChwYXJzZUdpcGh5SXRlbSkuZmlsdGVyKChpdGVtKSA9PiAhIWl0ZW0pKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRZb3VUdWJlVHJlbmRzID0gKGxpbWl0OiBudW1iZXIgPSAzMCk6IFByb21pc2U8YW55W10+ID0+IHtcbiAgLy8gY29uc3QgYWN0aW9uID0gJ2dldFlvdVR1YmVUcmVuZHMnO1xuICBjb25zdCB5b3V0dWJlID0gZ2V0WW91VHViZSgpO1xuXG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgeW91dHViZS52aWRlb3MubGlzdCh7XG4gICAgICBjaGFydDogJ21vc3RQb3B1bGFyJyxcbiAgICAgIG1heFJlc3VsdHM6IGxpbWl0LFxuICAgICAgcGFydDogWydzbmlwcGV0J10sXG4gICAgICByZWdpb25Db2RlOiAnVVMnXG4gICAgfSwgKGVycm9yOiBFcnJvciwgZGF0YTogYW55KSA9PiB7XG4gICAgICBpZihlcnJvcikge1xuICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgcmVqZWN0KG5ldyBFcnJvcihFcnJvclR5cGVzLllPVVRVQkVfRVJST1IpKTtcbiAgICAgIH0gZWxzZSBpZihkYXRhKSB7XG4gICAgICAgIGNvbnN0IGxpc3QgPSBkYXRhLml0ZW1zLm1hcCgoaXRlbSkgPT4gKHtcbiAgICAgICAgICBpZDogaXRlbS5pZCxcbiAgICAgICAgICB0aHVtYjogaXRlbS5zbmlwcGV0LnRodW1ibmFpbHMuaGlnaC51cmwsXG4gICAgICAgICAgdHlwZTogJ3lvdXR1YmUnLFxuICAgICAgICAgIHVybDogYGh0dHA6Ly93d3cueW91dHViZS5jb20vZW1iZWQvJHtpdGVtLmlkfWBcbiAgICAgICAgfSkpO1xuXG4gICAgICAgIHJlc29sdmUobGlzdCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFlvdVR1YmVTZWFyY2ggPSAocXVlcnk6IHN0cmluZywgbGltaXQ6IG51bWJlciA9IDMwKTogUHJvbWlzZTxhbnlbXT4gPT4ge1xuICAvLyBjb25zdCBhY3Rpb24gPSAnZ2V0WW91VHViZVNlYXJjaCc7XG4gIGNvbnN0IHlvdXR1YmUgPSBnZXRZb3VUdWJlKCk7XG5cbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICB5b3V0dWJlLnNlYXJjaC5saXN0KHtcbiAgICAgIG1heFJlc3VsdHM6IGxpbWl0LFxuICAgICAgcGFydDogWydzbmlwcGV0J10sXG4gICAgICBxOiBxdWVyeSxcbiAgICAgIHJlZ2lvbkNvZGU6ICdVUydcbiAgICB9LCAoZXJyb3I6IEVycm9yLCBkYXRhOiBhbnkpID0+IHtcbiAgICAgIGlmKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgICByZWplY3QobmV3IEVycm9yKEVycm9yVHlwZXMuWU9VVFVCRV9FUlJPUikpO1xuICAgICAgfSBlbHNlIGlmKGRhdGEpIHtcbiAgICAgICAgY29uc3Qge2l0ZW1zfSA9IGRhdGE7XG4gICAgICAgIGNvbnN0IGxpc3QgPSBpdGVtcy5tYXAoKGl0ZW0pID0+ICh7XG4gICAgICAgICAgaWQ6IGl0ZW0uaWQsXG4gICAgICAgICAgdGh1bWI6IGl0ZW0uc25pcHBldC50aHVtYm5haWxzLmhpZ2gudXJsLFxuICAgICAgICAgIHR5cGU6ICd5b3V0dWJlJyxcbiAgICAgICAgICB1cmw6IGBodHRwOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkLyR7aXRlbS5pZH1gXG4gICAgICAgIH0pKTtcblxuICAgICAgICByZXNvbHZlKGxpc3QpO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRQYXRoVXNlckZpbGVzID0gKHVzZXJJZDogc3RyaW5nLCBmaWxlbmFtZTogc3RyaW5nKTogc3RyaW5nID0+IGB1c2Vycy8ke3VzZXJJZH0vZmlsZXMvJHtmaWxlbmFtZX1gO1xuXG5leHBvcnQgY29uc3QgbGlua0ZpbGVzID0gKGNvbnRleHQ6IEFwaUNvbnRleHQsIHBvc3REb2NJZDogc3RyaW5nLCBmaWxlczogRmlsZVR5cGVbXSk6IFByb21pc2U8YW55PiA9PlxuICBQcm9taXNlLmFsbChcbiAgICBmaWxlcy5tYXAoKGZpbGU6IEZpbGVUeXBlKSA9PiB1cHNlcnRGaWxlKGNvbnRleHQsIGZpbGUpXG4gICAgICAudGhlbigoZmlsZTogRmlsZVR5cGUpID0+IGNyZWF0ZVBvc3RFZGdlKGNvbnRleHQsIHBvc3REb2NJZCwgZmlsZS5pZCwgJ2lzUG9zdGVkJywge3R5cGU6IGZpbGUuZmlsZVR5cGV9KSkpXG4gICk7XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVGaWxlcyA9IChjb250ZXh0OiBBcGlDb250ZXh0LCBwb3N0RG9jSWQ6IHN0cmluZywgZmlsZXM6IEZpbGVUeXBlW10pOiBQcm9taXNlPGFueT4gPT4ge1xuICBjb25zdCBhY3Rpb24gPSAndXBkYXRlRmlsZXMnO1xuICBjb25zdCB7ZGF0YWJhc2VOYW1lfSA9IGNvbnRleHQ7XG4gIGNvbnN0IGVkZ2VDb2xsZWN0aW9uOiBFZGdlQ29sbGVjdGlvbiA9IHVzZURiKGRhdGFiYXNlTmFtZSkuY29sbGVjdGlvbignaXNQb3N0ZWQnKTtcblxuICByZXR1cm4gZWRnZUNvbGxlY3Rpb24uaW5FZGdlcyhwb3N0RG9jSWQsIHt9KVxuICAgIC50aGVuKChlZGdlczogYW55KSA9PiB7XG4gICAgICBpZihlZGdlcy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsKFxuICAgICAgICAgIGVkZ2VzLm1hcCgoZWRnZSkgPT4ge1xuICAgICAgICAgICAgY29uc3Qge19rZXk6IGVkZ2VLZXl9ID0gZWRnZTtcbiAgICAgICAgICAgIGNvbnN0IGFxbFFyeTogQXFsUXVlcnkgPSBhcWxgUkVNT1ZFIHtfa2V5OiR7ZWRnZUtleX19IElOIGlzUG9zdGVkYDtcblxuICAgICAgICAgICAgcmV0dXJuIHVzZURiKGRhdGFiYXNlTmFtZSkucXVlcnkoYXFsUXJ5KVxuICAgICAgICAgICAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KSlcbiAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICBpZihmaWxlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGxpbmtGaWxlcyhjb250ZXh0LCBwb3N0RG9jSWQsIGZpbGVzKS50aGVuKCgpID0+IGZpbGVzKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICAgIH0pO1xuICAgICAgfSBlbHNlIGlmKGZpbGVzLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gbGlua0ZpbGVzKGNvbnRleHQsIHBvc3REb2NJZCwgZmlsZXMpXG4gICAgICAgICAgLnRoZW4oKCkgPT4gZmlsZXMpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmlsZXM7XG4gICAgfSlcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4gbG9nRXJyb3Ioe1xuICAgICAgYWN0aW9uLFxuICAgICAgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksXG4gICAgICBsYWJlbDogRXJyb3JUeXBlcy5EQVRBQkFTRV9FUlJPUlxuICAgIH0sIGVycm9yLCBjb250ZXh0KSk7XG59O1xuXG5leHBvcnQgY29uc3QgZW5jb2RlQmFzZTY0ID0gKGJ1ZmZlcjogQnVmZmVyKTogc3RyaW5nID0+IEJ1ZmZlci5mcm9tKGJ1ZmZlcikudG9TdHJpbmcoJ2Jhc2U2NCcpO1xuXG5leHBvcnQgY29uc3QgZGVjb2RlQmFzZTY0ID0gKGRhdGFTdHJpbmc6IHN0cmluZyk6IGFueSA9PiB7XG4gIC8vIGNvbnN0IGFjdGlvbiA9ICdkZWNvZGVCYXNlNjQnO1xuICBjb25zdCBnZXREYXRhID0gKHN0cjogc3RyaW5nKSA9PiBzdHIubWF0Y2goL15kYXRhOihbQS1aYS16LSsvXSspO2Jhc2U2NCwoLispJC8pIHx8IFtdO1xuICBsZXQgbWF0Y2hlcyA9IGdldERhdGEoZGF0YVN0cmluZyk7XG5cbiAgaWYobWF0Y2hlcy5sZW5ndGggIT09IDMpIHtcbiAgICBtYXRjaGVzID0gZ2V0RGF0YShkZWNvZGVVUklDb21wb25lbnQoZGF0YVN0cmluZykpO1xuXG4gICAgaWYobWF0Y2hlcy5sZW5ndGggIT09IDMpIHtcbiAgICAgIHRocm93IEVycm9yKEVycm9yVHlwZXMuSU5WQUxJRF9JTlBVVCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBkYXRhOiBCdWZmZXIuZnJvbShtYXRjaGVzWzJdLCAnYmFzZTY0JyksXG4gICAgdHlwZTogbWF0Y2hlc1sxXVxuICB9O1xufTtcbiJdLAogICJtYXBwaW5ncyI6ICJBQUlBLE9BQVEsT0FBT0EsTUFBYyxvQkFDN0IsT0FBUSxjQUFBQyxNQUFpQiwrQkFDekIsT0FBUSxPQUFBQyxNQUFVLFdBRWxCLE9BQVEsVUFBQUMsTUFBYSxhQUVyQixPQUFRLGFBQUFDLE1BQWdCLDZCQUN4QixPQUFRLFVBQUFDLE1BQWEsZUFFckIsT0FBUSxjQUFBQyxNQUFpQiwwQkFHekIsT0FBUSxZQUFBQyxNQUFlLDZCQUN2QixPQUFRLFNBQUFDLE1BQVksNEJBQ3BCLE9BQVEsbUJBQUFDLE1BQXNCLGNBQzlCLE9BQVEsa0JBQUFDLE1BQXFCLGFBSTdCLE1BQU1DLEVBQXdCLFFBRWpCQyxFQUFvQiwrQkFFcEJDLEVBQWEsSUFBTVYsRUFBTyxRQUFRLENBQUMsS0FBTUUsRUFBTyxJQUFJLFlBQVksRUFBRyxRQUFTLElBQUksQ0FBQyxFQUVqRlMsRUFBYSxDQUFDQyxFQUFxQkMsSUFBbUIsQ0FDakUsTUFBTUMsRUFBUyxhQUNULENBQUMsYUFBQUMsQ0FBWSxFQUFJSCxFQUNqQkksRUFBZ0JmLEVBQVVZLENBQUksRUFDOUJJLEVBQW1CbEIsV0FBYWlCLENBQWEsdUJBRW5ELE9BQU9YLEVBQU1VLENBQVksRUFBRSxNQUFNRSxDQUFNLEVBQ3BDLEtBQU1DLEdBQVdBLEVBQU8sS0FBSyxDQUFDLEVBQzlCLE1BQU9DLEdBQWlCZixFQUFTLENBQ2hDLE9BQUFVLEVBQ0EsU0FBVU4sRUFDVixNQUFPTCxFQUFXLGNBQ3BCLEVBQUdnQixFQUFPUCxDQUFPLENBQUMsQ0FDdEIsRUFFYVEsRUFBYSxDQUFDUixFQUFxQkMsSUFBc0MsQ0FDcEYsTUFBTUMsRUFBUyxhQUNULENBQUMsYUFBQUMsQ0FBWSxFQUFJSCxFQUNqQkks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LEVBQU0sSUFBS0MsR0FBUyxDQUNsQixLQUFNLENBQUMsS0FBTUMsQ0FBTyxFQUFJRCxFQUNsQm5ELEVBQW1CbEIsaUJBQW1Cc0UsQ0FBTyxnQkFFbkQsT0FBT2hFLEVBQU1VLENBQVksRUFBRSxNQUFNRSxDQUFNLEVBQ3BDLE1BQU9FLEdBQWlCLENBQ3ZCLE1BQU1BLENBQ1IsQ0FBQyxDQUNMLENBQUMsQ0FBQyxFQUNELEtBQUssSUFDRDhDLEVBQU0sT0FDQUYsRUFBVW5ELEVBQVNvRCxFQUFXQyxDQUFLLEVBQUUsS0FBSyxJQUFNQSxDQUFLLEVBR3ZELENBQUMsQ0FDVCxFQUNLQSxFQUFNLE9BQ1BGLEVBQVVuRCxFQUFTb0QsRUFBV0MsQ0FBSyxFQUN2QyxLQUFLLElBQU1BLENBQUssRUFHZEEsQ0FDUixFQUNBLE1BQU85QyxHQUFpQmYsRUFBUyxDQUNoQyxPQUFBVSxFQUNBLFNBQVVOLEVBQ1YsTUFBT0wsRUFBVyxjQUNwQixFQUFHZ0IsRUFBT1AsQ0FBTyxDQUFDLENBQ3RCLEVBRWEwRCxFQUFnQjVDLEdBQTJCLE9BQU8sS0FBS0EsQ0FBTSxFQUFFLFNBQVMsUUFBUSxFQUVoRjZDLEVBQWdCQyxHQUE0QixDQUV2RCxNQUFNQyxFQUFXQyxHQUFnQkEsRUFBSSxNQUFNLG1DQUFtQyxHQUFLLENBQUMsRUFDcEYsSUFBSUMsRUFBVUYsRUFBUUQsQ0FBVSxFQUVoQyxHQUFHRyxFQUFRLFNBQVcsSUFDcEJBLEVBQVVGLEVBQVEsbUJBQW1CRCxDQUFVLENBQUMsRUFFN0NHLEVBQVEsU0FBVyxHQUNwQixNQUFNLE1BQU14RSxFQUFXLGFBQWEsRUFJeEMsTUFBTyxDQUNMLEtBQU0sT0FBTyxLQUFLd0UsRUFBUSxDQUFDLEVBQUcsUUFBUSxFQUN0QyxLQUFNQSxFQUFRLENBQUMsQ0FDakIsQ0FDRiIsCiAgIm5hbWVzIjogWyJodHRwR2V0IiwgImNyZWF0ZUhhc2giLCAiYXFsIiwgImdvb2dsZSIsICJwYXJzZUZpbGUiLCAiQ29uZmlnIiwgIkVycm9yVHlwZXMiLCAibG9nRXJyb3IiLCAidXNlRGIiLCAicmVzaXplU2F2ZUltYWdlIiwgImNyZWF0ZVBvc3RFZGdlIiwgImV2ZW50Q2F0ZWdvcnkiLCAiR0lQSFlfVVJMIiwgImdldFlvdVR1YmUiLCAiaW5zZXJ0RmlsZSIsICJjb250ZXh0IiwgImZpbGUiLCAiYWN0aW9uIiwgImRhdGFiYXNlTmFtZSIsICJmb3JtYXR0ZWRGaWxlIiwgImFxbFFyeSIsICJjdXJzb3IiLCAiZXJyb3IiLCAidXBzZXJ0RmlsZSIsICJmaWxlSWQiLCAiaW5zZXJ0IiwgInVwZGF0ZSIsICJ1cGRhdGVkRmlsZSIsICJ1cGxvYWRGaWxlIiwgImJ1ZmZlciIsICJzZXNzaW9uSWQiLCAiZGVzY3JpcHRpb24iLCAiZmlsZVR5cGUiLCAibmFtZSIsICJ1cmwiLCAibm93IiwgImZvcm1hdEZpbGVJZCIsICJ1cGRhdGVkTmFtZSIsICJyZXNpemVkSW1hZ2UiLCAiYWRkRmlsZSIsICJiYXNlNjQiLCAiYm9keSIsICJwYXJzZUdpcGh5SXRlbSIsICJnaWZJbWFnZSIsICJpZCIsICJ0aHVtYiIsICJnZXRHaXBoeVRyZW5kcyIsICJsaW1pdCIsICJnaWZVcmwiLCAicmVzIiwgImpzb24iLCAiaXRlbSIsICJnZXRHaXBoeVNlYXJjaCIsICJxdWVyeSIsICJmb3JtYXRRdWVyeSIsICJnZXRZb3VUdWJlVHJlbmRzIiwgInlvdXR1YmUiLCAicmVzb2x2ZSIsICJyZWplY3QiLCAiZGF0YSIsICJsaXN0IiwgImdldFlvdVR1YmVTZWFyY2giLCAiaXRlbXMiLCAiZ2V0UGF0aFVzZXJGaWxlcyIsICJ1c2VySWQiLCAiZmlsZW5hbWUiLCAibGlua0ZpbGVzIiwgInBvc3REb2NJZCIsICJmaWxlcyIsICJ1cGRhdGVGaWxlcyIsICJlZGdlcyIsICJlZGdlIiwgImVkZ2VLZXkiLCAiZW5jb2RlQmFzZTY0IiwgImRlY29kZUJhc2U2NCIsICJkYXRhU3RyaW5nIiwgImdldERhdGEiLCAic3RyIiwgIm1hdGNoZXMiXQp9Cg==
|
|
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 { get as httpGet } from '@nlabs/rip-hunter';
|
|
5
|
+
import { createHash } from '@nlabs/utils/parsers/strings';
|
|
6
|
+
import { aql } from 'arangojs';
|
|
7
|
+
import { google } from 'googleapis';
|
|
8
|
+
import { parseFile } from '../adapters/fileAdapter.js';
|
|
9
|
+
import { Config } from '../config.js';
|
|
10
|
+
import { ErrorTypes } from '../types/error.types.js';
|
|
11
|
+
import { logError } from '../utils/analyticsUtils.js';
|
|
12
|
+
import { useDb } from '../utils/arangodbUtils.js';
|
|
13
|
+
import { resizeSaveImage } from './images.js';
|
|
14
|
+
import { createPostEdge } from './posts.js';
|
|
15
|
+
const eventCategory = 'files';
|
|
16
|
+
export const GIPHY_URL = 'http://api.giphy.com/v1/gifs';
|
|
17
|
+
export const getYouTube = ()=>google.youtube({
|
|
18
|
+
auth: Config.get('google.key'),
|
|
19
|
+
version: 'v3'
|
|
20
|
+
});
|
|
21
|
+
export const insertFile = (context, file)=>{
|
|
22
|
+
const action = 'insertFile';
|
|
23
|
+
const { databaseName } = context;
|
|
24
|
+
const formattedFile = parseFile(file);
|
|
25
|
+
const aqlQry = aql`INSERT ${formattedFile} IN files RETURN NEW`;
|
|
26
|
+
return useDb(databaseName).query(aqlQry).then((cursor)=>cursor.next()).catch((error)=>logError({
|
|
27
|
+
action,
|
|
28
|
+
category: eventCategory,
|
|
29
|
+
label: ErrorTypes.DATABASE_ERROR
|
|
30
|
+
}, error, context));
|
|
31
|
+
};
|
|
32
|
+
export const upsertFile = (context, file)=>{
|
|
33
|
+
const action = 'upsertFile';
|
|
34
|
+
const { databaseName } = context;
|
|
35
|
+
const formattedFile = parseFile(file);
|
|
36
|
+
const { fileId } = formattedFile;
|
|
37
|
+
const insert = {
|
|
38
|
+
...formattedFile,
|
|
39
|
+
_key: fileId,
|
|
40
|
+
added: Date.now(),
|
|
41
|
+
modified: Date.now()
|
|
42
|
+
};
|
|
43
|
+
const update = {
|
|
44
|
+
...formattedFile,
|
|
45
|
+
_key: fileId,
|
|
46
|
+
modified: Date.now()
|
|
47
|
+
};
|
|
48
|
+
const aqlQry = aql`UPSERT {_key: ${fileId}}
|
|
49
|
+
INSERT ${insert}
|
|
50
|
+
UPDATE ${update}
|
|
51
|
+
IN files RETURN NEW`;
|
|
52
|
+
return useDb(databaseName).query(aqlQry).then((cursor)=>cursor.next()).then((updatedFile)=>updatedFile).catch((error)=>logError({
|
|
53
|
+
action,
|
|
54
|
+
category: eventCategory,
|
|
55
|
+
label: ErrorTypes.DATABASE_ERROR
|
|
56
|
+
}, error, context));
|
|
57
|
+
};
|
|
58
|
+
export const uploadFile = (context, file, buffer)=>{
|
|
59
|
+
const { session: { userId: sessionId } } = context;
|
|
60
|
+
const formattedFile = parseFile(file);
|
|
61
|
+
const { description, fileId, fileType, name, url } = formattedFile;
|
|
62
|
+
const now = Date.now();
|
|
63
|
+
const formatFileId = fileId || createHash(`file-${sessionId}`);
|
|
64
|
+
let updatedName = name;
|
|
65
|
+
if (!updatedName && !!url) {
|
|
66
|
+
updatedName = url.substring(url.lastIndexOf('/') + 1);
|
|
67
|
+
}
|
|
68
|
+
if (fileType === 'image/jpeg' || fileType === 'image/png') {
|
|
69
|
+
return resizeSaveImage(context, formatFileId, buffer, fileType).then((resizedImage)=>insertFile(context, {
|
|
70
|
+
...resizedImage,
|
|
71
|
+
_key: formatFileId,
|
|
72
|
+
added: now,
|
|
73
|
+
description,
|
|
74
|
+
modified: now,
|
|
75
|
+
name: updatedName,
|
|
76
|
+
userId: sessionId
|
|
77
|
+
}));
|
|
78
|
+
}
|
|
79
|
+
return insertFile(context, {
|
|
80
|
+
...formattedFile,
|
|
81
|
+
added: now,
|
|
82
|
+
modified: now,
|
|
83
|
+
userId: sessionId
|
|
84
|
+
});
|
|
85
|
+
};
|
|
86
|
+
export const addFile = (context, file)=>{
|
|
87
|
+
const action = 'addFile';
|
|
88
|
+
const { base64, url } = file;
|
|
89
|
+
if (!!url) {
|
|
90
|
+
return httpGet(url).then((body)=>uploadFile(context, file, Buffer.from(body, 'binary'))).catch((error)=>logError({
|
|
91
|
+
action,
|
|
92
|
+
category: eventCategory,
|
|
93
|
+
label: ErrorTypes.FILE_REQUEST
|
|
94
|
+
}, error, context));
|
|
95
|
+
} else if (!!base64) {
|
|
96
|
+
const buffer = Buffer.from(base64);
|
|
97
|
+
return uploadFile(context, file, buffer);
|
|
98
|
+
}
|
|
99
|
+
return Promise.reject(new Error(ErrorTypes.FILE_REQUIRED));
|
|
100
|
+
};
|
|
101
|
+
export const parseGiphyItem = (gifImage)=>{
|
|
102
|
+
const { id, images: { original: { url = '' } = {}, fixed_height_small: { url: thumb = '' } = {} } = {} } = gifImage;
|
|
103
|
+
if (!id || !url) {
|
|
104
|
+
return null;
|
|
105
|
+
}
|
|
106
|
+
return {
|
|
107
|
+
id,
|
|
108
|
+
thumb,
|
|
109
|
+
type: 'giphy',
|
|
110
|
+
url
|
|
111
|
+
};
|
|
112
|
+
};
|
|
113
|
+
export const getGiphyTrends = (limit = 30)=>{
|
|
114
|
+
const gifUrl = `${GIPHY_URL}/trending?api_key=${Config.get('giphy.key')}&limit=${limit}`;
|
|
115
|
+
return httpGet(gifUrl).then((res)=>res.json()).then((json)=>json?.data?.map(parseGiphyItem).filter((item)=>!!item));
|
|
116
|
+
};
|
|
117
|
+
export const getGiphySearch = (query, limit = 30)=>{
|
|
118
|
+
const formatQuery = encodeURI(query);
|
|
119
|
+
const gifUrl = `${GIPHY_URL}/search?q=${formatQuery}&api_key=${Config.get('giphy.key')}&limit=${limit}`;
|
|
120
|
+
return httpGet(gifUrl).then((res)=>res.json()).then((json)=>json?.data?.map(parseGiphyItem).filter((item)=>!!item));
|
|
121
|
+
};
|
|
122
|
+
export const getYouTubeTrends = (limit = 30)=>{
|
|
123
|
+
// const action = 'getYouTubeTrends';
|
|
124
|
+
const youtube = getYouTube();
|
|
125
|
+
return new Promise((resolve, reject)=>{
|
|
126
|
+
youtube.videos.list({
|
|
127
|
+
chart: 'mostPopular',
|
|
128
|
+
maxResults: limit,
|
|
129
|
+
part: [
|
|
130
|
+
'snippet'
|
|
131
|
+
],
|
|
132
|
+
regionCode: 'US'
|
|
133
|
+
}, (error, data)=>{
|
|
134
|
+
if (error) {
|
|
135
|
+
console.error(error);
|
|
136
|
+
reject(new Error(ErrorTypes.YOUTUBE_ERROR));
|
|
137
|
+
} else if (data) {
|
|
138
|
+
const list = data.items.map((item)=>({
|
|
139
|
+
id: item.id,
|
|
140
|
+
thumb: item.snippet.thumbnails.high.url,
|
|
141
|
+
type: 'youtube',
|
|
142
|
+
url: `http://www.youtube.com/embed/${item.id}`
|
|
143
|
+
}));
|
|
144
|
+
resolve(list);
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
});
|
|
148
|
+
};
|
|
149
|
+
export const getYouTubeSearch = (query, limit = 30)=>{
|
|
150
|
+
// const action = 'getYouTubeSearch';
|
|
151
|
+
const youtube = getYouTube();
|
|
152
|
+
return new Promise((resolve, reject)=>{
|
|
153
|
+
youtube.search.list({
|
|
154
|
+
maxResults: limit,
|
|
155
|
+
part: [
|
|
156
|
+
'snippet'
|
|
157
|
+
],
|
|
158
|
+
q: query,
|
|
159
|
+
regionCode: 'US'
|
|
160
|
+
}, (error, data)=>{
|
|
161
|
+
if (error) {
|
|
162
|
+
console.error(error);
|
|
163
|
+
reject(new Error(ErrorTypes.YOUTUBE_ERROR));
|
|
164
|
+
} else if (data) {
|
|
165
|
+
const { items } = data;
|
|
166
|
+
const list = items.map((item)=>({
|
|
167
|
+
id: item.id,
|
|
168
|
+
thumb: item.snippet.thumbnails.high.url,
|
|
169
|
+
type: 'youtube',
|
|
170
|
+
url: `http://www.youtube.com/embed/${item.id}`
|
|
171
|
+
}));
|
|
172
|
+
resolve(list);
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
});
|
|
176
|
+
};
|
|
177
|
+
export const getPathUserFiles = (userId, filename)=>`users/${userId}/files/${filename}`;
|
|
178
|
+
export const linkFiles = (context, postDocId, files)=>Promise.all(files.map((file)=>upsertFile(context, file).then((file)=>createPostEdge(context, postDocId, file.id, 'isPosted', {
|
|
179
|
+
type: file.fileType
|
|
180
|
+
}))));
|
|
181
|
+
export const updateFiles = (context, postDocId, files)=>{
|
|
182
|
+
const action = 'updateFiles';
|
|
183
|
+
const { databaseName } = context;
|
|
184
|
+
const edgeCollection = useDb(databaseName).collection('isPosted');
|
|
185
|
+
return edgeCollection.inEdges(postDocId, {}).then((edges)=>{
|
|
186
|
+
if (edges.length) {
|
|
187
|
+
return Promise.all(edges.map((edge)=>{
|
|
188
|
+
const { _key: edgeKey } = edge;
|
|
189
|
+
const aqlQry = aql`REMOVE {_key:${edgeKey}} IN isPosted`;
|
|
190
|
+
return useDb(databaseName).query(aqlQry).catch((error)=>{
|
|
191
|
+
throw error;
|
|
192
|
+
});
|
|
193
|
+
})).then(()=>{
|
|
194
|
+
if (files.length) {
|
|
195
|
+
return linkFiles(context, postDocId, files).then(()=>files);
|
|
196
|
+
}
|
|
197
|
+
return [];
|
|
198
|
+
});
|
|
199
|
+
} else if (files.length) {
|
|
200
|
+
return linkFiles(context, postDocId, files).then(()=>files);
|
|
201
|
+
}
|
|
202
|
+
return files;
|
|
203
|
+
}).catch((error)=>logError({
|
|
204
|
+
action,
|
|
205
|
+
category: eventCategory,
|
|
206
|
+
label: ErrorTypes.DATABASE_ERROR
|
|
207
|
+
}, error, context));
|
|
208
|
+
};
|
|
209
|
+
export const encodeBase64 = (buffer)=>Buffer.from(buffer).toString('base64');
|
|
210
|
+
export const decodeBase64 = (dataString)=>{
|
|
211
|
+
// const action = 'decodeBase64';
|
|
212
|
+
const getData = (str)=>str.match(/^data:([A-Za-z-+/]+);base64,(.+)$/) || [];
|
|
213
|
+
let matches = getData(dataString);
|
|
214
|
+
if (matches.length !== 3) {
|
|
215
|
+
matches = getData(decodeURIComponent(dataString));
|
|
216
|
+
if (matches.length !== 3) {
|
|
217
|
+
throw Error(ErrorTypes.INVALID_INPUT);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
return {
|
|
221
|
+
data: Buffer.from(matches[2], 'base64'),
|
|
222
|
+
type: matches[1]
|
|
223
|
+
};
|
|
224
|
+
};
|
|
225
|
+
|
|
226
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL2FjdGlvbnMvZmlsZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTktUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7Z2V0IGFzIGh0dHBHZXR9IGZyb20gJ0BubGFicy9yaXAtaHVudGVyJztcbmltcG9ydCB7Y3JlYXRlSGFzaH0gZnJvbSAnQG5sYWJzL3V0aWxzL3BhcnNlcnMvc3RyaW5ncyc7XG5pbXBvcnQge2FxbH0gZnJvbSAnYXJhbmdvanMnO1xuaW1wb3J0IHtBcWxRdWVyeX0gZnJvbSAnYXJhbmdvanMvYXFsJztcbmltcG9ydCB7Z29vZ2xlfSBmcm9tICdnb29nbGVhcGlzJztcblxuaW1wb3J0IHtwYXJzZUZpbGV9IGZyb20gJy4uL2FkYXB0ZXJzL2ZpbGVBZGFwdGVyLmpzJztcbmltcG9ydCB7Q29uZmlnfSBmcm9tICcuLi9jb25maWcuanMnO1xuaW1wb3J0IHtBcGlDb250ZXh0fSBmcm9tICcuLi90eXBlcy9hdXRoLnR5cGVzLmpzJztcbmltcG9ydCB7RXJyb3JUeXBlc30gZnJvbSAnLi4vdHlwZXMvZXJyb3IudHlwZXMuanMnO1xuaW1wb3J0IHtGaWxlVHlwZX0gZnJvbSAnLi4vdHlwZXMvZmlsZXMudHlwZXMuanMnO1xuaW1wb3J0IHtJbWFnZVR5cGV9IGZyb20gJy4uL3R5cGVzL2ltYWdlcy50eXBlcy5qcyc7XG5pbXBvcnQge2xvZ0Vycm9yfSBmcm9tICcuLi91dGlscy9hbmFseXRpY3NVdGlscy5qcyc7XG5pbXBvcnQge3VzZURifSBmcm9tICcuLi91dGlscy9hcmFuZ29kYlV0aWxzLmpzJztcbmltcG9ydCB7cmVzaXplU2F2ZUltYWdlfSBmcm9tICcuL2ltYWdlcy5qcyc7XG5pbXBvcnQge2NyZWF0ZVBvc3RFZGdlfSBmcm9tICcuL3Bvc3RzLmpzJztcblxuaW1wb3J0IHR5cGUge0VkZ2VDb2xsZWN0aW9ufSBmcm9tICdhcmFuZ29qcy9jb2xsZWN0aW9ucyc7XG5cbmNvbnN0IGV2ZW50Q2F0ZWdvcnk6IHN0cmluZyA9ICdmaWxlcyc7XG5cbmV4cG9ydCBjb25zdCBHSVBIWV9VUkw6IHN0cmluZyA9ICdodHRwOi8vYXBpLmdpcGh5LmNvbS92MS9naWZzJztcblxuZXhwb3J0IGNvbnN0IGdldFlvdVR1YmUgPSAoKSA9PiBnb29nbGUueW91dHViZSh7YXV0aDogQ29uZmlnLmdldCgnZ29vZ2xlLmtleScpLCB2ZXJzaW9uOiAndjMnfSk7XG5cbmV4cG9ydCBjb25zdCBpbnNlcnRGaWxlID0gKGNvbnRleHQ6IEFwaUNvbnRleHQsIGZpbGU6IEZpbGVUeXBlKSA9PiB7XG4gIGNvbnN0IGFjdGlvbiA9ICdpbnNlcnRGaWxlJztcbiAgY29uc3Qge2RhdGFiYXNlTmFtZX0gPSBjb250ZXh0O1xuICBjb25zdCBmb3JtYXR0ZWRGaWxlID0gcGFyc2VGaWxlKGZpbGUpO1xuICBjb25zdCBhcWxRcnk6IEFxbFF1ZXJ5ID0gYXFsYElOU0VSVCAke2Zvcm1hdHRlZEZpbGV9IElOIGZpbGVzIFJFVFVSTiBORVdgO1xuXG4gIHJldHVybiB1c2VEYihkYXRhYmFzZU5hbWUpLnF1ZXJ5KGFxbFFyeSlcbiAgICAudGhlbigoY3Vyc29yKSA9PiBjdXJzb3IubmV4dCgpKVxuICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiBsb2dFcnJvcih7XG4gICAgICBhY3Rpb24sXG4gICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbiAgICAgIGxhYmVsOiBFcnJvclR5cGVzLkRBVEFCQVNFX0VSUk9SXG4gICAgfSwgZXJyb3IsIGNvbnRleHQpKTtcbn07XG5cbmV4cG9ydCBjb25zdCB1cHNlcnRGaWxlID0gKGNvbnRleHQ6IEFwaUNvbnRleHQsIGZpbGU6IEZpbGVUeXBlKTogUHJvbWlzZTxGaWxlVHlwZT4gPT4ge1xuICBjb25zdCBhY3Rpb24gPSAndXBzZXJ0RmlsZSc7XG4gIGNvbnN0IHtkYXRhYmFzZU5hbWV9ID0gY29udGV4dDtcbiAgY29uc3QgZm9ybWF0dGVkRmlsZSA9IHBhcnNlRmlsZShmaWxlKTtcbiAgY29uc3Qge2ZpbGVJZH0gPSBmb3JtYXR0ZWRGaWxlO1xuICBjb25zdCBpbnNlcnQ6IGFueSA9IHtcbiAgICAuLi5mb3JtYXR0ZWRGaWxlLFxuICAgIF9rZXk6IGZpbGVJZCxcbiAgICBhZGRlZDogRGF0ZS5ub3coKSxcbiAgICBtb2RpZmllZDogRGF0ZS5ub3coKVxuICB9O1xuICBjb25zdCB1cGRhdGU6IGFueSA9IHtcbiAgICAuLi5mb3JtYXR0ZWRGaWxlLFxuICAgIF9rZXk6IGZpbGVJZCxcbiAgICBtb2RpZmllZDogRGF0ZS5ub3coKVxuICB9O1xuXG4gIGNvbnN0IGFxbFFyeTogQXFsUXVlcnkgPSBhcWxgVVBTRVJUIHtfa2V5OiAke2ZpbGVJZH19XG4gICAgSU5TRVJUICR7aW5zZXJ0fVxuICAgIFVQREFURSAke3VwZGF0ZX1cbiAgICBJTiBmaWxlcyBSRVRVUk4gTkVXYDtcblxuICByZXR1cm4gdXNlRGIoZGF0YWJhc2VOYW1lKS5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbiAgICAudGhlbigodXBkYXRlZEZpbGU6IEZpbGVUeXBlKSA9PiB1cGRhdGVkRmlsZSlcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4gbG9nRXJyb3Ioe1xuICAgICAgYWN0aW9uLFxuICAgICAgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksXG4gICAgICBsYWJlbDogRXJyb3JUeXBlcy5EQVRBQkFTRV9FUlJPUlxuICAgIH0sIGVycm9yLCBjb250ZXh0KSk7XG59O1xuXG5leHBvcnQgY29uc3QgdXBsb2FkRmlsZSA9IChjb250ZXh0LCBmaWxlOiBGaWxlVHlwZSwgYnVmZmVyOiBCdWZmZXIpID0+IHtcbiAgY29uc3Qge3Nlc3Npb246IHt1c2VySWQ6IHNlc3Npb25JZH19ID0gY29udGV4dDtcbiAgY29uc3QgZm9ybWF0dGVkRmlsZSA9IHBhcnNlRmlsZShmaWxlKTtcbiAgY29uc3Qge1xuICAgIGRlc2NyaXB0aW9uLFxuICAgIGZpbGVJZCxcbiAgICBmaWxlVHlwZSxcbiAgICBuYW1lLFxuICAgIHVybFxuICB9ID0gZm9ybWF0dGVkRmlsZTtcbiAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKTtcbiAgY29uc3QgZm9ybWF0RmlsZUlkOiBzdHJpbmcgPSBmaWxlSWQgfHwgY3JlYXRlSGFzaChgZmlsZS0ke3Nlc3Npb25JZH1gKTtcbiAgbGV0IHVwZGF0ZWROYW1lID0gbmFtZTtcblxuICBpZighdXBkYXRlZE5hbWUgJiYgISF1cmwpIHtcbiAgICB1cGRhdGVkTmFtZSA9IHVybC5zdWJzdHJpbmcodXJsLmxhc3RJbmRleE9mKCcvJykgKyAxKTtcbiAgfVxuXG4gIGlmKGZpbGVUeXBlID09PSAnaW1hZ2UvanBlZycgfHwgZmlsZVR5cGUgPT09ICdpbWFnZS9wbmcnKSB7XG4gICAgcmV0dXJuIHJlc2l6ZVNhdmVJbWFnZShjb250ZXh0LCBmb3JtYXRGaWxlSWQsIGJ1ZmZlciwgZmlsZVR5cGUpXG4gICAgICAudGhlbigocmVzaXplZEltYWdlOiBGaWxlVHlwZSkgPT4gaW5zZXJ0RmlsZShjb250ZXh0LCB7XG4gICAgICAgIC4uLnJlc2l6ZWRJbWFnZSxcbiAgICAgICAgX2tleTogZm9ybWF0RmlsZUlkLFxuICAgICAgICBhZGRlZDogbm93LFxuICAgICAgICBkZXNjcmlwdGlvbixcbiAgICAgICAgbW9kaWZpZWQ6IG5vdyxcbiAgICAgICAgbmFtZTogdXBkYXRlZE5hbWUsXG4gICAgICAgIHVzZXJJZDogc2Vzc2lvbklkXG4gICAgICB9KSk7XG4gIH1cblxuICByZXR1cm4gaW5zZXJ0RmlsZShjb250ZXh0LCB7XG4gICAgLi4uZm9ybWF0dGVkRmlsZSxcbiAgICBhZGRlZDogbm93LFxuICAgIG1vZGlmaWVkOiBub3csXG4gICAgdXNlcklkOiBzZXNzaW9uSWRcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgYWRkRmlsZSA9IChjb250ZXh0OiBBcGlDb250ZXh0LCBmaWxlOiBGaWxlVHlwZSk6IFByb21pc2U8RmlsZVR5cGU+ID0+IHtcbiAgY29uc3QgYWN0aW9uID0gJ2FkZEZpbGUnO1xuICBjb25zdCB7YmFzZTY0LCB1cmx9ID0gZmlsZTtcblxuICBpZighIXVybCkge1xuICAgIHJldHVybiBodHRwR2V0KHVybClcbiAgICAgIC50aGVuKChib2R5KSA9PiB1cGxvYWRGaWxlKGNvbnRleHQsIGZpbGUsIEJ1ZmZlci5mcm9tKGJvZHksICdiaW5hcnknKSkpXG4gICAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4gbG9nRXJyb3Ioe1xuICAgICAgICBhY3Rpb24sXG4gICAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5LFxuICAgICAgICBsYWJlbDogRXJyb3JUeXBlcy5GSUxFX1JFUVVFU1RcbiAgICAgIH0sIGVycm9yLCBjb250ZXh0KSk7XG4gIH0gZWxzZSBpZighIWJhc2U2NCkge1xuICAgIGNvbnN0IGJ1ZmZlcjogQnVmZmVyID0gQnVmZmVyLmZyb20oYmFzZTY0KTtcbiAgICByZXR1cm4gdXBsb2FkRmlsZShjb250ZXh0LCBmaWxlLCBidWZmZXIpO1xuICB9XG5cbiAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihFcnJvclR5cGVzLkZJTEVfUkVRVUlSRUQpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBwYXJzZUdpcGh5SXRlbSA9IChnaWZJbWFnZTogYW55KTogSW1hZ2VUeXBlID0+IHtcbiAgY29uc3Qge1xuICAgIGlkLFxuICAgIGltYWdlczoge1xuICAgICAgb3JpZ2luYWw6IHt1cmwgPSAnJ30gPSB7fSxcbiAgICAgIGZpeGVkX2hlaWdodF9zbWFsbDoge3VybDogdGh1bWIgPSAnJ30gPSB7fVxuICAgIH0gPSB7fVxuICB9ID0gZ2lmSW1hZ2U7XG5cbiAgaWYoIWlkIHx8ICF1cmwpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgaWQsXG4gICAgdGh1bWIsXG4gICAgdHlwZTogJ2dpcGh5JyxcbiAgICB1cmxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRHaXBoeVRyZW5kcyA9IChsaW1pdDogbnVtYmVyID0gMzApOiBQcm9taXNlPEltYWdlVHlwZVtdPiA9PiB7XG4gIGNvbnN0IGdpZlVybCA9IGAke0dJUEhZX1VSTH0vdHJlbmRpbmc/YXBpX2tleT0ke0NvbmZpZy5nZXQoJ2dpcGh5LmtleScpfSZsaW1pdD0ke2xpbWl0fWA7XG5cbiAgcmV0dXJuIGh0dHBHZXQoZ2lmVXJsKVxuICAgIC50aGVuKChyZXM6IFJlc3BvbnNlKSA9PiByZXMuanNvbigpKVxuICAgIC50aGVuKChqc29uOiBhbnkpID0+IGpzb24/LmRhdGE/Lm1hcChwYXJzZUdpcGh5SXRlbSkuZmlsdGVyKChpdGVtKSA9PiAhIWl0ZW0pKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRHaXBoeVNlYXJjaCA9IChxdWVyeTogc3RyaW5nLCBsaW1pdDogbnVtYmVyID0gMzApOiBQcm9taXNlPEltYWdlVHlwZVtdPiA9PiB7XG4gIGNvbnN0IGZvcm1hdFF1ZXJ5ID0gZW5jb2RlVVJJKHF1ZXJ5KTtcbiAgY29uc3QgZ2lmVXJsID0gYCR7R0lQSFlfVVJMfS9zZWFyY2g/cT0ke2Zvcm1hdFF1ZXJ5fSZhcGlfa2V5PSR7Q29uZmlnLmdldCgnZ2lwaHkua2V5Jyl9JmxpbWl0PSR7bGltaXR9YDtcblxuICByZXR1cm4gaHR0cEdldChnaWZVcmwpXG4gICAgLnRoZW4oKHJlczogUmVzcG9uc2UpID0+IHJlcy5qc29uKCkpXG4gICAgLnRoZW4oKGpzb246IGFueSkgPT4ganNvbj8uZGF0YT8ubWFwKHBhcnNlR2lwaHlJdGVtKS5maWx0ZXIoKGl0ZW0pID0+ICEhaXRlbSkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFlvdVR1YmVUcmVuZHMgPSAobGltaXQ6IG51bWJlciA9IDMwKTogUHJvbWlzZTxhbnlbXT4gPT4ge1xuICAvLyBjb25zdCBhY3Rpb24gPSAnZ2V0WW91VHViZVRyZW5kcyc7XG4gIGNvbnN0IHlvdXR1YmUgPSBnZXRZb3VUdWJlKCk7XG5cbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICB5b3V0dWJlLnZpZGVvcy5saXN0KHtcbiAgICAgIGNoYXJ0OiAnbW9zdFBvcHVsYXInLFxuICAgICAgbWF4UmVzdWx0czogbGltaXQsXG4gICAgICBwYXJ0OiBbJ3NuaXBwZXQnXSxcbiAgICAgIHJlZ2lvbkNvZGU6ICdVUydcbiAgICB9LCAoZXJyb3I6IEVycm9yLCBkYXRhOiBhbnkpID0+IHtcbiAgICAgIGlmKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgICByZWplY3QobmV3IEVycm9yKEVycm9yVHlwZXMuWU9VVFVCRV9FUlJPUikpO1xuICAgICAgfSBlbHNlIGlmKGRhdGEpIHtcbiAgICAgICAgY29uc3QgbGlzdCA9IGRhdGEuaXRlbXMubWFwKChpdGVtKSA9PiAoe1xuICAgICAgICAgIGlkOiBpdGVtLmlkLFxuICAgICAgICAgIHRodW1iOiBpdGVtLnNuaXBwZXQudGh1bWJuYWlscy5oaWdoLnVybCxcbiAgICAgICAgICB0eXBlOiAneW91dHViZScsXG4gICAgICAgICAgdXJsOiBgaHR0cDovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8ke2l0ZW0uaWR9YFxuICAgICAgICB9KSk7XG5cbiAgICAgICAgcmVzb2x2ZShsaXN0KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0WW91VHViZVNlYXJjaCA9IChxdWVyeTogc3RyaW5nLCBsaW1pdDogbnVtYmVyID0gMzApOiBQcm9taXNlPGFueVtdPiA9PiB7XG4gIC8vIGNvbnN0IGFjdGlvbiA9ICdnZXRZb3VUdWJlU2VhcmNoJztcbiAgY29uc3QgeW91dHViZSA9IGdldFlvdVR1YmUoKTtcblxuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIHlvdXR1YmUuc2VhcmNoLmxpc3Qoe1xuICAgICAgbWF4UmVzdWx0czogbGltaXQsXG4gICAgICBwYXJ0OiBbJ3NuaXBwZXQnXSxcbiAgICAgIHE6IHF1ZXJ5LFxuICAgICAgcmVnaW9uQ29kZTogJ1VTJ1xuICAgIH0sIChlcnJvcjogRXJyb3IsIGRhdGE6IGFueSkgPT4ge1xuICAgICAgaWYoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgIHJlamVjdChuZXcgRXJyb3IoRXJyb3JUeXBlcy5ZT1VUVUJFX0VSUk9SKSk7XG4gICAgICB9IGVsc2UgaWYoZGF0YSkge1xuICAgICAgICBjb25zdCB7aXRlbXN9ID0gZGF0YTtcbiAgICAgICAgY29uc3QgbGlzdCA9IGl0ZW1zLm1hcCgoaXRlbSkgPT4gKHtcbiAgICAgICAgICBpZDogaXRlbS5pZCxcbiAgICAgICAgICB0aHVtYjogaXRlbS5zbmlwcGV0LnRodW1ibmFpbHMuaGlnaC51cmwsXG4gICAgICAgICAgdHlwZTogJ3lvdXR1YmUnLFxuICAgICAgICAgIHVybDogYGh0dHA6Ly93d3cueW91dHViZS5jb20vZW1iZWQvJHtpdGVtLmlkfWBcbiAgICAgICAgfSkpO1xuXG4gICAgICAgIHJlc29sdmUobGlzdCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFBhdGhVc2VyRmlsZXMgPSAodXNlcklkOiBzdHJpbmcsIGZpbGVuYW1lOiBzdHJpbmcpOiBzdHJpbmcgPT4gYHVzZXJzLyR7dXNlcklkfS9maWxlcy8ke2ZpbGVuYW1lfWA7XG5cbmV4cG9ydCBjb25zdCBsaW5rRmlsZXMgPSAoY29udGV4dDogQXBpQ29udGV4dCwgcG9zdERvY0lkOiBzdHJpbmcsIGZpbGVzOiBGaWxlVHlwZVtdKTogUHJvbWlzZTxhbnk+ID0+XG4gIFByb21pc2UuYWxsKFxuICAgIGZpbGVzLm1hcCgoZmlsZTogRmlsZVR5cGUpID0+IHVwc2VydEZpbGUoY29udGV4dCwgZmlsZSlcbiAgICAgIC50aGVuKChmaWxlOiBGaWxlVHlwZSkgPT4gY3JlYXRlUG9zdEVkZ2UoY29udGV4dCwgcG9zdERvY0lkLCBmaWxlLmlkLCAnaXNQb3N0ZWQnLCB7dHlwZTogZmlsZS5maWxlVHlwZX0pKSlcbiAgKTtcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZUZpbGVzID0gKGNvbnRleHQ6IEFwaUNvbnRleHQsIHBvc3REb2NJZDogc3RyaW5nLCBmaWxlczogRmlsZVR5cGVbXSk6IFByb21pc2U8YW55PiA9PiB7XG4gIGNvbnN0IGFjdGlvbiA9ICd1cGRhdGVGaWxlcyc7XG4gIGNvbnN0IHtkYXRhYmFzZU5hbWV9ID0gY29udGV4dDtcbiAgY29uc3QgZWRnZUNvbGxlY3Rpb246IEVkZ2VDb2xsZWN0aW9uID0gdXNlRGIoZGF0YWJhc2VOYW1lKS5jb2xsZWN0aW9uKCdpc1Bvc3RlZCcpO1xuXG4gIHJldHVybiBlZGdlQ29sbGVjdGlvbi5pbkVkZ2VzKHBvc3REb2NJZCwge30pXG4gICAgLnRoZW4oKGVkZ2VzOiBhbnkpID0+IHtcbiAgICAgIGlmKGVkZ2VzLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwoXG4gICAgICAgICAgZWRnZXMubWFwKChlZGdlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7X2tleTogZWRnZUtleX0gPSBlZGdlO1xuICAgICAgICAgICAgY29uc3QgYXFsUXJ5OiBBcWxRdWVyeSA9IGFxbGBSRU1PVkUge19rZXk6JHtlZGdlS2V5fX0gSU4gaXNQb3N0ZWRgO1xuXG4gICAgICAgICAgICByZXR1cm4gdXNlRGIoZGF0YWJhc2VOYW1lKS5xdWVyeShhcWxRcnkpXG4gICAgICAgICAgICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pKVxuICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIGlmKGZpbGVzLmxlbmd0aCkge1xuICAgICAgICAgICAgICByZXR1cm4gbGlua0ZpbGVzKGNvbnRleHQsIHBvc3REb2NJZCwgZmlsZXMpLnRoZW4oKCkgPT4gZmlsZXMpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYoZmlsZXMubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBsaW5rRmlsZXMoY29udGV4dCwgcG9zdERvY0lkLCBmaWxlcylcbiAgICAgICAgICAudGhlbigoKSA9PiBmaWxlcyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmaWxlcztcbiAgICB9KVxuICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiBsb2dFcnJvcih7XG4gICAgICBhY3Rpb24sXG4gICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbiAgICAgIGxhYmVsOiBFcnJvclR5cGVzLkRBVEFCQVNFX0VSUk9SXG4gICAgfSwgZXJyb3IsIGNvbnRleHQpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBlbmNvZGVCYXNlNjQgPSAoYnVmZmVyOiBCdWZmZXIpOiBzdHJpbmcgPT4gQnVmZmVyLmZyb20oYnVmZmVyKS50b1N0cmluZygnYmFzZTY0Jyk7XG5cbmV4cG9ydCBjb25zdCBkZWNvZGVCYXNlNjQgPSAoZGF0YVN0cmluZzogc3RyaW5nKTogYW55ID0+IHtcbiAgLy8gY29uc3QgYWN0aW9uID0gJ2RlY29kZUJhc2U2NCc7XG4gIGNvbnN0IGdldERhdGEgPSAoc3RyOiBzdHJpbmcpID0+IHN0ci5tYXRjaCgvXmRhdGE6KFtBLVphLXotKy9dKyk7YmFzZTY0LCguKykkLykgfHwgW107XG4gIGxldCBtYXRjaGVzID0gZ2V0RGF0YShkYXRhU3RyaW5nKTtcblxuICBpZihtYXRjaGVzLmxlbmd0aCAhPT0gMykge1xuICAgIG1hdGNoZXMgPSBnZXREYXRhKGRlY29kZVVSSUNvbXBvbmVudChkYXRhU3RyaW5nKSk7XG5cbiAgICBpZihtYXRjaGVzLmxlbmd0aCAhPT0gMykge1xuICAgICAgdGhyb3cgRXJyb3IoRXJyb3JUeXBlcy5JTlZBTElEX0lOUFVUKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGRhdGE6IEJ1ZmZlci5mcm9tKG1hdGNoZXNbMl0sICdiYXNlNjQnKSxcbiAgICB0eXBlOiBtYXRjaGVzWzFdXG4gIH07XG59O1xuIl0sIm5hbWVzIjpbImdldCIsImh0dHBHZXQiLCJjcmVhdGVIYXNoIiwiYXFsIiwiZ29vZ2xlIiwicGFyc2VGaWxlIiwiQ29uZmlnIiwiRXJyb3JUeXBlcyIsImxvZ0Vycm9yIiwidXNlRGIiLCJyZXNpemVTYXZlSW1hZ2UiLCJjcmVhdGVQb3N0RWRnZSIsImV2ZW50Q2F0ZWdvcnkiLCJHSVBIWV9VUkwiLCJnZXRZb3VUdWJlIiwieW91dHViZSIsImF1dGgiLCJ2ZXJzaW9uIiwiaW5zZXJ0RmlsZSIsImNvbnRleHQiLCJmaWxlIiwiYWN0aW9uIiwiZGF0YWJhc2VOYW1lIiwiZm9ybWF0dGVkRmlsZSIsImFxbFFyeSIsInF1ZXJ5IiwidGhlbiIsImN1cnNvciIsIm5leHQiLCJjYXRjaCIsImVycm9yIiwiY2F0ZWdvcnkiLCJsYWJlbCIsIkRBVEFCQVNFX0VSUk9SIiwidXBzZXJ0RmlsZSIsImZpbGVJZCIsImluc2VydCIsIl9rZXkiLCJhZGRlZCIsIkRhdGUiLCJub3ciLCJtb2RpZmllZCIsInVwZGF0ZSIsInVwZGF0ZWRGaWxlIiwidXBsb2FkRmlsZSIsImJ1ZmZlciIsInNlc3Npb24iLCJ1c2VySWQiLCJzZXNzaW9uSWQiLCJkZXNjcmlwdGlvbiIsImZpbGVUeXBlIiwibmFtZSIsInVybCIsImZvcm1hdEZpbGVJZCIsInVwZGF0ZWROYW1lIiwic3Vic3RyaW5nIiwibGFzdEluZGV4T2YiLCJyZXNpemVkSW1hZ2UiLCJhZGRGaWxlIiwiYmFzZTY0IiwiYm9keSIsIkJ1ZmZlciIsImZyb20iLCJGSUxFX1JFUVVFU1QiLCJQcm9taXNlIiwicmVqZWN0IiwiRXJyb3IiLCJGSUxFX1JFUVVJUkVEIiwicGFyc2VHaXBoeUl0ZW0iLCJnaWZJbWFnZSIsImlkIiwiaW1hZ2VzIiwib3JpZ2luYWwiLCJmaXhlZF9oZWlnaHRfc21hbGwiLCJ0aHVtYiIsInR5cGUiLCJnZXRHaXBoeVRyZW5kcyIsImxpbWl0IiwiZ2lmVXJsIiwicmVzIiwianNvbiIsImRhdGEiLCJtYXAiLCJmaWx0ZXIiLCJpdGVtIiwiZ2V0R2lwaHlTZWFyY2giLCJmb3JtYXRRdWVyeSIsImVuY29kZVVSSSIsImdldFlvdVR1YmVUcmVuZHMiLCJyZXNvbHZlIiwidmlkZW9zIiwibGlzdCIsImNoYXJ0IiwibWF4UmVzdWx0cyIsInBhcnQiLCJyZWdpb25Db2RlIiwiY29uc29sZSIsIllPVVRVQkVfRVJST1IiLCJpdGVtcyIsInNuaXBwZXQiLCJ0aHVtYm5haWxzIiwiaGlnaCIsImdldFlvdVR1YmVTZWFyY2giLCJzZWFyY2giLCJxIiwiZ2V0UGF0aFVzZXJGaWxlcyIsImZpbGVuYW1lIiwibGlua0ZpbGVzIiwicG9zdERvY0lkIiwiZmlsZXMiLCJhbGwiLCJ1cGRhdGVGaWxlcyIsImVkZ2VDb2xsZWN0aW9uIiwiY29sbGVjdGlvbiIsImluRWRnZXMiLCJlZGdlcyIsImxlbmd0aCIsImVkZ2UiLCJlZGdlS2V5IiwiZW5jb2RlQmFzZTY0IiwidG9TdHJpbmciLCJkZWNvZGVCYXNlNjQiLCJkYXRhU3RyaW5nIiwiZ2V0RGF0YSIsInN0ciIsIm1hdGNoIiwibWF0Y2hlcyIsImRlY29kZVVSSUNvbXBvbmVudCIsIklOVkFMSURfSU5QVVQiXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUNELFNBQVFBLE9BQU9DLE9BQU8sUUFBTyxvQkFBb0I7QUFDakQsU0FBUUMsVUFBVSxRQUFPLCtCQUErQjtBQUN4RCxTQUFRQyxHQUFHLFFBQU8sV0FBVztBQUU3QixTQUFRQyxNQUFNLFFBQU8sYUFBYTtBQUVsQyxTQUFRQyxTQUFTLFFBQU8sNkJBQTZCO0FBQ3JELFNBQVFDLE1BQU0sUUFBTyxlQUFlO0FBRXBDLFNBQVFDLFVBQVUsUUFBTywwQkFBMEI7QUFHbkQsU0FBUUMsUUFB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
|
package/lib/actions/groups.d.ts
CHANGED
|
@@ -11,3 +11,4 @@ export declare const updateGroup: (context: ApiContext, item: GroupType) => Prom
|
|
|
11
11
|
export declare const deleteGroup: (context: ApiContext, itemId: string) => Promise<GroupType>;
|
|
12
12
|
export declare const getGroupsByReaction: (context: ApiContext, reaction: string) => Promise<GroupType[]>;
|
|
13
13
|
export declare const isGrouped: (context: ApiContext, userId: string, groupId: string) => Promise<GroupUser>;
|
|
14
|
+
//# sourceMappingURL=groups.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"groups.d.ts","sourceRoot":"","sources":["../../src/actions/groups.ts"],"names":[],"mappings":"AAOA,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAC,aAAa,EAAE,SAAS,EAAE,SAAS,EAAC,MAAM,0BAA0B,CAAC;AAa7E,eAAO,MAAM,YAAY,GAAI,SAAS,UAAU,EAAE,MAAM,MAAM,EAAE,IAAI,MAAM,KAAG,OAAO,CAAC,SAAS,EAAE,CAwB/F,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,SAAS,UAAU,EAAE,MAAM,MAAM,EAAE,IAAI,MAAM,KAAG,OAAO,CAAC,SAAS,EAAE,CAwBrG,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,SAAS,UAAU,EACnB,MAAM,MAAM,EAAE,EACd,MAAM,MAAM,EACZ,IAAI,MAAM,KACT,OAAO,CAAC,SAAS,EAAE,CA2CrB,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,SAAS,UAAU,EAAE,QAAQ,MAAM,KAAG,OAAO,CAAC,SAAS,CAsB/E,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,SAAS,UAAU,EAAE,SAAS,MAAM,KAAG,OAAO,CAAC,SAAS,CAiBvF,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,SAAS,UAAU,EACnB,QAAQ,MAAM,EACd,SAAS,MAAM,KACd,OAAO,CAAC,aAAa,CAwBvB,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,SAAS,UAAU,EAAE,MAAM,SAAS,KAAG,OAAO,CAAC,SAAS,CAqChF,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,SAAS,UAAU,EAAE,MAAM,SAAS,KAAG,OAAO,CAAC,SAAS,CAgCnF,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,SAAS,UAAU,EAAE,QAAQ,MAAM,KAAG,OAAO,CAAC,SAAS,CAiBlF,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,SAAS,UAAU,EAAE,UAAU,MAAM,KAAG,OAAO,CAAC,SAAS,EAAE,CAmB9F,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,SAAS,UAAU,EAAE,QAAQ,MAAM,EAAE,SAAS,MAAM,KAAG,OAAO,CAAC,SAAS,CA4BjG,CAAC"}
|