@nlabs/reaktor 0.10.5 → 0.10.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/actions/apps.d.ts +1 -0
- package/lib/actions/apps.d.ts.map +1 -0
- package/lib/actions/apps.js +221 -0
- package/lib/actions/connections.d.ts +1 -0
- package/lib/actions/connections.d.ts.map +1 -0
- package/lib/actions/connections.js +62 -0
- package/lib/actions/content.d.ts +1 -0
- package/lib/actions/content.d.ts.map +1 -0
- package/lib/actions/content.js +240 -0
- package/lib/actions/conversations.d.ts +1 -0
- package/lib/actions/conversations.d.ts.map +1 -0
- package/lib/actions/conversations.js +335 -0
- package/lib/actions/dynamodb.d.ts +1 -0
- package/lib/actions/dynamodb.d.ts.map +1 -0
- package/lib/actions/dynamodb.js +119 -0
- package/lib/actions/email.d.ts +1 -0
- package/lib/actions/email.d.ts.map +1 -0
- package/lib/actions/email.js +56 -0
- package/lib/actions/files.d.ts +1 -0
- package/lib/actions/files.d.ts.map +1 -0
- package/lib/actions/files.js +226 -0
- package/lib/actions/groups.d.ts +1 -0
- package/lib/actions/groups.d.ts.map +1 -0
- package/lib/actions/groups.js +267 -0
- package/lib/actions/images.d.ts +1 -0
- package/lib/actions/images.d.ts.map +1 -0
- package/lib/actions/images.js +723 -0
- package/lib/actions/index.d.ts +1 -0
- package/lib/actions/index.d.ts.map +1 -0
- package/lib/actions/index.js +29 -0
- package/lib/actions/ios.d.ts +1 -0
- package/lib/actions/ios.d.ts.map +1 -0
- package/lib/actions/ios.js +230 -0
- package/lib/actions/locations.d.ts +1 -0
- package/lib/actions/locations.d.ts.map +1 -0
- package/lib/actions/locations.js +111 -0
- package/lib/actions/messages.d.ts +1 -0
- package/lib/actions/messages.d.ts.map +1 -0
- package/lib/actions/messages.js +167 -0
- package/lib/actions/notifications.d.ts +3 -2
- package/lib/actions/notifications.d.ts.map +1 -0
- package/lib/actions/notifications.js +37 -0
- package/lib/actions/payments.d.ts +1 -0
- package/lib/actions/payments.d.ts.map +1 -0
- package/lib/actions/payments.js +449 -0
- package/lib/actions/posts.d.ts +1 -0
- package/lib/actions/posts.d.ts.map +1 -0
- package/lib/actions/posts.js +608 -0
- package/lib/actions/profiles.d.ts +1 -0
- package/lib/actions/profiles.d.ts.map +1 -0
- package/lib/actions/profiles.js +58 -0
- package/lib/actions/reactions.d.ts +1 -0
- package/lib/actions/reactions.d.ts.map +1 -0
- package/lib/actions/reactions.js +286 -0
- package/lib/actions/s3.d.ts +1 -0
- package/lib/actions/s3.d.ts.map +1 -0
- package/lib/actions/s3.js +102 -0
- package/lib/actions/search.d.ts +1 -0
- package/lib/actions/search.d.ts.map +1 -0
- package/lib/actions/search.js +81 -0
- package/lib/actions/sms.d.ts +1 -0
- package/lib/actions/sms.d.ts.map +1 -0
- package/lib/actions/sms.js +52 -0
- package/lib/actions/statistics.d.ts +1 -0
- package/lib/actions/statistics.d.ts.map +1 -0
- package/lib/actions/statistics.js +43 -0
- package/lib/actions/subscriptions.d.ts +1 -0
- package/lib/actions/subscriptions.d.ts.map +1 -0
- package/lib/actions/subscriptions.js +202 -0
- package/lib/actions/tags.d.ts +1 -0
- package/lib/actions/tags.d.ts.map +1 -0
- package/lib/actions/tags.js +263 -0
- package/lib/actions/users.d.ts +1 -0
- package/lib/actions/users.d.ts.map +1 -0
- package/lib/actions/users.js +802 -0
- package/lib/actions/videos.d.ts +1 -0
- package/lib/actions/videos.d.ts.map +1 -0
- package/lib/actions/videos.js +423 -0
- package/lib/actions/websockets.d.ts +1 -0
- package/lib/actions/websockets.d.ts.map +1 -0
- package/lib/actions/websockets.js +164 -0
- package/lib/adapters/arangoAdapter.d.ts +1 -0
- package/lib/adapters/arangoAdapter.d.ts.map +1 -0
- package/lib/adapters/arangoAdapter.js +70 -0
- package/lib/adapters/contentAdapter.d.ts +1 -0
- package/lib/adapters/contentAdapter.d.ts.map +1 -0
- package/lib/adapters/contentAdapter.js +108 -0
- package/lib/adapters/fileAdapter.d.ts +1 -0
- package/lib/adapters/fileAdapter.d.ts.map +1 -0
- package/lib/adapters/fileAdapter.js +119 -0
- package/lib/adapters/imageAdapter.d.ts +1 -0
- package/lib/adapters/imageAdapter.d.ts.map +1 -0
- package/lib/adapters/imageAdapter.js +112 -0
- package/lib/adapters/index.d.ts +1 -0
- package/lib/adapters/index.d.ts.map +1 -0
- package/lib/adapters/index.js +11 -0
- package/lib/adapters/messageAdapter.d.ts +1 -0
- package/lib/adapters/messageAdapter.d.ts.map +1 -0
- package/lib/adapters/messageAdapter.js +82 -0
- package/lib/adapters/postAdapter.d.ts +1 -0
- package/lib/adapters/postAdapter.d.ts.map +1 -0
- package/lib/adapters/postAdapter.js +117 -0
- package/lib/adapters/reaktorAdapter.d.ts +1 -0
- package/lib/adapters/reaktorAdapter.d.ts.map +1 -0
- package/lib/adapters/reaktorAdapter.js +59 -0
- package/lib/adapters/tagAdapter.d.ts +1 -0
- package/lib/adapters/tagAdapter.d.ts.map +1 -0
- package/lib/adapters/tagAdapter.js +99 -0
- package/lib/adapters/userAdapter.d.ts +1 -0
- package/lib/adapters/userAdapter.d.ts.map +1 -0
- package/lib/adapters/userAdapter.js +264 -0
- package/lib/config.d.ts +1 -0
- package/lib/config.d.ts.map +1 -0
- package/lib/config.js +161 -0
- package/lib/handlers/graphqlHandler.d.ts +1 -0
- package/lib/handlers/graphqlHandler.d.ts.map +1 -0
- package/lib/handlers/graphqlHandler.js +118 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +18 -0
- package/lib/lambdas/actions/websockets.d.ts +1 -0
- package/lib/lambdas/actions/websockets.d.ts.map +1 -0
- package/lib/lambdas/actions/websockets.js +105 -0
- package/lib/lambdas/authorizer.d.ts +1 -0
- package/lib/lambdas/authorizer.d.ts.map +1 -0
- package/lib/lambdas/authorizer.js +41 -0
- package/lib/lambdas/connection.d.ts +1 -0
- package/lib/lambdas/connection.d.ts.map +1 -0
- package/lib/lambdas/connection.js +85 -0
- package/lib/lambdas/utils/message.d.ts +1 -0
- package/lib/lambdas/utils/message.d.ts.map +1 -0
- package/lib/lambdas/utils/message.js +20 -0
- package/lib/lambdas/utils/websocket.d.ts +1 -0
- package/lib/lambdas/utils/websocket.d.ts.map +1 -0
- package/lib/lambdas/utils/websocket.js +78 -0
- package/lib/mocks/conversation.d.ts +1 -0
- package/lib/mocks/conversation.d.ts.map +1 -0
- package/lib/mocks/conversation.js +10 -0
- package/lib/mocks/file.d.ts +1 -0
- package/lib/mocks/file.d.ts.map +1 -0
- package/lib/mocks/file.js +13 -0
- package/lib/mocks/group.d.ts +1 -0
- package/lib/mocks/group.d.ts.map +1 -0
- package/lib/mocks/group.js +20 -0
- package/lib/mocks/image.d.ts +1 -0
- package/lib/mocks/image.d.ts.map +1 -0
- package/lib/mocks/image.js +17 -0
- package/lib/mocks/post.d.ts +1 -0
- package/lib/mocks/post.d.ts.map +1 -0
- package/lib/mocks/post.js +28 -0
- package/lib/mocks/tag.d.ts +1 -0
- package/lib/mocks/tag.d.ts.map +1 -0
- package/lib/mocks/tag.js +12 -0
- package/lib/mocks/user.d.ts +1 -0
- package/lib/mocks/user.d.ts.map +1 -0
- package/lib/mocks/user.js +61 -0
- package/lib/mocks/video.d.ts +1 -0
- package/lib/mocks/video.d.ts.map +1 -0
- package/lib/mocks/video.js +17 -0
- package/lib/mutations/content.d.ts +1 -0
- package/lib/mutations/content.d.ts.map +1 -0
- package/lib/mutations/content.js +27 -0
- package/lib/mutations/index.d.ts +1 -0
- package/lib/mutations/index.d.ts.map +1 -0
- package/lib/mutations/index.js +29 -0
- package/lib/mutations/locations.d.ts +1 -0
- package/lib/mutations/locations.d.ts.map +1 -0
- package/lib/mutations/locations.js +22 -0
- package/lib/mutations/messages.d.ts +1 -0
- package/lib/mutations/messages.d.ts.map +1 -0
- package/lib/mutations/messages.js +75 -0
- package/lib/mutations/posts.d.ts +1 -0
- package/lib/mutations/posts.d.ts.map +1 -0
- package/lib/mutations/posts.js +31 -0
- package/lib/mutations/profiles.d.ts +1 -0
- package/lib/mutations/profiles.d.ts.map +1 -0
- package/lib/mutations/profiles.js +78 -0
- package/lib/mutations/reactions.d.ts +1 -0
- package/lib/mutations/reactions.d.ts.map +1 -0
- package/lib/mutations/reactions.js +29 -0
- package/lib/mutations/statistics.d.ts +1 -0
- package/lib/mutations/statistics.d.ts.map +1 -0
- package/lib/mutations/statistics.js +17 -0
- package/lib/mutations/subscriptions.d.ts +1 -0
- package/lib/mutations/subscriptions.d.ts.map +1 -0
- package/lib/mutations/subscriptions.js +38 -0
- package/lib/mutations/tags.d.ts +1 -0
- package/lib/mutations/tags.d.ts.map +1 -0
- package/lib/mutations/tags.js +109 -0
- package/lib/mutations/users.d.ts +1 -0
- package/lib/mutations/users.d.ts.map +1 -0
- package/lib/mutations/users.js +129 -0
- package/lib/objectTypes/app.d.ts +1 -0
- package/lib/objectTypes/app.d.ts.map +1 -0
- package/lib/objectTypes/app.js +147 -0
- package/lib/objectTypes/bankAccount.d.ts +1 -0
- package/lib/objectTypes/bankAccount.d.ts.map +1 -0
- package/lib/objectTypes/bankAccount.js +54 -0
- package/lib/objectTypes/connection.d.ts +1 -0
- package/lib/objectTypes/connection.d.ts.map +1 -0
- package/lib/objectTypes/connection.js +26 -0
- package/lib/objectTypes/content.d.ts +1 -0
- package/lib/objectTypes/content.d.ts.map +1 -0
- package/lib/objectTypes/content.js +79 -0
- package/lib/objectTypes/conversation.d.ts +1 -0
- package/lib/objectTypes/conversation.d.ts.map +1 -0
- package/lib/objectTypes/conversation.js +53 -0
- package/lib/objectTypes/creditCard.d.ts +1 -0
- package/lib/objectTypes/creditCard.d.ts.map +1 -0
- package/lib/objectTypes/creditCard.js +64 -0
- package/lib/objectTypes/document.d.ts +1 -0
- package/lib/objectTypes/document.d.ts.map +1 -0
- package/lib/objectTypes/document.js +21 -0
- package/lib/objectTypes/error.d.ts +1 -0
- package/lib/objectTypes/error.d.ts.map +1 -0
- package/lib/objectTypes/error.js +24 -0
- package/lib/objectTypes/external.d.ts +1 -0
- package/lib/objectTypes/external.d.ts.map +1 -0
- package/lib/objectTypes/external.js +52 -0
- package/lib/objectTypes/file.d.ts +1 -0
- package/lib/objectTypes/file.d.ts.map +1 -0
- package/lib/objectTypes/file.js +76 -0
- package/lib/objectTypes/filter.d.ts +1 -0
- package/lib/objectTypes/filter.d.ts.map +1 -0
- package/lib/objectTypes/filter.js +21 -0
- package/lib/objectTypes/group.d.ts +1 -0
- package/lib/objectTypes/group.d.ts.map +1 -0
- package/lib/objectTypes/group.js +97 -0
- package/lib/objectTypes/iapSubscription.d.ts +1 -0
- package/lib/objectTypes/iapSubscription.d.ts.map +1 -0
- package/lib/objectTypes/iapSubscription.js +18 -0
- package/lib/objectTypes/image.d.ts +1 -0
- package/lib/objectTypes/image.d.ts.map +1 -0
- package/lib/objectTypes/image.js +105 -0
- package/lib/objectTypes/index.d.ts +1 -0
- package/lib/objectTypes/index.d.ts.map +1 -0
- package/lib/objectTypes/index.js +28 -0
- package/lib/objectTypes/location.d.ts +1 -0
- package/lib/objectTypes/location.d.ts.map +1 -0
- package/lib/objectTypes/location.js +85 -0
- package/lib/objectTypes/message.d.ts +1 -0
- package/lib/objectTypes/message.d.ts.map +1 -0
- package/lib/objectTypes/message.js +72 -0
- package/lib/objectTypes/passcode.d.ts +1 -0
- package/lib/objectTypes/passcode.d.ts.map +1 -0
- package/lib/objectTypes/passcode.js +20 -0
- package/lib/objectTypes/plan.d.ts +1 -0
- package/lib/objectTypes/plan.d.ts.map +1 -0
- package/lib/objectTypes/plan.js +71 -0
- package/lib/objectTypes/post.d.ts +1 -0
- package/lib/objectTypes/post.d.ts.map +1 -0
- package/lib/objectTypes/post.js +101 -0
- package/lib/objectTypes/profile.d.ts +1 -0
- package/lib/objectTypes/profile.d.ts.map +1 -0
- package/lib/objectTypes/profile.js +68 -0
- package/lib/objectTypes/reaction.d.ts +1 -0
- package/lib/objectTypes/reaction.d.ts.map +1 -0
- package/lib/objectTypes/reaction.js +37 -0
- package/lib/objectTypes/relation.d.ts +1 -0
- package/lib/objectTypes/relation.d.ts.map +1 -0
- package/lib/objectTypes/relation.js +27 -0
- package/lib/objectTypes/search.d.ts +1 -0
- package/lib/objectTypes/search.d.ts.map +1 -0
- package/lib/objectTypes/search.js +50 -0
- package/lib/objectTypes/statistics.d.ts +1 -0
- package/lib/objectTypes/statistics.d.ts.map +1 -0
- package/lib/objectTypes/statistics.js +17 -0
- package/lib/objectTypes/subscription.d.ts +1 -0
- package/lib/objectTypes/subscription.d.ts.map +1 -0
- package/lib/objectTypes/subscription.js +102 -0
- package/lib/objectTypes/tag.d.ts +1 -0
- package/lib/objectTypes/tag.d.ts.map +1 -0
- package/lib/objectTypes/tag.js +41 -0
- package/lib/objectTypes/user.d.ts +1 -0
- package/lib/objectTypes/user.d.ts.map +1 -0
- package/lib/objectTypes/user.js +111 -0
- package/lib/queries/content.d.ts +1 -0
- package/lib/queries/content.d.ts.map +1 -0
- package/lib/queries/content.js +50 -0
- package/lib/queries/index.d.ts +1 -0
- package/lib/queries/index.d.ts.map +1 -0
- package/lib/queries/index.js +27 -0
- package/lib/queries/locations.d.ts +1 -0
- package/lib/queries/locations.d.ts.map +1 -0
- package/lib/queries/locations.js +23 -0
- package/lib/queries/messages.d.ts +1 -0
- package/lib/queries/messages.d.ts.map +1 -0
- package/lib/queries/messages.js +35 -0
- package/lib/queries/posts.d.ts +1 -0
- package/lib/queries/posts.d.ts.map +1 -0
- package/lib/queries/posts.js +154 -0
- package/lib/queries/reactions.d.ts +1 -0
- package/lib/queries/reactions.d.ts.map +1 -0
- package/lib/queries/reactions.js +34 -0
- package/lib/queries/statistics.d.ts +1 -0
- package/lib/queries/statistics.d.ts.map +1 -0
- package/lib/queries/statistics.js +17 -0
- package/lib/queries/subscriptions.d.ts +1 -0
- package/lib/queries/subscriptions.d.ts.map +1 -0
- package/lib/queries/subscriptions.js +21 -0
- package/lib/queries/tags.d.ts +1 -0
- package/lib/queries/tags.d.ts.map +1 -0
- package/lib/queries/tags.js +56 -0
- package/lib/queries/users.d.ts +1 -0
- package/lib/queries/users.d.ts.map +1 -0
- package/lib/queries/users.js +39 -0
- package/lib/templates/email/layout.d.ts +1 -0
- package/lib/templates/email/layout.d.ts.map +1 -0
- package/lib/templates/email/layout.js +281 -0
- package/lib/templates/email/passwordForgot.d.ts +1 -0
- package/lib/templates/email/passwordForgot.d.ts.map +1 -0
- package/lib/templates/email/passwordForgot.js +17 -0
- package/lib/templates/email/passwordRecovery.d.ts +1 -0
- package/lib/templates/email/passwordRecovery.d.ts.map +1 -0
- package/lib/templates/email/passwordRecovery.js +14 -0
- package/lib/templates/email/verifyEmail.d.ts +1 -0
- package/lib/templates/email/verifyEmail.d.ts.map +1 -0
- package/lib/templates/email/verifyEmail.js +17 -0
- package/lib/templates/email/welcome.d.ts +1 -0
- package/lib/templates/email/welcome.d.ts.map +1 -0
- package/lib/templates/email/welcome.js +17 -0
- package/lib/templates/sms/passwordForgot.d.ts +1 -0
- package/lib/templates/sms/passwordForgot.d.ts.map +1 -0
- package/lib/templates/sms/passwordForgot.js +3 -0
- package/lib/templates/sms/passwordRecovery.d.ts +1 -0
- package/lib/templates/sms/passwordRecovery.d.ts.map +1 -0
- package/lib/templates/sms/passwordRecovery.js +3 -0
- package/lib/templates/sms/verifyEmail.d.ts +1 -0
- package/lib/templates/sms/verifyEmail.d.ts.map +1 -0
- package/lib/templates/sms/verifyEmail.js +3 -0
- package/lib/templates/sms/verifyPhone.d.ts +1 -0
- package/lib/templates/sms/verifyPhone.d.ts.map +1 -0
- package/lib/templates/sms/verifyPhone.js +3 -0
- package/lib/templates/sms/welcome.d.ts +1 -0
- package/lib/templates/sms/welcome.d.ts.map +1 -0
- package/lib/templates/sms/welcome.js +3 -0
- package/lib/types/apps.types.d.ts +1 -0
- package/lib/types/apps.types.d.ts.map +1 -0
- package/lib/types/apps.types.js +10 -0
- package/lib/types/arangodb.types.d.ts +1 -0
- package/lib/types/arangodb.types.d.ts.map +1 -0
- package/lib/types/arangodb.types.js +6 -0
- package/lib/types/auth.types.d.ts +1 -0
- package/lib/types/auth.types.d.ts.map +1 -0
- package/lib/types/auth.types.js +6 -0
- package/lib/types/connections.types.d.ts +1 -0
- package/lib/types/connections.types.d.ts.map +1 -0
- package/lib/types/connections.types.js +6 -0
- package/lib/types/content.types.d.ts +1 -0
- package/lib/types/content.types.d.ts.map +1 -0
- package/lib/types/content.types.js +6 -0
- package/lib/types/conversations.types.d.ts +1 -0
- package/lib/types/conversations.types.d.ts.map +1 -0
- package/lib/types/conversations.types.js +6 -0
- package/lib/types/email.types.d.ts +1 -0
- package/lib/types/email.types.d.ts.map +1 -0
- package/lib/types/email.types.js +6 -0
- package/lib/types/error.types.d.ts +1 -0
- package/lib/types/error.types.d.ts.map +1 -0
- package/lib/types/error.types.js +20 -0
- package/lib/types/files.types.d.ts +1 -0
- package/lib/types/files.types.d.ts.map +1 -0
- package/lib/types/files.types.js +6 -0
- package/lib/types/google.types.d.ts +1 -0
- package/lib/types/google.types.d.ts.map +1 -0
- package/lib/types/google.types.js +6 -0
- package/lib/types/groups.types.d.ts +1 -0
- package/lib/types/groups.types.d.ts.map +1 -0
- package/lib/types/groups.types.js +6 -0
- package/lib/types/images.types.d.ts +1 -0
- package/lib/types/images.types.d.ts.map +1 -0
- package/lib/types/images.types.js +6 -0
- package/lib/types/index.d.ts +1 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/index.js +28 -0
- package/lib/types/locations.types.d.ts +1 -0
- package/lib/types/locations.types.d.ts.map +1 -0
- package/lib/types/locations.types.js +6 -0
- package/lib/types/messages.types.d.ts +1 -0
- package/lib/types/messages.types.d.ts.map +1 -0
- package/lib/types/messages.types.js +6 -0
- package/lib/types/notifications.types.d.ts +1 -0
- package/lib/types/notifications.types.d.ts.map +1 -0
- package/lib/types/notifications.types.js +6 -0
- package/lib/types/payments.types.d.ts +1 -0
- package/lib/types/payments.types.d.ts.map +1 -0
- package/lib/types/payments.types.js +6 -0
- package/lib/types/posts.types.d.ts +1 -0
- package/lib/types/posts.types.d.ts.map +1 -0
- package/lib/types/posts.types.js +6 -0
- package/lib/types/profiles.types.d.ts +1 -0
- package/lib/types/profiles.types.d.ts.map +1 -0
- package/lib/types/profiles.types.js +3 -0
- package/lib/types/statistics.types.d.ts +1 -0
- package/lib/types/statistics.types.d.ts.map +1 -0
- package/lib/types/statistics.types.js +3 -0
- package/lib/types/tags.types.d.ts +1 -0
- package/lib/types/tags.types.d.ts.map +1 -0
- package/lib/types/tags.types.js +6 -0
- package/lib/types/users.types.d.ts +1 -0
- package/lib/types/users.types.d.ts.map +1 -0
- package/lib/types/users.types.js +6 -0
- package/lib/types/videos.types.d.ts +1 -0
- package/lib/types/videos.types.d.ts.map +1 -0
- package/lib/types/videos.types.js +6 -0
- package/lib/types/websockets.types.d.ts +1 -0
- package/lib/types/websockets.types.d.ts.map +1 -0
- package/lib/types/websockets.types.js +6 -0
- package/lib/utils/adapterUtils.d.ts +1 -0
- package/lib/utils/adapterUtils.d.ts.map +1 -0
- package/lib/utils/adapterUtils.js +23 -0
- package/lib/utils/analyticsUtils.d.ts +1 -0
- package/lib/utils/analyticsUtils.d.ts.map +1 -0
- package/lib/utils/analyticsUtils.js +45 -0
- package/lib/utils/arangodbUtils.d.ts +1 -0
- package/lib/utils/arangodbUtils.d.ts.map +1 -0
- package/lib/utils/arangodbUtils.js +130 -0
- package/lib/utils/authUtils.d.ts +1 -0
- package/lib/utils/authUtils.d.ts.map +1 -0
- package/lib/utils/authUtils.js +54 -0
- package/lib/utils/contextUtils.d.ts +1 -0
- package/lib/utils/contextUtils.d.ts.map +1 -0
- package/lib/utils/contextUtils.js +10 -0
- package/lib/utils/dbI18n.d.ts +1 -0
- package/lib/utils/dbI18n.d.ts.map +1 -0
- package/lib/utils/dbI18n.example.d.ts +1 -0
- package/lib/utils/dbI18n.example.d.ts.map +1 -0
- package/lib/utils/dbI18n.example.js +93 -0
- package/lib/utils/dbI18n.js +28 -0
- package/lib/utils/googleTranslate.d.ts +1 -0
- package/lib/utils/googleTranslate.d.ts.map +1 -0
- package/lib/utils/googleTranslate.js +70 -0
- package/lib/utils/graphqlUtils.d.ts +1 -0
- package/lib/utils/graphqlUtils.d.ts.map +1 -0
- package/lib/utils/graphqlUtils.js +11 -0
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/index.d.ts.map +1 -0
- package/lib/utils/index.js +19 -0
- package/lib/utils/languageDetection.d.ts +1 -0
- package/lib/utils/languageDetection.d.ts.map +1 -0
- package/lib/utils/languageDetection.js +120 -0
- package/lib/utils/localeUtils.d.ts +1 -0
- package/lib/utils/localeUtils.d.ts.map +1 -0
- package/lib/utils/localeUtils.example.d.ts +1 -0
- package/lib/utils/localeUtils.example.d.ts.map +1 -0
- package/lib/utils/localeUtils.example.js +124 -0
- package/lib/utils/localeUtils.js +71 -0
- package/lib/utils/middlewareUtils.d.ts +1 -0
- package/lib/utils/middlewareUtils.d.ts.map +1 -0
- package/lib/utils/middlewareUtils.js +10 -0
- package/lib/utils/sessionUtils.d.ts +1 -0
- package/lib/utils/sessionUtils.d.ts.map +1 -0
- package/lib/utils/sessionUtils.js +26 -0
- package/lib/utils/stripeUtils.d.ts +2 -1
- package/lib/utils/stripeUtils.d.ts.map +1 -0
- package/lib/utils/stripeUtils.js +12 -0
- package/lib/utils/templateUtils.d.ts +1 -0
- package/lib/utils/templateUtils.d.ts.map +1 -0
- package/lib/utils/templateUtils.js +11 -0
- package/lib/utils/testUtils.d.ts +1 -0
- package/lib/utils/testUtils.d.ts.map +1 -0
- package/lib/utils/testUtils.js +292 -0
- package/lib/utils/translationQueue.d.ts +1 -0
- package/lib/utils/translationQueue.d.ts.map +1 -0
- package/lib/utils/translationQueue.example.d.ts +1 -0
- package/lib/utils/translationQueue.example.d.ts.map +1 -0
- package/lib/utils/translationQueue.example.js +340 -0
- package/lib/utils/translationQueue.js +113 -0
- package/package.json +54 -24
- package/.env +0 -1
- package/.env.example +0 -1
- package/DATABASE_I18N_GUIDE.md +0 -434
- package/TEST_UTILITIES_GUIDE.md +0 -360
- package/coverage/actions/groups.ts.html +0 -1039
- package/coverage/actions/images.ts.html +0 -2500
- package/coverage/actions/index.html +0 -116
- package/coverage/actions/notifications.ts.html +0 -223
- package/coverage/actions/posts.ts.html +0 -2356
- package/coverage/actions/tags.ts.html +0 -1000
- package/coverage/adapters/arangoAdapter.ts.html +0 -301
- package/coverage/adapters/fileAdapter.ts.html +0 -445
- package/coverage/adapters/index.html +0 -176
- package/coverage/adapters/postAdapter.ts.html +0 -436
- package/coverage/adapters/reaktorAdapter.ts.html +0 -310
- package/coverage/adapters/tagAdapter.ts.html +0 -409
- package/coverage/adapters/userAdapter.ts.html +0 -829
- package/coverage/analyticsUtils.ts.html +0 -286
- package/coverage/base.css +0 -224
- package/coverage/block-navigation.js +0 -87
- package/coverage/clover.xml +0 -6
- package/coverage/config.ts.html +0 -766
- package/coverage/coverage-final.json +0 -1
- package/coverage/favicon.png +0 -0
- package/coverage/index.html +0 -221
- package/coverage/lcov-report/base.css +0 -224
- package/coverage/lcov-report/block-navigation.js +0 -87
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +0 -101
- package/coverage/lcov-report/prettify.css +0 -1
- package/coverage/lcov-report/prettify.js +0 -2
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +0 -196
- package/coverage/lcov.info +0 -0
- package/coverage/mocks/file.ts.html +0 -118
- package/coverage/mocks/group.ts.html +0 -145
- package/coverage/mocks/image.ts.html +0 -142
- package/coverage/mocks/index.html +0 -176
- package/coverage/mocks/post.ts.html +0 -169
- package/coverage/mocks/tag.ts.html +0 -121
- package/coverage/mocks/user.ts.html +0 -271
- package/coverage/prettify.css +0 -1
- package/coverage/prettify.js +0 -2
- package/coverage/sort-arrow-sprite.png +0 -0
- package/coverage/sorter.js +0 -210
- package/coverage/testUtils.ts.html +0 -1309
- package/coverage/translationQueue.ts.html +0 -592
- package/coverage/types/error.ts.html +0 -145
- package/coverage/types/error.types.ts.html +0 -148
- package/coverage/types/index.html +0 -116
- package/coverage/utils/adapterUtils.ts.html +0 -163
- package/coverage/utils/analyticsUtils.ts.html +0 -286
- package/coverage/utils/arangodbUtils.ts.html +0 -463
- package/coverage/utils/authUtils.ts.html +0 -328
- package/coverage/utils/dbI18n.ts.html +0 -280
- package/coverage/utils/googleTranslate.ts.html +0 -385
- package/coverage/utils/index.html +0 -131
- package/coverage/utils/localeUtils.ts.html +0 -193
- package/coverage/utils/sessionUtils.ts.html +0 -211
- package/coverage/utils/testUtils.ts.html +0 -1309
- package/index.js +0 -5
- package/jpg:- +0 -0
- package/lex.config.mjs +0 -34
- package/tsconfig.build.json +0 -21
- package/tsconfig.lint.json +0 -33
- package/tsconfig.test.json +0 -31
|
@@ -0,0 +1,164 @@
|
|
|
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 { ApiGatewayManagementApi } from '@aws-sdk/client-apigatewaymanagementapi';
|
|
5
|
+
import { createHash, parseId, parseString } from '@nlabs/utils/parsers/strings';
|
|
6
|
+
import { aql } from 'arangojs';
|
|
7
|
+
import { Config } from '../config.js';
|
|
8
|
+
import { useDb } from '../utils/arangodbUtils.js';
|
|
9
|
+
import { getUserByToken } from './users.js';
|
|
10
|
+
import { ErrorTypes } from '../types/error.types.js';
|
|
11
|
+
import { logError } from '../utils/analyticsUtils.js';
|
|
12
|
+
export const addSocket = async (socketId, token)=>{
|
|
13
|
+
const action = 'addSocket';
|
|
14
|
+
const formatSocketId = parseString(socketId, 32);
|
|
15
|
+
const formatToken = parseString(token);
|
|
16
|
+
try {
|
|
17
|
+
const databaseName = process.env.ARANGODB_DATABASE || '';
|
|
18
|
+
const database = useDb(databaseName);
|
|
19
|
+
const user = await getUserByToken({
|
|
20
|
+
config: Config.get(),
|
|
21
|
+
databaseName
|
|
22
|
+
}, formatToken);
|
|
23
|
+
if (!user) {
|
|
24
|
+
throw new Error('Unauthorized');
|
|
25
|
+
}
|
|
26
|
+
const update = {
|
|
27
|
+
socketId: formatSocketId,
|
|
28
|
+
modified: Date.now()
|
|
29
|
+
};
|
|
30
|
+
const insert = {
|
|
31
|
+
...update,
|
|
32
|
+
_key: createHash(`socket-${formatSocketId}`),
|
|
33
|
+
userId: user.userId
|
|
34
|
+
};
|
|
35
|
+
const aqlQry = aql`UPSERT {userId: ${user.userId}}
|
|
36
|
+
INSERT ${insert}
|
|
37
|
+
UPDATE ${update}
|
|
38
|
+
IN sockets RETURN NEW`;
|
|
39
|
+
return database.query(aqlQry).then((cursor)=>cursor.next()).catch((error)=>{
|
|
40
|
+
throw logError({
|
|
41
|
+
action,
|
|
42
|
+
category: 'websockets',
|
|
43
|
+
value: ErrorTypes.DATABASE_ERROR
|
|
44
|
+
}, error, {});
|
|
45
|
+
});
|
|
46
|
+
} catch (error) {
|
|
47
|
+
throw new Error('Unauthorized');
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
export const getSocketByUser = (userId)=>{
|
|
51
|
+
const formatUserId = parseId(userId);
|
|
52
|
+
const databaseName = process.env.ARANGODB_DATABASE || '';
|
|
53
|
+
const database = useDb(databaseName);
|
|
54
|
+
const aqlQry = aql`FOR s IN sockets
|
|
55
|
+
FILTER s.userId == ${formatUserId}
|
|
56
|
+
LIMIT 1
|
|
57
|
+
RETURN s`;
|
|
58
|
+
return database.query(aqlQry).then((cursor)=>cursor.next()).catch((error)=>{
|
|
59
|
+
throw error;
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
export const getSocketById = (socketId)=>{
|
|
63
|
+
const formatSocketId = parseId(socketId);
|
|
64
|
+
const databaseName = process.env.ARANGODB_DATABASE || '';
|
|
65
|
+
const database = useDb(databaseName);
|
|
66
|
+
const aqlQry = aql`FOR s IN sockets
|
|
67
|
+
FILTER s.socketId == ${formatSocketId}
|
|
68
|
+
LET user = FIRST(
|
|
69
|
+
FOR u IN users
|
|
70
|
+
FILTER u.sub == s.sub
|
|
71
|
+
LIMIT 1
|
|
72
|
+
RETURN u;
|
|
73
|
+
)
|
|
74
|
+
LIMIT 1
|
|
75
|
+
RETURN MERGE(c, {user:user}`;
|
|
76
|
+
return database.query(aqlQry).then((cursor)=>cursor.next()).catch((error)=>{
|
|
77
|
+
throw error;
|
|
78
|
+
});
|
|
79
|
+
};
|
|
80
|
+
export const getConnectionByConvo = (context, convoId)=>{
|
|
81
|
+
const { databaseName, session: { userId: sessionId } = {} } = context;
|
|
82
|
+
const sessionDocId = `users/${parseId(sessionId)}`;
|
|
83
|
+
const convoDocId = `conversations/${parseId(convoId)}`;
|
|
84
|
+
const database = useDb(databaseName);
|
|
85
|
+
const aqlQry = aql`FOR c, e IN 1..1 OUTBOUND ${sessionDocId} hasConversation
|
|
86
|
+
FILTER c._id == ${convoDocId}
|
|
87
|
+
LIMIT 1
|
|
88
|
+
LET u = (
|
|
89
|
+
FOR inUser, inEdge IN 1..1 INBOUND ${convoDocId} hasConversation
|
|
90
|
+
FOR n IN connections
|
|
91
|
+
FILTER inUser.sub == n.sub
|
|
92
|
+
RETURN n.connectionId
|
|
93
|
+
)
|
|
94
|
+
RETURN u`;
|
|
95
|
+
return database.query(aqlQry).then((cursor)=>cursor.all()).catch((error)=>{
|
|
96
|
+
throw error;
|
|
97
|
+
});
|
|
98
|
+
};
|
|
99
|
+
export const removeSocket = (socketId)=>{
|
|
100
|
+
const action = 'removeSocket';
|
|
101
|
+
const formatSocketId = parseString(socketId, 32);
|
|
102
|
+
const databaseName = process.env.ARANGODB_DATABASE || '';
|
|
103
|
+
const database = useDb(databaseName);
|
|
104
|
+
const aqlQry = aql`FOR s IN sockets
|
|
105
|
+
FILTER s.socketId == ${formatSocketId}
|
|
106
|
+
LIMIT 1
|
|
107
|
+
REMOVE s IN sockets
|
|
108
|
+
RETURN OLD`;
|
|
109
|
+
return database.query(aqlQry).then((cursor)=>cursor.next()).catch((error)=>{
|
|
110
|
+
throw logError({
|
|
111
|
+
action,
|
|
112
|
+
category: 'websockets',
|
|
113
|
+
value: ErrorTypes.DATABASE_ERROR
|
|
114
|
+
}, error, {});
|
|
115
|
+
});
|
|
116
|
+
};
|
|
117
|
+
export class WebsocketClient {
|
|
118
|
+
client;
|
|
119
|
+
constructor(config){
|
|
120
|
+
if (config) {
|
|
121
|
+
this.setupClient(config || {});
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
// Allow just passing a single event to setup the client for ease of use
|
|
125
|
+
async setupClient({ requestContext }) {
|
|
126
|
+
if (!this.client && requestContext) {
|
|
127
|
+
const { apiId, domainName, stage } = requestContext;
|
|
128
|
+
let updatedDomainName = domainName;
|
|
129
|
+
if (apiId) {
|
|
130
|
+
updatedDomainName = `${apiId}.execute-api.${process.env.API_REGION}.amazonaws.com`;
|
|
131
|
+
}
|
|
132
|
+
this.client = new ApiGatewayManagementApi({
|
|
133
|
+
credentials: Config.get('aws.credentials'),
|
|
134
|
+
endpoint: `https://${updatedDomainName}/${stage}`,
|
|
135
|
+
region: Config.get('aws.region')
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
async send(connection, payload) {
|
|
140
|
+
console.log(connection, payload);
|
|
141
|
+
// Cheat and allow event to be passed in this also lets us default to setupClient too
|
|
142
|
+
let socketId;
|
|
143
|
+
if (connection?.requestContext) {
|
|
144
|
+
await this.setupClient(connection);
|
|
145
|
+
const { socketId: updatedSocketId } = connection.requestContext;
|
|
146
|
+
socketId = updatedSocketId;
|
|
147
|
+
} else {
|
|
148
|
+
socketId = connection;
|
|
149
|
+
}
|
|
150
|
+
await this.client.postToConnection({
|
|
151
|
+
ConnectionId: socketId,
|
|
152
|
+
Data: JSON.stringify(payload)
|
|
153
|
+
}).promise().catch(async (postError)=>{
|
|
154
|
+
console.log(JSON.stringify(postError));
|
|
155
|
+
if (postError.statusCode === 410) {
|
|
156
|
+
// Disconnect client
|
|
157
|
+
await removeSocket(socketId);
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
return true;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL2FjdGlvbnMvd2Vic29ja2V0cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtBcGlHYXRld2F5TWFuYWdlbWVudEFwaX0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWFwaWdhdGV3YXltYW5hZ2VtZW50YXBpJztcbmltcG9ydCB7Y3JlYXRlSGFzaCwgcGFyc2VJZCwgcGFyc2VTdHJpbmd9IGZyb20gJ0BubGFicy91dGlscy9wYXJzZXJzL3N0cmluZ3MnO1xuaW1wb3J0IHthcWwsIERhdGFiYXNlfSBmcm9tICdhcmFuZ29qcyc7XG5pbXBvcnQge0FxbFF1ZXJ5fSBmcm9tICdhcmFuZ29qcy9hcWwnO1xuXG5pbXBvcnQge0NvbmZpZ30gZnJvbSAnLi4vY29uZmlnLmpzJztcbmltcG9ydCB7QXBpQ29udGV4dH0gZnJvbSAnLi4vdHlwZXMvYXV0aC50eXBlcy5qcyc7XG5pbXBvcnQge3VzZURifSBmcm9tICcuLi91dGlscy9hcmFuZ29kYlV0aWxzLmpzJztcbmltcG9ydCB7Z2V0VXNlckJ5VG9rZW59IGZyb20gJy4vdXNlcnMuanMnO1xuXG5pbXBvcnQge0Vycm9yVHlwZXN9IGZyb20gJy4uL3R5cGVzL2Vycm9yLnR5cGVzLmpzJztcbmltcG9ydCB0eXBlIHtXZWJzb2NrZXRDb25uZWN0aW9ufSBmcm9tICcuLi90eXBlcy93ZWJzb2NrZXRzLnR5cGVzLmpzJztcbmltcG9ydCB7bG9nRXJyb3J9IGZyb20gJy4uL3V0aWxzL2FuYWx5dGljc1V0aWxzLmpzJztcblxuZXhwb3J0IGNvbnN0IGFkZFNvY2tldCA9IGFzeW5jIChzb2NrZXRJZDogc3RyaW5nLCB0b2tlbjogc3RyaW5nKTogUHJvbWlzZTxXZWJzb2NrZXRDb25uZWN0aW9uPiA9PiB7XG4gIGNvbnN0IGFjdGlvbjogc3RyaW5nID0gJ2FkZFNvY2tldCc7XG4gIGNvbnN0IGZvcm1hdFNvY2tldElkOiBzdHJpbmcgPSBwYXJzZVN0cmluZyhzb2NrZXRJZCwgMzIpO1xuICBjb25zdCBmb3JtYXRUb2tlbjogc3RyaW5nID0gcGFyc2VTdHJpbmcodG9rZW4pO1xuXG4gIHRyeSB7XG4gICAgY29uc3QgZGF0YWJhc2VOYW1lOiBzdHJpbmcgPSBwcm9jZXNzLmVudi5BUkFOR09EQl9EQVRBQkFTRSB8fCAnJztcbiAgICBjb25zdCBkYXRhYmFzZTogRGF0YWJhc2UgPSB1c2VEYihkYXRhYmFzZU5hbWUpO1xuICAgIGNvbnN0IHVzZXIgPSBhd2FpdCBnZXRVc2VyQnlUb2tlbih7Y29uZmlnOiBDb25maWcuZ2V0KCksIGRhdGFiYXNlTmFtZX0sIGZvcm1hdFRva2VuKTtcblxuICAgIGlmKCF1c2VyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuYXV0aG9yaXplZCcpO1xuICAgIH1cblxuICAgIGNvbnN0IHVwZGF0ZSA9IHtcbiAgICAgIHNvY2tldElkOiBmb3JtYXRTb2NrZXRJZCxcbiAgICAgIG1vZGlmaWVkOiBEYXRlLm5vdygpXG4gICAgfTtcbiAgICBjb25zdCBpbnNlcnQgPSB7XG4gICAgICAuLi51cGRhdGUsXG4gICAgICBfa2V5OiBjcmVhdGVIYXNoKGBzb2NrZXQtJHtmb3JtYXRTb2NrZXRJZH1gKSxcbiAgICAgIHVzZXJJZDogdXNlci51c2VySWRcbiAgICB9O1xuICAgIGNvbnN0IGFxbFFyeTogQXFsUXVlcnkgPSBhcWxgVVBTRVJUIHt1c2VySWQ6ICR7dXNlci51c2VySWR9fVxuICAgICAgSU5TRVJUICR7aW5zZXJ0fVxuICAgICAgVVBEQVRFICR7dXBkYXRlfVxuICAgICAgSU4gc29ja2V0cyBSRVRVUk4gTkVXYDtcblxuICAgIHJldHVybiBkYXRhYmFzZS5xdWVyeShhcWxRcnkpXG4gICAgICAudGhlbigoY3Vyc29yKSA9PiBjdXJzb3IubmV4dCgpKVxuICAgICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgICAgdGhyb3cgbG9nRXJyb3Ioe1xuICAgICAgICAgIGFjdGlvbixcbiAgICAgICAgICBjYXRlZ29yeTogJ3dlYnNvY2tldHMnLFxuICAgICAgICAgIHZhbHVlOiBFcnJvclR5cGVzLkRBVEFCQVNFX0VSUk9SXG4gICAgICAgIH0sIGVycm9yLCB7fSk7XG4gICAgICB9KTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIHRocm93IG5ldyBFcnJvcignVW5hdXRob3JpemVkJyk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBnZXRTb2NrZXRCeVVzZXIgPSAodXNlcklkOiBzdHJpbmcpOiBQcm9taXNlPFdlYnNvY2tldENvbm5lY3Rpb24+ID0+IHtcbiAgY29uc3QgZm9ybWF0VXNlcklkOiBzdHJpbmcgPSBwYXJzZUlkKHVzZXJJZCk7XG4gIGNvbnN0IGRhdGFiYXNlTmFtZTogc3RyaW5nID0gcHJvY2Vzcy5lbnYuQVJBTkdPREJfREFUQUJBU0UgfHwgJyc7XG4gIGNvbnN0IGRhdGFiYXNlOiBEYXRhYmFzZSA9IHVzZURiKGRhdGFiYXNlTmFtZSk7XG4gIGNvbnN0IGFxbFFyeSA9IGFxbGBGT1IgcyBJTiBzb2NrZXRzXG4gICAgRklMVEVSIHMudXNlcklkID09ICR7Zm9ybWF0VXNlcklkfVxuICAgIExJTUlUIDFcbiAgICBSRVRVUk4gc2A7XG5cbiAgcmV0dXJuIGRhdGFiYXNlLnF1ZXJ5KGFxbFFyeSlcbiAgICAudGhlbigoY3Vyc29yKSA9PiBjdXJzb3IubmV4dCgpKVxuICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRTb2NrZXRCeUlkID0gKHNvY2tldElkOiBzdHJpbmcpOiBQcm9taXNlPGFueT4gPT4ge1xuICBjb25zdCBmb3JtYXRTb2NrZXRJZDogc3RyaW5nID0gcGFyc2VJZChzb2NrZXRJZCk7XG4gIGNvbnN0IGRhdGFiYXNlTmFtZTogc3RyaW5nID0gcHJvY2Vzcy5lbnYuQVJBTkdPREJfREFUQUJBU0UgfHwgJyc7XG4gIGNvbnN0IGRhdGFiYXNlOiBEYXRhYmFzZSA9IHVzZURiKGRhdGFiYXNlTmFtZSk7XG4gIGNvbnN0IGFxbFFyeSA9IGFxbGBGT1IgcyBJTiBzb2NrZXRzXG4gICAgRklMVEVSIHMuc29ja2V0SWQgPT0gJHtmb3JtYXRTb2NrZXRJZH1cbiAgICBMRVQgdXNlciA9IEZJUlNUKFxuICAgICAgRk9SIHUgSU4gdXNlcnNcbiAgICAgIEZJTFRFUiB1LnN1YiA9PSBzLnN1YlxuICAgICAgTElNSVQgMVxuICAgICAgUkVUVVJOIHU7XG4gICAgKVxuICAgIExJTUlUIDFcbiAgICBSRVRVUk4gTUVSR0UoYywge3VzZXI6dXNlcn1gO1xuXG4gIHJldHVybiBkYXRhYmFzZS5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Q29ubmVjdGlvbkJ5Q29udm8gPSAoY29udGV4dDogQXBpQ29udGV4dCwgY29udm9JZDogc3RyaW5nKTogUHJvbWlzZTxhbnk+ID0+IHtcbiAgY29uc3Qge2RhdGFiYXNlTmFtZSwgc2Vzc2lvbjoge3VzZXJJZDogc2Vzc2lvbklkfSA9IHt9fSA9IGNvbnRleHQ7XG4gIGNvbnN0IHNlc3Npb25Eb2NJZDogc3RyaW5nID0gYHVzZXJzLyR7cGFyc2VJZChzZXNzaW9uSWQpfWA7XG4gIGNvbnN0IGNvbnZvRG9jSWQ6IHN0cmluZyA9IGBjb252ZXJzYXRpb25zLyR7cGFyc2VJZChjb252b0lkKX1gO1xuICBjb25zdCBkYXRhYmFzZTogRGF0YWJhc2UgPSB1c2VEYihkYXRhYmFzZU5hbWUpO1xuICBjb25zdCBhcWxRcnkgPSBhcWxgRk9SIGMsIGUgSU4gMS4uMSBPVVRCT1VORCAke3Nlc3Npb25Eb2NJZH0gaGFzQ29udmVyc2F0aW9uXG4gIEZJTFRFUiBjLl9pZCA9PSAke2NvbnZvRG9jSWR9XG4gIExJTUlUIDFcbiAgTEVUIHUgPSAoXG4gICAgRk9SIGluVXNlciwgaW5FZGdlIElOIDEuLjEgSU5CT1VORCAke2NvbnZvRG9jSWR9IGhhc0NvbnZlcnNhdGlvblxuICAgIEZPUiBuIElOIGNvbm5lY3Rpb25zXG4gICAgRklMVEVSIGluVXNlci5zdWIgPT0gbi5zdWJcbiAgICBSRVRVUk4gbi5jb25uZWN0aW9uSWRcbiAgKVxuICBSRVRVUk4gdWA7XG5cbiAgcmV0dXJuIGRhdGFiYXNlLnF1ZXJ5KGFxbFFyeSlcbiAgICAudGhlbigoY3Vyc29yKSA9PiBjdXJzb3IuYWxsKCkpXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlbW92ZVNvY2tldCA9IChzb2NrZXRJZDogc3RyaW5nKTogUHJvbWlzZTxXZWJzb2NrZXRDb25uZWN0aW9uPiA9PiB7XG4gIGNvbnN0IGFjdGlvbjogc3RyaW5nID0gJ3JlbW92ZVNvY2tldCc7XG4gIGNvbnN0IGZvcm1hdFNvY2tldElkOiBzdHJpbmcgPSBwYXJzZVN0cmluZyhzb2NrZXRJZCwgMzIpO1xuICBjb25zdCBkYXRhYmFzZU5hbWU6IHN0cmluZyA9IHByb2Nlc3MuZW52LkFSQU5HT0RCX0RBVEFCQVNFIHx8ICcnO1xuICBjb25zdCBkYXRhYmFzZTogRGF0YWJhc2UgPSB1c2VEYihkYXRhYmFzZU5hbWUpO1xuICBjb25zdCBhcWxRcnkgPSBhcWxgRk9SIHMgSU4gc29ja2V0c1xuICAgICAgRklMVEVSIHMuc29ja2V0SWQgPT0gJHtmb3JtYXRTb2NrZXRJZH1cbiAgICAgIExJTUlUIDFcbiAgICAgIFJFTU9WRSBzIElOIHNvY2tldHNcbiAgICAgIFJFVFVSTiBPTERgO1xuXG4gIHJldHVybiBkYXRhYmFzZS5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgdGhyb3cgbG9nRXJyb3Ioe1xuICAgICAgICBhY3Rpb24sXG4gICAgICAgIGNhdGVnb3J5OiAnd2Vic29ja2V0cycsXG4gICAgICAgIHZhbHVlOiBFcnJvclR5cGVzLkRBVEFCQVNFX0VSUk9SXG4gICAgICB9LCBlcnJvciwge30pO1xuICAgIH0pO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBXZWJTb2NrZXRDbGllbnRDb250ZXh0IHtcbiAgcmVhZG9ubHkgcmVxdWVzdENvbnRleHQ/OiB7XG4gICAgcmVhZG9ubHkgYXBpSWQ6IHN0cmluZztcbiAgICByZWFkb25seSBkb21haW5OYW1lOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgc3RhZ2U6IHN0cmluZztcbiAgfTtcbn1cbmV4cG9ydCBjbGFzcyBXZWJzb2NrZXRDbGllbnQge1xuICBjbGllbnQ7XG5cbiAgY29uc3RydWN0b3IoY29uZmlnPykge1xuICAgIGlmKGNvbmZpZykge1xuICAgICAgdGhpcy5zZXR1cENsaWVudChjb25maWcgfHwge30pO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFsbG93IGp1c3QgcGFzc2luZyBhIHNpbmdsZSBldmVudCB0byBzZXR1cCB0aGUgY2xpZW50IGZvciBlYXNlIG9mIHVzZVxuICBhc3luYyBzZXR1cENsaWVudCh7cmVxdWVzdENvbnRleHR9OiBXZWJTb2NrZXRDbGllbnRDb250ZXh0KSB7XG4gICAgaWYoIXRoaXMuY2xpZW50ICYmIHJlcXVlc3RDb250ZXh0KSB7XG4gICAgICBjb25zdCB7YXBpSWQsIGRvbWFpbk5hbWUsIHN0YWdlfSA9IHJlcXVlc3RDb250ZXh0O1xuICAgICAgbGV0IHVwZGF0ZWREb21haW5OYW1lOiBzdHJpbmcgPSBkb21haW5OYW1lO1xuXG4gICAgICBpZihhcGlJZCkge1xuICAgICAgICB1cGRhdGVkRG9tYWluTmFtZSA9IGAke2FwaUlkfS5leGVjdXRlLWFwaS4ke3Byb2Nlc3MuZW52LkFQSV9SRUdJT059LmFtYXpvbmF3cy5jb21gO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmNsaWVudCA9IG5ldyBBcGlHYXRld2F5TWFuYWdlbWVudEFwaSh7XG4gICAgICAgIGNyZWRlbnRpYWxzOiBDb25maWcuZ2V0KCdhd3MuY3JlZGVudGlhbHMnKSxcbiAgICAgICAgZW5kcG9pbnQ6IGBodHRwczovLyR7dXBkYXRlZERvbWFpbk5hbWV9LyR7c3RhZ2V9YCxcbiAgICAgICAgcmVnaW9uOiBDb25maWcuZ2V0KCdhd3MucmVnaW9uJylcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHNlbmQoY29ubmVjdGlvbiwgcGF5bG9hZCkge1xuICAgIGNvbnNvbGUubG9nKGNvbm5lY3Rpb24sIHBheWxvYWQpO1xuXG4gICAgLy8gQ2hlYXQgYW5kIGFsbG93IGV2ZW50IHRvIGJlIHBhc3NlZCBpbiB0aGlzIGFsc28gbGV0cyB1cyBkZWZhdWx0IHRvIHNldHVwQ2xpZW50IHRvb1xuICAgIGxldCBzb2NrZXRJZDtcblxuICAgIGlmKGNvbm5lY3Rpb24/LnJlcXVlc3RDb250ZXh0KSB7XG4gICAgICBhd2FpdCB0aGlzLnNldHVwQ2xpZW50KGNvbm5lY3Rpb24pO1xuICAgICAgY29uc3Qge3NvY2tldElkOiB1cGRhdGVkU29ja2V0SWR9ID0gY29ubmVjdGlvbi5yZXF1ZXN0Q29udGV4dDtcbiAgICAgIHNvY2tldElkID0gdXBkYXRlZFNvY2tldElkO1xuICAgIH0gZWxzZSB7XG4gICAgICBzb2NrZXRJZCA9IGNvbm5lY3Rpb247XG4gICAgfVxuXG4gICAgYXdhaXQgdGhpcy5jbGllbnQucG9zdFRvQ29ubmVjdGlvbih7Q29ubmVjdGlvbklkOiBzb2NrZXRJZCwgRGF0YTogSlNPTi5zdHJpbmdpZnkocGF5bG9hZCl9KVxuICAgICAgLnByb21pc2UoKVxuICAgICAgLmNhdGNoKGFzeW5jIChwb3N0RXJyb3IpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkocG9zdEVycm9yKSk7XG5cbiAgICAgICAgaWYocG9zdEVycm9yLnN0YXR1c0NvZGUgPT09IDQxMCkge1xuICAgICAgICAgIC8vIERpc2Nvbm5lY3QgY2xpZW50XG4gICAgICAgICAgYXdhaXQgcmVtb3ZlU29ja2V0KHNvY2tldElkKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkFwaUdhdGV3YXlNYW5hZ2VtZW50QXBpIiwiY3JlYXRlSGFzaCIsInBhcnNlSWQiLCJwYXJzZVN0cmluZyIsImFxbCIsIkNvbmZpZyIsInVzZURiIiwiZ2V0VXNlckJ5VG9rZW4iLCJFcnJvclR5cGVzIiwibG9nRXJyb3IiLCJhZGRTb2NrZXQiLCJzb2NrZXRJZCIsInRva2VuIiwiYWN0aW9uIiwiZm9ybWF0U29ja2V0SWQiLCJmb3JtYXRUb2tlbiIsImRhdGFiYXNlTmFtZSIsInByb2Nlc3MiLCJlbnYiLCJBUkFOR09EQl9EQVRBQkFTRSIsImRhdGFiYXNlIiwidXNlciIsImNvbmZpZyIsImdldCIsIkVycm9yIiwidXBkYXRlIiwibW9kaWZpZWQiLCJEYXRlIiwibm93IiwiaW5zZXJ0IiwiX2tleSIsInVzZXJJZCIsImFxbFFyeSIsInF1ZXJ5IiwidGhlbiIsImN1cnNvciIsIm5leHQiLCJjYXRjaCIsImVycm9yIiwiY2F0ZWdvcnkiLCJ2YWx1ZSIsIkRBVEFCQVNFX0VSUk9SIiwiZ2V0U29ja2V0QnlVc2VyIiwiZm9ybWF0VXNlcklkIiwiZ2V0U29ja2V0QnlJZCIsImdldENvbm5lY3Rpb25CeUNvbnZvIiwiY29udGV4dCIsImNvbnZvSWQiLCJzZXNzaW9uIiwic2Vzc2lvbklkIiwic2Vzc2lvbkRvY0lkIiwiY29udm9Eb2NJZCIsImFsbCIsInJlbW92ZVNvY2tldCIsIldlYnNvY2tldENsaWVudCIsImNsaWVudCIsInNldHVwQ2xpZW50IiwicmVxdWVzdENvbnRleHQiLCJhcGlJZCIsImRvbWFpbk5hbWUiLCJzdGFnZSIsInVwZGF0ZWREb21haW5OYW1lIiwiQVBJX1JFR0lPTiIsImNyZWRlbnRpYWxzIiwiZW5kcG9pbnQiLCJyZWdpb24iLCJzZW5kIiwiY29ubmVjdGlvbiIsInBheWxvYWQiLCJjb25zb2xlIiwibG9nIiwidXBkYXRlZFNvY2tldElkIiwicG9zdFRvQ29ubmVjdGlvbiIsIkNvbm5lY3Rpb25JZCIsIkRhdGEiLCJKU09OIiwic3RyaW5naWZ5IiwicHJvbWlzZSIsInBvc3RFcnJvciIsInN0YXR1c0NvZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUNELFNBQVFBLHVCQUF1QixRQUFPLDBDQUEwQztBQUNoRixTQUFRQyxVQUFVLEVBQUVDLE9BQU8sRUFBRUMsV0FBVyxRQUFPLCtCQUErQjtBQUM5RSxTQUFRQyxHQUFHLFFBQWlCLFdBQVc7QUFHdkMsU0FBUUMsTUFBTSxRQUFPLGVBQWU7QUFFcEMsU0FBUUMsS0FBSyxRQUFPLDRCQUE0QjtBQUNoRCxTQUFRQyxjQUFjLFFBQU8sYUFBYTtBQUUxQyxTQUFRQyxVQUFVLFFBQU8sMEJBQTBCO0FBRW5ELFNBQVFDLFFBQVEsUUFBTyw2QkFBNkI7QUFFcEQsT0FBTyxNQUFNQyxZQUFZLE9BQU9DLFVBQWtCQztJQUNoRCxNQUFNQyxTQUFpQjtJQUN2QixNQUFNQyxpQkFBeUJYLFlBQVlRLFVBQVU7SUFDckQsTUFBTUksY0FBc0JaLFlBQVlTO0lBRXhDLElBQUk7UUFDRixNQUFNSSxlQUF1QkMsUUFBUUMsR0FBRyxDQUFDQyxpQkFBaUIsSUFBSTtRQUM5RCxNQUFNQyxXQUFxQmQsTUFBTVU7UUFDakMsTUFBTUssT0FBTyxNQUFNZCxlQUFlO1lBQUNlLFFBQVFqQixPQUFPa0IsR0FBRztZQUFJUDtRQUFZLEdBQUdEO1FBRXhFLElBQUcsQ0FBQ00sTUFBTTtZQUNSLE1BQU0sSUFBSUcsTUFBTTtRQUNsQjtRQUVBLE1BQU1DLFNBQVM7WUFDYmQsVUFBVUc7WUFDVlksVUFBVUMsS0FBS0MsR0FBRztRQUNwQjtRQUNBLE1BQU1D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
|
|
@@ -6,3 +6,4 @@ export declare class ArangoValidationError extends Error {
|
|
|
6
6
|
export declare const validateDocumentInput: (doc: unknown) => DocumentType;
|
|
7
7
|
export declare const formatDocumentOutput: (doc: DocumentType) => DocumentType;
|
|
8
8
|
export declare const parseDocument: (doc: DocumentType) => DocumentType;
|
|
9
|
+
//# sourceMappingURL=arangoAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arangoAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/arangoAdapter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,YAAY,EAAC,MAAM,4BAA4B,CAAC;AAGxD,qBAAa,qBAAsB,SAAQ,KAAK;IACV,KAAK,CAAC,EAAE,MAAM;gBAAtC,OAAO,EAAE,MAAM,EAAS,KAAK,CAAC,EAAE,MAAM;CAInD;AAcD,eAAO,MAAM,qBAAqB,GAAI,KAAK,OAAO,KAAG,YAWpD,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,KAAK,YAAY,KAAG,YAAmB,CAAC;AAE7E,eAAO,MAAM,aAAa,GAAI,KAAK,YAAY,KAAG,YAUjD,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { parseNum } from '@nlabs/utils/parsers/numbers';
|
|
2
|
+
import { parseArangoId, parseId } from '@nlabs/utils/parsers/strings';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { removeEmptyKeys } from '../utils/adapterUtils.js';
|
|
5
|
+
export class ArangoValidationError extends Error {
|
|
6
|
+
field;
|
|
7
|
+
constructor(message, field){
|
|
8
|
+
super(message), this.field = field;
|
|
9
|
+
this.name = 'ArangoValidationError';
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
const DocumentInputSchema = z.object({
|
|
13
|
+
_from: z.string().optional(),
|
|
14
|
+
_id: z.string().optional(),
|
|
15
|
+
_key: z.string().optional(),
|
|
16
|
+
_oldRev: z.string().optional(),
|
|
17
|
+
_rev: z.string().optional(),
|
|
18
|
+
_to: z.string().optional(),
|
|
19
|
+
added: z.number().optional(),
|
|
20
|
+
id: z.string().optional(),
|
|
21
|
+
modified: z.number().optional()
|
|
22
|
+
}).passthrough();
|
|
23
|
+
export const validateDocumentInput = (doc)=>{
|
|
24
|
+
try {
|
|
25
|
+
const validated = DocumentInputSchema.parse(doc);
|
|
26
|
+
return validated;
|
|
27
|
+
} catch (error) {
|
|
28
|
+
if (error instanceof z.ZodError) {
|
|
29
|
+
const fieldErrors = error.issues.map((e)=>`${e.path.join('.')}: ${e.message}`).join(', ');
|
|
30
|
+
throw new ArangoValidationError(`Document validation failed: ${fieldErrors}`);
|
|
31
|
+
}
|
|
32
|
+
throw error;
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
export const formatDocumentOutput = (doc)=>doc;
|
|
36
|
+
export const parseDocument = (doc)=>{
|
|
37
|
+
try {
|
|
38
|
+
const parsed = performDocumentTransformation(doc);
|
|
39
|
+
return parsed;
|
|
40
|
+
} catch (error) {
|
|
41
|
+
if (error instanceof ArangoValidationError) {
|
|
42
|
+
throw error;
|
|
43
|
+
}
|
|
44
|
+
throw new ArangoValidationError(`Document parsing failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
const performDocumentTransformation = (doc)=>{
|
|
48
|
+
const { _id, _key, added, id, modified } = doc;
|
|
49
|
+
const transformed = removeEmptyKeys({
|
|
50
|
+
...doc,
|
|
51
|
+
..._id && {
|
|
52
|
+
_id: parseArangoId(_id)
|
|
53
|
+
},
|
|
54
|
+
..._key && {
|
|
55
|
+
_key: parseId(_key)
|
|
56
|
+
},
|
|
57
|
+
...added !== undefined && {
|
|
58
|
+
added: parseNum(added, 13)
|
|
59
|
+
},
|
|
60
|
+
...(_id || id) && {
|
|
61
|
+
id: parseArangoId(_id || id)
|
|
62
|
+
},
|
|
63
|
+
...modified !== undefined && {
|
|
64
|
+
modified: parseNum(modified, 13)
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
return transformed;
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL2FkYXB0ZXJzL2FyYW5nb0FkYXB0ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtwYXJzZU51bX0gZnJvbSAnQG5sYWJzL3V0aWxzL3BhcnNlcnMvbnVtYmVycyc7XG5pbXBvcnQge3BhcnNlQXJhbmdvSWQsIHBhcnNlSWR9IGZyb20gJ0BubGFicy91dGlscy9wYXJzZXJzL3N0cmluZ3MnO1xuaW1wb3J0IHt6fSBmcm9tICd6b2QnO1xuXG5pbXBvcnQge0RvY3VtZW50VHlwZX0gZnJvbSAnLi4vdHlwZXMvYXJhbmdvZGIudHlwZXMuanMnO1xuaW1wb3J0IHtyZW1vdmVFbXB0eUtleXN9IGZyb20gJy4uL3V0aWxzL2FkYXB0ZXJVdGlscy5qcyc7XG5cbmV4cG9ydCBjbGFzcyBBcmFuZ29WYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIGZpZWxkPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ0FyYW5nb1ZhbGlkYXRpb25FcnJvcic7XG4gIH1cbn1cblxuY29uc3QgRG9jdW1lbnRJbnB1dFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgX2Zyb206IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2lkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9rZXk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX29sZFJldjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfcmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF90bzogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBhZGRlZDogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBpZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBtb2RpZmllZDogei5udW1iZXIoKS5vcHRpb25hbCgpXG59KS5wYXNzdGhyb3VnaCgpO1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVEb2N1bWVudElucHV0ID0gKGRvYzogdW5rbm93bik6IERvY3VtZW50VHlwZSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgdmFsaWRhdGVkID0gRG9jdW1lbnRJbnB1dFNjaGVtYS5wYXJzZShkb2MpO1xuICAgIHJldHVybiB2YWxpZGF0ZWQgYXMgRG9jdW1lbnRUeXBlO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiB6LlpvZEVycm9yKSB7XG4gICAgICBjb25zdCBmaWVsZEVycm9ycyA9IGVycm9yLmlzc3Vlcy5tYXAoKGUpID0+IGAke2UucGF0aC5qb2luKCcuJyl9OiAke2UubWVzc2FnZX1gKS5qb2luKCcsICcpO1xuICAgICAgdGhyb3cgbmV3IEFyYW5nb1ZhbGlkYXRpb25FcnJvcihgRG9jdW1lbnQgdmFsaWRhdGlvbiBmYWlsZWQ6ICR7ZmllbGRFcnJvcnN9YCk7XG4gICAgfVxuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZm9ybWF0RG9jdW1lbnRPdXRwdXQgPSAoZG9jOiBEb2N1bWVudFR5cGUpOiBEb2N1bWVudFR5cGUgPT4gZG9jO1xuXG5leHBvcnQgY29uc3QgcGFyc2VEb2N1bWVudCA9IChkb2M6IERvY3VtZW50VHlwZSk6IERvY3VtZW50VHlwZSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgcGFyc2VkID0gcGVyZm9ybURvY3VtZW50VHJhbnNmb3JtYXRpb24oZG9jKTtcbiAgICByZXR1cm4gcGFyc2VkO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiBBcmFuZ29WYWxpZGF0aW9uRXJyb3IpIHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgQXJhbmdvVmFsaWRhdGlvbkVycm9yKGBEb2N1bWVudCBwYXJzaW5nIGZhaWxlZDogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ31gKTtcbiAgfVxufTtcblxuY29uc3QgcGVyZm9ybURvY3VtZW50VHJhbnNmb3JtYXRpb24gPSAoZG9jOiBEb2N1bWVudFR5cGUpOiBEb2N1bWVudFR5cGUgPT4ge1xuICBjb25zdCB7XG4gICAgX2lkLFxuICAgIF9rZXksXG4gICAgYWRkZWQsXG4gICAgaWQsXG4gICAgbW9kaWZpZWRcbiAgfSA9IGRvYztcblxuICBjb25zdCB0cmFuc2Zvcm1lZCA9IHJlbW92ZUVtcHR5S2V5cyh7XG4gICAgLi4uZG9jLFxuICAgIC4uLihfaWQgJiYge19pZDogcGFyc2VBcmFuZ29JZChfaWQpfSksXG4gICAgLi4uKF9rZXkgJiYge19rZXk6IHBhcnNlSWQoX2tleSl9KSxcbiAgICAuLi4oYWRkZWQgIT09IHVuZGVmaW5lZCAmJiB7YWRkZWQ6IHBhcnNlTnVtKGFkZGVkLCAxMyl9KSxcbiAgICAuLi4oKF9pZCB8fCBpZCkgJiYge2lkOiBwYXJzZUFyYW5nb0lkKF9pZCB8fCBpZCl9KSxcbiAgICAuLi4obW9kaWZpZWQgIT09IHVuZGVmaW5lZCAmJiB7bW9kaWZpZWQ6IHBhcnNlTnVtKG1vZGlmaWVkLCAxMyl9KVxuICB9KTtcblxuICByZXR1cm4gdHJhbnNmb3JtZWQ7XG59OyJdLCJuYW1lcyI6WyJwYXJzZU51bSIsInBhcnNlQXJhbmdvSWQiLCJwYXJzZUlkIiwieiIsInJlbW92ZUVtcHR5S2V5cyIsIkFyYW5nb1ZhbGlkYXRpb25FcnJvciIsIkVycm9yIiwibWVzc2FnZSIsImZpZWxkIiwibmFtZSIsIkRvY3VtZW50SW5wdXRTY2hlbWEiLCJvYmplY3QiLCJfZnJvbSIsInN0cmluZyIsIm9wdGlvbmFsIiwiX2lkIiwiX2tleSIsIl9vbGRSZXYiLCJfcmV2IiwiX3RvIiwiYWRkZWQiLCJudW1iZXIiLCJpZCIsIm1vZGlmaWVkIiwicGFzc3Rocm91Z2giLCJ2YWxpZGF0ZURvY3VtZW50SW5wdXQiLCJkb2MiLCJ2YWxpZGF0ZWQiLCJwYXJzZSIsImVycm9yIiwiWm9kRXJyb3IiLCJmaWVsZEVycm9ycyIsImlzc3VlcyIsIm1hcCIsImUiLCJwYXRoIiwiam9pbiIsImZvcm1hdERvY3VtZW50T3V0cHV0IiwicGFyc2VEb2N1bWVudCIsInBhcnNlZCIsInBlcmZvcm1Eb2N1bWVudFRyYW5zZm9ybWF0aW9uIiwidHJhbnNmb3JtZWQiLCJ1bmRlZmluZWQiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVFBLFFBQVEsUUFBTywrQkFBK0I7QUFDdEQsU0FBUUMsYUFBYSxFQUFFQyxPQUFPLFFBQU8sK0JBQStCO0FBQ3BFLFNBQVFDLENBQUMsUUFBTyxNQUFNO0FBR3RCLFNBQVFDLGVBQWUsUUFBTywyQkFBMkI7QUFFekQsT0FBTyxNQUFNQyw4QkFBOEJDOztJQUN6QyxZQUFZQyxPQUFlLEVBQUUsQUFBT0MsS0FBYyxDQUFFO1FBQ2xELEtBQUssQ0FBQ0QsZUFENEJDLFFBQUFBO1FBRWxDLElBQUksQ0FBQ0MsSUFBSSxHQUFHO0lBQ2Q7QUFDRjtBQUVBLE1BQU1DLHNCQUFzQlAsRUFBRVEsTUFBTSxDQUFDO0lBQ25DQyxPQUFPVCxFQUFFVSxNQUFNLEdBQUdDLFFBQVE7SUFDMUJDLEtBQUtaLEVBQUVVLE1BQU0sR0FBR0MsUUFBUTtJQUN4QkUsTUFBTWIsRUFBRVUsTUFBTSxHQUFHQyxRQUFRO0lBQ3pCRyxTQUFTZCxFQUFFVSxNQUFNLEdBQUdDLFFBQVE7SUFDNUJJLE1BQU1mLEVBQUVVLE1BQU0sR0FBR0MsUUFBUTtJQUN6QkssS0FBS2hCLEVBQUVVLE1BQU0sR0FBR0MsUUFBUTtJQUN4Qk0sT0FBT2pCLEVBQUVrQixNQUFNLEdBQUdQLFFBQVE7SUFDMUJRLElBQUluQixFQUFFVSxNQUFNLEdBQUdDLFFBQVE7SUFDdkJTLFVBQVVwQixFQUFFa0IsTUFBTSxHQUFHUCxRQUFRO0FBQy9CLEdBQUdVLFdBQVc7QUFFZCxPQUFPLE1BQU1DLHdCQUF3QixDQUFDQztJQUNwQyxJQUFJO1FBQ0YsTUFBTUMsWUFBWWpCLG9CQUFvQmtCLEtBQUssQ0FBQ0Y7UUFDNUMsT0FBT0M7SUFDVCxFQUFFLE9BQU1FLE9BQU87UUFDYixJQUFHQSxpQkFBaUIxQixFQUFFMkIsUUFBUSxFQUFFO1lBQzlCLE1BQU1DLGNBQWNGLE1BQU1HLE1BQU0sQ0FBQ0MsR0FBRyxDQUFDLENBQUNDLElBQU0sR0FBR0EsRUFBRUMsSUFBSSxDQUFDQyxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUVGLEVBQUUzQixPQUFPLEVBQUUsRUFBRTZCLElBQUksQ0FBQztZQUN0RixNQUFNLElBQUkvQixzQkFBc0IsQ0FBQyw0QkFBNEIsRUFBRTBCLGFBQWE7UUFDOUU7UUFDQSxNQUFNRjtJQUNSO0FBQ0YsRUFBRTtBQUVGLE9BQU8sTUFBTVEsdUJBQXVCLENBQUNYLE1BQW9DQSxJQUFJO0FBRTdFLE9BQU8sTUFBTVksZ0JBQWdCLENBQUNaO0lBQzVCLElBQUk7UUFDRixNQUFNYSxTQUFTQyw4QkFBOEJkO1FBQzdDLE9BQU9hO0lBQ1QsRUFBRSxPQUFNVixPQUFPO1FBQ2IsSUFBR0EsaUJBQWlCeEIsdUJBQXVCO1lBQ3pDLE1BQU13QjtRQUNSO1FBQ0EsTUFBTSxJQUFJeEIsc0JBQXNCLENBQUMseUJBQXlCLEVBQUV3QixpQkFBaUJ2QixRQUFRdUIsTUFBTXRCLE9BQU8sR0FBRyxpQkFBaUI7SUFDeEg7QUFDRixFQUFFO0FBRUYsTUFBTWlDLGdDQUFnQyxDQUFDZDtJQUNyQyxNQUFNLEVBQ0pYLEdBQUcsRUFDSEMsSUFBSSxFQUNKSSxLQUFLLEVBQ0xFLEVBQUUsRUFDRkMsUUFBUSxFQUNULEdBQUdHO0lBRUosTUFBTWUsY0FBY3JDLGdCQUFnQjtRQUNsQyxHQUFHc0IsR0FBRztRQUNOLEdBQUlYLE9BQU87WUFBQ0EsS0FBS2QsY0FBY2M7UUFBSSxDQUFDO1FBQ3BDLEdBQUlDLFFBQVE7WUFBQ0EsTUFBTWQsUUFBUWM7UUFBSyxDQUFDO1FBQ2pDLEdBQUlJLFVBQVVzQixhQUFhO1lBQUN0QixPQUFPcEIsU0FBU29CLE9BQU87UUFBRyxDQUFDO1FBQ3ZELEdBQUksQUFBQ0wsQ0FBQUEsT0FBT08sRUFBQyxLQUFNO1lBQUNBLElBQUlyQixjQUFjYyxPQUFPTztRQUFHLENBQUM7UUFDakQsR0FBSUMsYUFBYW1CLGFBQWE7WUFBQ25CLFVBQVV2QixTQUFTdUIsVUFBVTtRQUFHLENBQUM7SUFDbEU7SUFFQSxPQUFPa0I7QUFDVCJ9
|
|
@@ -6,3 +6,4 @@ export declare class ContentValidationError extends Error {
|
|
|
6
6
|
export declare const parseContent: (content: ContentType) => ContentType;
|
|
7
7
|
export declare const parseContentInput: (content: ContentInputType) => ContentInputType;
|
|
8
8
|
export declare const parseContentFromDb: (content: ContentType) => ContentType;
|
|
9
|
+
//# sourceMappingURL=contentAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contentAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/contentAdapter.ts"],"names":[],"mappings":"AAOA,OAAO,EAAC,gBAAgB,EAAE,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAIxE,qBAAa,sBAAuB,SAAQ,KAAK;IACX,KAAK,CAAC,EAAE,MAAM;gBAAtC,OAAO,EAAE,MAAM,EAAS,KAAK,CAAC,EAAE,MAAM;CAInD;AA2BD,eAAO,MAAM,YAAY,GAAI,SAAS,WAAW,KAAG,WAYnD,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,SAAS,gBAAgB,KAAG,gBAY7D,CAAC;AAiCF,eAAO,MAAM,kBAAkB,GAAI,SAAS,WAAW,KAAG,WAAoD,CAAC"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025-Present, Nitrogen Labs, Inc.
|
|
3
|
+
* Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
|
|
4
|
+
*/ import { parseArangoId, parseId, parseString } from '@nlabs/utils/parsers/strings';
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
import { removeEmptyKeys } from '../utils/adapterUtils.js';
|
|
7
|
+
import { parseDocument } from './arangoAdapter.js';
|
|
8
|
+
export class ContentValidationError extends Error {
|
|
9
|
+
field;
|
|
10
|
+
constructor(message, field){
|
|
11
|
+
super(message), this.field = field;
|
|
12
|
+
this.name = 'ContentValidationError';
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
const contentSchema = z.object({
|
|
16
|
+
contentId: z.string().optional(),
|
|
17
|
+
key: z.string().min(1, 'Key is required').max(200, 'Key must be less than 200 characters'),
|
|
18
|
+
locale: z.enum([
|
|
19
|
+
'en',
|
|
20
|
+
'es',
|
|
21
|
+
'fr',
|
|
22
|
+
'de',
|
|
23
|
+
'pt',
|
|
24
|
+
'it'
|
|
25
|
+
], {
|
|
26
|
+
message: 'Locale must be one of: en, es, fr, de, pt, it'
|
|
27
|
+
}),
|
|
28
|
+
content: z.string().min(1, 'Content is required').max(10000, 'Content must be less than 10000 characters'),
|
|
29
|
+
description: z.string().max(500, 'Description must be less than 500 characters').optional(),
|
|
30
|
+
category: z.string().max(100, 'Category must be less than 100 characters').optional(),
|
|
31
|
+
isActive: z.boolean().optional(),
|
|
32
|
+
userId: z.string().optional()
|
|
33
|
+
});
|
|
34
|
+
const contentInputSchema = z.object({
|
|
35
|
+
contentId: z.string().optional(),
|
|
36
|
+
key: z.string().min(1, 'Key is required').max(200, 'Key must be less than 200 characters'),
|
|
37
|
+
locale: z.enum([
|
|
38
|
+
'en',
|
|
39
|
+
'es',
|
|
40
|
+
'fr',
|
|
41
|
+
'de',
|
|
42
|
+
'pt',
|
|
43
|
+
'it'
|
|
44
|
+
], {
|
|
45
|
+
message: 'Locale must be one of: en, es, fr, de, pt, it'
|
|
46
|
+
}).optional(),
|
|
47
|
+
content: z.string().min(1, 'Content is required').max(10000, 'Content must be less than 10000 characters'),
|
|
48
|
+
description: z.string().max(500, 'Description must be less than 500 characters').optional(),
|
|
49
|
+
category: z.string().max(100, 'Category must be less than 100 characters').optional(),
|
|
50
|
+
isActive: z.boolean().optional()
|
|
51
|
+
});
|
|
52
|
+
export const parseContent = (content)=>{
|
|
53
|
+
try {
|
|
54
|
+
const validated = contentSchema.parse(content);
|
|
55
|
+
return validated;
|
|
56
|
+
} catch (error) {
|
|
57
|
+
if (error instanceof z.ZodError) {
|
|
58
|
+
const field = error.issues[0]?.path.join('.');
|
|
59
|
+
const message = error.issues[0]?.message || 'Validation failed';
|
|
60
|
+
throw new ContentValidationError(message, field);
|
|
61
|
+
}
|
|
62
|
+
throw error;
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
export const parseContentInput = (content)=>{
|
|
66
|
+
try {
|
|
67
|
+
const validated = contentInputSchema.parse(content);
|
|
68
|
+
return validated;
|
|
69
|
+
} catch (error) {
|
|
70
|
+
if (error instanceof z.ZodError) {
|
|
71
|
+
const field = error.issues[0]?.path.join('.');
|
|
72
|
+
const message = error.issues[0]?.message || 'Validation failed';
|
|
73
|
+
throw new ContentValidationError(message, field);
|
|
74
|
+
}
|
|
75
|
+
throw error;
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
const performContentTransformation = (content)=>{
|
|
79
|
+
const { _id, _key, contentId, id, key, locale, content: contentText, description, category, isActive, userId } = content;
|
|
80
|
+
const transformed = {
|
|
81
|
+
...parseDocument(content),
|
|
82
|
+
...(_key || contentId) && {
|
|
83
|
+
contentId: parseId(_key || contentId)
|
|
84
|
+
},
|
|
85
|
+
...(_id || id || _key || contentId) && {
|
|
86
|
+
id: parseArangoId(_id || id || `content/${_key || contentId}`)
|
|
87
|
+
},
|
|
88
|
+
key: parseString(key, 200),
|
|
89
|
+
locale,
|
|
90
|
+
content: parseString(contentText, 10000),
|
|
91
|
+
...description && {
|
|
92
|
+
description: parseString(description, 500)
|
|
93
|
+
},
|
|
94
|
+
...category && {
|
|
95
|
+
category: parseString(category, 100)
|
|
96
|
+
},
|
|
97
|
+
...isActive !== undefined && {
|
|
98
|
+
isActive
|
|
99
|
+
},
|
|
100
|
+
...userId && {
|
|
101
|
+
userId: parseId(userId)
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
return removeEmptyKeys(transformed);
|
|
105
|
+
};
|
|
106
|
+
export const parseContentFromDb = (content)=>performContentTransformation(content);
|
|
107
|
+
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL2FkYXB0ZXJzL2NvbnRlbnRBZGFwdGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDI1LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge3BhcnNlQXJhbmdvSWQsIHBhcnNlSWQsIHBhcnNlU3RyaW5nfSBmcm9tICdAbmxhYnMvdXRpbHMvcGFyc2Vycy9zdHJpbmdzJztcbmltcG9ydCB7en0gZnJvbSAnem9kJztcblxuaW1wb3J0IHtDb250ZW50SW5wdXRUeXBlLCBDb250ZW50VHlwZX0gZnJvbSAnLi4vdHlwZXMvY29udGVudC50eXBlcy5qcyc7XG5pbXBvcnQge3JlbW92ZUVtcHR5S2V5c30gZnJvbSAnLi4vdXRpbHMvYWRhcHRlclV0aWxzLmpzJztcbmltcG9ydCB7cGFyc2VEb2N1bWVudH0gZnJvbSAnLi9hcmFuZ29BZGFwdGVyLmpzJztcblxuZXhwb3J0IGNsYXNzIENvbnRlbnRWYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIGZpZWxkPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ0NvbnRlbnRWYWxpZGF0aW9uRXJyb3InO1xuICB9XG59XG5cbmNvbnN0IGNvbnRlbnRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGNvbnRlbnRJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBrZXk6IHouc3RyaW5nKCkubWluKDEsICdLZXkgaXMgcmVxdWlyZWQnKS5tYXgoMjAwLCAnS2V5IG11c3QgYmUgbGVzcyB0aGFuIDIwMCBjaGFyYWN0ZXJzJyksXG4gIGxvY2FsZTogei5lbnVtKFsnZW4nLCAnZXMnLCAnZnInLCAnZGUnLCAncHQnLCAnaXQnXSwge1xuICAgIG1lc3NhZ2U6ICdMb2NhbGUgbXVzdCBiZSBvbmUgb2Y6IGVuLCBlcywgZnIsIGRlLCBwdCwgaXQnXG4gIH0pLFxuICBjb250ZW50OiB6LnN0cmluZygpLm1pbigxLCAnQ29udGVudCBpcyByZXF1aXJlZCcpLm1heCgxMDAwMCwgJ0NvbnRlbnQgbXVzdCBiZSBsZXNzIHRoYW4gMTAwMDAgY2hhcmFjdGVycycpLFxuICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5tYXgoNTAwLCAnRGVzY3JpcHRpb24gbXVzdCBiZSBsZXNzIHRoYW4gNTAwIGNoYXJhY3RlcnMnKS5vcHRpb25hbCgpLFxuICBjYXRlZ29yeTogei5zdHJpbmcoKS5tYXgoMTAwLCAnQ2F0ZWdvcnkgbXVzdCBiZSBsZXNzIHRoYW4gMTAwIGNoYXJhY3RlcnMnKS5vcHRpb25hbCgpLFxuICBpc0FjdGl2ZTogei5ib29sZWFuKCkub3B0aW9uYWwoKSxcbiAgdXNlcklkOiB6LnN0cmluZygpLm9wdGlvbmFsKClcbn0pO1xuXG5jb25zdCBjb250ZW50SW5wdXRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGNvbnRlbnRJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBrZXk6IHouc3RyaW5nKCkubWluKDEsICdLZXkgaXMgcmVxdWlyZWQnKS5tYXgoMjAwLCAnS2V5IG11c3QgYmUgbGVzcyB0aGFuIDIwMCBjaGFyYWN0ZXJzJyksXG4gIGxvY2FsZTogei5lbnVtKFsnZW4nLCAnZXMnLCAnZnInLCAnZGUnLCAncHQnLCAnaXQnXSwge1xuICAgIG1lc3NhZ2U6ICdMb2NhbGUgbXVzdCBiZSBvbmUgb2Y6IGVuLCBlcywgZnIsIGRlLCBwdCwgaXQnXG4gIH0pLm9wdGlvbmFsKCksXG4gIGNvbnRlbnQ6IHouc3RyaW5nKCkubWluKDEsICdDb250ZW50IGlzIHJlcXVpcmVkJykubWF4KDEwMDAwLCAnQ29udGVudCBtdXN0IGJlIGxlc3MgdGhhbiAxMDAwMCBjaGFyYWN0ZXJzJyksXG4gIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm1heCg1MDAsICdEZXNjcmlwdGlvbiBtdXN0IGJlIGxlc3MgdGhhbiA1MDAgY2hhcmFjdGVycycpLm9wdGlvbmFsKCksXG4gIGNhdGVnb3J5OiB6LnN0cmluZygpLm1heCgxMDAsICdDYXRlZ29yeSBtdXN0IGJlIGxlc3MgdGhhbiAxMDAgY2hhcmFjdGVycycpLm9wdGlvbmFsKCksXG4gIGlzQWN0aXZlOiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpXG59KTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlQ29udGVudCA9IChjb250ZW50OiBDb250ZW50VHlwZSk6IENvbnRlbnRUeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCB2YWxpZGF0ZWQgPSBjb250ZW50U2NoZW1hLnBhcnNlKGNvbnRlbnQpO1xuICAgIHJldHVybiB2YWxpZGF0ZWQgYXMgQ29udGVudFR5cGU7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIHouWm9kRXJyb3IpIHtcbiAgICAgIGNvbnN0IGZpZWxkID0gZXJyb3IuaXNzdWVzWzBdPy5wYXRoLmpvaW4oJy4nKTtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBlcnJvci5pc3N1ZXNbMF0/Lm1lc3NhZ2UgfHwgJ1ZhbGlkYXRpb24gZmFpbGVkJztcbiAgICAgIHRocm93IG5ldyBDb250ZW50VmFsaWRhdGlvbkVycm9yKG1lc3NhZ2UsIGZpZWxkKTtcbiAgICB9XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBwYXJzZUNvbnRlbnRJbnB1dCA9IChjb250ZW50OiBDb250ZW50SW5wdXRUeXBlKTogQ29udGVudElucHV0VHlwZSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgdmFsaWRhdGVkID0gY29udGVudElucHV0U2NoZW1hLnBhcnNlKGNvbnRlbnQpO1xuICAgIHJldHVybiB2YWxpZGF0ZWQgYXMgQ29udGVudElucHV0VHlwZTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2Ygei5ab2RFcnJvcikge1xuICAgICAgY29uc3QgZmllbGQgPSBlcnJvci5pc3N1ZXNbMF0/LnBhdGguam9pbignLicpO1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGVycm9yLmlzc3Vlc1swXT8ubWVzc2FnZSB8fCAnVmFsaWRhdGlvbiBmYWlsZWQnO1xuICAgICAgdGhyb3cgbmV3IENvbnRlbnRWYWxpZGF0aW9uRXJyb3IobWVzc2FnZSwgZmllbGQpO1xuICAgIH1cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuY29uc3QgcGVyZm9ybUNvbnRlbnRUcmFuc2Zvcm1hdGlvbiA9IChjb250ZW50OiBDb250ZW50VHlwZSk6IENvbnRlbnRUeXBlID0+IHtcbiAgY29uc3Qge1xuICAgIF9pZCxcbiAgICBfa2V5LFxuICAgIGNvbnRlbnRJZCxcbiAgICBpZCxcbiAgICBrZXksXG4gICAgbG9jYWxlLFxuICAgIGNvbnRlbnQ6IGNvbnRlbnRUZXh0LFxuICAgIGRlc2NyaXB0aW9uLFxuICAgIGNhdGVnb3J5LFxuICAgIGlzQWN0aXZlLFxuICAgIHVzZXJJZFxuICB9ID0gY29udGVudDtcblxuICBjb25zdCB0cmFuc2Zvcm1lZCA9IHtcbiAgICAuLi5wYXJzZURvY3VtZW50KGNvbnRlbnQpLFxuICAgIC4uLigoX2tleSB8fCBjb250ZW50SWQpICYmIHtjb250ZW50SWQ6IHBhcnNlSWQoX2tleSB8fCBjb250ZW50SWQpfSksXG4gICAgLi4uKChfaWQgfHwgaWQgfHwgX2tleSB8fCBjb250ZW50SWQpICYmIHtpZDogcGFyc2VBcmFuZ29JZChfaWQgfHwgaWQgfHwgYGNvbnRlbnQvJHtfa2V5IHx8IGNvbnRlbnRJZH1gKX0pLFxuICAgIGtleTogcGFyc2VTdHJpbmcoa2V5LCAyMDApLFxuICAgIGxvY2FsZSxcbiAgICBjb250ZW50OiBwYXJzZVN0cmluZyhjb250ZW50VGV4dCwgMTAwMDApLFxuICAgIC4uLihkZXNjcmlwdGlvbiAmJiB7ZGVzY3JpcHRpb246IHBhcnNlU3RyaW5nKGRlc2NyaXB0aW9uLCA1MDApfSksXG4gICAgLi4uKGNhdGVnb3J5ICYmIHtjYXRlZ29yeTogcGFyc2VTdHJpbmcoY2F0ZWdvcnksIDEwMCl9KSxcbiAgICAuLi4oaXNBY3RpdmUgIT09IHVuZGVmaW5lZCAmJiB7aXNBY3RpdmV9KSxcbiAgICAuLi4odXNlcklkICYmIHt1c2VySWQ6IHBhcnNlSWQodXNlcklkKX0pXG4gIH07XG5cbiAgcmV0dXJuIHJlbW92ZUVtcHR5S2V5cyh0cmFuc2Zvcm1lZCkgYXMgQ29udGVudFR5cGU7XG59O1xuXG5leHBvcnQgY29uc3QgcGFyc2VDb250ZW50RnJvbURiID0gKGNvbnRlbnQ6IENvbnRlbnRUeXBlKTogQ29udGVudFR5cGUgPT4gcGVyZm9ybUNvbnRlbnRUcmFuc2Zvcm1hdGlvbihjb250ZW50KTsiXSwibmFtZXMiOlsicGFyc2VBcmFuZ29JZCIsInBhcnNlSWQiLCJwYXJzZVN0cmluZyIsInoiLCJyZW1vdmVFbXB0eUtleXMiLCJwYXJzZURvY3VtZW50IiwiQ29udGVudFZhbGlkYXRpb25FcnJvciIsIkVycm9yIiwibWVzc2FnZSIsImZpZWxkIiwibmFtZSIsImNvbnRlbnRTY2hlbWEiLCJvYmplY3QiLCJjb250ZW50SWQiLCJzdHJpbmciLCJvcHRpb25hbCIsImtleSIsIm1pbiIsIm1heCIsImxvY2FsZSIsImVudW0iLCJjb250ZW50IiwiZGVzY3JpcHRpb24iLCJjYXRlZ29yeSIsImlzQWN0aXZlIiwiYm9vbGVhbiIsInVzZXJJZCIsImNvbnRlbnRJbnB1dFNjaGVtYSIsInBhcnNlQ29udGVudCIsInZhbGlkYXRlZCIsInBhcnNlIiwiZXJyb3IiLCJab2RFcnJvciIsImlzc3VlcyIsInBhdGgiLCJqb2luIiwicGFyc2VDb250ZW50SW5wdXQiLCJwZXJmb3JtQ29udGVudFRyYW5zZm9ybWF0aW9uIiwiX2lkIiwiX2tleSIsImlkIiwiY29udGVudFRleHQiLCJ0cmFuc2Zvcm1lZCIsInVuZGVmaW5lZCIs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
|
|
@@ -7,3 +7,4 @@ export declare const validateFileInput: (file: unknown) => FileType;
|
|
|
7
7
|
export declare const formatFileOutput: (file: FileType) => FileType;
|
|
8
8
|
export declare const getFileType: (file: FileType) => string | undefined;
|
|
9
9
|
export declare const parseFile: (file: FileType) => FileType;
|
|
10
|
+
//# sourceMappingURL=fileAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/fileAdapter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAC;AAIjD,qBAAa,mBAAoB,SAAQ,KAAK;IACR,KAAK,CAAC,EAAE,MAAM;gBAAtC,OAAO,EAAE,MAAM,EAAS,KAAK,CAAC,EAAE,MAAM;CAInD;AAsBD,eAAO,MAAM,iBAAiB,GAAI,MAAM,OAAO,KAAG,QAWjD,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,MAAM,QAAQ,KAAG,QAAgB,CAAC;AAEnE,eAAO,MAAM,WAAW,GAAI,MAAM,QAAQ,KAAG,MAAM,GAAG,SAqBrD,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,MAAM,QAAQ,KAAG,QAU1C,CAAC"}
|
|
@@ -0,0 +1,119 @@
|
|
|
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"}
|