@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
|
@@ -1,2 +1,119 @@
|
|
|
1
|
-
import{parseNum
|
|
2
|
-
|
|
1
|
+
import { parseNum } from '@nlabs/utils/parsers/numbers';
|
|
2
|
+
import { parseArangoId, parseId, parseString, parseUrl } from '@nlabs/utils/parsers/strings';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { parseDocument } from './arangoAdapter.js';
|
|
5
|
+
import { parseReaktorContent, parseReaktorType } from './reaktorAdapter.js';
|
|
6
|
+
export class FileValidationError extends Error {
|
|
7
|
+
field;
|
|
8
|
+
constructor(message, field){
|
|
9
|
+
super(message), this.field = field;
|
|
10
|
+
this.name = 'FileValidationError';
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
const FileInputSchema = z.object({
|
|
14
|
+
_from: z.string().optional(),
|
|
15
|
+
_id: z.string().optional(),
|
|
16
|
+
_key: z.string().optional(),
|
|
17
|
+
_oldRev: z.string().optional(),
|
|
18
|
+
_rev: z.string().optional(),
|
|
19
|
+
_to: z.string().optional(),
|
|
20
|
+
base64: z.string().optional(),
|
|
21
|
+
buffer: z.any().optional(),
|
|
22
|
+
description: z.string().optional(),
|
|
23
|
+
fileId: z.string().optional(),
|
|
24
|
+
fileSize: z.number().optional(),
|
|
25
|
+
fileType: z.string().optional(),
|
|
26
|
+
itemId: z.string().optional(),
|
|
27
|
+
itemType: z.string().optional(),
|
|
28
|
+
name: z.string().optional(),
|
|
29
|
+
url: z.string().optional(),
|
|
30
|
+
userId: z.string().optional()
|
|
31
|
+
}).passthrough();
|
|
32
|
+
export const validateFileInput = (file)=>{
|
|
33
|
+
try {
|
|
34
|
+
const validated = FileInputSchema.parse(file);
|
|
35
|
+
return validated;
|
|
36
|
+
} catch (error) {
|
|
37
|
+
if (error instanceof z.ZodError) {
|
|
38
|
+
const fieldErrors = error.issues.map((e)=>`${e.path.join('.')}: ${e.message}`).join(', ');
|
|
39
|
+
throw new FileValidationError(`File validation failed: ${fieldErrors}`);
|
|
40
|
+
}
|
|
41
|
+
throw error;
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
export const formatFileOutput = (file)=>file;
|
|
45
|
+
export const getFileType = (file)=>{
|
|
46
|
+
const { fileType, name } = file;
|
|
47
|
+
if (fileType) {
|
|
48
|
+
return parseString(fileType, 16);
|
|
49
|
+
}
|
|
50
|
+
const nameArr = name?.split('.') || [];
|
|
51
|
+
const ext = nameArr.length && nameArr[nameArr.length - 1] || '';
|
|
52
|
+
switch(ext){
|
|
53
|
+
case 'jpeg':
|
|
54
|
+
case 'jpg':
|
|
55
|
+
return 'image/jpeg';
|
|
56
|
+
case 'png':
|
|
57
|
+
return 'image/png';
|
|
58
|
+
case 'zip':
|
|
59
|
+
return 'application/zip';
|
|
60
|
+
default:
|
|
61
|
+
return undefined;
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
export const parseFile = (file)=>{
|
|
65
|
+
try {
|
|
66
|
+
const parsed = performFileTransformation(file);
|
|
67
|
+
return parsed;
|
|
68
|
+
} catch (error) {
|
|
69
|
+
if (error instanceof FileValidationError) {
|
|
70
|
+
throw error;
|
|
71
|
+
}
|
|
72
|
+
throw new FileValidationError(`File parsing failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
const performFileTransformation = (file)=>{
|
|
76
|
+
const { _id, _key, base64, buffer, description, fileId, fileSize, fileType, id, itemId, itemType, name, url, userId } = file;
|
|
77
|
+
const transformed = {
|
|
78
|
+
...parseDocument(file),
|
|
79
|
+
...base64 && {
|
|
80
|
+
base64
|
|
81
|
+
},
|
|
82
|
+
...buffer && {
|
|
83
|
+
buffer
|
|
84
|
+
},
|
|
85
|
+
...description && {
|
|
86
|
+
description: parseReaktorContent(description)
|
|
87
|
+
},
|
|
88
|
+
...(_key || fileId) && {
|
|
89
|
+
fileId: parseId(_key || fileId)
|
|
90
|
+
},
|
|
91
|
+
...(_id || id || _key || fileId) && {
|
|
92
|
+
id: parseArangoId(_id || id || `files/${_key || fileId}`)
|
|
93
|
+
},
|
|
94
|
+
...fileSize !== undefined && {
|
|
95
|
+
fileSize: parseNum(fileSize)
|
|
96
|
+
},
|
|
97
|
+
...fileType && {
|
|
98
|
+
fileType: getFileType(file)
|
|
99
|
+
},
|
|
100
|
+
...itemId && {
|
|
101
|
+
itemId: parseId(itemId)
|
|
102
|
+
},
|
|
103
|
+
...itemType && {
|
|
104
|
+
itemType: parseReaktorType(itemType)
|
|
105
|
+
},
|
|
106
|
+
...name && {
|
|
107
|
+
name: parseString(name, 160)
|
|
108
|
+
},
|
|
109
|
+
...url && {
|
|
110
|
+
url: parseUrl(url)
|
|
111
|
+
},
|
|
112
|
+
...userId && {
|
|
113
|
+
userId: parseId(userId)
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
return transformed;
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL2FkYXB0ZXJzL2ZpbGVBZGFwdGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7cGFyc2VOdW19IGZyb20gJ0BubGFicy91dGlscy9wYXJzZXJzL251bWJlcnMnO1xuaW1wb3J0IHtwYXJzZUFyYW5nb0lkLCBwYXJzZUlkLCBwYXJzZVN0cmluZywgcGFyc2VVcmx9IGZyb20gJ0BubGFicy91dGlscy9wYXJzZXJzL3N0cmluZ3MnO1xuaW1wb3J0IHt6fSBmcm9tICd6b2QnO1xuXG5pbXBvcnQge0ZpbGVUeXBlfSBmcm9tICcuLi90eXBlcy9maWxlcy50eXBlcy5qcyc7XG5pbXBvcnQge3BhcnNlRG9jdW1lbnR9IGZyb20gJy4vYXJhbmdvQWRhcHRlci5qcyc7XG5pbXBvcnQge3BhcnNlUmVha3RvckNvbnRlbnQsIHBhcnNlUmVha3RvclR5cGV9IGZyb20gJy4vcmVha3RvckFkYXB0ZXIuanMnO1xuXG5leHBvcnQgY2xhc3MgRmlsZVZhbGlkYXRpb25FcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nLCBwdWJsaWMgZmllbGQ/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgICB0aGlzLm5hbWUgPSAnRmlsZVZhbGlkYXRpb25FcnJvcic7XG4gIH1cbn1cblxuY29uc3QgRmlsZUlucHV0U2NoZW1hID0gei5vYmplY3Qoe1xuICBfZnJvbTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfaWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2tleTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfb2xkUmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9yZXY6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX3RvOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGJhc2U2NDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBidWZmZXI6IHouYW55KCkub3B0aW9uYWwoKSxcbiAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgZmlsZUlkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGZpbGVTaXplOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGZpbGVUeXBlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGl0ZW1JZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBpdGVtVHlwZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBuYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHVybDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB1c2VySWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKVxufSkucGFzc3Rocm91Z2goKTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlRmlsZUlucHV0ID0gKGZpbGU6IHVua25vd24pOiBGaWxlVHlwZSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgdmFsaWRhdGVkID0gRmlsZUlucHV0U2NoZW1hLnBhcnNlKGZpbGUpO1xuICAgIHJldHVybiB2YWxpZGF0ZWQgYXMgRmlsZVR5cGU7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIHouWm9kRXJyb3IpIHtcbiAgICAgIGNvbnN0IGZpZWxkRXJyb3JzID0gZXJyb3IuaXNzdWVzLm1hcCgoZSkgPT4gYCR7ZS5wYXRoLmpvaW4oJy4nKX06ICR7ZS5tZXNzYWdlfWApLmpvaW4oJywgJyk7XG4gICAgICB0aHJvdyBuZXcgRmlsZVZhbGlkYXRpb25FcnJvcihgRmlsZSB2YWxpZGF0aW9uIGZhaWxlZDogJHtmaWVsZEVycm9yc31gKTtcbiAgICB9XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBmb3JtYXRGaWxlT3V0cHV0ID0gKGZpbGU6IEZpbGVUeXBlKTogRmlsZVR5cGUgPT4gZmlsZTtcblxuZXhwb3J0IGNvbnN0IGdldEZpbGVUeXBlID0gKGZpbGU6IEZpbGVUeXBlKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcbiAgY29uc3Qge2ZpbGVUeXBlLCBuYW1lfSA9IGZpbGU7XG5cbiAgaWYoZmlsZVR5cGUpIHtcbiAgICByZXR1cm4gcGFyc2VTdHJpbmcoZmlsZVR5cGUsIDE2KTtcbiAgfVxuXG4gIGNvbnN0IG5hbWVBcnI6IHN0cmluZ1tdID0gbmFtZT8uc3BsaXQoJy4nKSB8fCBbXTtcbiAgY29uc3QgZXh0OiBzdHJpbmcgPSBuYW1lQXJyLmxlbmd0aCAmJiBuYW1lQXJyW25hbWVBcnIubGVuZ3RoIC0gMV0gfHwgJyc7XG5cbiAgc3dpdGNoKGV4dCkge1xuICAgIGNhc2UgJ2pwZWcnOlxuICAgIGNhc2UgJ2pwZyc6XG4gICAgICByZXR1cm4gJ2ltYWdlL2pwZWcnO1xuICAgIGNhc2UgJ3BuZyc6XG4gICAgICByZXR1cm4gJ2ltYWdlL3BuZyc7XG4gICAgY2FzZSAnemlwJzpcbiAgICAgIHJldHVybiAnYXBwbGljYXRpb24vemlwJztcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlRmlsZSA9IChmaWxlOiBGaWxlVHlwZSk6IEZpbGVUeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJzZWQgPSBwZXJmb3JtRmlsZVRyYW5zZm9ybWF0aW9uKGZpbGUpO1xuICAgIHJldHVybiBwYXJzZWQ7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIEZpbGVWYWxpZGF0aW9uRXJyb3IpIHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRmlsZVZhbGlkYXRpb25FcnJvcihgRmlsZSBwYXJzaW5nIGZhaWxlZDogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ31gKTtcbiAgfVxufTtcblxuY29uc3QgcGVyZm9ybUZpbGVUcmFuc2Zvcm1hdGlvbiA9IChmaWxlOiBGaWxlVHlwZSk6IEZpbGVUeXBlID0+IHtcbiAgY29uc3Qge1xuICAgIF9pZCxcbiAgICBfa2V5LFxuICAgIGJhc2U2NCxcbiAgICBidWZmZXIsXG4gICAgZGVzY3JpcHRpb24sXG4gICAgZmlsZUlkLFxuICAgIGZpbGVTaXplLFxuICAgIGZpbGVUeXBlLFxuICAgIGlkLFxuICAgIGl0ZW1JZCxcbiAgICBpdGVtVHlwZSxcbiAgICBuYW1lLFxuICAgIHVybCxcbiAgICB1c2VySWRcbiAgfSA9IGZpbGU7XG5cbiAgY29uc3QgdHJhbnNmb3JtZWQgPSB7XG4gICAgLi4ucGFyc2VEb2N1bWVudChmaWxlKSxcbiAgICAuLi4oYmFzZTY0ICYmIHtiYXNlNjR9KSxcbiAgICAuLi4oYnVmZmVyICYmIHtidWZmZXJ9KSxcbiAgICAuLi4oZGVzY3JpcHRpb24gJiYge2Rlc2NyaXB0aW9uOiBwYXJzZVJlYWt0b3JDb250ZW50KGRlc2NyaXB0aW9uKX0pLFxuICAgIC4uLigoX2tleSB8fCBmaWxlSWQpICYmIHtmaWxlSWQ6IHBhcnNlSWQoX2tleSB8fCBmaWxlSWQpfSksXG4gICAgLi4uKChfaWQgfHwgaWQgfHwgX2tleSB8fCBmaWxlSWQpICYmIHtpZDogcGFyc2VBcmFuZ29JZChfaWQgfHwgaWQgfHwgYGZpbGVzLyR7X2tleSB8fCBmaWxlSWR9YCl9KSxcbiAgICAuLi4oZmlsZVNpemUgIT09IHVuZGVmaW5lZCAmJiB7ZmlsZVNpemU6IHBhcnNlTnVtKGZpbGVTaXplKX0pLFxuICAgIC4uLihmaWxlVHlwZSAmJiB7ZmlsZVR5cGU6IGdldEZpbGVUeXBlKGZpbGUpfSksXG4gICAgLi4uKGl0ZW1JZCAmJiB7aXRlbUlkOiBwYXJzZUlkKGl0ZW1JZCl9KSxcbiAgICAuLi4oaXRlbVR5cGUgJiYge2l0ZW1UeXBlOiBwYXJzZVJlYWt0b3JUeXBlKGl0ZW1UeXBlKX0pLFxuICAgIC4uLihuYW1lICYmIHtuYW1lOiBwYXJzZVN0cmluZyhuYW1lLCAxNjApfSksXG4gICAgLi4uKHVybCAmJiB7dXJsOiBwYXJzZVVybCh1cmwpfSksXG4gICAgLi4uKHVzZXJJZCAmJiB7dXNlcklkOiBwYXJzZUlkKHVzZXJJZCl9KVxuICB9O1xuXG4gIHJldHVybiB0cmFuc2Zvcm1lZDtcbn07Il0sIm5hbWVzIjpbInBhcnNlTnVtIiwicGFyc2VBcmFuZ29JZCIsInBhcnNlSWQiLCJwYXJzZVN0cmluZyIsInBhcnNlVXJsIiwieiIsInBhcnNlRG9jdW1lbnQiLCJwYXJzZVJlYWt0b3JDb250ZW50IiwicGFyc2VSZWFrdG9yVHlwZSIsIkZpbGVWYWxpZGF0aW9uRXJyb3IiLCJFcnJvciIsIm1lc3NhZ2UiLCJmaWVsZCIsIm5hbWUiLCJGaWxlSW5wdXRTY2hlbWEiLCJvYmplY3QiLCJfZnJvbSIsInN0cmluZyIsIm9wdGlvbmFsIiwiX2lkIiwiX2tleSIsIl9vbGRSZXYiLCJfcmV2IiwiX3RvIiwiYmFzZTY0IiwiYnVmZmVyIiwiYW55IiwiZGVzY3JpcHRpb24iLCJmaWxlSWQiLCJmaWxlU2l6ZSIsIm51bWJlciIsImZpbGVUeXBlIiwiaXRlbUlkIiwiaXRlbVR5cGUiLCJ1cmwiLCJ1c2VySWQiLCJwYXNzdGhyb3VnaCIsInZhbGlkYXRlRmlsZUlucHV0IiwiZmlsZSIsInZhbGlkYXRlZCIsInBhcnNlIiwiZXJyb3IiLCJab2RFcnJvciIsImZpZWxkRXJyb3JzIiwiaXNzdWVzIiwibWFwIiwiZSIsInBhdGgiLCJqb2luIiwiZm9ybWF0RmlsZU91dHB1dCIsImdldEZpbGVUeXBlIiwibmFtZUFyciIsInNwbGl0IiwiZXh0IiwibGVuZ3RoIiwidW5kZWZpbmVkIiwicGFyc2VGaWxlIiwicGFyc2VkIiwicGVyZm9ybUZpbGVUcmFuc2Zvcm1hdGlvbiIsImlkIiwidHJhbnNmb3JtZWQiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVFBLFFBQVEsUUFBTywrQkFBK0I7QUFDdEQsU0FBUUMsYUFBYSxFQUFFQyxPQUFPLEVBQUVDLFdBQVcsRUFBRUMsUUFBUSxRQUFPLCtCQUErQjtBQUMzRixTQUFRQyxDQUFDLFFBQU8sTUFBTTtBQUd0QixTQUFR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
|
|
@@ -6,3 +6,4 @@ export declare class ImageValidationError extends Error {
|
|
|
6
6
|
export declare const validateImageInput: (image: unknown) => ImageType;
|
|
7
7
|
export declare const formatImageOutput: (image: ImageType) => ImageType;
|
|
8
8
|
export declare const parseImage: (image: ImageType) => ImageType;
|
|
9
|
+
//# sourceMappingURL=imageAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imageAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/imageAdapter.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAC;AAExD,qBAAa,oBAAqB,SAAQ,KAAK;IACT,KAAK,CAAC,EAAE,MAAM;gBAAtC,OAAO,EAAE,MAAM,EAAS,KAAK,CAAC,EAAE,MAAM;CAInD;AAyBD,eAAO,MAAM,kBAAkB,GAAI,OAAO,OAAO,KAAG,SAWnD,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,OAAO,SAAS,KAAG,SAAkB,CAAC;AAExE,eAAO,MAAM,UAAU,GAAI,OAAO,SAAS,KAAG,SAU7C,CAAC"}
|
|
@@ -1,2 +1,112 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { removeEmptyKeys } from '../utils/adapterUtils.js';
|
|
3
|
+
import { parseDocument } from './arangoAdapter.js';
|
|
4
|
+
import { parseNum } from '@nlabs/utils/parsers/numbers';
|
|
5
|
+
import { parseArangoId, parseString, parseUrl } from '@nlabs/utils/parsers/strings';
|
|
6
|
+
export class ImageValidationError extends Error {
|
|
7
|
+
field;
|
|
8
|
+
constructor(message, field){
|
|
9
|
+
super(message), this.field = field;
|
|
10
|
+
this.name = 'ImageValidationError';
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
const ImageInputSchema = z.object({
|
|
14
|
+
bucket: z.string().optional(),
|
|
15
|
+
color: z.string().optional(),
|
|
16
|
+
imageId: z.string().optional(),
|
|
17
|
+
height: z.number().optional(),
|
|
18
|
+
model: z.string().optional(),
|
|
19
|
+
make: z.string().optional(),
|
|
20
|
+
s3Options: z.any().optional(),
|
|
21
|
+
taken: z.number().optional(),
|
|
22
|
+
thumb: z.string().optional(),
|
|
23
|
+
fileType: z.string().optional(),
|
|
24
|
+
type: z.string().optional(),
|
|
25
|
+
url: z.string().optional(),
|
|
26
|
+
width: z.number().optional(),
|
|
27
|
+
name: z.string().optional(),
|
|
28
|
+
_id: z.string().optional(),
|
|
29
|
+
_key: z.string().optional(),
|
|
30
|
+
_rev: z.string().optional(),
|
|
31
|
+
_oldRev: z.string().optional(),
|
|
32
|
+
_from: z.string().optional(),
|
|
33
|
+
_to: z.string().optional()
|
|
34
|
+
}).passthrough();
|
|
35
|
+
export const validateImageInput = (image)=>{
|
|
36
|
+
try {
|
|
37
|
+
const validated = ImageInputSchema.parse(image);
|
|
38
|
+
return validated;
|
|
39
|
+
} catch (error) {
|
|
40
|
+
if (error instanceof z.ZodError) {
|
|
41
|
+
const fieldErrors = error.issues.map((e)=>`${e.path.join('.')}: ${e.message}`).join(', ');
|
|
42
|
+
throw new ImageValidationError(`Image validation failed: ${fieldErrors}`);
|
|
43
|
+
}
|
|
44
|
+
throw error;
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
export const formatImageOutput = (image)=>image;
|
|
48
|
+
export const parseImage = (image)=>{
|
|
49
|
+
try {
|
|
50
|
+
const parsed = performImageTransformation(image);
|
|
51
|
+
return parsed;
|
|
52
|
+
} catch (error) {
|
|
53
|
+
if (error instanceof ImageValidationError) {
|
|
54
|
+
throw error;
|
|
55
|
+
}
|
|
56
|
+
throw new ImageValidationError(`Image parsing failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
const performImageTransformation = (image)=>{
|
|
60
|
+
const { _id, _key, bucket, color, id, imageId, height, model, make, s3Options, taken, thumb, fileType, type, url, width, name } = image;
|
|
61
|
+
const transformed = removeEmptyKeys({
|
|
62
|
+
...parseDocument(image),
|
|
63
|
+
..._key && {
|
|
64
|
+
imageId: parseArangoId(_key)
|
|
65
|
+
},
|
|
66
|
+
...bucket && {
|
|
67
|
+
bucket
|
|
68
|
+
},
|
|
69
|
+
...color && {
|
|
70
|
+
color
|
|
71
|
+
},
|
|
72
|
+
...(_id || id || _key || imageId) && {
|
|
73
|
+
imageId: parseArangoId(_id || id || `images/${_key || imageId}`)
|
|
74
|
+
},
|
|
75
|
+
...height !== undefined && {
|
|
76
|
+
height: parseNum(height)
|
|
77
|
+
},
|
|
78
|
+
...model && {
|
|
79
|
+
model: parseString(model, 160)
|
|
80
|
+
},
|
|
81
|
+
...make && {
|
|
82
|
+
make: parseString(make, 160)
|
|
83
|
+
},
|
|
84
|
+
...s3Options && {
|
|
85
|
+
s3Options
|
|
86
|
+
},
|
|
87
|
+
...taken !== undefined && {
|
|
88
|
+
taken: parseNum(taken)
|
|
89
|
+
},
|
|
90
|
+
...thumb && {
|
|
91
|
+
thumb
|
|
92
|
+
},
|
|
93
|
+
...fileType && {
|
|
94
|
+
fileType: parseString(fileType, 16)
|
|
95
|
+
},
|
|
96
|
+
...type && {
|
|
97
|
+
type: parseString(type, 16)
|
|
98
|
+
},
|
|
99
|
+
...url && {
|
|
100
|
+
url: parseUrl(url)
|
|
101
|
+
},
|
|
102
|
+
...width !== undefined && {
|
|
103
|
+
width: parseNum(width)
|
|
104
|
+
},
|
|
105
|
+
...name && {
|
|
106
|
+
name: parseString(name, 160)
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
return transformed;
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL2FkYXB0ZXJzL2ltYWdlQWRhcHRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3p9IGZyb20gJ3pvZCc7XG5cbmltcG9ydCB7cmVtb3ZlRW1wdHlLZXlzfSBmcm9tICcuLi91dGlscy9hZGFwdGVyVXRpbHMuanMnO1xuaW1wb3J0IHtwYXJzZURvY3VtZW50fSBmcm9tICcuL2FyYW5nb0FkYXB0ZXIuanMnO1xuXG5pbXBvcnQge3BhcnNlTnVtfSBmcm9tICdAbmxhYnMvdXRpbHMvcGFyc2Vycy9udW1iZXJzJztcbmltcG9ydCB7cGFyc2VBcmFuZ29JZCwgcGFyc2VTdHJpbmcsIHBhcnNlVXJsfSBmcm9tICdAbmxhYnMvdXRpbHMvcGFyc2Vycy9zdHJpbmdzJztcbmltcG9ydCB0eXBlIHtJbWFnZVR5cGV9IGZyb20gJy4uL3R5cGVzL2ltYWdlcy50eXBlcy5qcyc7XG5cbmV4cG9ydCBjbGFzcyBJbWFnZVZhbGlkYXRpb25FcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nLCBwdWJsaWMgZmllbGQ/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgICB0aGlzLm5hbWUgPSAnSW1hZ2VWYWxpZGF0aW9uRXJyb3InO1xuICB9XG59XG5cbmNvbnN0IEltYWdlSW5wdXRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGJ1Y2tldDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBjb2xvcjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBpbWFnZUlkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGhlaWdodDogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBtb2RlbDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBtYWtlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHMzT3B0aW9uczogei5hbnkoKS5vcHRpb25hbCgpLFxuICB0YWtlbjogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICB0aHVtYjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBmaWxlVHlwZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB0eXBlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHVybDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB3aWR0aDogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBuYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9pZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfa2V5OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9yZXY6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX29sZFJldjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfZnJvbTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfdG86IHouc3RyaW5nKCkub3B0aW9uYWwoKVxufSkucGFzc3Rocm91Z2goKTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlSW1hZ2VJbnB1dCA9IChpbWFnZTogdW5rbm93bik6IEltYWdlVHlwZSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgdmFsaWRhdGVkID0gSW1hZ2VJbnB1dFNjaGVtYS5wYXJzZShpbWFnZSk7XG4gICAgcmV0dXJuIHZhbGlkYXRlZCBhcyBJbWFnZVR5cGU7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIHouWm9kRXJyb3IpIHtcbiAgICAgIGNvbnN0IGZpZWxkRXJyb3JzID0gZXJyb3IuaXNzdWVzLm1hcCgoZSkgPT4gYCR7ZS5wYXRoLmpvaW4oJy4nKX06ICR7ZS5tZXNzYWdlfWApLmpvaW4oJywgJyk7XG4gICAgICB0aHJvdyBuZXcgSW1hZ2VWYWxpZGF0aW9uRXJyb3IoYEltYWdlIHZhbGlkYXRpb24gZmFpbGVkOiAke2ZpZWxkRXJyb3JzfWApO1xuICAgIH1cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdEltYWdlT3V0cHV0ID0gKGltYWdlOiBJbWFnZVR5cGUpOiBJbWFnZVR5cGUgPT4gaW1hZ2U7XG5cbmV4cG9ydCBjb25zdCBwYXJzZUltYWdlID0gKGltYWdlOiBJbWFnZVR5cGUpOiBJbWFnZVR5cGUgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHBhcnNlZCA9IHBlcmZvcm1JbWFnZVRyYW5zZm9ybWF0aW9uKGltYWdlKTtcbiAgICByZXR1cm4gcGFyc2VkO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiBJbWFnZVZhbGlkYXRpb25FcnJvcikge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICAgIHRocm93IG5ldyBJbWFnZVZhbGlkYXRpb25FcnJvcihgSW1hZ2UgcGFyc2luZyBmYWlsZWQ6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCk7XG4gIH1cbn07XG5cbmNvbnN0IHBlcmZvcm1JbWFnZVRyYW5zZm9ybWF0aW9uID0gKGltYWdlOiBJbWFnZVR5cGUpOiBJbWFnZVR5cGUgPT4ge1xuICBjb25zdCB7XG4gICAgX2lkLFxuICAgIF9rZXksXG4gICAgYnVja2V0LFxuICAgIGNvbG9yLFxuICAgIGlkLFxuICAgIGltYWdlSWQsXG4gICAgaGVpZ2h0LFxuICAgIG1vZGVsLFxuICAgIG1ha2UsXG4gICAgczNPcHRpb25zLFxuICAgIHRha2VuLFxuICAgIHRodW1iLFxuICAgIGZpbGVUeXBlLFxuICAgIHR5cGUsXG4gICAgdXJsLFxuICAgIHdpZHRoLFxuICAgIG5hbWVcbiAgfSA9IGltYWdlO1xuXG4gIGNvbnN0IHRyYW5zZm9ybWVkID0gcmVtb3ZlRW1wdHlLZXlzKHtcbiAgICAuLi5wYXJzZURvY3VtZW50KGltYWdlKSxcbiAgICAuLi4oX2tleSAmJiB7aW1hZ2VJZDogcGFyc2VBcmFuZ29JZChfa2V5KX0pLFxuICAgIC4uLihidWNrZXQgJiYge2J1Y2tldH0pLFxuICAgIC4uLihjb2xvciAmJiB7Y29sb3J9KSxcbiAgICAuLi4oKF9pZCB8fCBpZCB8fCBfa2V5IHx8IGltYWdlSWQpICYmIHtpbWFnZUlkOiBwYXJzZUFyYW5nb0lkKF9pZCB8fCBpZCB8fCBgaW1hZ2VzLyR7X2tleSB8fCBpbWFnZUlkfWApfSksXG4gICAgLi4uKGhlaWdodCAhPT0gdW5kZWZpbmVkICYmIHtoZWlnaHQ6IHBhcnNlTnVtKGhlaWdodCl9KSxcbiAgICAuLi4obW9kZWwgJiYge21vZGVsOiBwYXJzZVN0cmluZyhtb2RlbCwgMTYwKX0pLFxuICAgIC4uLihtYWtlICYmIHttYWtlOiBwYXJzZVN0cmluZyhtYWtlLCAxNjApfSksXG4gICAgLi4uKHMzT3B0aW9ucyAmJiB7czNPcHRpb25zfSksXG4gICAgLi4uKHRha2VuICE9PSB1bmRlZmluZWQgJiYge3Rha2VuOiBwYXJzZU51bSh0YWtlbil9KSxcbiAgICAuLi4odGh1bWIgJiYge3RodW1ifSksXG4gICAgLi4uKGZpbGVUeXBlICYmIHtmaWxlVHlwZTogcGFyc2VTdHJpbmcoZmlsZVR5cGUsIDE2KX0pLFxuICAgIC4uLih0eXBlICYmIHt0eXBlOiBwYXJzZVN0cmluZyh0eXBlLCAxNil9KSxcbiAgICAuLi4odXJsICYmIHt1cmw6IHBhcnNlVXJsKHVybCl9KSxcbiAgICAuLi4od2lkdGggIT09IHVuZGVmaW5lZCAmJiB7d2lkdGg6IHBhcnNlTnVtKHdpZHRoKX0pLFxuICAgIC4uLihuYW1lICYmIHtuYW1lOiBwYXJzZVN0cmluZyhuYW1lLCAxNjApfSlcbiAgfSk7XG5cbiAgcmV0dXJuIHRyYW5zZm9ybWVkO1xufTtcblxuIl0sIm5hbWVzIjpbInoiLCJyZW1vdmVFbXB0eUtleXMiLCJwYXJzZURvY3VtZW50IiwicGFyc2VOdW0iLCJwYXJzZUFyYW5nb0lkIiwicGFyc2VTdHJpbmciLCJwYXJzZVVybCIsIkltYWdlVmFsaWRhdGlvbkVycm9yIiwiRXJyb3IiLCJtZXNzYWdlIiwiZmllbGQiLCJuYW1lIiwiSW1hZ2VJbnB1dFNjaGVtYSIsIm9iamVjdCIsImJ1Y2tldCIsInN0cmluZyIsIm9wdGlvbmFsIiwiY29sb3IiLCJpbWFnZUlkIiwiaGVpZ2h0IiwibnVtYmVyIiwibW9kZWwiLCJtYWtlIiwiczNPcHRpb25zIiwiYW55IiwidGFrZW4iLCJ0aHVtYiIsImZpbGVUeXBlIiwidHlwZSIsInVybCIsIndpZHRoIiwiX2lkIiwiX2tleSIsIl9yZXYiLCJfb2xkUmV2IiwiX2Zyb20iLCJfdG8iLCJwYXNzdGhyb3VnaCIsInZhbGlkYXRlSW1hZ2VJbnB1dCIsImltYWdlIiwidmFsaWRhdGVkIiwicGFyc2UiLCJlcnJvciIsIlpvZEVycm9yIiwiZmllbGRFcnJvcnMiLCJpc3N1ZXMiLCJtYXAiLCJlIiwicGF0aCIsImpvaW4iLCJmb3JtYXRJbWFnZU91dHB1dCIsInBhcnNlSW1hZ2UiLCJwYXJzZWQiLCJwZXJmb3JtSW1hZ2VUcmFuc2Zvcm1hdGlvbiIsImlkIiwidHJhbnNmb3JtZWQiLCJ1bmRlZmluZWQiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVFBLENBQUMsUUFBTyxNQUFNO0FBRXRCLFNBQVFDLGVBQWUsUUFBTywyQkFBMkI7QUFDekQsU0FBUUMsYUFBYSxRQUFPLHFCQUFxQjtBQUVqRCxTQUFRQyxRQUFRLFFBQU8sK0JBQStCO0FBQ3RELFNBQVFDLGFBQWEsRUFBRUMsV0FBVyxFQUFFQyxRQUFRLFFBQU8sK0JBQStCO0FBR2xGLE9BQU8sTUFBTUMsNkJBQTZCQzs7SUFDeEMsWUFBWUMsT0FBZSxFQUFFLEFBQU9DLEtBQWMsQ0FBRTtRQUNsRCxLQUFLLENBQUNELGVBRDRCQyxRQUFBQTtRQUVsQyxJQUFJLENBQUNDLElBQUksR0FBRztJQUNkO0FBQ0Y7QUFFQSxNQUFNQyxtQkFBbUJaLEVBQUVhLE1BQU0sQ0FBQztJQUNoQ0MsUUFBUWQsRUFBRWUsTUFBTSxHQUFHQyxRQUFRO0lBQzNCQyxPQUFPakIsRUFBRWUsTUFBTSxHQUFHQyxRQUFRO0lBQzFCRSxTQUFTbEIsRUFBRWUsTUFBTSxHQUFHQyxRQUFRO0lBQzVCRyxRQUFRbkIsRUFBRW9CLE1BQU0sR0FB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
|
package/lib/adapters/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC"}
|
package/lib/adapters/index.js
CHANGED
|
@@ -1,2 +1,11 @@
|
|
|
1
|
-
export*from
|
|
2
|
-
|
|
1
|
+
export * from './arangoAdapter.js';
|
|
2
|
+
export * from './contentAdapter.js';
|
|
3
|
+
export * from './fileAdapter.js';
|
|
4
|
+
export * from './imageAdapter.js';
|
|
5
|
+
export * from './messageAdapter.js';
|
|
6
|
+
export * from './postAdapter.js';
|
|
7
|
+
export * from './reaktorAdapter.js';
|
|
8
|
+
export * from './tagAdapter.js';
|
|
9
|
+
export * from './userAdapter.js';
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL2FkYXB0ZXJzL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXJhbmdvQWRhcHRlci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRlbnRBZGFwdGVyLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsZUFkYXB0ZXIuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9pbWFnZUFkYXB0ZXIuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlQWRhcHRlci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3Bvc3RBZGFwdGVyLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vcmVha3RvckFkYXB0ZXIuanMnO1xuZXhwb3J0ICogZnJvbSAnLi90YWdBZGFwdGVyLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vdXNlckFkYXB0ZXIuanMnO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCO0FBQ25DLGNBQWMsc0JBQXNCO0FBQ3BDLGNBQWMsbUJBQW1CO0FBQ2pDLGNBQWMsb0JBQW9CO0FBQ2xDLGNBQWMsc0JBQXNCO0FBQ3BDLGNBQWMsbUJBQW1CO0FBQ2pDLGNBQWMsc0JBQXNCO0FBQ3BDLGNBQWMsa0JBQWtCO0FBQ2hDLGNBQWMsbUJBQW1CIn0=
|
|
@@ -6,3 +6,4 @@ export declare class MessageValidationError extends Error {
|
|
|
6
6
|
export declare const validateMessageInput: (message: unknown) => MessageType;
|
|
7
7
|
export declare const formatMessageOutput: (message: MessageType) => MessageType;
|
|
8
8
|
export declare const parseMessage: (message: MessageType) => MessageType;
|
|
9
|
+
//# sourceMappingURL=messageAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messageAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/messageAdapter.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,4BAA4B,CAAC;AAE5D,qBAAa,sBAAuB,SAAQ,KAAK;IACX,KAAK,CAAC,EAAE,MAAM;gBAAtC,OAAO,EAAE,MAAM,EAAS,KAAK,CAAC,EAAE,MAAM;CAInD;AAqBD,eAAO,MAAM,oBAAoB,GAAI,SAAS,OAAO,KAAG,WAWvD,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,SAAS,WAAW,KAAG,WAAsB,CAAC;AAElF,eAAO,MAAM,YAAY,GAAI,SAAS,WAAW,KAAG,WAUnD,CAAC"}
|
|
@@ -1,2 +1,82 @@
|
|
|
1
|
-
import{parseArangoId
|
|
2
|
-
|
|
1
|
+
import { parseArangoId, parseId } from '@nlabs/utils/parsers/strings';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { removeEmptyKeys } from '../utils/adapterUtils.js';
|
|
4
|
+
import { parseDocument } from './arangoAdapter.js';
|
|
5
|
+
import { parseFile } from './fileAdapter.js';
|
|
6
|
+
import { parseImage } from './imageAdapter.js';
|
|
7
|
+
export class MessageValidationError extends Error {
|
|
8
|
+
field;
|
|
9
|
+
constructor(message, field){
|
|
10
|
+
super(message), this.field = field;
|
|
11
|
+
this.name = 'MessageValidationError';
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
const MessageInputSchema = z.object({
|
|
15
|
+
content: z.string().optional(),
|
|
16
|
+
conversationId: z.string().optional(),
|
|
17
|
+
files: z.array(z.any()).optional(),
|
|
18
|
+
images: z.array(z.any()).optional(),
|
|
19
|
+
itemId: z.string().optional(),
|
|
20
|
+
itemType: z.string().optional(),
|
|
21
|
+
messageId: z.string().optional(),
|
|
22
|
+
read: z.boolean().optional(),
|
|
23
|
+
saved: z.boolean().optional(),
|
|
24
|
+
userId: z.string().optional(),
|
|
25
|
+
_id: z.string().optional(),
|
|
26
|
+
_key: z.string().optional(),
|
|
27
|
+
_rev: z.string().optional(),
|
|
28
|
+
_oldRev: z.string().optional(),
|
|
29
|
+
_from: z.string().optional(),
|
|
30
|
+
_to: z.string().optional()
|
|
31
|
+
}).passthrough();
|
|
32
|
+
export const validateMessageInput = (message)=>{
|
|
33
|
+
try {
|
|
34
|
+
const validated = MessageInputSchema.parse(message);
|
|
35
|
+
return validated;
|
|
36
|
+
} catch (error) {
|
|
37
|
+
if (error instanceof z.ZodError) {
|
|
38
|
+
const fieldErrors = error.issues.map((e)=>`${e.path.join('.')}: ${e.message}`).join(', ');
|
|
39
|
+
throw new MessageValidationError(`Message validation failed: ${fieldErrors}`);
|
|
40
|
+
}
|
|
41
|
+
throw error;
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
export const formatMessageOutput = (message)=>message;
|
|
45
|
+
export const parseMessage = (message)=>{
|
|
46
|
+
try {
|
|
47
|
+
const parsed = performMessageTransformation(message);
|
|
48
|
+
return parsed;
|
|
49
|
+
} catch (error) {
|
|
50
|
+
if (error instanceof MessageValidationError) {
|
|
51
|
+
throw error;
|
|
52
|
+
}
|
|
53
|
+
throw new MessageValidationError(`Message parsing failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
const performMessageTransformation = (message)=>{
|
|
57
|
+
const { _id, _key, content, files, id, images, messageId, saved } = message;
|
|
58
|
+
const transformed = removeEmptyKeys({
|
|
59
|
+
...parseDocument(message),
|
|
60
|
+
...content && {
|
|
61
|
+
content
|
|
62
|
+
},
|
|
63
|
+
...Array.isArray(files) && {
|
|
64
|
+
files: files.map(parseFile)
|
|
65
|
+
},
|
|
66
|
+
...Array.isArray(images) && {
|
|
67
|
+
images: images.map(parseImage)
|
|
68
|
+
},
|
|
69
|
+
..._key && {
|
|
70
|
+
messageId: parseId(_key)
|
|
71
|
+
},
|
|
72
|
+
...(_id || id || _key || messageId) && {
|
|
73
|
+
messageId: parseArangoId(_id || id || `messages/${_key || messageId}`)
|
|
74
|
+
},
|
|
75
|
+
...saved !== undefined && {
|
|
76
|
+
saved: !!saved
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
return transformed;
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL2FkYXB0ZXJzL21lc3NhZ2VBZGFwdGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7cGFyc2VBcmFuZ29JZCwgcGFyc2VJZH0gZnJvbSAnQG5sYWJzL3V0aWxzL3BhcnNlcnMvc3RyaW5ncyc7XG5pbXBvcnQge3p9IGZyb20gJ3pvZCc7XG5cbmltcG9ydCB7cmVtb3ZlRW1wdHlLZXlzfSBmcm9tICcuLi91dGlscy9hZGFwdGVyVXRpbHMuanMnO1xuaW1wb3J0IHtwYXJzZURvY3VtZW50fSBmcm9tICcuL2FyYW5nb0FkYXB0ZXIuanMnO1xuaW1wb3J0IHtwYXJzZUZpbGV9IGZyb20gJy4vZmlsZUFkYXB0ZXIuanMnO1xuaW1wb3J0IHtwYXJzZUltYWdlfSBmcm9tICcuL2ltYWdlQWRhcHRlci5qcyc7XG5cbmltcG9ydCB0eXBlIHtNZXNzYWdlVHlwZX0gZnJvbSAnLi4vdHlwZXMvbWVzc2FnZXMudHlwZXMuanMnO1xuXG5leHBvcnQgY2xhc3MgTWVzc2FnZVZhbGlkYXRpb25FcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nLCBwdWJsaWMgZmllbGQ/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgICB0aGlzLm5hbWUgPSAnTWVzc2FnZVZhbGlkYXRpb25FcnJvcic7XG4gIH1cbn1cblxuY29uc3QgTWVzc2FnZUlucHV0U2NoZW1hID0gei5vYmplY3Qoe1xuICBjb250ZW50OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGNvbnZlcnNhdGlvbklkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGZpbGVzOiB6LmFycmF5KHouYW55KCkpLm9wdGlvbmFsKCksXG4gIGltYWdlczogei5hcnJheSh6LmFueSgpKS5vcHRpb25hbCgpLFxuICBpdGVtSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgaXRlbVR5cGU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgbWVzc2FnZUlkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHJlYWQ6IHouYm9vbGVhbigpLm9wdGlvbmFsKCksXG4gIHNhdmVkOiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLFxuICB1c2VySWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2lkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9rZXk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX3Jldjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfb2xkUmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9mcm9tOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF90bzogei5zdHJpbmcoKS5vcHRpb25hbCgpXG59KS5wYXNzdGhyb3VnaCgpO1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVNZXNzYWdlSW5wdXQgPSAobWVzc2FnZTogdW5rbm93bik6IE1lc3NhZ2VUeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCB2YWxpZGF0ZWQgPSBNZXNzYWdlSW5wdXRTY2hlbWEucGFyc2UobWVzc2FnZSk7XG4gICAgcmV0dXJuIHZhbGlkYXRlZCBhcyBNZXNzYWdlVHlwZTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2Ygei5ab2RFcnJvcikge1xuICAgICAgY29uc3QgZmllbGRFcnJvcnMgPSBlcnJvci5pc3N1ZXMubWFwKChlKSA9PiBgJHtlLnBhdGguam9pbignLicpfTogJHtlLm1lc3NhZ2V9YCkuam9pbignLCAnKTtcbiAgICAgIHRocm93IG5ldyBNZXNzYWdlVmFsaWRhdGlvbkVycm9yKGBNZXNzYWdlIHZhbGlkYXRpb24gZmFpbGVkOiAke2ZpZWxkRXJyb3JzfWApO1xuICAgIH1cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdE1lc3NhZ2VPdXRwdXQgPSAobWVzc2FnZTogTWVzc2FnZVR5cGUpOiBNZXNzYWdlVHlwZSA9PiBtZXNzYWdlO1xuXG5leHBvcnQgY29uc3QgcGFyc2VNZXNzYWdlID0gKG1lc3NhZ2U6IE1lc3NhZ2VUeXBlKTogTWVzc2FnZVR5cGUgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHBhcnNlZCA9IHBlcmZvcm1NZXNzYWdlVHJhbnNmb3JtYXRpb24obWVzc2FnZSk7XG4gICAgcmV0dXJuIHBhcnNlZDtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2YgTWVzc2FnZVZhbGlkYXRpb25FcnJvcikge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICAgIHRocm93IG5ldyBNZXNzYWdlVmFsaWRhdGlvbkVycm9yKGBNZXNzYWdlIHBhcnNpbmcgZmFpbGVkOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWApO1xuICB9XG59O1xuXG5jb25zdCBwZXJmb3JtTWVzc2FnZVRyYW5zZm9ybWF0aW9uID0gKG1lc3NhZ2U6IE1lc3NhZ2VUeXBlKTogTWVzc2FnZVR5cGUgPT4ge1xuICBjb25zdCB7XG4gICAgX2lkLFxuICAgIF9rZXksXG4gICAgY29udGVudCxcbiAgICBmaWxlcyxcbiAgICBpZCxcbiAgICBpbWFnZXMsXG4gICAgbWVzc2FnZUlkLFxuICAgIHNhdmVkXG4gIH0gPSBtZXNzYWdlO1xuXG4gIGNvbnN0IHRyYW5zZm9ybWVkID0gcmVtb3ZlRW1wdHlLZXlzKHtcbiAgICAuLi5wYXJzZURvY3VtZW50KG1lc3NhZ2UpLFxuICAgIC4uLihjb250ZW50ICYmIHtjb250ZW50fSksXG4gICAgLi4uKEFycmF5LmlzQXJyYXkoZmlsZXMpICYmIHtmaWxlczogZmlsZXMubWFwKHBhcnNlRmlsZSl9KSxcbiAgICAuLi4oQXJyYXkuaXNBcnJheShpbWFnZXMpICYmIHtpbWFnZXM6IGltYWdlcy5tYXAocGFyc2VJbWFnZSl9KSxcbiAgICAuLi4oX2tleSAmJiB7bWVzc2FnZUlkOiBwYXJzZUlkKF9rZXkpfSksXG4gICAgLi4uKChfaWQgfHwgaWQgfHwgX2tleSB8fCBtZXNzYWdlSWQpICYmIHttZXNzYWdlSWQ6IHBhcnNlQXJhbmdvSWQoX2lkIHx8IGlkIHx8IGBtZXNzYWdlcy8ke19rZXkgfHwgbWVzc2FnZUlkfWApfSksXG4gICAgLi4uKHNhdmVkICE9PSB1bmRlZmluZWQgJiYge3NhdmVkOiAhIXNhdmVkfSlcbiAgfSk7XG5cbiAgcmV0dXJuIHRyYW5zZm9ybWVkO1xufTtcblxuIl0sIm5hbWVzIjpbInBhcnNlQXJhbmdvSWQiLCJwYXJzZUlkIiwieiIsInJlbW92ZUVtcHR5S2V5cyIsInBhcnNlRG9jdW1lbnQiLCJwYXJzZUZpbGUiLCJwYXJzZUltYWdlIiwiTWVzc2FnZVZhbGlkYXRpb25FcnJvciIsIkVycm9yIiwibWVzc2FnZSIsImZpZWxkIiwibmFtZSIsIk1lc3NhZ2VJbnB1dFNjaGVtYSIsIm9iamVjdCIsImNvbnRlbnQiLCJzdHJpbmciLCJvcHRpb25hbCIsImNvbnZlcnNhdGlvbklkIiwiZmlsZXMiLCJhcnJheSIsImFueSIsImltYWdlcyIsIml0ZW1JZCIsIml0ZW1UeXBlIiwibWVzc2FnZUlkIiwicmVhZCIsImJvb2xlYW4iLCJzYXZlZCIsInVzZXJJZCIsIl9pZCIsIl9rZXkiLCJfcmV2IiwiX29sZFJldiIsIl9mcm9tIiwiX3RvIiwicGFzc3Rocm91Z2giLCJ2YWxpZGF0ZU1lc3NhZ2VJbnB1dCIsInZhbGlkYXRlZCIsInBhcnNlIiwiZXJyb3IiLCJab2RFcnJvciIsImZpZWxkRXJyb3JzIiwiaXNzdWVzIiwibWFwIiwiZSIsInBhdGgiLCJqb2luIiwiZm9ybWF0TWVzc2FnZU91dHB1dCIsInBhcnNlTWVzc2FnZSIsInBhcnNlZCIsInBlcmZvcm1NZXNzYWdlVHJhbnNmb3JtYXRpb24iLCJpZCIsInRyYW5zZm9ybWVkIiwiQXJyYXkiLCJpc0FycmF5IiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFRQSxhQUFhLEVBQUVDLE9BQU8sUUFBTywrQkFBK0I7QUFDcEUsU0FB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
|
|
@@ -6,3 +6,4 @@ export declare class PostValidationError extends Error {
|
|
|
6
6
|
export declare const validatePostInput: (post: unknown) => PostType;
|
|
7
7
|
export declare const formatPostOutput: (post: PostType) => PostType;
|
|
8
8
|
export declare const parsePost: (post: PostType) => PostType;
|
|
9
|
+
//# sourceMappingURL=postAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/postAdapter.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAC;AAItD,qBAAa,mBAAoB,SAAQ,KAAK;IACR,KAAK,CAAC,EAAE,MAAM;gBAAtC,OAAO,EAAE,MAAM,EAAS,KAAK,CAAC,EAAE,MAAM;CAInD;AA0BD,eAAO,MAAM,iBAAiB,GAAI,MAAM,OAAO,KAAG,QAWjD,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,MAAM,QAAQ,KAAG,QAAgB,CAAC;AAEnE,eAAO,MAAM,SAAS,GAAI,MAAM,QAAQ,KAAG,QAU1C,CAAC"}
|