@nlabs/metropolisjs 0.1.2 → 0.3.0
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/.github/copilot-instructions.md +167 -0
- package/AGENTS.md +13 -0
- package/CHANGELOG.md +112 -0
- package/GRAPHQL_VALIDATION_RESULTS.md +158 -0
- package/PERMISSION_GRAPHQL_INTEGRATION.md +293 -0
- package/PERMISSION_IMPLEMENTATION_SUMMARY.md +243 -0
- package/README.md +1123 -112
- package/SIGNIN_GRAPHQL_VALIDATION.md +125 -0
- package/VAULT_GRAPHQL_API_FINDINGS.md +312 -0
- package/docs/ACTIONS.md +63 -0
- package/docs/COLLECTIONS.md +1038 -0
- package/docs/CONNECTIONS.md +1367 -0
- package/docs/CRUD_INTEGRATION.md +702 -0
- package/examples/connections-usage.tsx +909 -0
- package/examples/content-actions-usage.ts +144 -0
- package/examples/crud-usage.tsx +847 -0
- package/examples/extensibility-usage.tsx +889 -0
- package/examples/i18n-import-examples.ts +86 -0
- package/examples/i18n-namespace-usage.ts +118 -0
- package/examples/i18next-singleton-demo.ts +187 -0
- package/examples/permission-system-usage.tsx +415 -0
- package/examples/project-details.tsx +397 -0
- package/examples/shared-i18n-usage.tsx +203 -0
- package/examples/signup-error-handling.ts +100 -0
- package/examples/translation-types.ts +86 -0
- package/examples/translation-usage.tsx +336 -0
- package/index.js +1 -0
- package/jest.config.mjs +28 -0
- package/lex.config.mjs +11 -2
- package/lib/__tests__/e2e/helpers/testGraphQLServer.d.ts +22 -0
- package/lib/__tests__/e2e/helpers/testGraphQLServer.d.ts.map +1 -0
- package/lib/__tests__/e2e/helpers/testGraphQLServer.js +197 -0
- package/lib/__tests__/e2e/helpers/testGraphQLServerSimple.d.ts +3 -0
- package/lib/__tests__/e2e/helpers/testGraphQLServerSimple.d.ts.map +1 -0
- package/lib/__tests__/e2e/helpers/testGraphQLServerSimple.js +52 -0
- package/lib/actions/appActions/appActions.d.ts +29 -0
- package/lib/actions/appActions/appActions.d.ts.map +1 -0
- package/lib/actions/appActions/appActions.js +159 -0
- package/lib/actions/connectionActions/connectionActions.d.ts +19 -0
- package/lib/actions/connectionActions/connectionActions.d.ts.map +1 -0
- package/lib/actions/connectionActions/connectionActions.js +131 -0
- package/lib/actions/contentActions/contentActions.d.ts +34 -0
- package/lib/actions/contentActions/contentActions.d.ts.map +1 -0
- package/lib/actions/contentActions/contentActions.js +314 -0
- package/lib/actions/conversationActions/conversationActions.d.ts +30 -0
- package/lib/actions/conversationActions/conversationActions.d.ts.map +1 -0
- package/lib/actions/conversationActions/conversationActions.js +225 -0
- package/lib/actions/eventActions/eventActions.d.ts +27 -7
- package/lib/actions/eventActions/eventActions.d.ts.map +1 -0
- package/lib/actions/eventActions/eventActions.js +436 -2
- package/lib/actions/groupActions/groupActions.d.ts +30 -0
- package/lib/actions/groupActions/groupActions.d.ts.map +1 -0
- package/lib/actions/groupActions/groupActions.js +229 -0
- package/lib/actions/imageActions/imageActions.d.ts +16 -10
- package/lib/actions/imageActions/imageActions.d.ts.map +1 -0
- package/lib/actions/imageActions/imageActions.js +593 -2
- package/lib/actions/index.d.ts +21 -9
- package/lib/actions/index.d.ts.map +1 -0
- package/lib/actions/index.js +22 -2
- package/lib/actions/locationActions/locationActions.d.ts +11 -9
- package/lib/actions/locationActions/locationActions.d.ts.map +1 -0
- package/lib/actions/locationActions/locationActions.js +388 -2
- package/lib/actions/messageActions/messageActions.d.ts +16 -32
- package/lib/actions/messageActions/messageActions.d.ts.map +1 -0
- package/lib/actions/messageActions/messageActions.js +235 -2
- package/lib/actions/permissionActions/permissionActions.d.ts +34 -0
- package/lib/actions/permissionActions/permissionActions.d.ts.map +1 -0
- package/lib/actions/permissionActions/permissionActions.js +330 -0
- package/lib/actions/personaActions/personaActions.d.ts +65 -0
- package/lib/actions/personaActions/personaActions.d.ts.map +1 -0
- package/lib/actions/personaActions/personaActions.js +572 -0
- package/lib/actions/postActions/postActions.d.ts +12 -32
- package/lib/actions/postActions/postActions.d.ts.map +1 -0
- package/lib/actions/postActions/postActions.js +447 -2
- package/lib/actions/reactionActions/reactionActions.d.ts +13 -27
- package/lib/actions/reactionActions/reactionActions.d.ts.map +1 -0
- package/lib/actions/reactionActions/reactionActions.js +413 -2
- package/lib/actions/sseActions/sseActions.d.ts +1 -0
- package/lib/actions/sseActions/sseActions.d.ts.map +1 -0
- package/lib/actions/sseActions/sseActions.js +148 -2
- package/lib/actions/subscriptionActions/subscriptionActions.d.ts +24 -0
- package/lib/actions/subscriptionActions/subscriptionActions.d.ts.map +1 -0
- package/lib/actions/subscriptionActions/subscriptionActions.js +329 -0
- package/lib/actions/tagActions/tagActions.d.ts +13 -31
- package/lib/actions/tagActions/tagActions.d.ts.map +1 -0
- package/lib/actions/tagActions/tagActions.js +347 -2
- package/lib/actions/translationActions/translationActions.d.ts +38 -0
- package/lib/actions/translationActions/translationActions.d.ts.map +1 -0
- package/lib/actions/translationActions/translationActions.js +189 -0
- package/lib/actions/userActions/userActions.d.ts +44 -95
- package/lib/actions/userActions/userActions.d.ts.map +1 -0
- package/lib/actions/userActions/userActions.js +870 -2
- package/lib/actions/videoActions/videoActions.d.ts +41 -0
- package/lib/actions/videoActions/videoActions.d.ts.map +1 -0
- package/lib/actions/videoActions/videoActions.js +532 -0
- package/lib/actions/websocketActions/websocketActions.d.ts +20 -21
- package/lib/actions/websocketActions/websocketActions.d.ts.map +1 -0
- package/lib/actions/websocketActions/websocketActions.js +377 -2
- package/lib/adapters/appAdapter/appAdapter.d.ts +8 -0
- package/lib/adapters/appAdapter/appAdapter.d.ts.map +1 -0
- package/lib/adapters/appAdapter/appAdapter.js +90 -0
- package/lib/adapters/arangoAdapter/arangoAdapter.d.ts +3 -2
- package/lib/adapters/arangoAdapter/arangoAdapter.d.ts.map +1 -0
- package/lib/adapters/arangoAdapter/arangoAdapter.js +75 -2
- package/lib/adapters/contentAdapter/contentAdapter.d.ts +3 -2
- package/lib/adapters/contentAdapter/contentAdapter.d.ts.map +1 -0
- package/lib/adapters/contentAdapter/contentAdapter.js +107 -2
- package/lib/adapters/conversationAdapter/conversationAdapter.d.ts +3 -2
- package/lib/adapters/conversationAdapter/conversationAdapter.d.ts.map +1 -0
- package/lib/adapters/conversationAdapter/conversationAdapter.js +75 -2
- package/lib/adapters/eventAdapter/eventAdapter.d.ts +5 -2
- package/lib/adapters/eventAdapter/eventAdapter.d.ts.map +1 -0
- package/lib/adapters/eventAdapter/eventAdapter.js +162 -2
- package/lib/adapters/fileAdapter/fileAdapter.d.ts +3 -2
- package/lib/adapters/fileAdapter/fileAdapter.d.ts.map +1 -0
- package/lib/adapters/fileAdapter/fileAdapter.js +118 -2
- package/lib/adapters/groupAdapter/groupAdapter.d.ts +28 -0
- package/lib/adapters/groupAdapter/groupAdapter.d.ts.map +1 -0
- package/lib/adapters/groupAdapter/groupAdapter.js +66 -0
- package/lib/adapters/imageAdapter/imageAdapter.d.ts +9 -2
- package/lib/adapters/imageAdapter/imageAdapter.d.ts.map +1 -0
- package/lib/adapters/imageAdapter/imageAdapter.js +134 -2
- package/lib/adapters/index.d.ts +34 -16
- package/lib/adapters/index.d.ts.map +1 -0
- package/lib/adapters/index.js +19 -2
- package/lib/adapters/locationAdapter/locationAdapter.d.ts +3 -2
- package/lib/adapters/locationAdapter/locationAdapter.d.ts.map +1 -0
- package/lib/adapters/locationAdapter/locationAdapter.js +95 -2
- package/lib/adapters/messageAdapter/messageAdapter.d.ts +23 -19
- package/lib/adapters/messageAdapter/messageAdapter.d.ts.map +1 -0
- package/lib/adapters/messageAdapter/messageAdapter.js +82 -2
- package/lib/adapters/permissionAdapter/permissionAdapter.d.ts +41 -0
- package/lib/adapters/permissionAdapter/permissionAdapter.d.ts.map +1 -0
- package/lib/adapters/permissionAdapter/permissionAdapter.js +120 -0
- package/lib/adapters/personaAdapter/personaAdapter.d.ts +28 -2
- package/lib/adapters/personaAdapter/personaAdapter.d.ts.map +1 -0
- package/lib/adapters/personaAdapter/personaAdapter.js +161 -2
- package/lib/adapters/postAdapter/postAdapter.d.ts +3 -2
- package/lib/adapters/postAdapter/postAdapter.d.ts.map +1 -0
- package/lib/adapters/postAdapter/postAdapter.js +115 -2
- package/lib/adapters/reactionAdapter/reactionAdapter.d.ts +5 -2
- package/lib/adapters/reactionAdapter/reactionAdapter.d.ts.map +1 -0
- package/lib/adapters/reactionAdapter/reactionAdapter.js +81 -2
- package/lib/adapters/reaktorAdapter/reaktorAdapter.d.ts +3 -2
- package/lib/adapters/reaktorAdapter/reaktorAdapter.d.ts.map +1 -0
- package/lib/adapters/reaktorAdapter/reaktorAdapter.js +58 -2
- package/lib/adapters/sessionAdapter/sessionAdapter.d.ts +3 -2
- package/lib/adapters/sessionAdapter/sessionAdapter.d.ts.map +1 -0
- package/lib/adapters/sessionAdapter/sessionAdapter.js +80 -2
- package/lib/adapters/tagAdapter/tagAdapter.d.ts +3 -2
- package/lib/adapters/tagAdapter/tagAdapter.d.ts.map +1 -0
- package/lib/adapters/tagAdapter/tagAdapter.js +98 -2
- package/lib/adapters/translationAdapter/translationAdapter.d.ts +21 -0
- package/lib/adapters/translationAdapter/translationAdapter.d.ts.map +1 -0
- package/lib/adapters/translationAdapter/translationAdapter.js +55 -0
- package/lib/adapters/userAdapter/userAdapter.d.ts +18 -6
- package/lib/adapters/userAdapter/userAdapter.d.ts.map +1 -0
- package/lib/adapters/userAdapter/userAdapter.js +302 -2
- package/lib/adapters/videoAdapter/videoAdapter.d.ts +8 -0
- package/lib/adapters/videoAdapter/videoAdapter.d.ts.map +1 -0
- package/lib/adapters/videoAdapter/videoAdapter.js +194 -0
- package/lib/config/index.d.ts +19 -6
- package/lib/config/index.d.ts.map +1 -0
- package/lib/config/index.js +97 -2
- package/lib/constants/Collections.d.ts +44 -0
- package/lib/constants/Collections.d.ts.map +1 -0
- package/lib/constants/Collections.js +40 -0
- package/lib/constants/MetropolisConstants.d.ts +1 -0
- package/lib/constants/MetropolisConstants.d.ts.map +1 -0
- package/lib/constants/MetropolisConstants.js +15 -2
- package/lib/graphql/message.d.ts +1 -0
- package/lib/graphql/message.d.ts.map +1 -0
- package/lib/graphql/message.js +6 -4
- package/lib/graphql/notification.d.ts +1 -0
- package/lib/graphql/notification.d.ts.map +1 -0
- package/lib/graphql/notification.js +6 -4
- package/lib/graphql/session.d.ts +1 -0
- package/lib/graphql/session.d.ts.map +1 -0
- package/lib/graphql/session.js +4 -3
- package/lib/index.d.ts +45 -22
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +248 -2
- package/lib/stores/appStore.d.ts +1 -0
- package/lib/stores/appStore.d.ts.map +1 -0
- package/lib/stores/appStore.js +23 -2
- package/lib/stores/contentStore.d.ts +36 -0
- package/lib/stores/contentStore.d.ts.map +1 -0
- package/lib/stores/contentStore.js +139 -0
- package/lib/stores/conversationStore.d.ts +38 -0
- package/lib/stores/conversationStore.d.ts.map +1 -0
- package/lib/stores/conversationStore.js +117 -0
- package/lib/stores/eventStore.d.ts +4 -1
- package/lib/stores/eventStore.d.ts.map +1 -0
- package/lib/stores/eventStore.js +47 -2
- package/lib/stores/groupStore.d.ts +37 -0
- package/lib/stores/groupStore.d.ts.map +1 -0
- package/lib/stores/groupStore.js +68 -0
- package/lib/stores/imageStore.d.ts +6 -1
- package/lib/stores/imageStore.d.ts.map +1 -0
- package/lib/stores/imageStore.js +53 -2
- package/lib/stores/index.d.ts +20 -11
- package/lib/stores/index.d.ts.map +1 -0
- package/lib/stores/index.js +24 -2
- package/lib/stores/locationStore.d.ts +2 -1
- package/lib/stores/locationStore.d.ts.map +1 -0
- package/lib/stores/locationStore.js +42 -2
- package/lib/stores/messageStore.d.ts +19 -4
- package/lib/stores/messageStore.d.ts.map +1 -0
- package/lib/stores/messageStore.js +137 -2
- package/lib/stores/notificationStore.d.ts +33 -0
- package/lib/stores/notificationStore.d.ts.map +1 -0
- package/lib/stores/notificationStore.js +55 -0
- package/lib/stores/permissionStore.d.ts +37 -0
- package/lib/stores/permissionStore.d.ts.map +1 -0
- package/lib/stores/permissionStore.js +117 -0
- package/lib/stores/personaStore.d.ts +26 -0
- package/lib/stores/personaStore.d.ts.map +1 -0
- package/lib/stores/personaStore.js +118 -0
- package/lib/stores/postStore.d.ts +2 -1
- package/lib/stores/postStore.d.ts.map +1 -0
- package/lib/stores/postStore.js +53 -2
- package/lib/stores/reactionStore.d.ts +1 -0
- package/lib/stores/reactionStore.d.ts.map +1 -0
- package/lib/stores/reactionStore.js +28 -2
- package/lib/stores/subscriptionStore.d.ts +41 -0
- package/lib/stores/subscriptionStore.d.ts.map +1 -0
- package/lib/stores/subscriptionStore.js +85 -0
- package/lib/stores/tagStore.d.ts +8 -5
- package/lib/stores/tagStore.d.ts.map +1 -0
- package/lib/stores/tagStore.js +87 -2
- package/lib/stores/translationStore.d.ts +42 -0
- package/lib/stores/translationStore.d.ts.map +1 -0
- package/lib/stores/translationStore.js +122 -0
- package/lib/stores/userStore.d.ts +5 -4
- package/lib/stores/userStore.d.ts.map +1 -0
- package/lib/stores/userStore.js +319 -2
- package/lib/stores/videoStore.d.ts +39 -0
- package/lib/stores/videoStore.d.ts.map +1 -0
- package/lib/stores/videoStore.js +132 -0
- package/lib/stores/websocketStore.d.ts +1 -0
- package/lib/stores/websocketStore.d.ts.map +1 -0
- package/lib/stores/websocketStore.js +51 -2
- package/lib/types/apps.types.d.ts +17 -0
- package/lib/types/apps.types.d.ts.map +1 -0
- package/lib/types/apps.types.js +6 -0
- package/lib/types/common.types.d.ts +31 -0
- package/lib/types/common.types.d.ts.map +1 -0
- package/lib/types/common.types.js +6 -0
- package/lib/types/conversations.types.d.ts +17 -0
- package/lib/types/conversations.types.d.ts.map +1 -0
- package/lib/types/conversations.types.js +6 -0
- package/lib/types/edges.types.d.ts +38 -0
- package/lib/types/edges.types.d.ts.map +1 -0
- package/lib/types/edges.types.js +6 -0
- package/lib/types/groups.types.d.ts +19 -0
- package/lib/types/groups.types.d.ts.map +1 -0
- package/lib/types/groups.types.js +6 -0
- package/lib/types/index.d.ts +12 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/index.js +12 -0
- package/lib/types/subscriptions.types.d.ts +32 -0
- package/lib/types/subscriptions.types.d.ts.map +1 -0
- package/lib/types/subscriptions.types.js +6 -0
- package/lib/types/videos.types.d.ts +61 -0
- package/lib/types/videos.types.d.ts.map +1 -0
- package/lib/types/videos.types.js +6 -0
- package/lib/utils/MetropolisProvider.d.ts +39 -15
- package/lib/utils/MetropolisProvider.d.ts.map +1 -0
- package/lib/utils/MetropolisProvider.js +31 -2
- package/lib/utils/actionFactory.d.ts +21 -19
- package/lib/utils/actionFactory.d.ts.map +1 -0
- package/lib/utils/actionFactory.js +95 -2
- package/lib/utils/api.d.ts +5 -4
- package/lib/utils/api.d.ts.map +1 -0
- package/lib/utils/api.js +252 -6
- package/lib/utils/app.d.ts +1 -0
- package/lib/utils/app.d.ts.map +1 -0
- package/lib/utils/app.js +15 -2
- package/lib/utils/baseActionFactory.d.ts +5 -23
- package/lib/utils/baseActionFactory.d.ts.map +1 -0
- package/lib/utils/baseActionFactory.js +72 -2
- package/lib/utils/configUtils.d.ts +11 -0
- package/lib/utils/configUtils.d.ts.map +1 -0
- package/lib/utils/configUtils.js +20 -0
- package/lib/utils/dateUtils.d.ts +1 -0
- package/lib/utils/dateUtils.d.ts.map +1 -0
- package/lib/utils/dateUtils.js +11 -2
- package/lib/utils/file.d.ts +3 -1
- package/lib/utils/file.d.ts.map +1 -0
- package/lib/utils/file.js +156 -2
- package/lib/utils/i18n.d.ts +7 -0
- package/lib/utils/i18n.d.ts.map +1 -0
- package/lib/utils/i18n.js +96 -0
- package/lib/utils/index.d.ts +20 -0
- package/lib/utils/index.d.ts.map +1 -0
- package/lib/utils/index.js +26 -0
- package/lib/utils/location.d.ts +4 -3
- package/lib/utils/location.d.ts.map +1 -0
- package/lib/utils/location.js +82 -2
- package/lib/utils/permissionUtils.d.ts +22 -0
- package/lib/utils/permissionUtils.d.ts.map +1 -0
- package/lib/utils/permissionUtils.js +72 -0
- package/lib/utils/requestCache.d.ts +8 -0
- package/lib/utils/requestCache.d.ts.map +1 -0
- package/lib/utils/requestCache.js +53 -0
- package/lib/utils/session.d.ts +14 -0
- package/lib/utils/session.d.ts.map +1 -0
- package/lib/utils/session.js +107 -0
- package/lib/utils/useConversationTyping.d.ts +26 -0
- package/lib/utils/useConversationTyping.d.ts.map +1 -0
- package/lib/utils/useConversationTyping.js +117 -0
- package/lib/utils/useMetropolis.d.ts +67 -12
- package/lib/utils/useMetropolis.d.ts.map +1 -0
- package/lib/utils/useMetropolis.js +311 -2
- package/lib/utils/useTranslations.d.ts +16 -0
- package/lib/utils/useTranslations.d.ts.map +1 -0
- package/lib/utils/useTranslations.js +105 -0
- package/lib/utils/validatorFactory.d.ts +3 -2
- package/lib/utils/validatorFactory.d.ts.map +1 -0
- package/lib/utils/validatorFactory.js +95 -2
- package/package.json +58 -17
- package/temp_signin.ts +73 -0
- package/lib/actions/profileActions/profileActions.d.ts +0 -50
- package/lib/actions/profileActions/profileActions.js +0 -2
- package/lib/adapters/profileAdapter/profileAdapter.d.ts +0 -32
- package/lib/adapters/profileAdapter/profileAdapter.js +0 -2
- package/lib/stores/profileStore.d.ts +0 -24
- package/lib/stores/profileStore.js +0 -2
- /package/{FACTORY_PATTERN_GUIDE.md → factoryPatternGuide.md} +0 -0
|
@@ -1,2 +1,162 @@
|
|
|
1
|
-
import{parseArangoId
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2FkYXB0ZXJzL2V2ZW50QWRhcHRlci9ldmVudEFkYXB0ZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7cGFyc2VBcmFuZ29JZCwgcGFyc2VJZCwgcGFyc2VOdW0sIHBhcnNlU3RyaW5nfSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuaW1wb3J0IHt6fSBmcm9tICd6b2QnO1xuXG5pbXBvcnQge3BhcnNlRG9jdW1lbnQsIHJlbW92ZUVtcHR5S2V5c30gZnJvbSAnLi4vYXJhbmdvQWRhcHRlci9hcmFuZ29BZGFwdGVyJztcbmltcG9ydCB7cGFyc2VJbWFnZX0gZnJvbSAnLi4vaW1hZ2VBZGFwdGVyL2ltYWdlQWRhcHRlcic7XG5pbXBvcnQge3BhcnNlUmVha3RvckNvbnRlbnQsIHBhcnNlUmVha3RvckRhdGUsIHBhcnNlUmVha3RvclR5cGV9IGZyb20gJy4uL3JlYWt0b3JBZGFwdGVyL3JlYWt0b3JBZGFwdGVyJztcbmltcG9ydCB7cGFyc2VUYWd9IGZyb20gJy4uL3RhZ0FkYXB0ZXIvdGFnQWRhcHRlcic7XG5pbXBvcnQge3BhcnNlVXNlcn0gZnJvbSAnLi4vdXNlckFkYXB0ZXIvdXNlckFkYXB0ZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50VHlwZSB7XG4gIF9pZD86IHN0cmluZztcbiAgX2tleT86IHN0cmluZztcbiAgX3Jldj86IHN0cmluZztcbiAgX29sZFJldj86IHN0cmluZztcbiAgX2Zyb20/OiBzdHJpbmc7XG4gIF90bz86IHN0cmluZztcbiAgYWRkcmVzcz86IHN0cmluZztcbiAgY2FjaGVkPzogbnVtYmVyO1xuICBjb250ZW50Pzogc3RyaW5nO1xuICBlbmREYXRlPzogbnVtYmVyO1xuICBldmVudElkPzogc3RyaW5nO1xuICBncm91cElkPzogc3RyaW5nO1xuICBpZD86IHN0cmluZztcbiAgaW1hZ2VzPzogYW55W107XG4gIGlzR29pbmc/OiBib29sZWFuO1xuICBsYXRpdHVkZT86IG51bWJlcjtcbiAgbG9jYXRpb24/OiBzdHJpbmcgfCB7YWRkcmVzczogc3RyaW5nOyBsYXRpdHVkZTogbnVtYmVyOyBsb25naXR1ZGU6IG51bWJlcn07XG4gIGxvbmdpdHVkZT86IG51bWJlcjtcbiAgbWVudGlvbnM/OiBhbnlbXTtcbiAgbW9kaWZpZWQ/OiBudW1iZXI7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHBvc3RJZD86IHN0cmluZztcbiAgcmVhY3Rpb25zPzogc3RyaW5nW107XG4gIHJzdnBDb3VudD86IG51bWJlcjtcbiAgc3RhcnREYXRlPzogbnVtYmVyO1xuICB0YWdzPzogYW55W107XG4gIHR5cGU/OiBzdHJpbmc7XG4gIHVzZXI/OiBhbnk7XG4gIHZpZXdDb3VudD86IG51bWJlcjtcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgY2xhc3MgRXZlbnRWYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIGZpZWxkPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ0V2ZW50VmFsaWRhdGlvbkVycm9yJztcbiAgfVxufVxuXG5jb25zdCBFdmVudElucHV0U2NoZW1hID0gei5vYmplY3Qoe1xuICBfaWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2tleTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfcmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9vbGRSZXY6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2Zyb206IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX3RvOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGFkZHJlc3M6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgY2FjaGVkOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGNvbnRlbnQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgZW5kRGF0ZTogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBldmVudElkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGdyb3VwSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgaWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgaW1hZ2VzOiB6LmFycmF5KHouYW55KCkpLm9wdGlvbmFsKCksXG4gIGlzR29pbmc6IHouYm9vbGVhbigpLm9wdGlvbmFsKCksXG4gIGxhdGl0dWRlOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGxvY2F0aW9uOiB6LnVuaW9uKFt6LnN0cmluZygpLCB6Lm9iamVjdCh7XG4gICAgYWRkcmVzczogei5zdHJpbmcoKSxcbiAgICBsYXRpdHVkZTogei5udW1iZXIoKSxcbiAgICBsb25naXR1ZGU6IHoubnVtYmVyKClcbiAgfSldKS5vcHRpb25hbCgpLFxuICBsb25naXR1ZGU6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgbWVudGlvbnM6IHouYXJyYXkoei5hbnkoKSkub3B0aW9uYWwoKSxcbiAgbW9kaWZpZWQ6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgbmFtZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBwb3N0SWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgcmVhY3Rpb25zOiB6LmFycmF5KHouc3RyaW5nKCkpLm9wdGlvbmFsKCksXG4gIHJzdnBDb3VudDogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBzdGFydERhdGU6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgdGFnczogei5hcnJheSh6LmFueSgpKS5vcHRpb25hbCgpLFxuICB0eXBlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHVzZXI6IHouYW55KCkub3B0aW9uYWwoKSxcbiAgdmlld0NvdW50OiB6Lm51bWJlcigpLm9wdGlvbmFsKClcbn0pLnBhc3N0aHJvdWdoKCk7XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZUV2ZW50SW5wdXQgPSAoZXZlbnQ6IHVua25vd24pOiBFdmVudFR5cGUgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHZhbGlkYXRlZCA9IEV2ZW50SW5wdXRTY2hlbWEucGFyc2UoZXZlbnQpO1xuICAgIHJldHVybiB2YWxpZGF0ZWQgYXMgRXZlbnRUeXBlO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiB6LlpvZEVycm9yKSB7XG4gICAgICBjb25zdCBmaWVsZEVycm9ycyA9IGVycm9yLmlzc3Vlcy5tYXAoKGUpID0+IGAke2UucGF0aC5qb2luKCcuJyl9OiAke2UubWVzc2FnZX1gKS5qb2luKCcsICcpO1xuICAgICAgdGhyb3cgbmV3IEV2ZW50VmFsaWRhdGlvbkVycm9yKGBFdmVudCB2YWxpZGF0aW9uIGZhaWxlZDogJHtmaWVsZEVycm9yc31gKTtcbiAgICB9XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBmb3JtYXRFdmVudE91dHB1dCA9IChldmVudDogRXZlbnRUeXBlKTogRXZlbnRUeXBlID0+IGV2ZW50O1xuXG5leHBvcnQgY29uc3QgcGFyc2VFdmVudCA9IChldmVudDogRXZlbnRUeXBlKTogRXZlbnRUeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJzZWQgPSBwZXJmb3JtRXZlbnRUcmFuc2Zvcm1hdGlvbihldmVudCk7XG4gICAgcmV0dXJuIHBhcnNlZDtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2YgRXZlbnRWYWxpZGF0aW9uRXJyb3IpIHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXZlbnRWYWxpZGF0aW9uRXJyb3IoYEV2ZW50IHBhcnNpbmcgZmFpbGVkOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWApO1xuICB9XG59O1xuXG5jb25zdCBwZXJmb3JtRXZlbnRUcmFuc2Zvcm1hdGlvbiA9IChldmVudDogRXZlbnRUeXBlKTogRXZlbnRUeXBlID0+IHtcbiAgY29uc3Qge1xuICAgIF9pZCxcbiAgICBfa2V5LFxuICAgIGFkZHJlc3MsXG4gICAgY2FjaGVkLFxuICAgIGNvbnRlbnQsXG4gICAgZW5kRGF0ZSxcbiAgICBldmVudElkLFxuICAgIGdyb3VwSWQsXG4gICAgaWQsXG4gICAgaW1hZ2VzLFxuICAgIGlzR29pbmcsXG4gICAgbGF0aXR1ZGUsXG4gICAgbG9jYXRpb24sXG4gICAgbG9uZ2l0dWRlLFxuICAgIG1lbnRpb25zLFxuICAgIG5hbWUsXG4gICAgcG9zdElkLFxuICAgIHJlYWN0aW9ucyxcbiAgICByc3ZwQ291bnQsXG4gICAgc3RhcnREYXRlLFxuICAgIHRhZ3MsXG4gICAgdHlwZSxcbiAgICB1c2VyLFxuICAgIHZpZXdDb3VudFxuICB9ID0gZXZlbnQ7XG5cbiAgY29uc3QgdHJhbnNmb3JtZWQgPSByZW1vdmVFbXB0eUtleXMoe1xuICAgIC4uLnBhcnNlRG9jdW1lbnQoZXZlbnQpLFxuICAgIC4uLihhZGRyZXNzICYmIHthZGRyZXNzOiBwYXJzZVN0cmluZyhhZGRyZXNzLCAxNjApfSksXG4gICAgLi4uKGNhY2hlZCAhPT0gdW5kZWZpbmVkICYmIHtjYWNoZWQ6IHBhcnNlTnVtKGNhY2hlZCl9KSxcbiAgICAuLi4oY29udGVudCAmJiB7Y29udGVudDogcGFyc2VSZWFrdG9yQ29udGVudChjb250ZW50KX0pLFxuICAgIC4uLihlbmREYXRlICE9PSB1bmRlZmluZWQgJiYge2VuZERhdGU6IHBhcnNlUmVha3RvckRhdGUoZW5kRGF0ZSl9KSxcbiAgICAuLi4oKF9pZCB8fCBpZCB8fCBfa2V5IHx8IGV2ZW50SWQpICYmIHtpZDogcGFyc2VBcmFuZ29JZChfaWQgfHwgaWQgfHwgYGV2ZW50cy8ke19rZXkgfHwgZXZlbnRJZH1gKX0pLFxuICAgIC4uLigoX2tleSB8fCBldmVudElkKSAmJiB7ZXZlbnRJZDogcGFyc2VJZChfa2V5IHx8IGV2ZW50SWQgfHwgJycpfSksXG4gICAgLi4uKGdyb3VwSWQgJiYge2dyb3VwSWQ6IHBhcnNlSWQoZ3JvdXBJZCl9KSxcbiAgICAuLi4oaW1hZ2VzPy5sZW5ndGggJiYge2ltYWdlczogaW1hZ2VzLm1hcCgoaW1hZ2UpID0+IHBhcnNlSW1hZ2UoaW1hZ2UpKX0pLFxuICAgIC4uLihpc0dvaW5nICE9PSB1bmRlZmluZWQgJiYge2lzR29pbmc6ICEhaXNHb2luZ30pLFxuICAgIC4uLihsYXRpdHVkZSAhPT0gdW5kZWZpbmVkICYmIHtsYXRpdHVkZTogcGFyc2VOdW0obGF0aXR1ZGUsIDE1KX0pLFxuICAgIC4uLihsb25naXR1ZGUgIT09IHVuZGVmaW5lZCAmJiB7bG9uZ2l0dWRlOiBwYXJzZU51bShsb25naXR1ZGUsIDE1KX0pLFxuICAgIC4uLihtZW50aW9ucz8ubGVuZ3RoICYmIHttZW50aW9uczogbWVudGlvbnMubWFwKChtZW50aW9uKSA9PiBwYXJzZVVzZXIobWVudGlvbikpfSksXG4gICAgLi4uKG5hbWUgJiYge25hbWU6IHBhcnNlU3RyaW5nKG5hbWUsIDE2MCl9KSxcbiAgICAuLi4ocG9zdElkICYmIHtwb3N0SWQ6IHBhcnNlSWQocG9zdElkKX0pLFxuICAgIC4uLihyZWFjdGlvbnM/Lmxlbmd0aCAmJiB7cmVhY3Rpb25zfSksXG4gICAgLi4uKHJzdnBDb3VudCAhPT0gdW5kZWZpbmVkICYmIHtyc3ZwQ291bnQ6IHBhcnNlTnVtKHJzdnBDb3VudCl9KSxcbiAgICAuLi4oc3RhcnREYXRlICE9PSB1bmRlZmluZWQgJiYge3N0YXJ0RGF0ZTogcGFyc2VSZWFrdG9yRGF0ZShzdGFydERhdGUpfSksXG4gICAgLi4uKHRhZ3M/Lmxlbmd0aCAmJiB7dGFnczogdGFncy5tYXAoKHRhZykgPT4gcGFyc2VUYWcodGFnKSl9KSxcbiAgICAuLi4odHlwZSAmJiB7dHlwZTogcGFyc2VSZWFrdG9yVHlwZSh0eXBlKX0pLFxuICAgIC4uLih1c2VyICYmIHt1c2VyOiBwYXJzZVVzZXIodXNlcil9KSxcbiAgICAuLi4odmlld0NvdW50ICE9PSB1bmRlZmluZWQgJiYge3ZpZXdDb3VudDogcGFyc2VOdW0odmlld0NvdW50KX0pXG4gIH0pO1xuXG4gIC8vIEhhbmRsZSBsb2NhdGlvbiBvYmplY3RcbiAgaWYobG9jYXRpb24gJiYgdHlwZW9mIGxvY2F0aW9uID09PSAnb2JqZWN0Jykge1xuICAgIHRyYW5zZm9ybWVkLmFkZHJlc3MgPSBwYXJzZVN0cmluZyhsb2NhdGlvbi5hZGRyZXNzLCAxNjApO1xuICAgIHRyYW5zZm9ybWVkLmxhdGl0dWRlID0gcGFyc2VOdW0obG9jYXRpb24ubGF0aXR1ZGUsIDE1KTtcbiAgICB0cmFuc2Zvcm1lZC5sb25naXR1ZGUgPSBwYXJzZU51bShsb2NhdGlvbi5sb25naXR1ZGUsIDE1KTtcbiAgfVxuXG4gIHJldHVybiB0cmFuc2Zvcm1lZDtcbn07Il0sCiAgIm1hcHBpbmdzIjogIkFBQUEsT0FBUSxpQkFBQUEsRUFBZSxXQUFBQyxFQUFTLFlBQUFDLEVBQVUsZUFBQUMsTUFBa0IsZUFDNUQsT0FBUSxLQUFBQyxNQUFRLE1BRWhCLE9BQVEsaUJBQUFDLEVBQWUsbUJBQUFDLE1BQXNCLGlDQUM3QyxPQUFRLGNBQUFDLE1BQWlCLCtCQUN6QixPQUFRLHVCQUFBQyxFQUFxQixvQkFBQUMsRUFBa0Isb0JBQUFDLE1BQXVCLG1DQUN0RSxPQUFRLFlBQUFDLE1BQWUsMkJBQ3ZCLE9BQVEsYUFBQUMsTUFBZ0IsNkJBbUNqQixNQUFNQyxVQUE2QixLQUFNLENBQzlDLFlBQVlDLEVBQXdCQyxFQUFnQixDQUNsRCxNQUFNRCxDQUFPLEVBRHFCLFdBQUFDLEVBRWxDLEtBQUssS0FBTyxzQkFDZCxDQUNGLENBRUEsTUFBTUMsRUFBbUJaLEVBQUUsT0FBTyxDQUNoQyxJQUFLQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQ3pCLEtBQU1BLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDMUIsS0FBTUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMxQixRQUFTQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzdCLE1BQU9BLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDM0IsSUFBS0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUN6QixRQUFTQSxFQUFF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VSxDQUFDLEtBQU1BLEVBQUssSUFBS08sR0FBUXpDLEVBQVN5QyxDQUFHLENBQUMsQ0FBQyxFQUMzRCxHQUFJTixHQUFRLENBQUMsS0FBTXBDLEVBQWlCb0MsQ0FBSSxDQUFDLEVBQ3pDLEdBQUlDLEdBQVEsQ0FBQyxLQUFNbkMsRUFBVW1DLENBQUksQ0FBQyxFQUNsQyxHQUFJQyxJQUFjLFFBQWEsQ0FBQyxVQUFXOUMsRUFBUzhDLENBQVMsQ0FBQyxDQUNoRSxDQUFDLEVBR0QsT0FBR1gsR0FBWSxPQUFPQSxHQUFhLFdBQ2pDWSxFQUFZLFFBQVU5QyxFQUFZa0MsRUFBUyxRQUFTLEdBQUcsRUFDdkRZLEVBQVksU0FBVy9DLEVBQVNtQyxFQUFTLFNBQVUsRUFBRSxFQUNyRFksRUFBWSxVQUFZL0MsRUFBU21DLEVBQVMsVUFBVyxFQUFFLEdBR2xEWSxDQUNUIiwKICAibmFtZXMiOiBbInBhcnNlQXJhbmdvSWQiLCAicGFyc2VJZCIsICJwYXJzZU51bSIsICJwYXJzZVN0cmluZyIsICJ6IiwgInBhcnNlRG9jdW1lbnQiLCAicmVtb3ZlRW1wdHlLZXlzIiwgInBhcnNlSW1hZ2UiLCAicGFyc2VSZWFrdG9yQ29udGVudCIsICJwYXJzZVJlYWt0b3JEYXRlIiwgInBhcnNlUmVha3RvclR5cGUiLCAicGFyc2VUYWciLCAicGFyc2VVc2VyIiwgIkV2ZW50VmFsaWRhdGlvbkVycm9yIiwgIm1lc3NhZ2UiLCAiZmllbGQiLCAiRXZlbnRJbnB1dFNjaGVtYSIsICJ2YWxpZGF0ZUV2ZW50SW5wdXQiLCAiZXZlbnQiLCAiZXJyb3IiLCAiZmllbGRFcnJvcnMiLCAiZSIsICJmb3JtYXRFdmVudE91dHB1dCIsICJwYXJzZUV2ZW50IiwgInBlcmZvcm1FdmVudFRyYW5zZm9ybWF0aW9uIiwgIl9pZCIsICJfa2V5IiwgImFkZHJlc3MiLCAiY2FjaGVkIiwgImNvbnRlbnQiLCAiZW5kRGF0ZSIsICJldmVudElkIiwgImdyb3VwSWQiLCAiaWQiLCAiaW1hZ2VzIiwgImlzR29pbmciLCAibGF0aXR1ZGUiLCAibG9jYXRpb24iLCAibG9uZ2l0dWRlIiwgIm1lbnRpb25zIiwgIm5hbWUiLCAicG9zdElkIiwgInJlYWN0aW9ucyIsICJyc3ZwQ291bnQiLCAic3RhcnREYXRlIiwgInRhZ3MiLCAidHlwZSIsICJ1c2VyIiwgInZpZXdDb3VudCIsICJ0cmFuc2Zvcm1lZCIsICJpbWFnZSIsICJtZW50aW9uIiwgInRhZyJdCn0K
|
|
1
|
+
import { parseArangoId, parseId, parseNum, parseString } from '@nlabs/utils';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { parseDocument, removeEmptyKeys } from '../arangoAdapter/arangoAdapter.js';
|
|
4
|
+
import { parseImage } from '../imageAdapter/imageAdapter.js';
|
|
5
|
+
import { parseReaktorContent, parseReaktorDate, parseReaktorType } from '../reaktorAdapter/reaktorAdapter.js';
|
|
6
|
+
import { parseTag } from '../tagAdapter/tagAdapter.js';
|
|
7
|
+
import { parseUser } from '../userAdapter/userAdapter.js';
|
|
8
|
+
export class EventValidationError extends Error {
|
|
9
|
+
field;
|
|
10
|
+
constructor(message, field){
|
|
11
|
+
super(message), this.field = field;
|
|
12
|
+
this.name = 'EventValidationError';
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
const EventInputSchema = z.object({
|
|
16
|
+
_id: z.string().optional(),
|
|
17
|
+
_key: z.string().optional(),
|
|
18
|
+
_rev: z.string().optional(),
|
|
19
|
+
_oldRev: z.string().optional(),
|
|
20
|
+
_from: z.string().optional(),
|
|
21
|
+
_to: z.string().optional(),
|
|
22
|
+
address: z.string().optional(),
|
|
23
|
+
cached: z.number().optional(),
|
|
24
|
+
content: z.string().optional(),
|
|
25
|
+
endDate: z.number().optional(),
|
|
26
|
+
eventId: z.string().optional(),
|
|
27
|
+
groupId: z.string().optional(),
|
|
28
|
+
id: z.string().optional(),
|
|
29
|
+
images: z.array(z.any()).optional(),
|
|
30
|
+
isGoing: z.boolean().optional(),
|
|
31
|
+
latitude: z.number().optional(),
|
|
32
|
+
location: z.union([
|
|
33
|
+
z.string(),
|
|
34
|
+
z.object({
|
|
35
|
+
address: z.string(),
|
|
36
|
+
latitude: z.number(),
|
|
37
|
+
longitude: z.number()
|
|
38
|
+
})
|
|
39
|
+
]).optional(),
|
|
40
|
+
longitude: z.number().optional(),
|
|
41
|
+
mentions: z.array(z.any()).optional(),
|
|
42
|
+
modified: z.number().optional(),
|
|
43
|
+
name: z.string().optional(),
|
|
44
|
+
maxGuestsPerPersona: z.number().optional(),
|
|
45
|
+
postId: z.string().optional(),
|
|
46
|
+
reactions: z.array(z.string()).optional(),
|
|
47
|
+
rsvpCount: z.number().optional(),
|
|
48
|
+
startDate: z.number().optional(),
|
|
49
|
+
tags: z.array(z.any()).optional(),
|
|
50
|
+
ticketCostCents: z.number().optional(),
|
|
51
|
+
type: z.string().optional(),
|
|
52
|
+
user: z.any().optional(),
|
|
53
|
+
viewCount: z.number().optional()
|
|
54
|
+
}).loose();
|
|
55
|
+
export const validateEventInput = (event)=>{
|
|
56
|
+
try {
|
|
57
|
+
const validated = EventInputSchema.parse(event);
|
|
58
|
+
return validated;
|
|
59
|
+
} catch (error) {
|
|
60
|
+
if (error instanceof z.ZodError) {
|
|
61
|
+
const fieldErrors = error.issues.map((e)=>`${e.path.join('.')}: ${e.message}`).join(', ');
|
|
62
|
+
throw new EventValidationError(`Event validation failed: ${fieldErrors}`);
|
|
63
|
+
}
|
|
64
|
+
throw error;
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
export const formatEventOutput = (event)=>event;
|
|
68
|
+
export const parseEvent = (event)=>{
|
|
69
|
+
try {
|
|
70
|
+
const parsed = performEventTransformation(event);
|
|
71
|
+
return parsed;
|
|
72
|
+
} catch (error) {
|
|
73
|
+
if (error instanceof EventValidationError) {
|
|
74
|
+
throw error;
|
|
75
|
+
}
|
|
76
|
+
throw new EventValidationError(`Event parsing failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
const performEventTransformation = (event)=>{
|
|
80
|
+
const { _id, _key, address, cached, content, endDate, eventId, groupId, id, images, isGoing, latitude, location, longitude, mentions, name, maxGuestsPerPersona, postId, reactions, rsvpCount, startDate, tags, ticketCostCents, type, user, viewCount } = event;
|
|
81
|
+
const transformed = removeEmptyKeys({
|
|
82
|
+
...parseDocument(event),
|
|
83
|
+
...address && {
|
|
84
|
+
address: parseString(address, 160)
|
|
85
|
+
},
|
|
86
|
+
...cached !== undefined && {
|
|
87
|
+
cached: parseNum(cached)
|
|
88
|
+
},
|
|
89
|
+
...content && {
|
|
90
|
+
content: parseReaktorContent(content)
|
|
91
|
+
},
|
|
92
|
+
...endDate !== undefined && {
|
|
93
|
+
endDate: parseReaktorDate(endDate)
|
|
94
|
+
},
|
|
95
|
+
...(_id || id || _key || eventId) && {
|
|
96
|
+
id: parseArangoId(_id || id || `events/${_key || eventId}`)
|
|
97
|
+
},
|
|
98
|
+
...(_key || eventId) && {
|
|
99
|
+
eventId: parseId(_key || eventId || '')
|
|
100
|
+
},
|
|
101
|
+
...groupId && {
|
|
102
|
+
groupId: parseId(groupId)
|
|
103
|
+
},
|
|
104
|
+
...images?.length && {
|
|
105
|
+
images: images.map((image)=>parseImage(image))
|
|
106
|
+
},
|
|
107
|
+
...isGoing !== undefined && {
|
|
108
|
+
isGoing: !!isGoing
|
|
109
|
+
},
|
|
110
|
+
...latitude !== undefined && {
|
|
111
|
+
latitude: parseNum(latitude, 15)
|
|
112
|
+
},
|
|
113
|
+
...longitude !== undefined && {
|
|
114
|
+
longitude: parseNum(longitude, 15)
|
|
115
|
+
},
|
|
116
|
+
...mentions?.length && {
|
|
117
|
+
mentions: mentions.map((mention)=>parseUser(mention))
|
|
118
|
+
},
|
|
119
|
+
...name && {
|
|
120
|
+
name: parseString(name, 160)
|
|
121
|
+
},
|
|
122
|
+
...maxGuestsPerPersona !== undefined && {
|
|
123
|
+
maxGuestsPerPersona: parseNum(maxGuestsPerPersona)
|
|
124
|
+
},
|
|
125
|
+
...postId && {
|
|
126
|
+
postId: parseId(postId)
|
|
127
|
+
},
|
|
128
|
+
...reactions?.length && {
|
|
129
|
+
reactions
|
|
130
|
+
},
|
|
131
|
+
...rsvpCount !== undefined && {
|
|
132
|
+
rsvpCount: parseNum(rsvpCount)
|
|
133
|
+
},
|
|
134
|
+
...startDate !== undefined && {
|
|
135
|
+
startDate: parseReaktorDate(startDate)
|
|
136
|
+
},
|
|
137
|
+
...tags?.length && {
|
|
138
|
+
tags: tags.map((tag)=>parseTag(tag))
|
|
139
|
+
},
|
|
140
|
+
...ticketCostCents !== undefined && {
|
|
141
|
+
ticketCostCents: parseNum(ticketCostCents)
|
|
142
|
+
},
|
|
143
|
+
...type && {
|
|
144
|
+
type: parseReaktorType(type)
|
|
145
|
+
},
|
|
146
|
+
...user && {
|
|
147
|
+
user: parseUser(user)
|
|
148
|
+
},
|
|
149
|
+
...viewCount !== undefined && {
|
|
150
|
+
viewCount: parseNum(viewCount)
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
// Handle location object
|
|
154
|
+
if (location && typeof location === 'object') {
|
|
155
|
+
transformed.address = parseString(location.address, 160);
|
|
156
|
+
transformed.latitude = parseNum(location.latitude, 15);
|
|
157
|
+
transformed.longitude = parseNum(location.longitude, 15);
|
|
158
|
+
}
|
|
159
|
+
return transformed;
|
|
160
|
+
};
|
|
161
|
+
|
|
162
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvYWRhcHRlcnMvZXZlbnRBZGFwdGVyL2V2ZW50QWRhcHRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwYXJzZUFyYW5nb0lkLCBwYXJzZUlkLCBwYXJzZU51bSwgcGFyc2VTdHJpbmcgfSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuaW1wb3J0IHsgeiB9IGZyb20gJ3pvZCc7XG5cbmltcG9ydCB7IHBhcnNlRG9jdW1lbnQsIHJlbW92ZUVtcHR5S2V5cyB9IGZyb20gJy4uL2FyYW5nb0FkYXB0ZXIvYXJhbmdvQWRhcHRlci5qcyc7XG5pbXBvcnQgeyBwYXJzZUltYWdlIH0gZnJvbSAnLi4vaW1hZ2VBZGFwdGVyL2ltYWdlQWRhcHRlci5qcyc7XG5pbXBvcnQgeyBwYXJzZVJlYWt0b3JDb250ZW50LCBwYXJzZVJlYWt0b3JEYXRlLCBwYXJzZVJlYWt0b3JUeXBlIH0gZnJvbSAnLi4vcmVha3RvckFkYXB0ZXIvcmVha3RvckFkYXB0ZXIuanMnO1xuaW1wb3J0IHsgcGFyc2VUYWcgfSBmcm9tICcuLi90YWdBZGFwdGVyL3RhZ0FkYXB0ZXIuanMnO1xuaW1wb3J0IHsgcGFyc2VVc2VyIH0gZnJvbSAnLi4vdXNlckFkYXB0ZXIvdXNlckFkYXB0ZXIuanMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50VHlwZSB7XG4gIF9pZD86IHN0cmluZztcbiAgX2tleT86IHN0cmluZztcbiAgX3Jldj86IHN0cmluZztcbiAgX29sZFJldj86IHN0cmluZztcbiAgX2Zyb20/OiBzdHJpbmc7XG4gIF90bz86IHN0cmluZztcbiAgYWRkcmVzcz86IHN0cmluZztcbiAgY2FjaGVkPzogbnVtYmVyO1xuICBjb250ZW50Pzogc3RyaW5nO1xuICBlbmREYXRlPzogbnVtYmVyO1xuICBldmVudElkPzogc3RyaW5nO1xuICBncm91cElkPzogc3RyaW5nO1xuICBpZD86IHN0cmluZztcbiAgaW1hZ2VzPzogYW55W107XG4gIGlzR29pbmc/OiBib29sZWFuO1xuICBsYXRpdHVkZT86IG51bWJlcjtcbiAgbG9jYXRpb24/OiBzdHJpbmcgfCB7YWRkcmVzczogc3RyaW5nOyBsYXRpdHVkZTogbnVtYmVyOyBsb25naXR1ZGU6IG51bWJlcn07XG4gIGxvbmdpdHVkZT86IG51bWJlcjtcbiAgbWVudGlvbnM/OiBhbnlbXTtcbiAgbW9kaWZpZWQ/OiBudW1iZXI7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIG1heEd1ZXN0c1BlclBlcnNvbmE/OiBudW1iZXI7XG4gIHBvc3RJZD86IHN0cmluZztcbiAgcmVhY3Rpb25zPzogc3RyaW5nW107XG4gIHJzdnBDb3VudD86IG51bWJlcjtcbiAgc3RhcnREYXRlPzogbnVtYmVyO1xuICB0YWdzPzogYW55W107XG4gIHRpY2tldENvc3RDZW50cz86IG51bWJlcjtcbiAgdHlwZT86IHN0cmluZztcbiAgdXNlcj86IGFueTtcbiAgdmlld0NvdW50PzogbnVtYmVyO1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBjbGFzcyBFdmVudFZhbGlkYXRpb25FcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nLCBwdWJsaWMgZmllbGQ/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgICB0aGlzLm5hbWUgPSAnRXZlbnRWYWxpZGF0aW9uRXJyb3InO1xuICB9XG59XG5cbmNvbnN0IEV2ZW50SW5wdXRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIF9pZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfa2V5OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9yZXY6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX29sZFJldjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfZnJvbTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfdG86IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgYWRkcmVzczogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBjYWNoZWQ6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgY29udGVudDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBlbmREYXRlOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGV2ZW50SWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgZ3JvdXBJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBpZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBpbWFnZXM6IHouYXJyYXkoei5hbnkoKSkub3B0aW9uYWwoKSxcbiAgaXNHb2luZzogei5ib29sZWFuKCkub3B0aW9uYWwoKSxcbiAgbGF0aXR1ZGU6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgbG9jYXRpb246IHoudW5pb24oW3ouc3RyaW5nKCksIHoub2JqZWN0KHtcbiAgICBhZGRyZXNzOiB6LnN0cmluZygpLFxuICAgIGxhdGl0dWRlOiB6Lm51bWJlcigpLFxuICAgIGxvbmdpdHVkZTogei5udW1iZXIoKVxuICB9KV0pLm9wdGlvbmFsKCksXG4gIGxvbmdpdHVkZTogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBtZW50aW9uczogei5hcnJheSh6LmFueSgpKS5vcHRpb25hbCgpLFxuICBtb2RpZmllZDogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBuYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIG1heEd1ZXN0c1BlclBlcnNvbmE6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgcG9zdElkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHJlYWN0aW9uczogei5hcnJheSh6LnN0cmluZygpKS5vcHRpb25hbCgpLFxuICByc3ZwQ291bnQ6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgc3RhcnREYXRlOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIHRhZ3M6IHouYXJyYXkoei5hbnkoKSkub3B0aW9uYWwoKSxcbiAgdGlja2V0Q29zdENlbnRzOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIHR5cGU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgdXNlcjogei5hbnkoKS5vcHRpb25hbCgpLFxuICB2aWV3Q291bnQ6IHoubnVtYmVyKCkub3B0aW9uYWwoKVxufSkubG9vc2UoKTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlRXZlbnRJbnB1dCA9IChldmVudDogdW5rbm93bik6IEV2ZW50VHlwZSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgdmFsaWRhdGVkID0gRXZlbnRJbnB1dFNjaGVtYS5wYXJzZShldmVudCk7XG4gICAgcmV0dXJuIHZhbGlkYXRlZCBhcyBFdmVudFR5cGU7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIHouWm9kRXJyb3IpIHtcbiAgICAgIGNvbnN0IGZpZWxkRXJyb3JzID0gZXJyb3IuaXNzdWVzLm1hcCgoZSkgPT4gYCR7ZS5wYXRoLmpvaW4oJy4nKX06ICR7ZS5tZXNzYWdlfWApLmpvaW4oJywgJyk7XG4gICAgICB0aHJvdyBuZXcgRXZlbnRWYWxpZGF0aW9uRXJyb3IoYEV2ZW50IHZhbGlkYXRpb24gZmFpbGVkOiAke2ZpZWxkRXJyb3JzfWApO1xuICAgIH1cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdEV2ZW50T3V0cHV0ID0gKGV2ZW50OiBFdmVudFR5cGUpOiBFdmVudFR5cGUgPT4gZXZlbnQ7XG5cbmV4cG9ydCBjb25zdCBwYXJzZUV2ZW50ID0gKGV2ZW50OiBFdmVudFR5cGUpOiBFdmVudFR5cGUgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHBhcnNlZCA9IHBlcmZvcm1FdmVudFRyYW5zZm9ybWF0aW9uKGV2ZW50KTtcbiAgICByZXR1cm4gcGFyc2VkO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiBFdmVudFZhbGlkYXRpb25FcnJvcikge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICAgIHRocm93IG5ldyBFdmVudFZhbGlkYXRpb25FcnJvcihgRXZlbnQgcGFyc2luZyBmYWlsZWQ6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCk7XG4gIH1cbn07XG5cbmNvbnN0IHBlcmZvcm1FdmVudFRyYW5zZm9ybWF0aW9uID0gKGV2ZW50OiBFdmVudFR5cGUpOiBFdmVudFR5cGUgPT4ge1xuICBjb25zdCB7XG4gICAgX2lkLFxuICAgIF9rZXksXG4gICAgYWRkcmVzcyxcbiAgICBjYWNoZWQsXG4gICAgY29udGVudCxcbiAgICBlbmREYXRlLFxuICAgIGV2ZW50SWQsXG4gICAgZ3JvdXBJZCxcbiAgICBpZCxcbiAgICBpbWFnZXMsXG4gICAgaXNHb2luZyxcbiAgICBsYXRpdHVkZSxcbiAgICBsb2NhdGlvbixcbiAgICBsb25naXR1ZGUsXG4gICAgbWVudGlvbnMsXG4gICAgbmFtZSxcbiAgICBtYXhHdWVzdHNQZXJQZXJzb25hLFxuICAgIHBvc3RJZCxcbiAgICByZWFjdGlvbnMsXG4gICAgcnN2cENvdW50LFxuICAgIHN0YXJ0RGF0ZSxcbiAgICB0YWdzLFxuICAgIHRpY2tldENvc3RDZW50cyxcbiAgICB0eXBlLFxuICAgIHVzZXIsXG4gICAgdmlld0NvdW50XG4gIH0gPSBldmVudDtcblxuICBjb25zdCB0cmFuc2Zvcm1lZCA9IHJlbW92ZUVtcHR5S2V5cyh7XG4gICAgLi4ucGFyc2VEb2N1bWVudChldmVudCksXG4gICAgLi4uKGFkZHJlc3MgJiYge2FkZHJlc3M6IHBhcnNlU3RyaW5nKGFkZHJlc3MsIDE2MCl9KSxcbiAgICAuLi4oY2FjaGVkICE9PSB1bmRlZmluZWQgJiYge2NhY2hlZDogcGFyc2VOdW0oY2FjaGVkKX0pLFxuICAgIC4uLihjb250ZW50ICYmIHtjb250ZW50OiBwYXJzZVJlYWt0b3JDb250ZW50KGNvbnRlbnQpfSksXG4gICAgLi4uKGVuZERhdGUgIT09IHVuZGVmaW5lZCAmJiB7ZW5kRGF0ZTogcGFyc2VSZWFrdG9yRGF0ZShlbmREYXRlKX0pLFxuICAgIC4uLigoX2lkIHx8IGlkIHx8IF9rZXkgfHwgZXZlbnRJZCkgJiYge2lkOiBwYXJzZUFyYW5nb0lkKF9pZCB8fCBpZCB8fCBgZXZlbnRzLyR7X2tleSB8fCBldmVudElkfWApfSksXG4gICAgLi4uKChfa2V5IHx8IGV2ZW50SWQpICYmIHtldmVudElkOiBwYXJzZUlkKF9rZXkgfHwgZXZlbnRJZCB8fCAnJyl9KSxcbiAgICAuLi4oZ3JvdXBJZCAmJiB7Z3JvdXBJZDogcGFyc2VJZChncm91cElkKX0pLFxuICAgIC4uLihpbWFnZXM/Lmxlbmd0aCAmJiB7aW1hZ2VzOiBpbWFnZXMubWFwKChpbWFnZSkgPT4gcGFyc2VJbWFnZShpbWFnZSkpfSksXG4gICAgLi4uKGlzR29pbmcgIT09IHVuZGVmaW5lZCAmJiB7aXNHb2luZzogISFpc0dvaW5nfSksXG4gICAgLi4uKGxhdGl0dWRlICE9PSB1bmRlZmluZWQgJiYge2xhdGl0dWRlOiBwYXJzZU51bShsYXRpdHVkZSwgMTUpfSksXG4gICAgLi4uKGxvbmdpdHVkZSAhPT0gdW5kZWZpbmVkICYmIHtsb25naXR1ZGU6IHBhcnNlTnVtKGxvbmdpdHVkZSwgMTUpfSksXG4gICAgLi4uKG1lbnRpb25zPy5sZW5ndGggJiYge21lbnRpb25zOiBtZW50aW9ucy5tYXAoKG1lbnRpb24pID0+IHBhcnNlVXNlcihtZW50aW9uKSl9KSxcbiAgICAuLi4obmFtZSAmJiB7bmFtZTogcGFyc2VTdHJpbmcobmFtZSwgMTYwKX0pLFxuICAgIC4uLihtYXhHdWVzdHNQZXJQZXJzb25hICE9PSB1bmRlZmluZWQgJiYge21heEd1ZXN0c1BlclBlcnNvbmE6IHBhcnNlTnVtKG1heEd1ZXN0c1BlclBlcnNvbmEpfSksXG4gICAgLi4uKHBvc3RJZCAmJiB7cG9zdElkOiBwYXJzZUlkKHBvc3RJZCl9KSxcbiAgICAuLi4ocmVhY3Rpb25zPy5sZW5ndGggJiYge3JlYWN0aW9uc30pLFxuICAgIC4uLihyc3ZwQ291bnQgIT09IHVuZGVmaW5lZCAmJiB7cnN2cENvdW50OiBwYXJzZU51bShyc3ZwQ291bnQpfSksXG4gICAgLi4uKHN0YXJ0RGF0ZSAhPT0gdW5kZWZpbmVkICYmIHtzdGFydERhdGU6IHBhcnNlUmVha3RvckRhdGUoc3RhcnREYXRlKX0pLFxuICAgIC4uLih0YWdzPy5sZW5ndGggJiYge3RhZ3M6IHRhZ3MubWFwKCh0YWcpID0+IHBhcnNlVGFnKHRhZykpfSksXG4gICAgLi4uKHRpY2tldENvc3RDZW50cyAhPT0gdW5kZWZpbmVkICYmIHt0aWNrZXRDb3N0Q2VudHM6IHBhcnNlTnVtKHRpY2tldENvc3RDZW50cyl9KSxcbiAgICAuLi4odHlwZSAmJiB7dHlwZTogcGFyc2VSZWFrdG9yVHlwZSh0eXBlKX0pLFxuICAgIC4uLih1c2VyICYmIHt1c2VyOiBwYXJzZVVzZXIodXNlcil9KSxcbiAgICAuLi4odmlld0NvdW50ICE9PSB1bmRlZmluZWQgJiYge3ZpZXdDb3VudDogcGFyc2VOdW0odmlld0NvdW50KX0pXG4gIH0pO1xuXG4gIC8vIEhhbmRsZSBsb2NhdGlvbiBvYmplY3RcbiAgaWYobG9jYXRpb24gJiYgdHlwZW9mIGxvY2F0aW9uID09PSAnb2JqZWN0Jykge1xuICAgIHRyYW5zZm9ybWVkLmFkZHJlc3MgPSBwYXJzZVN0cmluZyhsb2NhdGlvbi5hZGRyZXNzLCAxNjApO1xuICAgIHRyYW5zZm9ybWVkLmxhdGl0dWRlID0gcGFyc2VOdW0obG9jYXRpb24ubGF0aXR1ZGUsIDE1KTtcbiAgICB0cmFuc2Zvcm1lZC5sb25naXR1ZGUgPSBwYXJzZU51bShsb2NhdGlvbi5sb25naXR1ZGUsIDE1KTtcbiAgfVxuXG4gIHJldHVybiB0cmFuc2Zvcm1lZDtcbn07XG4iXSwibmFtZXMiOlsicGFyc2VBcmFuZ29JZCIsInBhcnNlSWQiLCJwYXJzZU51bSIsInBhcnNlU3RyaW5nIiwieiIsInBhcnNlRG9jdW1lbnQiLCJyZW1vdmVFbXB0eUtleXMiLCJwYXJzZUltYWdlIiwicGFyc2VSZWFrdG9yQ29udGVudCIsInBhcnNlUmVha3RvckRhdGUiLCJwYXJzZVJlYWt0b3JUeXBlIiwicGFyc2VUYWciLCJwYXJzZVVzZXIiLCJFdmVudFZhbGlkYXRpb25FcnJvciIsIkVycm9yIiwibWVzc2FnZSIsImZpZWxkIiwibmFtZSIsIkV2ZW50SW5wdXRTY2hlbWEiLCJvYmplY3QiLCJfaWQiLCJzdHJpbmciLCJvcHRpb25hbCIsIl9rZXkiLCJfcmV2IiwiX29sZFJldiIsIl9mcm9tIiwiX3RvIiwiYWRkcmVzcyIsImNhY2hlZCIsIm51bWJlciIsImNvbnRlbnQiLCJlbmREYXRlIiwiZXZlbnRJZCIsImdyb3VwSWQiLCJpZCIsImltYWdlcyIsImFycmF5IiwiYW55IiwiaXNHb2luZyIsImJvb2xlYW4iLCJsYXRpdHVkZSIsImxvY2F0aW9uIiwidW5pb24iLCJsb25naXR1ZGUiLCJtZW50aW9ucyIsIm1vZGlmaWVkIiwibWF4R3Vlc3RzUGVyUGVyc29uYSIsInBvc3RJZCIsInJlYWN0aW9ucyIsInJzdnBDb3VudCIsInN0YXJ0RGF0ZSIsInRhZ3MiLCJ0aWNrZXRDb3N0Q2VudHMiLCJ0eXBlIiwidXNlciIsInZpZXdDb3VudCIsImxvb3NlIiwidmFsaWRhdGVFdmVudElucHV0IiwiZXZlbnQiLCJ2YWxpZGF0ZWQiLCJwYXJzZSIsImVycm9yIiwiWm9kRXJyb3IiLCJmaWVsZEVycm9ycyIsImlzc3VlcyIsIm1hcCIsImUiLCJwYXRoIiwiam9pbiIsImZvcm1hdEV2ZW50T3V0cHV0IiwicGFyc2VFdmVudCIsInBhcnNlZCIsInBlcmZvcm1FdmVudFRyYW5zZm9ybWF0aW9uIiwidHJhbnNmb3JtZWQiLCJ1bmRlZmluZWQiLCJsZW5ndGgiLCJpbWFnZSIsIm1lbnRpb24iLCJ0YWciXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLGFBQWEsRUFBRUMsT0FBTyxFQUFFQyxRQUFRLEVBQUVDLFdBQVcsUUFBUSxlQUFlO0FBQzdFLFNBQVNDLENBQUMsUUFBUSxNQUFNO0FBRXhCLFNBQVNDLGFBQWEsRUFBRUMsZUFBZSxRQUFRLG9DQUFvQztBQUNuRixTQUFTQyxVQUFVLFFBQVEsa0NBQWtD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
|
|
@@ -20,10 +20,11 @@ export interface FileType {
|
|
|
20
20
|
[key: string]: any;
|
|
21
21
|
}
|
|
22
22
|
export declare class FileValidationError extends Error {
|
|
23
|
-
field?: string
|
|
24
|
-
constructor(message: string, field?: string
|
|
23
|
+
field?: string;
|
|
24
|
+
constructor(message: string, field?: string);
|
|
25
25
|
}
|
|
26
26
|
export declare const validateFileInput: (file: unknown) => FileType;
|
|
27
27
|
export declare const formatFileOutput: (file: FileType) => FileType;
|
|
28
28
|
export declare const getFileType: (file: FileType) => string;
|
|
29
29
|
export declare const parseFile: (file: FileType) => FileType;
|
|
30
|
+
//# sourceMappingURL=fileAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/fileAdapter/fileAdapter.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,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,MAqB5C,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,MAAM,QAAQ,KAAG,QAU1C,CAAC"}
|
|
@@ -1,2 +1,118 @@
|
|
|
1
|
-
import{parseArangoId
|
|
2
|
-
|
|
1
|
+
import { parseArangoId, parseId, parseNum, parseString, parseUrl } from '@nlabs/utils';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { parseDocument } from '../arangoAdapter/arangoAdapter.js';
|
|
4
|
+
import { parseReaktorContent, parseReaktorType } from '../reaktorAdapter/reaktorAdapter.js';
|
|
5
|
+
export class FileValidationError extends Error {
|
|
6
|
+
field;
|
|
7
|
+
constructor(message, field){
|
|
8
|
+
super(message), this.field = field;
|
|
9
|
+
this.name = 'FileValidationError';
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
const FileInputSchema = 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
|
+
base64: z.string().optional(),
|
|
20
|
+
buffer: z.any().optional(),
|
|
21
|
+
description: z.string().optional(),
|
|
22
|
+
fileId: z.string().optional(),
|
|
23
|
+
fileSize: z.number().optional(),
|
|
24
|
+
fileType: z.string().optional(),
|
|
25
|
+
itemId: z.string().optional(),
|
|
26
|
+
itemType: z.string().optional(),
|
|
27
|
+
name: z.string().optional(),
|
|
28
|
+
url: z.string().optional(),
|
|
29
|
+
userId: z.string().optional()
|
|
30
|
+
}).loose();
|
|
31
|
+
export const validateFileInput = (file)=>{
|
|
32
|
+
try {
|
|
33
|
+
const validated = FileInputSchema.parse(file);
|
|
34
|
+
return validated;
|
|
35
|
+
} catch (error) {
|
|
36
|
+
if (error instanceof z.ZodError) {
|
|
37
|
+
const fieldErrors = error.issues.map((e)=>`${e.path.join('.')}: ${e.message}`).join(', ');
|
|
38
|
+
throw new FileValidationError(`File validation failed: ${fieldErrors}`);
|
|
39
|
+
}
|
|
40
|
+
throw error;
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
export const formatFileOutput = (file)=>file;
|
|
44
|
+
export const getFileType = (file)=>{
|
|
45
|
+
const { fileType, name } = file;
|
|
46
|
+
if (fileType) {
|
|
47
|
+
return parseString(fileType, 16);
|
|
48
|
+
}
|
|
49
|
+
const nameArr = name?.split('.') || [];
|
|
50
|
+
const ext = nameArr.length > 0 ? nameArr[nameArr.length - 1] : '';
|
|
51
|
+
switch(ext){
|
|
52
|
+
case 'jpeg':
|
|
53
|
+
case 'jpg':
|
|
54
|
+
return 'image/jpeg';
|
|
55
|
+
case 'png':
|
|
56
|
+
return 'image/png';
|
|
57
|
+
case 'zip':
|
|
58
|
+
return 'application/zip';
|
|
59
|
+
default:
|
|
60
|
+
return '';
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
export const parseFile = (file)=>{
|
|
64
|
+
try {
|
|
65
|
+
const parsed = performFileTransformation(file);
|
|
66
|
+
return parsed;
|
|
67
|
+
} catch (error) {
|
|
68
|
+
if (error instanceof FileValidationError) {
|
|
69
|
+
throw error;
|
|
70
|
+
}
|
|
71
|
+
throw new FileValidationError(`File parsing failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
const performFileTransformation = (file)=>{
|
|
75
|
+
const { _id, _key, base64, buffer, description, fileId, fileSize, fileType, id, itemId, itemType, name, url, userId } = file;
|
|
76
|
+
const transformed = {
|
|
77
|
+
...parseDocument(file),
|
|
78
|
+
...base64 && {
|
|
79
|
+
base64
|
|
80
|
+
},
|
|
81
|
+
...buffer && {
|
|
82
|
+
buffer
|
|
83
|
+
},
|
|
84
|
+
...description && {
|
|
85
|
+
description: parseReaktorContent(description)
|
|
86
|
+
},
|
|
87
|
+
...(_key || fileId) && {
|
|
88
|
+
fileId: parseId(_key || fileId || '')
|
|
89
|
+
},
|
|
90
|
+
...(_id || id || _key || fileId) && {
|
|
91
|
+
id: parseArangoId(_id || id || `files/${_key || fileId}`)
|
|
92
|
+
},
|
|
93
|
+
...fileSize !== undefined && {
|
|
94
|
+
fileSize: parseNum(fileSize)
|
|
95
|
+
},
|
|
96
|
+
...fileType && {
|
|
97
|
+
fileType: getFileType(file)
|
|
98
|
+
},
|
|
99
|
+
...itemId && {
|
|
100
|
+
itemId: parseId(itemId)
|
|
101
|
+
},
|
|
102
|
+
...itemType && {
|
|
103
|
+
itemType: parseReaktorType(itemType)
|
|
104
|
+
},
|
|
105
|
+
...name && {
|
|
106
|
+
name: parseString(name, 160)
|
|
107
|
+
},
|
|
108
|
+
...url && {
|
|
109
|
+
url: parseUrl(url)
|
|
110
|
+
},
|
|
111
|
+
...userId && {
|
|
112
|
+
userId: parseId(userId)
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
return transformed;
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvYWRhcHRlcnMvZmlsZUFkYXB0ZXIvZmlsZUFkYXB0ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcGFyc2VBcmFuZ29JZCwgcGFyc2VJZCwgcGFyc2VOdW0sIHBhcnNlU3RyaW5nLCBwYXJzZVVybCB9IGZyb20gJ0BubGFicy91dGlscyc7XG5pbXBvcnQgeyB6IH0gZnJvbSAnem9kJztcblxuaW1wb3J0IHsgcGFyc2VEb2N1bWVudCB9IGZyb20gJy4uL2FyYW5nb0FkYXB0ZXIvYXJhbmdvQWRhcHRlci5qcyc7XG5pbXBvcnQgeyBwYXJzZVJlYWt0b3JDb250ZW50LCBwYXJzZVJlYWt0b3JUeXBlIH0gZnJvbSAnLi4vcmVha3RvckFkYXB0ZXIvcmVha3RvckFkYXB0ZXIuanMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZpbGVUeXBlIHtcbiAgX2Zyb20/OiBzdHJpbmc7XG4gIF9pZD86IHN0cmluZztcbiAgX2tleT86IHN0cmluZztcbiAgX29sZFJldj86IHN0cmluZztcbiAgX3Jldj86IHN0cmluZztcbiAgX3RvPzogc3RyaW5nO1xuICBiYXNlNjQ/OiBzdHJpbmc7XG4gIGJ1ZmZlcj86IGFueTtcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGZpbGVJZD86IHN0cmluZztcbiAgZmlsZVNpemU/OiBudW1iZXI7XG4gIGZpbGVUeXBlPzogc3RyaW5nO1xuICBpZD86IHN0cmluZztcbiAgaXRlbUlkPzogc3RyaW5nO1xuICBpdGVtVHlwZT86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgdXJsPzogc3RyaW5nO1xuICB1c2VySWQ/OiBzdHJpbmc7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGNsYXNzIEZpbGVWYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIGZpZWxkPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ0ZpbGVWYWxpZGF0aW9uRXJyb3InO1xuICB9XG59XG5cbmNvbnN0IEZpbGVJbnB1dFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgX2Zyb206IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2lkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9rZXk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX29sZFJldjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfcmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF90bzogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBiYXNlNjQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgYnVmZmVyOiB6LmFueSgpLm9wdGlvbmFsKCksXG4gIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGZpbGVJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBmaWxlU2l6ZTogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBmaWxlVHlwZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBpdGVtSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgaXRlbVR5cGU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgbmFtZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB1cmw6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgdXNlcklkOiB6LnN0cmluZygpLm9wdGlvbmFsKClcbn0pLmxvb3NlKCk7XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZUZpbGVJbnB1dCA9IChmaWxlOiB1bmtub3duKTogRmlsZVR5cGUgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHZhbGlkYXRlZCA9IEZpbGVJbnB1dFNjaGVtYS5wYXJzZShmaWxlKTtcbiAgICByZXR1cm4gdmFsaWRhdGVkIGFzIEZpbGVUeXBlO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiB6LlpvZEVycm9yKSB7XG4gICAgICBjb25zdCBmaWVsZEVycm9ycyA9IGVycm9yLmlzc3Vlcy5tYXAoKGUpID0+IGAke2UucGF0aC5qb2luKCcuJyl9OiAke2UubWVzc2FnZX1gKS5qb2luKCcsICcpO1xuICAgICAgdGhyb3cgbmV3IEZpbGVWYWxpZGF0aW9uRXJyb3IoYEZpbGUgdmFsaWRhdGlvbiBmYWlsZWQ6ICR7ZmllbGRFcnJvcnN9YCk7XG4gICAgfVxuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZm9ybWF0RmlsZU91dHB1dCA9IChmaWxlOiBGaWxlVHlwZSk6IEZpbGVUeXBlID0+IGZpbGU7XG5cbmV4cG9ydCBjb25zdCBnZXRGaWxlVHlwZSA9IChmaWxlOiBGaWxlVHlwZSk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IHtmaWxlVHlwZSwgbmFtZX0gPSBmaWxlO1xuXG4gIGlmKGZpbGVUeXBlKSB7XG4gICAgcmV0dXJuIHBhcnNlU3RyaW5nKGZpbGVUeXBlLCAxNik7XG4gIH1cblxuICBjb25zdCBuYW1lQXJyOiBzdHJpbmdbXSA9IG5hbWU/LnNwbGl0KCcuJykgfHwgW107XG4gIGNvbnN0IGV4dCA9IG5hbWVBcnIubGVuZ3RoID4gMCA/IG5hbWVBcnJbbmFtZUFyci5sZW5ndGggLSAxXSA6ICcnO1xuXG4gIHN3aXRjaChleHQpIHtcbiAgICBjYXNlICdqcGVnJzpcbiAgICBjYXNlICdqcGcnOlxuICAgICAgcmV0dXJuICdpbWFnZS9qcGVnJztcbiAgICBjYXNlICdwbmcnOlxuICAgICAgcmV0dXJuICdpbWFnZS9wbmcnO1xuICAgIGNhc2UgJ3ppcCc6XG4gICAgICByZXR1cm4gJ2FwcGxpY2F0aW9uL3ppcCc7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiAnJztcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlRmlsZSA9IChmaWxlOiBGaWxlVHlwZSk6IEZpbGVUeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJzZWQgPSBwZXJmb3JtRmlsZVRyYW5zZm9ybWF0aW9uKGZpbGUpO1xuICAgIHJldHVybiBwYXJzZWQ7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIEZpbGVWYWxpZGF0aW9uRXJyb3IpIHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRmlsZVZhbGlkYXRpb25FcnJvcihgRmlsZSBwYXJzaW5nIGZhaWxlZDogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ31gKTtcbiAgfVxufTtcblxuY29uc3QgcGVyZm9ybUZpbGVUcmFuc2Zvcm1hdGlvbiA9IChmaWxlOiBGaWxlVHlwZSk6IEZpbGVUeXBlID0+IHtcbiAgY29uc3Qge1xuICAgIF9pZCxcbiAgICBfa2V5LFxuICAgIGJhc2U2NCxcbiAgICBidWZmZXIsXG4gICAgZGVzY3JpcHRpb24sXG4gICAgZmlsZUlkLFxuICAgIGZpbGVTaXplLFxuICAgIGZpbGVUeXBlLFxuICAgIGlkLFxuICAgIGl0ZW1JZCxcbiAgICBpdGVtVHlwZSxcbiAgICBuYW1lLFxuICAgIHVybCxcbiAgICB1c2VySWRcbiAgfSA9IGZpbGU7XG5cbiAgY29uc3QgdHJhbnNmb3JtZWQgPSB7XG4gICAgLi4ucGFyc2VEb2N1bWVudChmaWxlKSxcbiAgICAuLi4oYmFzZTY0ICYmIHtiYXNlNjR9KSxcbiAgICAuLi4oYnVmZmVyICYmIHtidWZmZXJ9KSxcbiAgICAuLi4oZGVzY3JpcHRpb24gJiYge2Rlc2NyaXB0aW9uOiBwYXJzZVJlYWt0b3JDb250ZW50KGRlc2NyaXB0aW9uKX0pLFxuICAgIC4uLigoX2tleSB8fCBmaWxlSWQpICYmIHtmaWxlSWQ6IHBhcnNlSWQoX2tleSB8fCBmaWxlSWQgfHwgJycpfSksXG4gICAgLi4uKChfaWQgfHwgaWQgfHwgX2tleSB8fCBmaWxlSWQpICYmIHtpZDogcGFyc2VBcmFuZ29JZChfaWQgfHwgaWQgfHwgYGZpbGVzLyR7X2tleSB8fCBmaWxlSWR9YCl9KSxcbiAgICAuLi4oZmlsZVNpemUgIT09IHVuZGVmaW5lZCAmJiB7ZmlsZVNpemU6IHBhcnNlTnVtKGZpbGVTaXplKX0pLFxuICAgIC4uLihmaWxlVHlwZSAmJiB7ZmlsZVR5cGU6IGdldEZpbGVUeXBlKGZpbGUpfSksXG4gICAgLi4uKGl0ZW1JZCAmJiB7aXRlbUlkOiBwYXJzZUlkKGl0ZW1JZCl9KSxcbiAgICAuLi4oaXRlbVR5cGUgJiYge2l0ZW1UeXBlOiBwYXJzZVJlYWt0b3JUeXBlKGl0ZW1UeXBlKX0pLFxuICAgIC4uLihuYW1lICYmIHtuYW1lOiBwYXJzZVN0cmluZyhuYW1lLCAxNjApfSksXG4gICAgLi4uKHVybCAmJiB7dXJsOiBwYXJzZVVybCh1cmwpfSksXG4gICAgLi4uKHVzZXJJZCAmJiB7dXNlcklkOiBwYXJzZUlkKHVzZXJJZCl9KVxuICB9O1xuXG4gIHJldHVybiB0cmFuc2Zvcm1lZDtcbn07Il0sIm5hbWVzIjpbInBhcnNlQXJhbmdvSWQiLCJwYXJzZUlkIiwicGFyc2VOdW0iLCJwYXJzZVN0cmluZyIsInBhcnNlVXJsIiwieiIsInBhcnNlRG9jdW1lbnQiLCJwYXJzZVJlYWt0b3JDb250ZW50IiwicGFyc2VSZWFrdG9yVHlwZSIsIkZpbGVWYWxpZGF0aW9uRXJyb3IiLCJFcnJvciIsIm1lc3NhZ2UiLCJmaWVsZCIsIm5hbWUiLCJGaWxlSW5wdXRTY2hlbWEiLCJvYmplY3QiLCJfZnJvbSIsInN0cmluZyIsIm9wdGlvbmFsIiwiX2lkIiwiX2tleSIsIl9vbGRSZXYiLCJfcmV2IiwiX3RvIiwiYmFzZTY0IiwiYnVmZmVyIiwiYW55IiwiZGVzY3JpcHRpb24iLCJmaWxlSWQiLCJmaWxlU2l6ZSIsIm51bWJlciIsImZpbGVUeXBlIiwiaXRlbUlkIiwiaXRlbVR5cGUiLCJ1cmwiLCJ1c2VySWQiLCJsb29zZSIsInZhbGlkYXRlRmlsZUlucHV0IiwiZmlsZSIsInZhbGlkYXRlZCIsInBhcnNlIiwiZXJyb3IiLCJab2RFcnJvciIsImZpZWxkRXJyb3JzIiwiaXNzdWVzIiwibWFwIiwiZSIsInBhdGgiLCJqb2luIiwiZm9ybWF0RmlsZU91dHB1dCIsImdldEZpbGVUeXBlIiwibmFtZUFyciIsInNwbGl0IiwiZXh0IiwibGVuZ3RoIiwicGFyc2VGaWxlIiwicGFyc2VkIiwicGVyZm9ybUZpbGVUcmFuc2Zvcm1hdGlvbiIsImlkIiwidHJhbnNmb3JtZWQiLCJ1bmRlZmluZWQiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLGFBQWEsRUFBRUMsT0FBTyxFQUFFQyxRQUFRLEVBQUVDLFdBQVcsRUFBRUMsUUFBUSxRQUFRLGVBQWU7QUFDdkYsU0FBU0MsQ0FBQyxRQUFRLE1BQU07QUFFeEIsU0FBU0MsYUFBYSxRQUFRLG9DQUFvQztBQUNsRSxTQUFTQyxtQkFBbUIsRUFBRUMsZ0JBQWdCLFFBQVEsc0NBQXNDO0FBd0I1RixPQUFPLE1BQU1DLDRCQUE0QkM7O0lBQ3ZDLFlBQVlDLE9BQWUsRUFBRSxBQUFPQyxLQUFjLENBQUU7UUFDbEQsS0FBSyxDQUFDRCxlQUQ0QkMsUUFBQUE7UUFFbEMsSUFBSSxDQUFDQyxJQUFJLEdBQUc7SUFDZDtBQUNGO0FBRUEsTUFBTUMsa0JBQWtCVCxFQUFFVSxNQUFNLENBQUM7SUFDL0JDLE9BQU9YLEVBQUVZLE1BQU0sR0FBR0MsUUFBUTtJQUMxQkMsS0FBS2QsRUFBRVksTUFBTSxHQUFHQyxRQUFRO0lBQ3hCRSxNQUFNZixFQUFFWSxNQUFNLEdBQUdDLFFBQVE7SUFDekJHLFNBQVNoQixFQUFFWSxNQUFNLEdBQUdDLFFBQVE7SUFDNUJJLE1BQU1qQixFQUFFWSxNQUFNLEdBQUdDLFFBQVE7SUFDekJLLEtBQUtsQixFQUFFWSxNQUFNLEdBQUdDLFFBQVE7SUFDeEJNLFFBQVFuQixFQUFFWSxNQUFNLEdBQUdDLFFBQVE7SUFDM0JPLFFBQVFwQixFQUFFcUIsR0FBRyxHQUFHUixRQUFRO0lBQ3hCUyxhQUFhdEIsRUFBRVksTUFBTSxHQUFHQyxRQUFRO0lBQ2hDVSxRQUFRdkIsRUFBRVksTUFBTSxHQUFHQyxRQUFRO0lBQzNCVyxVQUFVeEIsRUFBRXlCLE1BQU0sR0FBR1osUUFBUTtJQUM3QmEsVUFBVTFCLEVBQUVZLE1BQU0sR0FBR0MsUUFBUTtJQUM3QmMsUUFBUTNCLEVBQUVZLE1BQU0sR0FBR0MsUUFBUTtJQUMzQmUsVUFBVTVCLEVBQUVZLE1BQU0sR0FBR0MsUUFBUTtJQUM3QkwsTUFBTVIsRUFBRVksTUFBTSxHQUFHQyxRQUFRO0lBQ3pCZ0IsS0FBSzdCLEVBQUVZLE1BQU0sR0FBR0MsUUFBUTtJQUN4QmlCLFFBQVE5QixFQUFFWSxNQUFNLEdBQUdDLFFBQVE7QUFDN0IsR0FBR2tCLEtBQUs7QUFFUixPQUFPLE1BQU1DLG9CQUFvQixDQUFDQztJQUNoQyxJQUFJO1FBQ0YsTUFBTUMsWUFBWXpCLGdCQUFnQjBCLEtBQUssQ0FBQ0Y7UUFDeEMsT0FBT0M7SUFDVCxFQUFFLE9BQU1FLE9BQU87UUFDYixJQUFHQSxpQkFBaUJwQyxFQUFFcUMsUUFBUSxFQUFFO1lBQzlCLE1BQU1DLGNBQWNGLE1BQU1HLE1BQU0sQ0FBQ0MsR0FBRyxDQUFDLENBQUNDLElBQU0sR0FBR0EsRUFBRUMsSUFBSSxDQUFDQyxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUVGLEVBQUVuQyxPQUFPLEVBQUUsRUFBRXFDLElBQUksQ0FBQztZQUN0RixNQUFNLElBQUl2QyxvQkFBb0IsQ0FBQyx3QkFBd0IsRUFBRWtDLGFBQWE7UUFDeEU7UUFDQSxNQUFNRjtJQUNSO0FBQ0YsRUFBRTtBQUVGLE9BQU8sTUFBTVEsbUJBQW1CLENBQUNYLE9BQTZCQSxLQUFLO0FBRW5FLE9BQU8sTUFBTVksY0FBYyxDQUFDWjtJQUMxQixNQUFNLEVBQUNQLFFBQVEsRUFBRWxCLElBQUksRUFBQyxHQUFHeUI7SUFFekIsSUFBR1AsVUFBVTtRQUNYLE9BQU81QixZQUFZNEIsVUFBVTtJQUMvQjtJQUVBLE1BQU1vQixVQUFvQnRDLE1BQU11QyxNQUFNLFFBQVEsRUFBRTtJQUNoRCxNQUFNQyxNQUFNRixRQUFRRyxNQUFNLEdBQUcsSUFBSUgsT0FBTyxDQUFDQSxRQUFRRyxNQUFNLEdBQUcsRUFBRSxHQUFHO0lBRS9ELE9BQU9EO1FBQ0wsS0FBSztRQUNMLEtBQUs7WUFDSCxPQUFPO1FBQ1QsS0FBSztZQUNILE9BQU87UUFDVCxLQUFLO1lBQ0gsT0FBTztRQUNUO1lBQ0UsT0FBTztJQUNYO0FBQ0YsRUFBRTtBQUVGLE9BQU8sTUFBTUUsWUFBWSxDQUFDakI7SUFDeEIsSUFBSTtRQUNGLE1BQU1rQixTQUFTQywwQkFBMEJuQjtRQUN6QyxPQUFPa0I7SUFDVCxFQUFFLE9BQU1mLE9BQU87UUFDYixJQUFHQSxpQkFBaUJoQyxxQkFBcUI7WUFDdkMsTUFBTWdDO1FBQ1I7UUFDQSxNQUFNLElBQUloQyxvQkFBb0IsQ0FBQyxxQkFBcUIsRUFBRWdDLGlCQUFpQi9CLFFBQVErQixNQUFNOUIsT0FBTyxHQUFHLGlCQUFpQjtJQUNsSDtBQUNGLEVBQUU7QUFFRixNQUFNOEMsNEJBQTRCLENBQUNuQjtJQUNqQyxNQUFNLEVBQ0puQixHQUFHLEVBQ0hDLElBQUksRUFDSkksTUFBTSxFQUNOQyxNQUFNLEVBQ05FLFdBQVcsRUFDWEMsTUFBTSxFQUNOQyxRQUFRLEVBQ1JFLFFBQVEsRUFDUjJCLEVBQUUsRUFDRjFCLE1BQU0sRUFDTkMsUUFBUSxFQUNScEIsSUFBSSxFQUNKcUIsR0FBRyxFQUNIQyxNQUFNLEVBQ1AsR0FBR0c7SUFFSixNQUFNcUIsY0FBYztRQUNsQixHQUFHckQsY0FBY2dDLEtBQUs7UUFDdEIsR0FBSWQsVUFBVTtZQUFDQTtRQUFNLENBQUM7UUFDdEIsR0FBSUMsVUFBVTtZQUFDQTtRQUFNLENBQUM7UUFDdEIsR0FBSUUsZUFBZTtZQUFDQSxhQUFhcEIsb0JBQW9Cb0I7UUFBWSxDQUFDO1FBQ2xFLEdBQUksQUFBQ1AsQ0FBQUEsUUFBUVEsTUFBSyxLQUFNO1lBQUNBLFFBQVEzQixRQUFRbUIsUUFBUVEsVUFBVTtRQUFHLENBQUM7UUFDL0QsR0FBSSxBQUFDVCxDQUFBQSxPQUFPdUMsTUFBTXRDLFFBQVFRLE1BQUssS0FBTTtZQUFDOEIsSUFBSTFELGNBQWNtQixPQUFPdUMsTUFBTSxDQUFDLE1BQU0sRUFBRXRDLFFBQVFRLFFBQVE7UUFBQyxDQUFDO1FBQ2hHLEdBQUlDLGFBQWErQixhQUFhO1lBQUMvQixVQUFVM0IsU0FBUzJCO1FBQVMsQ0FBQztRQUM1RCxHQUFJRSxZQUFZO1lBQUNBLFVBQVVtQixZQUFZWjtRQUFLLENBQUM7UUFDN0MsR0FBSU4sVUFBVTtZQUFDQSxRQUFRL0IsUUFBUStCO1FBQU8sQ0FBQztRQUN2QyxHQUFJQyxZQUFZO1lBQUNBLFVBQVV6QixpQkFBaUJ5QjtRQUFTLENBQUM7UUFDdEQsR0FBSXBCLFFBQVE7WUFBQ0EsTUFBTVYsWUFBWVUsTUFBTTtRQUFJLENBQUM7UUFDMUMsR0FBSXFCLE9BQU87WUFBQ0EsS0FBSzlCLFNBQVM4QjtRQUFJLENBQUM7UUFDL0IsR0FBSUMsVUFBVTtZQUFDQSxRQUFRbEMsUUFBUWtDO1FBQU8sQ0FBQztJQUN6QztJQUVBLE9BQU93QjtBQUNUIn0=
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export interface Group {
|
|
2
|
+
[key: string]: any;
|
|
3
|
+
_id?: string;
|
|
4
|
+
_key?: string;
|
|
5
|
+
_rev?: string;
|
|
6
|
+
_oldRev?: string;
|
|
7
|
+
_from?: string;
|
|
8
|
+
_to?: string;
|
|
9
|
+
added?: number;
|
|
10
|
+
description?: string;
|
|
11
|
+
groupId?: string;
|
|
12
|
+
id?: string;
|
|
13
|
+
imageId?: string;
|
|
14
|
+
name?: string;
|
|
15
|
+
ownerId?: string;
|
|
16
|
+
privacy?: string;
|
|
17
|
+
tags?: any[];
|
|
18
|
+
type?: string;
|
|
19
|
+
updated?: number;
|
|
20
|
+
userCount?: number;
|
|
21
|
+
}
|
|
22
|
+
export declare class GroupValidationError extends Error {
|
|
23
|
+
field?: string;
|
|
24
|
+
constructor(message: string, field?: string);
|
|
25
|
+
}
|
|
26
|
+
export declare const validateGroupInput: (group: unknown) => Group;
|
|
27
|
+
export declare const parseGroup: (item: any) => Group;
|
|
28
|
+
//# sourceMappingURL=groupAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"groupAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/groupAdapter/groupAdapter.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,KAAK;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IACT,KAAK,CAAC,EAAE,MAAM;gBAAtC,OAAO,EAAE,MAAM,EAAS,KAAK,CAAC,EAAE,MAAM;CAInD;AAsBD,eAAO,MAAM,kBAAkB,GAAI,OAAO,OAAO,KAAG,KAWnD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,MAAM,GAAG,KAAG,KAkBtC,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026-Present, Nitrogen Labs, Inc.
|
|
3
|
+
* Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
|
|
4
|
+
*/ import { parseId, parseNum, parseString } from '@nlabs/utils';
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
import { parseDocument } from '../arangoAdapter/arangoAdapter.js';
|
|
7
|
+
import { parseReaktorDate, parseReaktorItemId, parseReaktorName, parseReaktorType } from '../reaktorAdapter/reaktorAdapter.js';
|
|
8
|
+
import { parseTag } from '../tagAdapter/tagAdapter.js';
|
|
9
|
+
export class GroupValidationError extends Error {
|
|
10
|
+
field;
|
|
11
|
+
constructor(message, field){
|
|
12
|
+
super(message), this.field = field;
|
|
13
|
+
this.name = 'GroupValidationError';
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
const GroupInputSchema = z.object({
|
|
17
|
+
_from: z.string().optional(),
|
|
18
|
+
_id: z.string().optional(),
|
|
19
|
+
_key: z.string().optional(),
|
|
20
|
+
_oldRev: z.string().optional(),
|
|
21
|
+
_rev: z.string().optional(),
|
|
22
|
+
_to: z.string().optional(),
|
|
23
|
+
added: z.number().optional(),
|
|
24
|
+
description: z.string().optional(),
|
|
25
|
+
groupId: z.string().optional(),
|
|
26
|
+
imageId: z.string().optional(),
|
|
27
|
+
name: z.string().optional(),
|
|
28
|
+
ownerId: z.string().optional(),
|
|
29
|
+
privacy: z.string().optional(),
|
|
30
|
+
tags: z.array(z.any()).optional(),
|
|
31
|
+
type: z.string().optional(),
|
|
32
|
+
updated: z.number().optional(),
|
|
33
|
+
userCount: z.number().optional()
|
|
34
|
+
}).loose();
|
|
35
|
+
export const validateGroupInput = (group)=>{
|
|
36
|
+
try {
|
|
37
|
+
const validated = GroupInputSchema.parse(group);
|
|
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 GroupValidationError(`Group validation failed: ${fieldErrors}`);
|
|
43
|
+
}
|
|
44
|
+
throw error;
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
export const parseGroup = (item)=>{
|
|
48
|
+
const base = parseDocument(item);
|
|
49
|
+
return {
|
|
50
|
+
...base,
|
|
51
|
+
added: parseReaktorDate(item.added),
|
|
52
|
+
description: parseString(item.description),
|
|
53
|
+
groupId: parseReaktorItemId(item.groupId),
|
|
54
|
+
id: parseReaktorItemId(item.id),
|
|
55
|
+
imageId: parseId(item.imageId),
|
|
56
|
+
modified: parseReaktorDate(item.modified),
|
|
57
|
+
name: parseReaktorName(item.name),
|
|
58
|
+
ownerId: parseId(item.ownerId),
|
|
59
|
+
privacy: parseString(item.privacy),
|
|
60
|
+
tags: Array.isArray(item.tags) ? item.tags.map(parseTag) : [],
|
|
61
|
+
type: parseReaktorType(item.type),
|
|
62
|
+
userCount: parseNum(item.userCount)
|
|
63
|
+
};
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvYWRhcHRlcnMvZ3JvdXBBZGFwdGVyL2dyb3VwQWRhcHRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyNi1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtwYXJzZUlkLCBwYXJzZU51bSwgcGFyc2VTdHJpbmd9IGZyb20gJ0BubGFicy91dGlscyc7XG5pbXBvcnQge3p9IGZyb20gJ3pvZCc7XG5cbmltcG9ydCB7cGFyc2VEb2N1bWVudH0gZnJvbSAnLi4vYXJhbmdvQWRhcHRlci9hcmFuZ29BZGFwdGVyLmpzJztcbmltcG9ydCB7XG4gIHBhcnNlUmVha3RvckRhdGUsXG4gIHBhcnNlUmVha3Rvckl0ZW1JZCxcbiAgcGFyc2VSZWFrdG9yTmFtZSxcbiAgcGFyc2VSZWFrdG9yVHlwZVxufSBmcm9tICcuLi9yZWFrdG9yQWRhcHRlci9yZWFrdG9yQWRhcHRlci5qcyc7XG5pbXBvcnQge3BhcnNlVGFnfSBmcm9tICcuLi90YWdBZGFwdGVyL3RhZ0FkYXB0ZXIuanMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEdyb3VwIHtcbiAgW2tleTogc3RyaW5nXTogYW55O1xuICBfaWQ/OiBzdHJpbmc7XG4gIF9rZXk/OiBzdHJpbmc7XG4gIF9yZXY/OiBzdHJpbmc7XG4gIF9vbGRSZXY/OiBzdHJpbmc7XG4gIF9mcm9tPzogc3RyaW5nO1xuICBfdG8/OiBzdHJpbmc7XG4gIGFkZGVkPzogbnVtYmVyO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgZ3JvdXBJZD86IHN0cmluZztcbiAgaWQ/OiBzdHJpbmc7XG4gIGltYWdlSWQ/OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIG93bmVySWQ/OiBzdHJpbmc7XG4gIHByaXZhY3k/OiBzdHJpbmc7XG4gIHRhZ3M/OiBhbnlbXTtcbiAgdHlwZT86IHN0cmluZztcbiAgdXBkYXRlZD86IG51bWJlcjtcbiAgdXNlckNvdW50PzogbnVtYmVyO1xufVxuXG5leHBvcnQgY2xhc3MgR3JvdXBWYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIGZpZWxkPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ0dyb3VwVmFsaWRhdGlvbkVycm9yJztcbiAgfVxufVxuXG5jb25zdCBHcm91cElucHV0U2NoZW1hID0gei5vYmplY3Qoe1xuICBfZnJvbTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfaWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2tleTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfb2xkUmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9yZXY6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX3RvOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGFkZGVkOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGdyb3VwSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgaW1hZ2VJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBuYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIG93bmVySWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgcHJpdmFjeTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB0YWdzOiB6LmFycmF5KHouYW55KCkpLm9wdGlvbmFsKCksXG4gIHR5cGU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgdXBkYXRlZDogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICB1c2VyQ291bnQ6IHoubnVtYmVyKCkub3B0aW9uYWwoKVxufSkubG9vc2UoKTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlR3JvdXBJbnB1dCA9IChncm91cDogdW5rbm93bik6IEdyb3VwID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCB2YWxpZGF0ZWQgPSBHcm91cElucHV0U2NoZW1hLnBhcnNlKGdyb3VwKTtcbiAgICByZXR1cm4gdmFsaWRhdGVkIGFzIEdyb3VwO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiB6LlpvZEVycm9yKSB7XG4gICAgICBjb25zdCBmaWVsZEVycm9ycyA9IGVycm9yLmlzc3Vlcy5tYXAoKGUpID0+IGAke2UucGF0aC5qb2luKCcuJyl9OiAke2UubWVzc2FnZX1gKS5qb2luKCcsICcpO1xuICAgICAgdGhyb3cgbmV3IEdyb3VwVmFsaWRhdGlvbkVycm9yKGBHcm91cCB2YWxpZGF0aW9uIGZhaWxlZDogJHtmaWVsZEVycm9yc31gKTtcbiAgICB9XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBwYXJzZUdyb3VwID0gKGl0ZW06IGFueSk6IEdyb3VwID0+IHtcbiAgY29uc3QgYmFzZSA9IHBhcnNlRG9jdW1lbnQoaXRlbSk7XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5iYXNlLFxuICAgIGFkZGVkOiBwYXJzZVJlYWt0b3JEYXRlKGl0ZW0uYWRkZWQpLFxuICAgIGRlc2NyaXB0aW9uOiBwYXJzZVN0cmluZyhpdGVtLmRlc2NyaXB0aW9uKSxcbiAgICBncm91cElkOiBwYXJzZVJlYWt0b3JJdGVtSWQoaXRlbS5ncm91cElkKSxcbiAgICBpZDogcGFyc2VSZWFrdG9ySXRlbUlkKGl0ZW0uaWQpLFxuICAgIGltYWdlSWQ6IHBhcnNlSWQoaXRlbS5pbWFnZUlkKSxcbiAgICBtb2RpZmllZDogcGFyc2VSZWFrdG9yRGF0ZShpdGVtLm1vZGlmaWVkKSxcbiAgICBuYW1lOiBwYXJzZVJlYWt0b3JOYW1lKGl0ZW0ubmFtZSksXG4gICAgb3duZXJJZDogcGFyc2VJZChpdGVtLm93bmVySWQpLFxuICAgIHByaXZhY3k6IHBhcnNlU3RyaW5nKGl0ZW0ucHJpdmFjeSksXG4gICAgdGFnczogQXJyYXkuaXNBcnJheShpdGVtLnRhZ3MpID8gaXRlbS50YWdzLm1hcChwYXJzZVRhZykgOiBbXSxcbiAgICB0eXBlOiBwYXJzZVJlYWt0b3JUeXBlKGl0ZW0udHlwZSksXG4gICAgdXNlckNvdW50OiBwYXJzZU51bShpdGVtLnVzZXJDb3VudClcbiAgfTtcbn07XG4iXSwibmFtZXMiOlsicGFyc2VJZCIsInBhcnNlTnVtIiwicGFyc2VTdHJpbmciLCJ6IiwicGFyc2VEb2N1bWVudCIsInBhcnNlUmVha3RvckRhdGUiLCJwYXJzZVJlYWt0b3JJdGVtSWQiLCJwYXJzZVJlYWt0b3JOYW1lIiwicGFyc2VSZWFrdG9yVHlwZSIsInBhcnNlVGFnIiwiR3JvdXBWYWxpZGF0aW9uRXJyb3IiLCJFcnJvciIsIm1lc3NhZ2UiLCJmaWVsZCIsIm5hbWUiLCJHcm91cElucHV0U2NoZW1hIiwib2JqZWN0IiwiX2Zyb20iLCJzdHJpbmciLCJvcHRpb25hbCIsIl9pZCIsIl9rZXkiLCJfb2xkUmV2IiwiX3JldiIsIl90byIsImFkZGVkIiwibnVtYmVyIiwiZGVzY3JpcHRpb24iLCJncm91cElkIiwiaW1hZ2VJZCIsIm93bmVySWQiLCJwcml2YWN5IiwidGFncyIsImFycmF5IiwiYW55IiwidHlwZSIsInVwZGF0ZWQiLCJ1c2VyQ291bnQiLCJsb29zZSIsInZhbGlkYXRlR3JvdXBJbnB1dCIsImdyb3VwIiwidmFsaWRhdGVkIiwicGFyc2UiLCJlcnJvciIsIlpvZEVycm9yIiwiZmllbGRFcnJvcnMiLCJpc3N1ZXMiLCJtYXAiLCJlIiwicGF0aCIsImpvaW4iLCJwYXJzZUdyb3VwIiwiaXRlbSIsImJhc2UiLCJpZCIsIm1vZGlmaWVkIiwiQXJyYXkiLCJpc0FycmF5Il0sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0FDRCxTQUFRQSxPQUFPLEVBQUVDLFFB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
|
|
@@ -5,13 +5,19 @@ export interface ImageType {
|
|
|
5
5
|
_oldRev?: string;
|
|
6
6
|
_from?: string;
|
|
7
7
|
_to?: string;
|
|
8
|
+
base64?: string;
|
|
8
9
|
bucket?: string;
|
|
9
10
|
color?: string;
|
|
11
|
+
description?: string;
|
|
12
|
+
file?: File;
|
|
10
13
|
id?: string;
|
|
11
14
|
imageId?: string;
|
|
12
15
|
height?: number;
|
|
16
|
+
itemId?: string;
|
|
17
|
+
itemType?: string;
|
|
13
18
|
model?: string;
|
|
14
19
|
make?: string;
|
|
20
|
+
privacy?: string;
|
|
15
21
|
s3Options?: any;
|
|
16
22
|
taken?: number;
|
|
17
23
|
thumb?: string;
|
|
@@ -23,9 +29,10 @@ export interface ImageType {
|
|
|
23
29
|
[key: string]: any;
|
|
24
30
|
}
|
|
25
31
|
export declare class ImageValidationError extends Error {
|
|
26
|
-
field?: string
|
|
27
|
-
constructor(message: string, field?: string
|
|
32
|
+
field?: string;
|
|
33
|
+
constructor(message: string, field?: string);
|
|
28
34
|
}
|
|
29
35
|
export declare const validateImageInput: (image: unknown) => ImageType;
|
|
30
36
|
export declare const formatImageOutput: (image: ImageType) => ImageType;
|
|
31
37
|
export declare const parseImage: (image: ImageType) => ImageType;
|
|
38
|
+
//# sourceMappingURL=imageAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imageAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/imageAdapter/imageAdapter.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IACT,KAAK,CAAC,EAAE,MAAM;gBAAtC,OAAO,EAAE,MAAM,EAAS,KAAK,CAAC,EAAE,MAAM;CAInD;AA+BD,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"}
|