@nlabs/reaktor 0.9.0 → 0.10.1
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/.env +1 -0
- package/.env.example +1 -0
- package/DATABASE_I18N_GUIDE.md +434 -0
- package/README.md +9 -0
- package/TEST_UTILITIES_GUIDE.md +360 -0
- package/coverage/index.html +61 -46
- package/dist/actions/apps.js +242 -0
- package/dist/actions/connections.js +90 -0
- package/dist/actions/conversations.js +350 -0
- package/dist/actions/dynamodb.js +150 -0
- package/dist/actions/email.js +152 -0
- package/dist/actions/files.js +283 -0
- package/dist/actions/groups.js +292 -0
- package/dist/actions/images.js +735 -0
- package/dist/actions/index.js +66 -0
- package/dist/actions/ios.js +164 -0
- package/dist/actions/locations.js +122 -0
- package/dist/actions/messages.js +208 -0
- package/dist/actions/notifications.js +59 -0
- package/dist/actions/payments.js +497 -0
- package/dist/actions/personas.js +110 -0
- package/dist/actions/posts.js +595 -0
- package/dist/actions/reactions.js +322 -0
- package/dist/actions/s3.js +133 -0
- package/dist/actions/search.js +90 -0
- package/dist/actions/sms.js +108 -0
- package/dist/actions/statistics.js +62 -0
- package/dist/actions/subscription.js +220 -0
- package/dist/actions/tags.js +292 -0
- package/dist/actions/users.js +784 -0
- package/dist/actions/websockets.js +174 -0
- package/dist/adapters/arangoAdapter.js +46 -0
- package/dist/adapters/fileAdapter.js +76 -0
- package/dist/adapters/imageAdapter.js +40 -0
- package/dist/adapters/messageAdapter.js +49 -0
- package/dist/adapters/postAdapter.js +70 -0
- package/dist/adapters/reaktorAdapter.js +44 -0
- package/dist/adapters/tagAdapter.js +50 -0
- package/dist/adapters/userAdapter.js +115 -0
- package/dist/config.js +125 -0
- package/dist/index.js +66 -0
- package/dist/lambdas/actions/websockets.js +132 -0
- package/dist/lambdas/authorizer.js +67 -0
- package/dist/lambdas/connection.js +91 -0
- package/dist/lambdas/utils/message.js +42 -0
- package/dist/lambdas/utils/websocket.js +105 -0
- package/dist/mocks/conversation.js +35 -0
- package/dist/mocks/file.js +38 -0
- package/dist/mocks/group.js +47 -0
- package/dist/mocks/image.js +44 -0
- package/dist/mocks/nlabs.png +0 -0
- package/dist/mocks/post.js +55 -0
- package/dist/mocks/tag.js +37 -0
- package/dist/mocks/user.js +88 -0
- package/dist/mutations/index.js +26 -0
- package/dist/mutations/locations.js +44 -0
- package/dist/mutations/messages.js +86 -0
- package/dist/mutations/personas.js +100 -0
- package/dist/mutations/posts.js +53 -0
- package/dist/mutations/reactions.js +51 -0
- package/dist/mutations/statistics.js +39 -0
- package/dist/mutations/subscriptions.js +56 -0
- package/dist/mutations/tags.js +120 -0
- package/dist/mutations/users.js +116 -0
- package/dist/objectTypes/app.js +173 -0
- package/dist/objectTypes/bankAccount.js +76 -0
- package/dist/objectTypes/connection.js +48 -0
- package/dist/objectTypes/conversation.js +77 -0
- package/dist/objectTypes/creditCard.js +86 -0
- package/dist/objectTypes/document.js +46 -0
- package/dist/objectTypes/error.js +46 -0
- package/dist/objectTypes/external.js +74 -0
- package/dist/objectTypes/file.js +100 -0
- package/dist/objectTypes/filter.js +43 -0
- package/dist/objectTypes/group.js +123 -0
- package/dist/objectTypes/iapSubscription.js +40 -0
- package/dist/objectTypes/image.js +129 -0
- package/dist/objectTypes/index.js +68 -0
- package/dist/objectTypes/location.js +109 -0
- package/dist/objectTypes/message.js +96 -0
- package/dist/objectTypes/passcode.js +42 -0
- package/dist/objectTypes/persona.js +87 -0
- package/dist/objectTypes/plan.js +95 -0
- package/dist/objectTypes/post.js +125 -0
- package/dist/objectTypes/reaction.js +61 -0
- package/dist/objectTypes/relation.js +49 -0
- package/dist/objectTypes/search.js +72 -0
- package/dist/objectTypes/statistics.js +39 -0
- package/dist/objectTypes/subscription.js +117 -0
- package/dist/objectTypes/tag.js +65 -0
- package/dist/objectTypes/user.js +144 -0
- package/dist/queries/index.js +33 -0
- package/dist/queries/locations.js +45 -0
- package/dist/queries/messages.js +52 -0
- package/dist/queries/posts.js +154 -0
- package/dist/queries/reactions.js +56 -0
- package/dist/queries/statistics.js +39 -0
- package/dist/queries/subscriptions.js +44 -0
- package/dist/queries/tags.js +75 -0
- package/dist/queries/users.js +64 -0
- package/dist/templates/email/layout.js +302 -0
- package/dist/templates/email/passwordForgot.js +38 -0
- package/dist/templates/email/passwordRecovery.js +35 -0
- package/dist/templates/email/verifyEmail.js +38 -0
- package/dist/templates/email/welcome.js +38 -0
- package/dist/templates/sms/passwordForgot.js +24 -0
- package/dist/templates/sms/passwordRecovery.js +24 -0
- package/dist/templates/sms/verifyEmail.js +24 -0
- package/dist/templates/sms/verifyPhone.js +24 -0
- package/dist/templates/sms/welcome.js +24 -0
- package/dist/types/apps.js +32 -0
- package/{lib → dist}/types/arangodb.js +1 -1
- package/{lib → dist}/types/auth.js +1 -1
- package/{lib → dist}/types/connections.js +1 -1
- package/dist/types/conversations.js +16 -0
- package/{lib → dist}/types/email.js +1 -1
- package/dist/types/files.js +16 -0
- package/dist/types/google.js +16 -0
- package/{lib → dist}/types/groups.js +1 -1
- package/dist/types/images.js +16 -0
- package/dist/types/index.js +60 -0
- package/{lib → dist}/types/locations.js +1 -1
- package/{lib → dist}/types/messages.js +1 -1
- package/{lib → dist}/types/notifications.js +1 -1
- package/dist/types/payments.js +16 -0
- package/dist/types/personas.js +16 -0
- package/dist/types/posts.js +16 -0
- package/{lib → dist}/types/tags.js +1 -1
- package/dist/types/users.js +16 -0
- package/dist/types/websockets.js +16 -0
- package/dist/utils/adapterUtils.js +45 -0
- package/dist/utils/analyticsUtils.js +72 -0
- package/dist/utils/arangodbUtils.js +165 -0
- package/dist/utils/auth.js +57 -0
- package/dist/utils/index.js +30 -0
- package/{lib → dist}/utils/session.js +10 -7
- package/index.js +1 -1
- package/jest.config.js +17 -0
- package/jest.setup.js +36 -0
- package/lex.config.cjs +13 -0
- package/lib/actions/apps.js +17 -249
- package/lib/actions/connections.js +7 -0
- package/lib/actions/content.js +17 -0
- package/lib/actions/conversations.js +19 -325
- package/lib/actions/dynamodb.js +2 -150
- package/lib/actions/email.js +2 -152
- package/lib/actions/files.js +5 -287
- package/lib/actions/groups.js +23 -263
- package/lib/actions/images.js +31 -646
- package/lib/actions/index.js +2 -62
- package/lib/actions/ios.js +9 -162
- package/lib/actions/locations.js +7 -110
- package/lib/actions/messages.js +21 -193
- package/lib/actions/notifications.js +2 -59
- package/lib/actions/payments.js +11 -461
- package/lib/actions/posts.js +77 -515
- package/lib/actions/profiles.js +8 -0
- package/lib/actions/reactions.js +25 -312
- package/lib/actions/s3.js +2 -133
- package/lib/actions/search.js +5 -90
- package/lib/actions/sms.js +2 -106
- package/lib/actions/statistics.js +6 -60
- package/lib/actions/subscriptions.js +12 -0
- package/lib/actions/tags.js +19 -262
- package/lib/actions/users.js +67 -537
- package/lib/actions/websockets.js +16 -158
- package/lib/adapters/arangoAdapter.js +2 -46
- package/lib/adapters/contentAdapter.js +2 -0
- package/lib/adapters/fileAdapter.js +2 -76
- package/lib/adapters/imageAdapter.js +2 -0
- package/lib/adapters/messageAdapter.js +2 -0
- package/lib/adapters/postAdapter.js +2 -70
- package/lib/adapters/reaktorAdapter.js +2 -44
- package/lib/adapters/tagAdapter.js +2 -50
- package/lib/adapters/userAdapter.js +2 -110
- package/lib/config.js +2 -125
- package/lib/handlers/graphqlHandler.js +2 -0
- package/lib/index.js +2 -30
- package/lib/lambdas/actions/websockets.js +14 -112
- package/lib/lambdas/authorizer.js +2 -67
- package/lib/lambdas/connection.js +2 -92
- package/lib/lambdas/utils/message.js +2 -42
- package/lib/lambdas/utils/websocket.js +2 -105
- package/lib/mocks/conversation.js +2 -35
- package/lib/mocks/file.js +2 -38
- package/lib/mocks/group.js +2 -47
- package/lib/mocks/image.js +2 -43
- package/lib/mocks/post.js +2 -55
- package/lib/mocks/tag.js +2 -37
- package/lib/mocks/user.js +2 -88
- package/lib/mutations/index.js +2 -0
- package/lib/mutations/locations.integration.js +2 -0
- package/lib/mutations/locations.js +2 -0
- package/lib/mutations/messages.integration.js +2 -0
- package/lib/mutations/messages.js +2 -0
- package/lib/mutations/posts.integration.js +2 -0
- package/lib/mutations/posts.js +2 -0
- package/lib/mutations/profiles.integration.js +2 -0
- package/lib/mutations/profiles.js +2 -0
- package/lib/mutations/reactions.integration.js +2 -0
- package/lib/mutations/reactions.js +2 -0
- package/lib/mutations/statistics.integration.js +2 -0
- package/lib/mutations/statistics.js +2 -0
- package/lib/mutations/subscriptions.integration.js +2 -0
- package/lib/mutations/subscriptions.js +2 -0
- package/lib/mutations/tags.integration.js +2 -0
- package/lib/mutations/tags.js +2 -0
- package/lib/mutations/users.integration.js +2 -0
- package/lib/mutations/users.js +2 -0
- package/lib/objectTypes/app.js +2 -0
- package/lib/objectTypes/bankAccount.js +2 -0
- package/lib/objectTypes/connection.js +2 -0
- package/lib/objectTypes/conversation.js +2 -0
- package/lib/objectTypes/creditCard.js +2 -0
- package/lib/objectTypes/document.js +2 -0
- package/lib/objectTypes/error.js +2 -0
- package/lib/objectTypes/external.js +2 -0
- package/lib/objectTypes/file.js +2 -0
- package/lib/objectTypes/filter.js +2 -0
- package/lib/objectTypes/group.js +2 -0
- package/lib/objectTypes/iapSubscription.js +2 -0
- package/lib/objectTypes/image.js +2 -0
- package/lib/objectTypes/index.js +2 -0
- package/lib/objectTypes/location.js +2 -0
- package/lib/objectTypes/message.js +2 -0
- package/lib/objectTypes/passcode.js +2 -0
- package/lib/objectTypes/plan.js +2 -0
- package/lib/objectTypes/post.js +2 -0
- package/lib/objectTypes/profile.js +2 -0
- package/lib/objectTypes/reaction.js +2 -0
- package/lib/objectTypes/relation.js +2 -0
- package/lib/objectTypes/search.js +2 -0
- package/lib/objectTypes/statistics.js +2 -0
- package/lib/objectTypes/subscription.js +2 -0
- package/lib/objectTypes/tag.js +2 -0
- package/lib/objectTypes/user.js +2 -0
- package/lib/queries/index.js +2 -0
- package/lib/queries/locations.integration.js +2 -0
- package/lib/queries/locations.js +2 -0
- package/lib/queries/messages.integration.js +2 -0
- package/lib/queries/messages.js +2 -0
- package/lib/queries/posts.integration.js +2 -0
- package/lib/queries/posts.js +2 -0
- package/lib/queries/reactions.integration.js +2 -0
- package/lib/queries/reactions.js +2 -0
- package/lib/queries/statistics.js +2 -0
- package/lib/queries/subscriptions.js +2 -0
- package/lib/queries/tags.integration.js +2 -0
- package/lib/queries/tags.js +2 -0
- package/lib/queries/users.integration.js +2 -0
- package/lib/queries/users.js +2 -0
- package/lib/templates/email/layout.js +3 -25
- package/lib/templates/email/passwordForgot.js +3 -25
- package/lib/templates/email/passwordRecovery.js +3 -25
- package/lib/templates/email/verifyEmail.js +3 -25
- package/lib/templates/email/welcome.js +3 -25
- package/lib/templates/sms/passwordForgot.js +2 -24
- package/lib/templates/sms/passwordRecovery.js +2 -24
- package/lib/templates/sms/verifyEmail.js +2 -24
- package/lib/templates/sms/verifyPhone.js +2 -24
- package/lib/templates/sms/welcome.js +2 -24
- package/lib/types/apps.types.js +2 -0
- package/lib/types/arangodb.types.js +1 -0
- package/lib/types/auth.types.js +1 -0
- package/lib/types/connections.types.js +1 -0
- package/lib/types/content.types.js +1 -0
- package/lib/types/conversations.types.js +1 -0
- package/lib/types/email.types.js +1 -0
- package/lib/types/error.types.js +2 -0
- package/lib/types/files.types.js +1 -0
- package/lib/types/google.types.js +1 -0
- package/lib/types/groups.types.js +1 -0
- package/lib/types/images.types.js +1 -0
- package/lib/types/index.js +2 -56
- package/lib/types/locations.types.js +1 -0
- package/lib/types/messages.types.js +1 -0
- package/lib/types/notifications.types.js +1 -0
- package/lib/types/payments.types.js +1 -0
- package/lib/types/posts.types.js +1 -0
- package/lib/types/profiles.types.js +1 -0
- package/lib/types/statistics.types.js +1 -0
- package/lib/types/tags.types.js +1 -0
- package/lib/types/users.types.js +1 -0
- package/lib/types/websockets.types.js +1 -0
- package/lib/utils/adapterUtils.js +2 -45
- package/lib/utils/analyticsUtils.js +2 -72
- package/lib/utils/arangodbUtils.js +5 -142
- package/lib/utils/authUtils.js +2 -0
- package/lib/utils/contextUtils.js +2 -0
- package/lib/utils/dbI18n.example.js +6 -0
- package/lib/utils/dbI18n.js +2 -0
- package/lib/utils/googleTranslate.js +2 -0
- package/lib/utils/graphqlUtils.js +2 -0
- package/lib/utils/index.js +2 -30
- package/lib/utils/languageDetection.js +2 -0
- package/lib/utils/localeUtils.example.js +2 -0
- package/lib/utils/localeUtils.js +2 -0
- package/lib/utils/middlewareUtils.js +2 -0
- package/lib/utils/sessionUtils.js +2 -0
- package/lib/utils/stripeUtils.js +2 -0
- package/lib/utils/templateUtils.js +2 -0
- package/lib/utils/testUtils.js +2 -0
- package/lib/utils/translationQueue.example.js +2 -0
- package/lib/utils/translationQueue.js +2 -0
- package/package.json +41 -37
- package/.eslintrc +0 -10
- package/.prettierrc.js +0 -4
- package/lib/actions/apps.d.ts +0 -25
- package/lib/actions/conversations.d.ts +0 -14
- package/lib/actions/dynamodb.d.ts +0 -8
- package/lib/actions/email.d.ts +0 -5
- package/lib/actions/files.d.ts +0 -19
- package/lib/actions/groups.d.ts +0 -14
- package/lib/actions/images.d.ts +0 -26
- package/lib/actions/index.d.ts +0 -21
- package/lib/actions/ios.d.ts +0 -7
- package/lib/actions/locations.d.ts +0 -5
- package/lib/actions/messages.d.ts +0 -13
- package/lib/actions/notifications.d.ts +0 -5
- package/lib/actions/payments.d.ts +0 -10
- package/lib/actions/posts.d.ts +0 -19
- package/lib/actions/reactions.d.ts +0 -30
- package/lib/actions/s3.d.ts +0 -7
- package/lib/actions/search.d.ts +0 -3
- package/lib/actions/sms.d.ts +0 -3
- package/lib/actions/statistics.d.ts +0 -3
- package/lib/actions/subscription.d.ts +0 -7
- package/lib/actions/subscription.js +0 -218
- package/lib/actions/tags.d.ts +0 -29
- package/lib/actions/users.d.ts +0 -47
- package/lib/actions/websockets.d.ts +0 -19
- package/lib/adapters/arangoAdapter.d.ts +0 -2
- package/lib/adapters/fileAdapter.d.ts +0 -3
- package/lib/adapters/postAdapter.d.ts +0 -2
- package/lib/adapters/reaktorAdapter.d.ts +0 -6
- package/lib/adapters/tagAdapter.d.ts +0 -2
- package/lib/adapters/userAdapter.d.ts +0 -2
- package/lib/config.d.ts +0 -20
- package/lib/index.d.ts +0 -5
- package/lib/lambdas/actions/websockets.d.ts +0 -6
- package/lib/lambdas/authorizer.d.ts +0 -20
- package/lib/lambdas/connection.d.ts +0 -12
- package/lib/lambdas/utils/message.d.ts +0 -1
- package/lib/lambdas/utils/websocket.d.ts +0 -7
- package/lib/mocks/conversation.d.ts +0 -8
- package/lib/mocks/file.d.ts +0 -11
- package/lib/mocks/group.d.ts +0 -17
- package/lib/mocks/image.d.ts +0 -3
- package/lib/mocks/post.d.ts +0 -38
- package/lib/mocks/tag.d.ts +0 -2
- package/lib/mocks/user.d.ts +0 -4
- package/lib/templates/email/layout.d.ts +0 -2
- package/lib/templates/email/passwordForgot.d.ts +0 -2
- package/lib/templates/email/passwordRecovery.d.ts +0 -2
- package/lib/templates/email/verifyEmail.d.ts +0 -2
- package/lib/templates/email/welcome.d.ts +0 -2
- package/lib/templates/sms/passwordForgot.d.ts +0 -2
- package/lib/templates/sms/passwordRecovery.d.ts +0 -2
- package/lib/templates/sms/verifyEmail.d.ts +0 -2
- package/lib/templates/sms/verifyPhone.d.ts +0 -2
- package/lib/templates/sms/welcome.d.ts +0 -2
- package/lib/types/apps.d.ts +0 -46
- package/lib/types/apps.js +0 -32
- package/lib/types/arangodb.d.ts +0 -30
- package/lib/types/auth.d.ts +0 -7
- package/lib/types/connections.d.ts +0 -7
- package/lib/types/conversations.d.ts +0 -29
- package/lib/types/conversations.js +0 -16
- package/lib/types/email.d.ts +0 -13
- package/lib/types/error.d.ts +0 -20
- package/lib/types/files.d.ts +0 -26
- package/lib/types/files.js +0 -16
- package/lib/types/google.d.ts +0 -29
- package/lib/types/google.js +0 -16
- package/lib/types/groups.d.ts +0 -21
- package/lib/types/images.d.ts +0 -51
- package/lib/types/images.js +0 -16
- package/lib/types/index.d.ts +0 -18
- package/lib/types/locations.d.ts +0 -20
- package/lib/types/messages.d.ts +0 -16
- package/lib/types/notifications.d.ts +0 -17
- package/lib/types/payments.d.ts +0 -112
- package/lib/types/payments.js +0 -16
- package/lib/types/posts.d.ts +0 -31
- package/lib/types/posts.js +0 -16
- package/lib/types/statistics.d.ts +0 -3
- package/lib/types/tags.d.ts +0 -10
- package/lib/types/users.d.ts +0 -76
- package/lib/types/users.js +0 -16
- package/lib/types/websocket.d.ts +0 -13
- package/lib/types/websocket.js +0 -16
- package/lib/utils/adapterUtils.d.ts +0 -1
- package/lib/utils/analyticsUtils.d.ts +0 -21
- package/lib/utils/arangodbUtils.d.ts +0 -65
- package/lib/utils/auth.d.ts +0 -20
- package/lib/utils/auth.js +0 -50
- package/lib/utils/index.d.ts +0 -5
- package/lib/utils/session.d.ts +0 -16
- /package/{lib → dist}/types/error.js +0 -0
- /package/{lib → dist}/types/statistics.js +0 -0
|
@@ -1,172 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
for (var name in all)
|
|
7
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
-
};
|
|
9
|
-
var __copyProps = (to, from, except, desc) => {
|
|
10
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
-
for (let key of __getOwnPropNames(from))
|
|
12
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
-
}
|
|
15
|
-
return to;
|
|
16
|
-
};
|
|
17
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
-
var websockets_exports = {};
|
|
19
|
-
__export(websockets_exports, {
|
|
20
|
-
WebsocketClient: () => WebsocketClient,
|
|
21
|
-
addConnection: () => addConnection,
|
|
22
|
-
getConnectionByConvo: () => getConnectionByConvo,
|
|
23
|
-
getConnectionById: () => getConnectionById,
|
|
24
|
-
getConnectionByUser: () => getConnectionByUser,
|
|
25
|
-
removeConnection: () => removeConnection
|
|
26
|
-
});
|
|
27
|
-
module.exports = __toCommonJS(websockets_exports);
|
|
28
|
-
var import_client_apigatewaymanagementapi = require("@aws-sdk/client-apigatewaymanagementapi");
|
|
29
|
-
var import_utils = require("@nlabs/utils");
|
|
30
|
-
var import_arangojs = require("arangojs");
|
|
31
|
-
var import_users = require("./users");
|
|
32
|
-
var import_arangodbUtils = require("../utils/arangodbUtils");
|
|
33
|
-
var import_config = require("../config");
|
|
34
|
-
const addConnection = async (connectionId, token) => {
|
|
35
|
-
const formatConnId = (0, import_utils.parseString)(connectionId, 32);
|
|
36
|
-
const formatToken = (0, import_utils.parseString)(token);
|
|
37
|
-
try {
|
|
38
|
-
const database = (0, import_arangodbUtils.useDb)(process.env.ARANGODB_DATABASE);
|
|
39
|
-
const user = await (0, import_users.getUserByToken)({ database, session: null }, formatToken);
|
|
40
|
-
if (!user) {
|
|
41
|
-
throw new Error("Unauthorized");
|
|
42
|
-
}
|
|
43
|
-
const update = {
|
|
44
|
-
connectionId: formatConnId,
|
|
45
|
-
modified: Date.now()
|
|
46
|
-
};
|
|
47
|
-
const insert = {
|
|
48
|
-
...update,
|
|
49
|
-
_key: (0, import_utils.createHash)(`connection-${formatConnId}`),
|
|
50
|
-
userId: user.userId
|
|
51
|
-
};
|
|
52
|
-
const aqlQry = import_arangojs.aql`UPSERT {userId: ${user.userId}}
|
|
53
|
-
INSERT ${insert}
|
|
54
|
-
UPDATE ${update}
|
|
55
|
-
IN connections RETURN NEW`;
|
|
56
|
-
return database.query(aqlQry).then((cursor) => cursor.next()).catch((error) => {
|
|
57
|
-
throw error;
|
|
58
|
-
});
|
|
59
|
-
} catch (error) {
|
|
60
|
-
throw new Error("Unauthorized");
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
const getConnectionByUser = (userId) => {
|
|
64
|
-
const formatUserId = (0, import_utils.parseId)(userId);
|
|
65
|
-
const db = (0, import_arangodbUtils.useDb)(process.env.ARANGODB_DATABASE);
|
|
66
|
-
const aqlQry = import_arangojs.aql`FOR c IN connections
|
|
67
|
-
FILTER c.userId == ${formatUserId}
|
|
1
|
+
import{ApiGatewayManagementApi as R}from"@aws-sdk/client-apigatewaymanagementapi";import{createHash as N,parseId as u,parseString as p}from"@nlabs/utils";import{aql as d}from"arangojs";import{Config as g}from"../config";import{getUserByToken as y}from"./users";import{useDb as I}from"../utils/arangodbUtils";const S=async(r,t)=>{const n="addSocket",s=p(r,32),o=p(t);try{const e=process.env.ARANGODB_DATABASE,a=I(e),i=await y({config:g.get(),databaseName:e,session:null},o);if(!i)throw new Error("Unauthorized");const c={socketId:s,modified:Date.now()},l={...c,_key:N(`socket-${s}`),userId:i.userId},E=d`UPSERT {userId: ${i.userId}}
|
|
2
|
+
INSERT ${l}
|
|
3
|
+
UPDATE ${c}
|
|
4
|
+
IN sockets RETURN NEW`;return a.query(E).then(m=>m.next()).catch(m=>{throw m})}catch{throw new Error("Unauthorized")}},w=r=>{const t=u(r),n=process.env.ARANGODB_DATABASE,s=I(n),o=d`FOR s IN sockets
|
|
5
|
+
FILTER s.userId == ${t}
|
|
68
6
|
LIMIT 1
|
|
69
|
-
RETURN
|
|
70
|
-
|
|
71
|
-
throw error;
|
|
72
|
-
});
|
|
73
|
-
};
|
|
74
|
-
const getConnectionById = (connectionId) => {
|
|
75
|
-
const formatConnId = (0, import_utils.parseString)(connectionId, 32);
|
|
76
|
-
const db = (0, import_arangodbUtils.useDb)(process.env.ARANGODB_DATABASE);
|
|
77
|
-
const aqlQry = import_arangojs.aql`FOR c IN connections
|
|
78
|
-
FILTER c.connectionId == ${formatConnId}
|
|
7
|
+
RETURN s`;return s.query(o).then(e=>e.next()).catch(e=>{throw e})},O=r=>{const t=u(r),n=process.env.ARANGODB_DATABASE,s=I(n),o=d`FOR s IN sockets
|
|
8
|
+
FILTER s.socketId == ${t}
|
|
79
9
|
LET user = FIRST(
|
|
80
10
|
FOR u IN users
|
|
81
|
-
FILTER u.sub ==
|
|
11
|
+
FILTER u.sub == s.sub
|
|
82
12
|
LIMIT 1
|
|
83
13
|
RETURN u;
|
|
84
14
|
)
|
|
85
15
|
LIMIT 1
|
|
86
|
-
RETURN MERGE(c, {user:user}`;
|
|
87
|
-
|
|
88
|
-
throw error;
|
|
89
|
-
});
|
|
90
|
-
};
|
|
91
|
-
const getConnectionByConvo = (context, convoId) => {
|
|
92
|
-
const { database, session: { userId: sessionId } } = context;
|
|
93
|
-
const sessionDocId = `users/${(0, import_utils.parseId)(sessionId)}`;
|
|
94
|
-
const convoDocId = `conversations/${(0, import_utils.parseId)(convoId)}`;
|
|
95
|
-
const db = database;
|
|
96
|
-
const aqlQry = import_arangojs.aql`FOR c, e IN 1..1 OUTBOUND ${sessionDocId} hasConversation
|
|
97
|
-
FILTER c._id == ${convoDocId}
|
|
16
|
+
RETURN MERGE(c, {user:user}`;return s.query(o).then(e=>e.next()).catch(e=>{throw e})},U=(r,t)=>{const{databaseName:n,session:{userId:s}}=r,o=`users/${u(s)}`,e=`conversations/${u(t)}`,a=I(n),i=d`FOR c, e IN 1..1 OUTBOUND ${o} hasConversation
|
|
17
|
+
FILTER c._id == ${e}
|
|
98
18
|
LIMIT 1
|
|
99
19
|
LET u = (
|
|
100
|
-
FOR inUser, inEdge IN 1..1 INBOUND ${
|
|
20
|
+
FOR inUser, inEdge IN 1..1 INBOUND ${e} hasConversation
|
|
101
21
|
FOR n IN connections
|
|
102
22
|
FILTER inUser.sub == n.sub
|
|
103
23
|
RETURN n.connectionId
|
|
104
24
|
)
|
|
105
|
-
RETURN u`;
|
|
106
|
-
|
|
107
|
-
throw error;
|
|
108
|
-
});
|
|
109
|
-
};
|
|
110
|
-
const removeConnection = (connectionId) => {
|
|
111
|
-
const formatConnId = (0, import_utils.parseString)(connectionId, 32);
|
|
112
|
-
const db = (0, import_arangodbUtils.useDb)(process.env.ARANGODB_DATABASE);
|
|
113
|
-
const aqlQry = import_arangojs.aql`FOR c IN connections
|
|
114
|
-
FILTER c.connectionId == ${formatConnId}
|
|
25
|
+
RETURN u`;return a.query(i).then(c=>c.all()).catch(c=>{throw c})},k=r=>{const t="removeSocket",n=p(r,32),s=process.env.ARANGODB_DATABASE,o=I(s),e=d`FOR s IN sockets
|
|
26
|
+
FILTER s.socketId == ${n}
|
|
115
27
|
LIMIT 1
|
|
116
|
-
REMOVE
|
|
117
|
-
RETURN OLD`;
|
|
118
|
-
return db.query(aqlQry).then((cursor) => cursor.next()).catch((error) => {
|
|
119
|
-
throw error;
|
|
120
|
-
});
|
|
121
|
-
};
|
|
122
|
-
class WebsocketClient {
|
|
123
|
-
client;
|
|
124
|
-
constructor(config) {
|
|
125
|
-
if (config) {
|
|
126
|
-
this.setupClient(config || {});
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
// Allow just passing a single event to setup the client for ease of use
|
|
130
|
-
async setupClient({ requestContext }) {
|
|
131
|
-
if (!this.client && requestContext) {
|
|
132
|
-
const { apiId, domainName, stage } = requestContext;
|
|
133
|
-
let updatedDomainName = domainName;
|
|
134
|
-
if (apiId) {
|
|
135
|
-
updatedDomainName = `${apiId}.execute-api.${process.env.API_REGION}.amazonaws.com`;
|
|
136
|
-
}
|
|
137
|
-
this.client = new import_client_apigatewaymanagementapi.ApiGatewayManagementApi({
|
|
138
|
-
credentials: import_config.Config.get("aws.credentials"),
|
|
139
|
-
endpoint: `https://${updatedDomainName}/${stage}`,
|
|
140
|
-
region: import_config.Config.get("aws.region")
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
async send(connection, payload) {
|
|
145
|
-
console.log(connection, payload);
|
|
146
|
-
let connectionId;
|
|
147
|
-
if (connection?.requestContext) {
|
|
148
|
-
await this.setupClient(connection);
|
|
149
|
-
const { connectionId: connId } = connection.requestContext;
|
|
150
|
-
connectionId = connId;
|
|
151
|
-
} else {
|
|
152
|
-
connectionId = connection;
|
|
153
|
-
}
|
|
154
|
-
await this.client.postToConnection({ ConnectionId: connectionId, Data: JSON.stringify(payload) }).promise().catch(async (postError) => {
|
|
155
|
-
console.log(JSON.stringify(postError));
|
|
156
|
-
if (postError.statusCode === 410) {
|
|
157
|
-
await removeConnection(connectionId);
|
|
158
|
-
}
|
|
159
|
-
});
|
|
160
|
-
return true;
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
164
|
-
0 && (module.exports = {
|
|
165
|
-
WebsocketClient,
|
|
166
|
-
addConnection,
|
|
167
|
-
getConnectionByConvo,
|
|
168
|
-
getConnectionById,
|
|
169
|
-
getConnectionByUser,
|
|
170
|
-
removeConnection
|
|
171
|
-
});
|
|
172
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FjdGlvbnMvd2Vic29ja2V0cy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTktUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7QXBpR2F0ZXdheU1hbmFnZW1lbnRBcGl9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1hcGlnYXRld2F5bWFuYWdlbWVudGFwaSc7XG5pbXBvcnQge2NyZWF0ZUhhc2gsIHBhcnNlSWQsIHBhcnNlU3RyaW5nfSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuaW1wb3J0IHthcWwsIERhdGFiYXNlfSBmcm9tICdhcmFuZ29qcyc7XG5pbXBvcnQge0FxbFF1ZXJ5fSBmcm9tICdhcmFuZ29qcy9hcWwnO1xuaW1wb3J0IHtBcnJheUN1cnNvcn0gZnJvbSAnYXJhbmdvanMvY3Vyc29yJztcblxuaW1wb3J0IHtnZXRVc2VyQnlUb2tlbn0gZnJvbSAnLi91c2Vycyc7XG5pbXBvcnQge0FwaUNvbnRleHR9IGZyb20gJy4uL3R5cGVzL2F1dGgnO1xuaW1wb3J0IHt1c2VEYn0gZnJvbSAnLi4vdXRpbHMvYXJhbmdvZGJVdGlscyc7XG5pbXBvcnQge0NvbmZpZ30gZnJvbSAnLi4vY29uZmlnJztcblxuZXhwb3J0IGNvbnN0IGFkZENvbm5lY3Rpb24gPSBhc3luYyAoY29ubmVjdGlvbklkOiBzdHJpbmcsIHRva2VuOiBzdHJpbmcpOiBQcm9taXNlPGFueT4gPT4ge1xuICAvLyBjb25zdCBhY3Rpb246IHN0cmluZyA9ICdhZGRDb25uZWN0aW9uJztcbiAgY29uc3QgZm9ybWF0Q29ubklkOiBzdHJpbmcgPSBwYXJzZVN0cmluZyhjb25uZWN0aW9uSWQsIDMyKTtcbiAgY29uc3QgZm9ybWF0VG9rZW46IHN0cmluZyA9IHBhcnNlU3RyaW5nKHRva2VuKTtcblxuICB0cnkge1xuICAgIGNvbnN0IGRhdGFiYXNlOiBEYXRhYmFzZSA9IHVzZURiKHByb2Nlc3MuZW52LkFSQU5HT0RCX0RBVEFCQVNFKTtcbiAgICBjb25zdCB1c2VyID0gYXdhaXQgZ2V0VXNlckJ5VG9rZW4oe2RhdGFiYXNlLCBzZXNzaW9uOiBudWxsfSwgZm9ybWF0VG9rZW4pO1xuXG4gICAgaWYoIXVzZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5hdXRob3JpemVkJyk7XG4gICAgfVxuXG4gICAgY29uc3QgdXBkYXRlID0ge1xuICAgICAgY29ubmVjdGlvbklkOiBmb3JtYXRDb25uSWQsXG4gICAgICBtb2RpZmllZDogRGF0ZS5ub3coKVxuICAgIH07XG4gICAgY29uc3QgaW5zZXJ0ID0ge1xuICAgICAgLi4udXBkYXRlLFxuICAgICAgX2tleTogY3JlYXRlSGFzaChgY29ubmVjdGlvbi0ke2Zvcm1hdENvbm5JZH1gKSxcbiAgICAgIHVzZXJJZDogdXNlci51c2VySWRcbiAgICB9O1xuICAgIGNvbnN0IGFxbFFyeTogQXFsUXVlcnkgPSBhcWxgVVBTRVJUIHt1c2VySWQ6ICR7dXNlci51c2VySWR9fVxuICAgICAgSU5TRVJUICR7aW5zZXJ0fVxuICAgICAgVVBEQVRFICR7dXBkYXRlfVxuICAgICAgSU4gY29ubmVjdGlvbnMgUkVUVVJOIE5FV2A7XG5cbiAgICByZXR1cm4gZGF0YWJhc2UucXVlcnkoYXFsUXJ5KVxuICAgICAgLnRoZW4oKGN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbiAgICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgICAgfSk7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuYXV0aG9yaXplZCcpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Q29ubmVjdGlvbkJ5VXNlciA9ICh1c2VySWQ6IHN0cmluZyk6IFByb21pc2U8YW55PiA9PiB7XG4gIGNvbnN0IGZvcm1hdFVzZXJJZDogc3RyaW5nID0gcGFyc2VJZCh1c2VySWQpO1xuICBjb25zdCBkYjogRGF0YWJhc2UgPSB1c2VEYihwcm9jZXNzLmVudi5BUkFOR09EQl9EQVRBQkFTRSk7XG4gIGNvbnN0IGFxbFFyeSA9IGFxbGBGT1IgYyBJTiBjb25uZWN0aW9uc1xuICAgIEZJTFRFUiBjLnVzZXJJZCA9PSAke2Zvcm1hdFVzZXJJZH1cbiAgICBMSU1JVCAxXG4gICAgUkVUVVJOIGNgO1xuXG4gIHJldHVybiBkYi5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Q29ubmVjdGlvbkJ5SWQgPSAoY29ubmVjdGlvbklkOiBzdHJpbmcpOiBQcm9taXNlPGFueT4gPT4ge1xuICBjb25zdCBmb3JtYXRDb25uSWQ6IHN0cmluZyA9IHBhcnNlU3RyaW5nKGNvbm5lY3Rpb25JZCwgMzIpO1xuICBjb25zdCBkYjogRGF0YWJhc2UgPSB1c2VEYihwcm9jZXNzLmVudi5BUkFOR09EQl9EQVRBQkFTRSk7XG4gIGNvbnN0IGFxbFFyeSA9IGFxbGBGT1IgYyBJTiBjb25uZWN0aW9uc1xuICAgIEZJTFRFUiBjLmNvbm5lY3Rpb25JZCA9PSAke2Zvcm1hdENvbm5JZH1cbiAgICBMRVQgdXNlciA9IEZJUlNUKFxuICAgICAgRk9SIHUgSU4gdXNlcnNcbiAgICAgIEZJTFRFUiB1LnN1YiA9PSBjLnN1YlxuICAgICAgTElNSVQgMVxuICAgICAgUkVUVVJOIHU7XG4gICAgKVxuICAgIExJTUlUIDFcbiAgICBSRVRVUk4gTUVSR0UoYywge3VzZXI6dXNlcn1gO1xuXG4gIHJldHVybiBkYi5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Q29ubmVjdGlvbkJ5Q29udm8gPSAoY29udGV4dDogQXBpQ29udGV4dCwgY29udm9JZDogc3RyaW5nKTogUHJvbWlzZTxhbnk+ID0+IHtcbiAgY29uc3Qge2RhdGFiYXNlLCBzZXNzaW9uOiB7dXNlcklkOiBzZXNzaW9uSWR9fSA9IGNvbnRleHQ7XG4gIGNvbnN0IHNlc3Npb25Eb2NJZDogc3RyaW5nID0gYHVzZXJzLyR7cGFyc2VJZChzZXNzaW9uSWQpfWA7XG4gIGNvbnN0IGNvbnZvRG9jSWQ6IHN0cmluZyA9IGBjb252ZXJzYXRpb25zLyR7cGFyc2VJZChjb252b0lkKX1gO1xuICBjb25zdCBkYjogRGF0YWJhc2UgPSBkYXRhYmFzZTtcbiAgY29uc3QgYXFsUXJ5ID0gYXFsYEZPUiBjLCBlIElOIDEuLjEgT1VUQk9VTkQgJHtzZXNzaW9uRG9jSWR9IGhhc0NvbnZlcnNhdGlvblxuICBGSUxURVIgYy5faWQgPT0gJHtjb252b0RvY0lkfVxuICBMSU1JVCAxXG4gIExFVCB1ID0gKFxuICAgIEZPUiBpblVzZXIsIGluRWRnZSBJTiAxLi4xIElOQk9VTkQgJHtjb252b0RvY0lkfSBoYXNDb252ZXJzYXRpb25cbiAgICBGT1IgbiBJTiBjb25uZWN0aW9uc1xuICAgIEZJTFRFUiBpblVzZXIuc3ViID09IG4uc3ViXG4gICAgUkVUVVJOIG4uY29ubmVjdGlvbklkXG4gIClcbiAgUkVUVVJOIHVgO1xuXG4gIHJldHVybiBkYi5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcikgPT4gY3Vyc29yLmFsbCgpKVxuICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCByZW1vdmVDb25uZWN0aW9uID0gKGNvbm5lY3Rpb25JZDogc3RyaW5nKTogUHJvbWlzZTxhbnk+ID0+IHtcbiAgLy8gY29uc3QgYWN0aW9uOiBzdHJpbmcgPSAncmVtb3ZlQ29ubmVjdGlvbic7XG4gIGNvbnN0IGZvcm1hdENvbm5JZDogc3RyaW5nID0gcGFyc2VTdHJpbmcoY29ubmVjdGlvbklkLCAzMik7XG4gIGNvbnN0IGRiOiBEYXRhYmFzZSA9IHVzZURiKHByb2Nlc3MuZW52LkFSQU5HT0RCX0RBVEFCQVNFKTtcbiAgY29uc3QgYXFsUXJ5ID0gYXFsYEZPUiBjIElOIGNvbm5lY3Rpb25zXG4gICAgICBGSUxURVIgYy5jb25uZWN0aW9uSWQgPT0gJHtmb3JtYXRDb25uSWR9XG4gICAgICBMSU1JVCAxXG4gICAgICBSRU1PVkUgYyBJTiBjb25uZWN0aW9uc1xuICAgICAgUkVUVVJOIE9MRGA7XG5cbiAgcmV0dXJuIGRiLnF1ZXJ5KGFxbFFyeSlcbiAgICAudGhlbigoY3Vyc29yOiBBcnJheUN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFdlYlNvY2tldENsaWVudENvbnRleHQge1xuICByZWFkb25seSByZXF1ZXN0Q29udGV4dD86IHtcbiAgICByZWFkb25seSBhcGlJZDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGRvbWFpbk5hbWU6IHN0cmluZztcbiAgICByZWFkb25seSBzdGFnZTogc3RyaW5nO1xuICB9O1xufVxuZXhwb3J0IGNsYXNzIFdlYnNvY2tldENsaWVudCB7XG4gIGNsaWVudDtcblxuICBjb25zdHJ1Y3Rvcihjb25maWc/KSB7XG4gICAgaWYoY29uZmlnKSB7XG4gICAgICB0aGlzLnNldHVwQ2xpZW50KGNvbmZpZyB8fCB7fSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQWxsb3cganVzdCBwYXNzaW5nIGEgc2luZ2xlIGV2ZW50IHRvIHNldHVwIHRoZSBjbGllbnQgZm9yIGVhc2Ugb2YgdXNlXG4gIGFzeW5jIHNldHVwQ2xpZW50KHtyZXF1ZXN0Q29udGV4dH06IFdlYlNvY2tldENsaWVudENvbnRleHQpIHtcbiAgICBpZighdGhpcy5jbGllbnQgJiYgcmVxdWVzdENvbnRleHQpIHtcbiAgICAgIGNvbnN0IHthcGlJZCwgZG9tYWluTmFtZSwgc3RhZ2V9ID0gcmVxdWVzdENvbnRleHQ7XG4gICAgICBsZXQgdXBkYXRlZERvbWFpbk5hbWU6IHN0cmluZyA9IGRvbWFpbk5hbWU7XG5cbiAgICAgIGlmKGFwaUlkKSB7XG4gICAgICAgIHVwZGF0ZWREb21haW5OYW1lID0gYCR7YXBpSWR9LmV4ZWN1dGUtYXBpLiR7cHJvY2Vzcy5lbnYuQVBJX1JFR0lPTn0uYW1hem9uYXdzLmNvbWA7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuY2xpZW50ID0gbmV3IEFwaUdhdGV3YXlNYW5hZ2VtZW50QXBpKHtcbiAgICAgICAgY3JlZGVudGlhbHM6IENvbmZpZy5nZXQoJ2F3cy5jcmVkZW50aWFscycpLFxuICAgICAgICBlbmRwb2ludDogYGh0dHBzOi8vJHt1cGRhdGVkRG9tYWluTmFtZX0vJHtzdGFnZX1gLFxuICAgICAgICByZWdpb246IENvbmZpZy5nZXQoJ2F3cy5yZWdpb24nKVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgc2VuZChjb25uZWN0aW9uLCBwYXlsb2FkKSB7XG4gICAgY29uc29sZS5sb2coY29ubmVjdGlvbiwgcGF5bG9hZCk7XG5cbiAgICAvLyBDaGVhdCBhbmQgYWxsb3cgZXZlbnQgdG8gYmUgcGFzc2VkIGluIHRoaXMgYWxzbyBsZXRzIHVzIGRlZmF1bHQgdG8gc2V0dXBDbGllbnQgdG9vXG4gICAgbGV0IGNvbm5lY3Rpb25JZDtcblxuICAgIGlmKGNvbm5lY3Rpb24/LnJlcXVlc3RDb250ZXh0KSB7XG4gICAgICBhd2FpdCB0aGlzLnNldHVwQ2xpZW50KGNvbm5lY3Rpb24pO1xuICAgICAgY29uc3Qge2Nvbm5lY3Rpb25JZDogY29ubklkfSA9IGNvbm5lY3Rpb24ucmVxdWVzdENvbnRleHQ7XG4gICAgICBjb25uZWN0aW9uSWQgPSBjb25uSWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbm5lY3Rpb25JZCA9IGNvbm5lY3Rpb247XG4gICAgfVxuXG4gICAgYXdhaXQgdGhpcy5jbGllbnQucG9zdFRvQ29ubmVjdGlvbih7Q29ubmVjdGlvbklkOiBjb25uZWN0aW9uSWQsIERhdGE6IEpTT04uc3RyaW5naWZ5KHBheWxvYWQpfSlcbiAgICAgIC5wcm9taXNlKClcbiAgICAgIC5jYXRjaChhc3luYyAocG9zdEVycm9yKSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KHBvc3RFcnJvcikpO1xuXG4gICAgICAgIGlmKHBvc3RFcnJvci5zdGF0dXNDb2RlID09PSA0MTApIHtcbiAgICAgICAgICAvLyBEaXNjb25uZWN0IGNsaWVudFxuICAgICAgICAgIGF3YWl0IHJlbW92ZUNvbm5lY3Rpb24oY29ubmVjdGlvbklkKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBLDRDQUFzQztBQUN0QyxtQkFBK0M7QUFDL0Msc0JBQTRCO0FBSTVCLG1CQUE2QjtBQUU3QiwyQkFBb0I7QUFDcEIsb0JBQXFCO0FBRWQsTUFBTSxnQkFBZ0IsT0FBTyxjQUFzQixVQUFnQztBQUV4RixRQUFNLG1CQUF1QiwwQkFBWSxjQUFjLEVBQUU7QUFDekQsUUFBTSxrQkFBc0IsMEJBQVksS0FBSztBQUU3QyxNQUFJO0FBQ0YsVUFBTSxlQUFxQiw0QkFBTSxRQUFRLElBQUksaUJBQWlCO0FBQzlELFVBQU0sT0FBTyxVQUFNLDZCQUFlLEVBQUMsVUFBVSxTQUFTLEtBQUksR0FBRyxXQUFXO0FBRXhFLFFBQUcsQ0FBQyxNQUFNO0FBQ1IsWUFBTSxJQUFJLE1BQU0sY0FBYztBQUFBLElBQ2hDO0FBRUEsVUFBTSxTQUFTO0FB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
|
|
28
|
+
REMOVE s IN sockets
|
|
29
|
+
RETURN OLD`;return o.query(e).then(a=>a.next()).catch(a=>{throw a})};class x{client;constructor(t){t&&this.setupClient(t||{})}async setupClient({requestContext:t}){if(!this.client&&t){const{apiId:n,domainName:s,stage:o}=t;let e=s;n&&(e=`${n}.execute-api.${process.env.API_REGION}.amazonaws.com`),this.client=new R({credentials:g.get("aws.credentials"),endpoint:`https://${e}/${o}`,region:g.get("aws.region")})}}async send(t,n){let s;if(t?.requestContext){await this.setupClient(t);const{socketId:o}=t.requestContext;s=o}else s=t;return await this.client.postToConnection({ConnectionId:s,Data:JSON.stringify(n)}).promise().catch(async o=>{o.statusCode===410&&await k(s)}),!0}}export{x as WebsocketClient,S as addSocket,U as getConnectionByConvo,O as getSocketById,w as getSocketByUser,k as removeSocket};
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FjdGlvbnMvd2Vic29ja2V0cy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTktUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7QXBpR2F0ZXdheU1hbmFnZW1lbnRBcGl9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1hcGlnYXRld2F5bWFuYWdlbWVudGFwaSc7XG5pbXBvcnQge2NyZWF0ZUhhc2gsIHBhcnNlSWQsIHBhcnNlU3RyaW5nfSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuaW1wb3J0IHthcWwsIERhdGFiYXNlfSBmcm9tICdhcmFuZ29qcyc7XG5pbXBvcnQge0FxbFF1ZXJ5fSBmcm9tICdhcmFuZ29qcy9hcWwnO1xuXG5pbXBvcnQge0NvbmZpZ30gZnJvbSAnLi4vY29uZmlnJztcbmltcG9ydCB7Z2V0VXNlckJ5VG9rZW59IGZyb20gJy4vdXNlcnMnO1xuaW1wb3J0IHtBcGlDb250ZXh0fSBmcm9tICcuLi90eXBlcy9hdXRoLnR5cGVzJztcbmltcG9ydCB7dXNlRGJ9IGZyb20gJy4uL3V0aWxzL2FyYW5nb2RiVXRpbHMnO1xuXG5pbXBvcnQgdHlwZSB7V2Vic29ja2V0Q29ubmVjdGlvbn0gZnJvbSAnLi4vdHlwZXMvd2Vic29ja2V0cy50eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBhZGRTb2NrZXQgPSBhc3luYyAoc29ja2V0SWQ6IHN0cmluZywgdG9rZW46IHN0cmluZyk6IFByb21pc2U8V2Vic29ja2V0Q29ubmVjdGlvbj4gPT4ge1xuICBjb25zdCBhY3Rpb246IHN0cmluZyA9ICdhZGRTb2NrZXQnO1xuICBjb25zdCBmb3JtYXRTb2NrZXRJZDogc3RyaW5nID0gcGFyc2VTdHJpbmcoc29ja2V0SWQsIDMyKTtcbiAgY29uc3QgZm9ybWF0VG9rZW46IHN0cmluZyA9IHBhcnNlU3RyaW5nKHRva2VuKTtcblxuICB0cnkge1xuICAgIGNvbnN0IGRhdGFiYXNlTmFtZTogc3RyaW5nID0gcHJvY2Vzcy5lbnYuQVJBTkdPREJfREFUQUJBU0U7XG4gICAgY29uc3QgZGF0YWJhc2U6IERhdGFiYXNlID0gdXNlRGIoZGF0YWJhc2VOYW1lKTtcbiAgICBjb25zdCB1c2VyID0gYXdhaXQgZ2V0VXNlckJ5VG9rZW4oe2NvbmZpZzogQ29uZmlnLmdldCgpLCBkYXRhYmFzZU5hbWUsIHNlc3Npb246IG51bGx9LCBmb3JtYXRUb2tlbik7XG5cbiAgICBpZighdXNlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmF1dGhvcml6ZWQnKTtcbiAgICB9XG5cbiAgICBjb25zdCB1cGRhdGUgPSB7XG4gICAgICBzb2NrZXRJZDogZm9ybWF0U29ja2V0SWQsXG4gICAgICBtb2RpZmllZDogRGF0ZS5ub3coKVxuICAgIH07XG4gICAgY29uc3QgaW5zZXJ0ID0ge1xuICAgICAgLi4udXBkYXRlLFxuICAgICAgX2tleTogY3JlYXRlSGFzaChgc29ja2V0LSR7Zm9ybWF0U29ja2V0SWR9YCksXG4gICAgICB1c2VySWQ6IHVzZXIudXNlcklkXG4gICAgfTtcbiAgICBjb25zdCBhcWxRcnk6IEFxbFF1ZXJ5ID0gYXFsYFVQU0VSVCB7dXNlcklkOiAke3VzZXIudXNlcklkfX1cbiAgICAgIElOU0VSVCAke2luc2VydH1cbiAgICAgIFVQREFURSAke3VwZGF0ZX1cbiAgICAgIElOIHNvY2tldHMgUkVUVVJOIE5FV2A7XG5cbiAgICByZXR1cm4gZGF0YWJhc2UucXVlcnkoYXFsUXJ5KVxuICAgICAgLnRoZW4oKGN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbiAgICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgICAgfSk7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuYXV0aG9yaXplZCcpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0U29ja2V0QnlVc2VyID0gKHVzZXJJZDogc3RyaW5nKTogUHJvbWlzZTxXZWJzb2NrZXRDb25uZWN0aW9uPiA9PiB7XG4gIGNvbnN0IGZvcm1hdFVzZXJJZDogc3RyaW5nID0gcGFyc2VJZCh1c2VySWQpO1xuICBjb25zdCBkYXRhYmFzZU5hbWU6IHN0cmluZyA9IHByb2Nlc3MuZW52LkFSQU5HT0RCX0RBVEFCQVNFO1xuICBjb25zdCBkYXRhYmFzZTogRGF0YWJhc2UgPSB1c2VEYihkYXRhYmFzZU5hbWUpO1xuICBjb25zdCBhcWxRcnkgPSBhcWxgRk9SIHMgSU4gc29ja2V0c1xuICAgIEZJTFRFUiBzLnVzZXJJZCA9PSAke2Zvcm1hdFVzZXJJZH1cbiAgICBMSU1JVCAxXG4gICAgUkVUVVJOIHNgO1xuXG4gIHJldHVybiBkYXRhYmFzZS5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0U29ja2V0QnlJZCA9IChzb2NrZXRJZDogc3RyaW5nKTogUHJvbWlzZTxhbnk+ID0+IHtcbiAgY29uc3QgZm9ybWF0U29ja2V0SWQ6IHN0cmluZyA9IHBhcnNlSWQoc29ja2V0SWQpO1xuICBjb25zdCBkYXRhYmFzZU5hbWU6IHN0cmluZyA9IHByb2Nlc3MuZW52LkFSQU5HT0RCX0RBVEFCQVNFO1xuICBjb25zdCBkYXRhYmFzZTogRGF0YWJhc2UgPSB1c2VEYihkYXRhYmFzZU5hbWUpO1xuICBjb25zdCBhcWxRcnkgPSBhcWxgRk9SIHMgSU4gc29ja2V0c1xuICAgIEZJTFRFUiBzLnNvY2tldElkID09ICR7Zm9ybWF0U29ja2V0SWR9XG4gICAgTEVUIHVzZXIgPSBGSVJTVChcbiAgICAgIEZPUiB1IElOIHVzZXJzXG4gICAgICBGSUxURVIgdS5zdWIgPT0gcy5zdWJcbiAgICAgIExJTUlUIDFcbiAgICAgIFJFVFVSTiB1O1xuICAgIClcbiAgICBMSU1JVCAxXG4gICAgUkVUVVJOIE1FUkdFKGMsIHt1c2VyOnVzZXJ9YDtcblxuICByZXR1cm4gZGF0YWJhc2UucXVlcnkoYXFsUXJ5KVxuICAgIC50aGVuKChjdXJzb3IpID0+IGN1cnNvci5uZXh0KCkpXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldENvbm5lY3Rpb25CeUNvbnZvID0gKGNvbnRleHQ6IEFwaUNvbnRleHQsIGNvbnZvSWQ6IHN0cmluZyk6IFByb21pc2U8YW55PiA9PiB7XG4gIGNvbnN0IHtkYXRhYmFzZU5hbWUsIHNlc3Npb246IHt1c2VySWQ6IHNlc3Npb25JZH19ID0gY29udGV4dDtcbiAgY29uc3Qgc2Vzc2lvbkRvY0lkOiBzdHJpbmcgPSBgdXNlcnMvJHtwYXJzZUlkKHNlc3Npb25JZCl9YDtcbiAgY29uc3QgY29udm9Eb2NJZDogc3RyaW5nID0gYGNvbnZlcnNhdGlvbnMvJHtwYXJzZUlkKGNvbnZvSWQpfWA7XG4gIGNvbnN0IGRhdGFiYXNlOiBEYXRhYmFzZSA9IHVzZURiKGRhdGFiYXNlTmFtZSk7XG4gIGNvbnN0IGFxbFFyeSA9IGFxbGBGT1IgYywgZSBJTiAxLi4xIE9VVEJPVU5EICR7c2Vzc2lvbkRvY0lkfSBoYXNDb252ZXJzYXRpb25cbiAgRklMVEVSIGMuX2lkID09ICR7Y29udm9Eb2NJZH1cbiAgTElNSVQgMVxuICBMRVQgdSA9IChcbiAgICBGT1IgaW5Vc2VyLCBpbkVkZ2UgSU4gMS4uMSBJTkJPVU5EICR7Y29udm9Eb2NJZH0gaGFzQ29udmVyc2F0aW9uXG4gICAgRk9SIG4gSU4gY29ubmVjdGlvbnNcbiAgICBGSUxURVIgaW5Vc2VyLnN1YiA9PSBuLnN1YlxuICAgIFJFVFVSTiBuLmNvbm5lY3Rpb25JZFxuICApXG4gIFJFVFVSTiB1YDtcblxuICByZXR1cm4gZGF0YWJhc2UucXVlcnkoYXFsUXJ5KVxuICAgIC50aGVuKChjdXJzb3IpID0+IGN1cnNvci5hbGwoKSlcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgcmVtb3ZlU29ja2V0ID0gKHNvY2tldElkOiBzdHJpbmcpOiBQcm9taXNlPFdlYnNvY2tldENvbm5lY3Rpb24+ID0+IHtcbiAgY29uc3QgYWN0aW9uOiBzdHJpbmcgPSAncmVtb3ZlU29ja2V0JztcbiAgY29uc3QgZm9ybWF0U29ja2V0SWQ6IHN0cmluZyA9IHBhcnNlU3RyaW5nKHNvY2tldElkLCAzMik7XG4gIGNvbnN0IGRhdGFiYXNlTmFtZTogc3RyaW5nID0gcHJvY2Vzcy5lbnYuQVJBTkdPREJfREFUQUJBU0U7XG4gIGNvbnN0IGRhdGFiYXNlOiBEYXRhYmFzZSA9IHVzZURiKGRhdGFiYXNlTmFtZSk7XG4gIGNvbnN0IGFxbFFyeSA9IGFxbGBGT1IgcyBJTiBzb2NrZXRzXG4gICAgICBGSUxURVIgcy5zb2NrZXRJZCA9PSAke2Zvcm1hdFNvY2tldElkfVxuICAgICAgTElNSVQgMVxuICAgICAgUkVNT1ZFIHMgSU4gc29ja2V0c1xuICAgICAgUkVUVVJOIE9MRGA7XG5cbiAgcmV0dXJuIGRhdGFiYXNlLnF1ZXJ5KGFxbFFyeSlcbiAgICAudGhlbigoY3Vyc29yKSA9PiBjdXJzb3IubmV4dCgpKVxuICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9KTtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2ViU29ja2V0Q2xpZW50Q29udGV4dCB7XG4gIHJlYWRvbmx5IHJlcXVlc3RDb250ZXh0Pzoge1xuICAgIHJlYWRvbmx5IGFwaUlkOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHN0YWdlOiBzdHJpbmc7XG4gIH07XG59XG5leHBvcnQgY2xhc3MgV2Vic29ja2V0Q2xpZW50IHtcbiAgY2xpZW50O1xuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZz8pIHtcbiAgICBpZihjb25maWcpIHtcbiAgICAgIHRoaXMuc2V0dXBDbGllbnQoY29uZmlnIHx8IHt9KTtcbiAgICB9XG4gIH1cblxuICAvLyBBbGxvdyBqdXN0IHBhc3NpbmcgYSBzaW5nbGUgZXZlbnQgdG8gc2V0dXAgdGhlIGNsaWVudCBmb3IgZWFzZSBvZiB1c2VcbiAgYXN5bmMgc2V0dXBDbGllbnQoe3JlcXVlc3RDb250ZXh0fTogV2ViU29ja2V0Q2xpZW50Q29udGV4dCkge1xuICAgIGlmKCF0aGlzLmNsaWVudCAmJiByZXF1ZXN0Q29udGV4dCkge1xuICAgICAgY29uc3Qge2FwaUlkLCBkb21haW5OYW1lLCBzdGFnZX0gPSByZXF1ZXN0Q29udGV4dDtcbiAgICAgIGxldCB1cGRhdGVkRG9tYWluTmFtZTogc3RyaW5nID0gZG9tYWluTmFtZTtcblxuICAgICAgaWYoYXBpSWQpIHtcbiAgICAgICAgdXBkYXRlZERvbWFpbk5hbWUgPSBgJHthcGlJZH0uZXhlY3V0ZS1hcGkuJHtwcm9jZXNzLmVudi5BUElfUkVHSU9OfS5hbWF6b25hd3MuY29tYDtcbiAgICAgIH1cblxuICAgICAgdGhpcy5jbGllbnQgPSBuZXcgQXBpR2F0ZXdheU1hbmFnZW1lbnRBcGkoe1xuICAgICAgICBjcmVkZW50aWFsczogQ29uZmlnLmdldCgnYXdzLmNyZWRlbnRpYWxzJyksXG4gICAgICAgIGVuZHBvaW50OiBgaHR0cHM6Ly8ke3VwZGF0ZWREb21haW5OYW1lfS8ke3N0YWdlfWAsXG4gICAgICAgIHJlZ2lvbjogQ29uZmlnLmdldCgnYXdzLnJlZ2lvbicpXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBzZW5kKGNvbm5lY3Rpb24sIHBheWxvYWQpIHtcbiAgICBjb25zb2xlLmxvZyhjb25uZWN0aW9uLCBwYXlsb2FkKTtcblxuICAgIC8vIENoZWF0IGFuZCBhbGxvdyBldmVudCB0byBiZSBwYXNzZWQgaW4gdGhpcyBhbHNvIGxldHMgdXMgZGVmYXVsdCB0byBzZXR1cENsaWVudCB0b29cbiAgICBsZXQgc29ja2V0SWQ7XG5cbiAgICBpZihjb25uZWN0aW9uPy5yZXF1ZXN0Q29udGV4dCkge1xuICAgICAgYXdhaXQgdGhpcy5zZXR1cENsaWVudChjb25uZWN0aW9uKTtcbiAgICAgIGNvbnN0IHtzb2NrZXRJZDogdXBkYXRlZFNvY2tldElkfSA9IGNvbm5lY3Rpb24ucmVxdWVzdENvbnRleHQ7XG4gICAgICBzb2NrZXRJZCA9IHVwZGF0ZWRTb2NrZXRJZDtcbiAgICB9IGVsc2Uge1xuICAgICAgc29ja2V0SWQgPSBjb25uZWN0aW9uO1xuICAgIH1cblxuICAgIGF3YWl0IHRoaXMuY2xpZW50LnBvc3RUb0Nvbm5lY3Rpb24oe0Nvbm5lY3Rpb25JZDogc29ja2V0SWQsIERhdGE6IEpTT04uc3RyaW5naWZ5KHBheWxvYWQpfSlcbiAgICAgIC5wcm9taXNlKClcbiAgICAgIC5jYXRjaChhc3luYyAocG9zdEVycm9yKSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KHBvc3RFcnJvcikpO1xuXG4gICAgICAgIGlmKHBvc3RFcnJvci5zdGF0dXNDb2RlID09PSA0MTApIHtcbiAgICAgICAgICAvLyBEaXNjb25uZWN0IGNsaWVudFxuICAgICAgICAgIGF3YWl0IHJlbW92ZVNvY2tldChzb2NrZXRJZCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICJBQUlBLE9BQVEsMkJBQUFBLE1BQThCLDBDQUN0QyxPQUFRLGNBQUFDLEVBQVksV0FBQUMsRUFBUyxlQUFBQyxNQUFrQixlQUMvQyxPQUFRLE9BQUFDLE1BQW9CLFdBRzVCLE9BQVEsVUFBQUMsTUFBYSxZQUNyQixPQUFRLGtCQUFBQyxNQUFxQixVQUU3QixPQUFRLFNBQUFDLE1BQVkseUJBSWIsTUFBTUMsRUFB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LENBQ1IsQ0FBQyxDQUNMLEVBU08sTUFBTVksQ0FBZ0IsQ0FDM0IsT0FFQSxZQUFZQyxFQUFTLENBQ2hCQSxHQUNELEtBQUssWUFBWUEsR0FBVSxDQUFDLENBQUMsQ0FFakMsQ0FHQSxNQUFNLFlBQVksQ0FBQyxlQUFBQyxDQUFjLEVBQTJCLENBQzFELEdBQUcsQ0FBQyxLQUFLLFFBQVVBLEVBQWdCLENBQ2pDLEtBQU0sQ0FBQyxNQUFBQyxFQUFPLFdBQUFDLEVBQVksTUFBQUMsQ0FBSyxFQUFJSCxFQUNuQyxJQUFJSSxFQUE0QkYsRUFFN0JELElBQ0RHLEVBQW9CLEdBQUdILENBQUssZ0JBQWdCLFFBQVEsSUFBSSxVQUFVLGtCQUdwRSxLQUFLLE9BQVMsSUFBSXBDLEVBQXdCLENBQ3hDLFlBQWFLLEVBQU8sSUFBSSxpQkFBaUIsRUFDekMsU0FBVSxXQUFXa0MsQ0FBaUIsSUFBSUQsQ0FBSyxHQUMvQyxPQUFRakMsRUFBTyxJQUFJLFlBQVksQ0FDakMsQ0FBQyxDQUNILENBQ0YsQ0FFQSxNQUFNLEtBQUttQyxFQUFZQyxFQUFTLENBSTlCLElBQUloQyxFQUVKLEdBQUcrQixHQUFZLGVBQWdCLENBQzdCLE1BQU0sS0FBSyxZQUFZQSxDQUFVLEVBQ2pDLEtBQU0sQ0FBQyxTQUFVRSxDQUFlLEVBQUlGLEVBQVcsZUFDL0MvQixFQUFXaUMsQ0FDYixNQUNFakMsRUFBVytCLEVBR2IsYUFBTSxLQUFLLE9BQU8saUJBQWlCLENBQUMsYUFBYy9CLEVBQVUsS0FBTSxLQUFLLFVBQVVnQyxDQUFPLENBQUMsQ0FBQyxFQUN2RixRQUFRLEVBQ1IsTUFBTSxNQUFPRSxHQUFjLENBR3ZCQSxFQUFVLGFBQWUsS0FFMUIsTUFBTVgsRUFBYXZCLENBQVEsQ0FFL0IsQ0FBQyxFQUVJLEVBQ1QsQ0FDRiIsCiAgIm5hbWVzIjogWyJBcGlHYXRld2F5TWFuYWdlbWVudEFwaSIsICJjcmVhdGVIYXNoIiwgInBhcnNlSWQiLCAicGFyc2VTdHJpbmciLCAiYXFsIiwgIkNvbmZpZyIsICJnZXRVc2VyQnlUb2tlbiIsICJ1c2VEYiIsICJhZGRTb2NrZXQiLCAic29ja2V0SWQiLCAidG9rZW4iLCAiYWN0aW9uIiwgImZvcm1hdFNvY2tldElkIiwgImZvcm1hdFRva2VuIiwgImRhdGFiYXNlTmFtZSIsICJkYXRhYmFzZSIsICJ1c2VyIiwgInVwZGF0ZSIsICJpbnNlcnQiLCAiYXFsUXJ5IiwgImN1cnNvciIsICJlcnJvciIsICJnZXRTb2NrZXRCeVVzZXIiLCAidXNlcklkIiwgImZvcm1hdFVzZXJJZCIsICJnZXRTb2NrZXRCeUlkIiwgImdldENvbm5lY3Rpb25CeUNvbnZvIiwgImNvbnRleHQiLCAiY29udm9JZCIsICJzZXNzaW9uSWQiLCAic2Vzc2lvbkRvY0lkIiwgImNvbnZvRG9jSWQiLCAicmVtb3ZlU29ja2V0IiwgIldlYnNvY2tldENsaWVudCIsICJjb25maWciLCAicmVxdWVzdENvbnRleHQiLCAiYXBpSWQiLCAiZG9tYWluTmFtZSIsICJzdGFnZSIsICJ1cGRhdGVkRG9tYWluTmFtZSIsICJjb25uZWN0aW9uIiwgInBheWxvYWQiLCAidXBkYXRlZFNvY2tldElkIiwgInBvc3RFcnJvciJdCn0K
|
|
@@ -1,46 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __export = (target, all) => {
|
|
6
|
-
for (var name in all)
|
|
7
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
-
};
|
|
9
|
-
var __copyProps = (to, from, except, desc) => {
|
|
10
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
-
for (let key of __getOwnPropNames(from))
|
|
12
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
-
}
|
|
15
|
-
return to;
|
|
16
|
-
};
|
|
17
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
-
var arangoAdapter_exports = {};
|
|
19
|
-
__export(arangoAdapter_exports, {
|
|
20
|
-
parseDocument: () => parseDocument
|
|
21
|
-
});
|
|
22
|
-
module.exports = __toCommonJS(arangoAdapter_exports);
|
|
23
|
-
var import_utils = require("@nlabs/utils");
|
|
24
|
-
var import_adapterUtils = require("../utils/adapterUtils");
|
|
25
|
-
const parseDocument = (doc) => {
|
|
26
|
-
const {
|
|
27
|
-
_id,
|
|
28
|
-
_key,
|
|
29
|
-
added,
|
|
30
|
-
id,
|
|
31
|
-
modified
|
|
32
|
-
} = doc;
|
|
33
|
-
return (0, import_adapterUtils.removeEmptyKeys)({
|
|
34
|
-
...doc,
|
|
35
|
-
_id: _id && (0, import_utils.parseArangoId)(_id),
|
|
36
|
-
_key: _key && (0, import_utils.parseId)(_key),
|
|
37
|
-
added: added && (0, import_utils.parseNum)(added, 13),
|
|
38
|
-
id: (0, import_utils.parseArangoId)(_id || id),
|
|
39
|
-
modified: modified && (0, import_utils.parseNum)(modified, 13)
|
|
40
|
-
});
|
|
41
|
-
};
|
|
42
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
43
|
-
0 && (module.exports = {
|
|
44
|
-
parseDocument
|
|
45
|
-
});
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL2FyYW5nb0FkYXB0ZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7cGFyc2VBcmFuZ29JZCwgcGFyc2VJZCwgcGFyc2VOdW19IGZyb20gJ0BubGFicy91dGlscyc7XG5cbmltcG9ydCB7RG9jdW1lbnRUeXBlfSBmcm9tICcuLi90eXBlcy9hcmFuZ29kYic7XG5pbXBvcnQge3JlbW92ZUVtcHR5S2V5c30gZnJvbSAnLi4vdXRpbHMvYWRhcHRlclV0aWxzJztcblxuZXhwb3J0IGNvbnN0IHBhcnNlRG9jdW1lbnQgPSAoZG9jOiBEb2N1bWVudFR5cGUpOiBEb2N1bWVudFR5cGUgPT4ge1xuICBjb25zdCB7XG4gICAgX2lkLFxuICAgIF9rZXksXG4gICAgYWRkZWQsXG4gICAgaWQsXG4gICAgbW9kaWZpZWRcbiAgfSA9IGRvYztcblxuICByZXR1cm4gcmVtb3ZlRW1wdHlLZXlzKHtcbiAgICAuLi5kb2MsXG4gICAgX2lkOiBfaWQgJiYgcGFyc2VBcmFuZ29JZChfaWQpLFxuICAgIF9rZXk6IF9rZXkgJiYgcGFyc2VJZChfa2V5KSxcbiAgICBhZGRlZDogYWRkZWQgJiYgcGFyc2VOdW0oYWRkZWQsIDEzKSxcbiAgICBpZDogcGFyc2VBcmFuZ29JZChfaWQgfHwgaWQpLFxuICAgIG1vZGlmaWVkOiBtb2RpZmllZCAmJiBwYXJzZU51bShtb2RpZmllZCwgMTMpXG4gIH0pO1xufTsiXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxtQkFBK0M7QUFHL0MsMEJBQThCO0FBRXZCLE1BQU0sZ0JBQWdCLENBQUMsUUFBb0M7QUFDaEUsUUFBTTtBQUFBLElBQ0o7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsRUFDRixJQUFJO0FBRUosYUFBTyxxQ0FBZ0I7QUFBQSxJQUNyQixHQUFHO0FBQUEsSUFDSCxLQUFLLFdBQU8sNEJBQWMsR0FBRztBQUFBLElBQzdCLE1BQU0sWUFBUSxzQkFBUSxJQUFJO0FBQUEsSUFDMUIsT0FBTyxhQUFTLHVCQUFTLE9BQU8sRUFBRTtBQUFBLElBQ2xDLFFBQUksNEJBQWMsT0FBTyxFQUFFO0FBQUEsSUFDM0IsVUFBVSxnQkFBWSx1QkFBUyxVQUFVLEVBQUU7QUFBQSxFQUM3QyxDQUFDO0FBQ0g7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
1
|
+
import{parseArangoId as d,parseId as m,parseNum as p}from"@nlabs/utils";import{z as r}from"zod";import{removeEmptyKeys as c}from"../utils/adapterUtils";class i extends Error{constructor(e,n){super(e);this.field=n;this.name="ArangoValidationError"}}const u=r.object({_from:r.string().optional(),_id:r.string().optional(),_key:r.string().optional(),_oldRev:r.string().optional(),_rev:r.string().optional(),_to:r.string().optional(),added:r.number().optional(),id:r.string().optional(),modified:r.number().optional()}).passthrough(),h=t=>{try{return u.parse(t)}catch(o){if(o instanceof r.ZodError){const e=o.errors.map(n=>`${n.path.join(".")}: ${n.message}`).join(", ");throw new i(`Document validation failed: ${e}`)}throw o}},T=t=>t,_=t=>{try{return f(t)}catch(o){throw o instanceof i?o:new i(`Document parsing failed: ${o instanceof Error?o.message:"Unknown error"}`)}},f=t=>{const{_id:o,_key:e,added:n,id:a,modified:s}=t;return c({...t,...o&&{_id:d(o)},...e&&{_key:m(e)},...n!==void 0&&{added:p(n,13)},...(o||a)&&{id:d(o||a)},...s!==void 0&&{modified:p(s,13)}})};export{i as ArangoValidationError,T as formatDocumentOutput,_ as parseDocument,h as validateDocumentInput};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL2FyYW5nb0FkYXB0ZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7cGFyc2VBcmFuZ29JZCwgcGFyc2VJZCwgcGFyc2VOdW19IGZyb20gJ0BubGFicy91dGlscyc7XG5pbXBvcnQge3p9IGZyb20gJ3pvZCc7XG5cbmltcG9ydCB7RG9jdW1lbnRUeXBlfSBmcm9tICcuLi90eXBlcy9hcmFuZ29kYi50eXBlcyc7XG5pbXBvcnQge3JlbW92ZUVtcHR5S2V5c30gZnJvbSAnLi4vdXRpbHMvYWRhcHRlclV0aWxzJztcblxuZXhwb3J0IGNsYXNzIEFyYW5nb1ZhbGlkYXRpb25FcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nLCBwdWJsaWMgZmllbGQ/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgICB0aGlzLm5hbWUgPSAnQXJhbmdvVmFsaWRhdGlvbkVycm9yJztcbiAgfVxufVxuXG5jb25zdCBEb2N1bWVudElucHV0U2NoZW1hID0gei5vYmplY3Qoe1xuICBfZnJvbTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfaWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2tleTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfb2xkUmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9yZXY6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX3RvOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGFkZGVkOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGlkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIG1vZGlmaWVkOiB6Lm51bWJlcigpLm9wdGlvbmFsKClcbn0pLnBhc3N0aHJvdWdoKCk7XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZURvY3VtZW50SW5wdXQgPSAoZG9jOiB1bmtub3duKTogRG9jdW1lbnRUeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCB2YWxpZGF0ZWQgPSBEb2N1bWVudElucHV0U2NoZW1hLnBhcnNlKGRvYyk7XG4gICAgcmV0dXJuIHZhbGlkYXRlZCBhcyBEb2N1bWVudFR5cGU7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIHouWm9kRXJyb3IpIHtcbiAgICAgIGNvbnN0IGZpZWxkRXJyb3JzID0gZXJyb3IuZXJyb3JzLm1hcCgoZSkgPT4gYCR7ZS5wYXRoLmpvaW4oJy4nKX06ICR7ZS5tZXNzYWdlfWApLmpvaW4oJywgJyk7XG4gICAgICB0aHJvdyBuZXcgQXJhbmdvVmFsaWRhdGlvbkVycm9yKGBEb2N1bWVudCB2YWxpZGF0aW9uIGZhaWxlZDogJHtmaWVsZEVycm9yc31gKTtcbiAgICB9XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBmb3JtYXREb2N1bWVudE91dHB1dCA9IChkb2M6IERvY3VtZW50VHlwZSk6IERvY3VtZW50VHlwZSA9PiBkb2M7XG5cbmV4cG9ydCBjb25zdCBwYXJzZURvY3VtZW50ID0gKGRvYzogRG9jdW1lbnRUeXBlKTogRG9jdW1lbnRUeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJzZWQgPSBwZXJmb3JtRG9jdW1lbnRUcmFuc2Zvcm1hdGlvbihkb2MpO1xuICAgIHJldHVybiBwYXJzZWQ7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIEFyYW5nb1ZhbGlkYXRpb25FcnJvcikge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICAgIHRocm93IG5ldyBBcmFuZ29WYWxpZGF0aW9uRXJyb3IoYERvY3VtZW50IHBhcnNpbmcgZmFpbGVkOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWApO1xuICB9XG59O1xuXG5jb25zdCBwZXJmb3JtRG9jdW1lbnRUcmFuc2Zvcm1hdGlvbiA9IChkb2M6IERvY3VtZW50VHlwZSk6IERvY3VtZW50VHlwZSA9PiB7XG4gIGNvbnN0IHtcbiAgICBfaWQsXG4gICAgX2tleSxcbiAgICBhZGRlZCxcbiAgICBpZCxcbiAgICBtb2RpZmllZFxuICB9ID0gZG9jO1xuXG4gIGNvbnN0IHRyYW5zZm9ybWVkID0gcmVtb3ZlRW1wdHlLZXlzKHtcbiAgICAuLi5kb2MsXG4gICAgLi4uKF9pZCAmJiB7X2lkOiBwYXJzZUFyYW5nb0lkKF9pZCl9KSxcbiAgICAuLi4oX2tleSAmJiB7X2tleTogcGFyc2VJZChfa2V5KX0pLFxuICAgIC4uLihhZGRlZCAhPT0gdW5kZWZpbmVkICYmIHthZGRlZDogcGFyc2VOdW0oYWRkZWQsIDEzKX0pLFxuICAgIC4uLigoX2lkIHx8IGlkKSAmJiB7aWQ6IHBhcnNlQXJhbmdvSWQoX2lkIHx8IGlkKX0pLFxuICAgIC4uLihtb2RpZmllZCAhPT0gdW5kZWZpbmVkICYmIHttb2RpZmllZDogcGFyc2VOdW0obW9kaWZpZWQsIDEzKX0pXG4gIH0pO1xuXG4gIHJldHVybiB0cmFuc2Zvcm1lZDtcbn07Il0sCiAgIm1hcHBpbmdzIjogIkFBQUEsT0FBUSxpQkFBQUEsRUFBZSxXQUFBQyxFQUFTLFlBQUFDLE1BQWUsZUFDL0MsT0FBUSxLQUFBQyxNQUFRLE1BR2hCLE9BQVEsbUJBQUFDLE1BQXNCLHdCQUV2QixNQUFNQyxVQUE4QixLQUFNLENBQy9DLFlBQVlDLEVBQXdCQyxFQUFnQixDQUNsRCxNQUFNRCxDQUFPLEVBRHFCLFdBQUFDLEVBRWxDLEtBQUssS0FBTyx1QkFDZCxDQUNGLENBRUEsTUFBTUMsRUFBc0JMLEVBQUUsT0FBTyxDQUNuQyxNQUFPQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzNCLElBQUtBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDekIsS0FBTUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMxQixRQUFTQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzdCLEtBQU1BLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDMUIsSUFBS0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUN6QixNQUFPQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzNCLEdBQUlBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDeEIsU0FBVUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUNoQyxDQUFDLEVBQUUsWUFBWSxFQUVGTSxFQUF5QkMsR0FBK0IsQ0FDbkUsR0FBSSxDQUVGLE9BRGtCRixFQUFvQixNQUFNRSxDQUFHLENBRWpELE9BQVFDLEVBQU8sQ0FDYixHQUFHQSxhQUFpQlIsRUFBRSxTQUFVLENBQzlCLE1BQU1TLEVBQWNELEVBQU0sT0FBTyxJQUFLRSxHQUFNLEdBQUdBLEVBQUUsS0FBSyxLQUFLLEdBQUcsQ0FBQyxLQUFLQSxFQUFFLE9BQU8sRUFBRSxFQUFFLEtBQUssSUFBSSxFQUMxRixNQUFNLElBQUlSLEVBQXNCLCtCQUErQk8sQ0FBVyxFQUFFLENBQzlFLENBQ0EsTUFBTUQsQ0FDUixDQUNGLEVBRWFHLEVBQXdCSixHQUFvQ0EsRUFFNURLLEVBQWlCTCxHQUFvQyxDQUNoRSxHQUFJLENBRUYsT0FEZU0sRUFBOEJOLENBQUcsQ0FFbEQsT0FBUUMsRUFBTyxDQUNiLE1BQUdBLGFBQWlCTixFQUNaTSxFQUVGLElBQUlOLEVBQXNCLDRCQUE0Qk0sYUFBaUIsTUFBUUEsRUFBTSxRQUFVLGVBQWUsRUFBRSxDQUN4SCxDQUNGLEVBRU1LLEVBQWlDTixHQUFvQyxDQUN6RSxLQUFNLENBQ0osSUFBQU8sRUFDQSxLQUFBQyxFQUNBLE1BQUFDLEVBQ0EsR0FBQUMsRUFDQSxTQUFBQyxDQUNGLEVBQUlYLEVBV0osT0FUb0JOLEVBQWdCLENBQ2xDLEdBQUdNLEVBQ0gsR0FBSU8sR0FBTyxDQUFDLElBQUtqQixFQUFjaUIsQ0FBRyxDQUFDLEVBQ25DLEdBQUlDLEdBQVEsQ0FBQyxLQUFNakIsRUFBUWlCLENBQUksQ0FBQyxFQUNoQyxHQUFJQyxJQUFVLFFBQWEsQ0FBQyxNQUFPakIsRUFBU2lCLEVBQU8sRUFBRSxDQUFDLEVBQ3RELElBQUtGLEdBQU9HLElBQU8sQ0FBQyxHQUFJcEIsRUFBY2lCLEdBQU9HLENBQUUsQ0FBQyxFQUNoRCxHQUFJQyxJQUFhLFFBQWEsQ0FBQyxTQUFVbkIsRUFBU21CLEVBQVUsRUFBRSxDQUFDLENBQ2pFLENBQUMsQ0FHSCIsCiAgIm5hbWVzIjogWyJwYXJzZUFyYW5nb0lkIiwgInBhcnNlSWQiLCAicGFyc2VOdW0iLCAieiIsICJyZW1vdmVFbXB0eUtleXMiLCAiQXJhbmdvVmFsaWRhdGlvbkVycm9yIiwgIm1lc3NhZ2UiLCAiZmllbGQiLCAiRG9jdW1lbnRJbnB1dFNjaGVtYSIsICJ2YWxpZGF0ZURvY3VtZW50SW5wdXQiLCAiZG9jIiwgImVycm9yIiwgImZpZWxkRXJyb3JzIiwgImUiLCAiZm9ybWF0RG9jdW1lbnRPdXRwdXQiLCAicGFyc2VEb2N1bWVudCIsICJwZXJmb3JtRG9jdW1lbnRUcmFuc2Zvcm1hdGlvbiIsICJfaWQiLCAiX2tleSIsICJhZGRlZCIsICJpZCIsICJtb2RpZmllZCJdCn0K
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{parseArangoId as C,parseId as d,parseString as s}from"@nlabs/utils";import{z as t}from"zod";import{parseDocument as f}from"./arangoAdapter";import{removeEmptyKeys as b}from"../utils/adapterUtils";class l extends Error{constructor(n,r){super(n);this.field=r;this.name="ContentValidationError"}}const I=t.object({contentId:t.string().optional(),key:t.string().min(1,"Key is required").max(200,"Key must be less than 200 characters"),locale:t.enum(["en","es","fr","de","pt","it"],{errorMap:()=>({message:"Locale must be one of: en, es, fr, de, pt, it"})}),content:t.string().min(1,"Content is required").max(1e4,"Content must be less than 10000 characters"),description:t.string().max(500,"Description must be less than 500 characters").optional(),category:t.string().max(100,"Category must be less than 100 characters").optional(),isActive:t.boolean().optional(),userId:t.string().optional()}),T=t.object({contentId:t.string().optional(),key:t.string().min(1,"Key is required").max(200,"Key must be less than 200 characters"),locale:t.enum(["en","es","fr","de","pt","it"],{errorMap:()=>({message:"Locale must be one of: en, es, fr, de, pt, it"})}).optional(),content:t.string().min(1,"Content is required").max(1e4,"Content must be less than 10000 characters"),description:t.string().max(500,"Description must be less than 500 characters").optional(),category:t.string().max(100,"Category must be less than 100 characters").optional(),isActive:t.boolean().optional()}),K=o=>{try{return I.parse(o)}catch(e){if(e instanceof t.ZodError){const n=e.errors[0]?.path.join("."),r=e.errors[0]?.message||"Validation failed";throw new l(r,n)}throw e}},j=o=>{try{return T.parse(o)}catch(e){if(e instanceof t.ZodError){const n=e.errors[0]?.path.join("."),r=e.errors[0]?.message||"Validation failed";throw new l(r,n)}throw e}},x=o=>{const{_id:e,_key:n,contentId:r,id:a,key:u,locale:y,content:g,description:i,category:c,isActive:p,userId:m}=o,h={...f(o),...(n||r)&&{contentId:d(n||r)},...(e||a||n||r)&&{id:C(e||a||`content/${n||r}`)},key:s(u,200),locale:y,content:s(g,1e4),...i&&{description:s(i,500)},...c&&{category:s(c,100)},...p!==void 0&&{isActive:p},...m&&{userId:d(m)}};return b(h)},q=o=>x(o);export{l as ContentValidationError,K as parseContent,q as parseContentFromDb,j as parseContentInput};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL2NvbnRlbnRBZGFwdGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyNS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtwYXJzZUFyYW5nb0lkLCBwYXJzZUlkLCBwYXJzZVN0cmluZ30gZnJvbSAnQG5sYWJzL3V0aWxzJztcbmltcG9ydCB7en0gZnJvbSAnem9kJztcblxuaW1wb3J0IHtwYXJzZURvY3VtZW50fSBmcm9tICcuL2FyYW5nb0FkYXB0ZXInO1xuaW1wb3J0IHtDb250ZW50SW5wdXRUeXBlLCBDb250ZW50VHlwZX0gZnJvbSAnLi4vdHlwZXMvY29udGVudC50eXBlcyc7XG5pbXBvcnQge3JlbW92ZUVtcHR5S2V5c30gZnJvbSAnLi4vdXRpbHMvYWRhcHRlclV0aWxzJztcblxuZXhwb3J0IGNsYXNzIENvbnRlbnRWYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIGZpZWxkPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ0NvbnRlbnRWYWxpZGF0aW9uRXJyb3InO1xuICB9XG59XG5cbmNvbnN0IGNvbnRlbnRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGNvbnRlbnRJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBrZXk6IHouc3RyaW5nKCkubWluKDEsICdLZXkgaXMgcmVxdWlyZWQnKS5tYXgoMjAwLCAnS2V5IG11c3QgYmUgbGVzcyB0aGFuIDIwMCBjaGFyYWN0ZXJzJyksXG4gIGxvY2FsZTogei5lbnVtKFsnZW4nLCAnZXMnLCAnZnInLCAnZGUnLCAncHQnLCAnaXQnXSwge1xuICAgIGVycm9yTWFwOiAoKSA9PiAoe21lc3NhZ2U6ICdMb2NhbGUgbXVzdCBiZSBvbmUgb2Y6IGVuLCBlcywgZnIsIGRlLCBwdCwgaXQnfSlcbiAgfSksXG4gIGNvbnRlbnQ6IHouc3RyaW5nKCkubWluKDEsICdDb250ZW50IGlzIHJlcXVpcmVkJykubWF4KDEwMDAwLCAnQ29udGVudCBtdXN0IGJlIGxlc3MgdGhhbiAxMDAwMCBjaGFyYWN0ZXJzJyksXG4gIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm1heCg1MDAsICdEZXNjcmlwdGlvbiBtdXN0IGJlIGxlc3MgdGhhbiA1MDAgY2hhcmFjdGVycycpLm9wdGlvbmFsKCksXG4gIGNhdGVnb3J5OiB6LnN0cmluZygpLm1heCgxMDAsICdDYXRlZ29yeSBtdXN0IGJlIGxlc3MgdGhhbiAxMDAgY2hhcmFjdGVycycpLm9wdGlvbmFsKCksXG4gIGlzQWN0aXZlOiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLFxuICB1c2VySWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKVxufSk7XG5cbmNvbnN0IGNvbnRlbnRJbnB1dFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgY29udGVudElkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGtleTogei5zdHJpbmcoKS5taW4oMSwgJ0tleSBpcyByZXF1aXJlZCcpLm1heCgyMDAsICdLZXkgbXVzdCBiZSBsZXNzIHRoYW4gMjAwIGNoYXJhY3RlcnMnKSxcbiAgbG9jYWxlOiB6LmVudW0oWydlbicsICdlcycsICdmcicsICdkZScsICdwdCcsICdpdCddLCB7XG4gICAgZXJyb3JNYXA6ICgpID0+ICh7bWVzc2FnZTogJ0xvY2FsZSBtdXN0IGJlIG9uZSBvZjogZW4sIGVzLCBmciwgZGUsIHB0LCBpdCd9KVxuICB9KS5vcHRpb25hbCgpLFxuICBjb250ZW50OiB6LnN0cmluZygpLm1pbigxLCAnQ29udGVudCBpcyByZXF1aXJlZCcpLm1heCgxMDAwMCwgJ0NvbnRlbnQgbXVzdCBiZSBsZXNzIHRoYW4gMTAwMDAgY2hhcmFjdGVycycpLFxuICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5tYXgoNTAwLCAnRGVzY3JpcHRpb24gbXVzdCBiZSBsZXNzIHRoYW4gNTAwIGNoYXJhY3RlcnMnKS5vcHRpb25hbCgpLFxuICBjYXRlZ29yeTogei5zdHJpbmcoKS5tYXgoMTAwLCAnQ2F0ZWdvcnkgbXVzdCBiZSBsZXNzIHRoYW4gMTAwIGNoYXJhY3RlcnMnKS5vcHRpb25hbCgpLFxuICBpc0FjdGl2ZTogei5ib29sZWFuKCkub3B0aW9uYWwoKVxufSk7XG5cbmV4cG9ydCBjb25zdCBwYXJzZUNvbnRlbnQgPSAoY29udGVudDogQ29udGVudFR5cGUpOiBDb250ZW50VHlwZSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgdmFsaWRhdGVkID0gY29udGVudFNjaGVtYS5wYXJzZShjb250ZW50KTtcbiAgICByZXR1cm4gdmFsaWRhdGVkIGFzIENvbnRlbnRUeXBlO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiB6LlpvZEVycm9yKSB7XG4gICAgICBjb25zdCBmaWVsZCA9IGVycm9yLmVycm9yc1swXT8ucGF0aC5qb2luKCcuJyk7XG4gICAgICBjb25zdCBtZXNzYWdlID0gZXJyb3IuZXJyb3JzWzBdPy5tZXNzYWdlIHx8ICdWYWxpZGF0aW9uIGZhaWxlZCc7XG4gICAgICB0aHJvdyBuZXcgQ29udGVudFZhbGlkYXRpb25FcnJvcihtZXNzYWdlLCBmaWVsZCk7XG4gICAgfVxuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgcGFyc2VDb250ZW50SW5wdXQgPSAoY29udGVudDogQ29udGVudElucHV0VHlwZSk6IENvbnRlbnRJbnB1dFR5cGUgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHZhbGlkYXRlZCA9IGNvbnRlbnRJbnB1dFNjaGVtYS5wYXJzZShjb250ZW50KTtcbiAgICByZXR1cm4gdmFsaWRhdGVkIGFzIENvbnRlbnRJbnB1dFR5cGU7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIHouWm9kRXJyb3IpIHtcbiAgICAgIGNvbnN0IGZpZWxkID0gZXJyb3IuZXJyb3JzWzBdPy5wYXRoLmpvaW4oJy4nKTtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBlcnJvci5lcnJvcnNbMF0/Lm1lc3NhZ2UgfHwgJ1ZhbGlkYXRpb24gZmFpbGVkJztcbiAgICAgIHRocm93IG5ldyBDb250ZW50VmFsaWRhdGlvbkVycm9yKG1lc3NhZ2UsIGZpZWxkKTtcbiAgICB9XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn07XG5cbmNvbnN0IHBlcmZvcm1Db250ZW50VHJhbnNmb3JtYXRpb24gPSAoY29udGVudDogQ29udGVudFR5cGUpOiBDb250ZW50VHlwZSA9PiB7XG4gIGNvbnN0IHtcbiAgICBfaWQsXG4gICAgX2tleSxcbiAgICBjb250ZW50SWQsXG4gICAgaWQsXG4gICAga2V5LFxuICAgIGxvY2FsZSxcbiAgICBjb250ZW50OiBjb250ZW50VGV4dCxcbiAgICBkZXNjcmlwdGlvbixcbiAgICBjYXRlZ29yeSxcbiAgICBpc0FjdGl2ZSxcbiAgICB1c2VySWRcbiAgfSA9IGNvbnRlbnQ7XG5cbiAgY29uc3QgdHJhbnNmb3JtZWQgPSB7XG4gICAgLi4ucGFyc2VEb2N1bWVudChjb250ZW50KSxcbiAgICAuLi4oKF9rZXkgfHwgY29udGVudElkKSAmJiB7Y29udGVudElkOiBwYXJzZUlkKF9rZXkgfHwgY29udGVudElkKX0pLFxuICAgIC4uLigoX2lkIHx8IGlkIHx8IF9rZXkgfHwgY29udGVudElkKSAmJiB7aWQ6IHBhcnNlQXJhbmdvSWQoX2lkIHx8IGlkIHx8IGBjb250ZW50LyR7X2tleSB8fCBjb250ZW50SWR9YCl9KSxcbiAgICBrZXk6IHBhcnNlU3RyaW5nKGtleSwgMjAwKSxcbiAgICBsb2NhbGUsXG4gICAgY29udGVudDogcGFyc2VTdHJpbmcoY29udGVudFRleHQsIDEwMDAwKSxcbiAgICAuLi4oZGVzY3JpcHRpb24gJiYge2Rlc2NyaXB0aW9uOiBwYXJzZVN0cmluZyhkZXNjcmlwdGlvbiwgNTAwKX0pLFxuICAgIC4uLihjYXRlZ29yeSAmJiB7Y2F0ZWdvcnk6IHBhcnNlU3RyaW5nKGNhdGVnb3J5LCAxMDApfSksXG4gICAgLi4uKGlzQWN0aXZlICE9PSB1bmRlZmluZWQgJiYge2lzQWN0aXZlfSksXG4gICAgLi4uKHVzZXJJZCAmJiB7dXNlcklkOiBwYXJzZUlkKHVzZXJJZCl9KVxuICB9O1xuXG4gIHJldHVybiByZW1vdmVFbXB0eUtleXModHJhbnNmb3JtZWQpIGFzIENvbnRlbnRUeXBlO1xufTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlQ29udGVudEZyb21EYiA9IChjb250ZW50OiBDb250ZW50VHlwZSk6IENvbnRlbnRUeXBlID0+IHBlcmZvcm1Db250ZW50VHJhbnNmb3JtYXRpb24oY29udGVudCk7Il0sCiAgIm1hcHBpbmdzIjogIkFBSUEsT0FBUSxpQkFBQUEsRUFBZSxXQUFBQyxFQUFTLGVBQUFDLE1BQWtCLGVBQ2xELE9BQVEsS0FBQUMsTUFBUSxNQUVoQixPQUFRLGlCQUFBQyxNQUFvQixrQkFFNUIsT0FBUSxtQkFBQUMsTUFBc0Isd0JBRXZCLE1BQU1DLFVBQStCLEtBQU0sQ0FDaEQsWUFBWUMsRUFBd0JDLEVBQWdCLENBQ2xELE1BQU1ELENBQU8sRUFEcUIsV0FBQUMsRUFFbEMsS0FBSyxLQUFPLHdCQUNkLENBQ0YsQ0FFQSxNQUFNQyxFQUFnQk4sRUFBRSxPQUFPLENBQzdCLFVBQVdBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDL0IsSUFBS0EsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFHLGlCQUFpQixFQUFFLElBQUksSUFBSyxzQ0FBc0MsRUFDekYsT0FBUUEsRUFBRSxLQUFLLENBQUMsS0FBTSxLQUFNLEtBQU0sS0FBTSxLQUFNLElBQUksRUFBRyxDQUNuRCxTQUFVLEtBQU8sQ0FBQyxRQUFTLCtDQUErQyxFQUM1RSxDQUFDLEVBQ0QsUUFBU0EsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFHLHFCQUFxQixFQUFFLElBQUksSUFBTyw0Q0FBNEMsRUFDekcsWUFBYUEsRUFBRSxPQUFPLEVBQUUsSUFBSSxJQUFLLDhDQUE4QyxFQUFFLFNBQVMsRUFDMUYsU0FBVUEsRUFBRSxPQUFPLEVBQUUsSUFBSSxJQUFLLDJDQUEyQyxFQUFFLFNBQVMsRUFDcEYsU0FBVUEsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUMvQixPQUFRQSxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQzlCLENBQUMsRUFFS08sRUFBcUJQLEVBQUUsT0FBTyxDQUNsQyxVQUFXQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQy9CLElBQUtBLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRyxpQkFBaUIsRUFBRSxJQUFJLElBQUssc0NBQXNDLEVBQ3pGLE9BQVFBLEVBQUUsS0FBSyxDQUFDLEtBQU0sS0FBTSxLQUFNLEtBQU0sS0FBTSxJQUFJLEVBQUcsQ0FDbkQsU0FBVSxLQUFPLENBQUMsUUFBUywrQ0FBK0MsRUFDNUUsQ0FBQyxFQUFFLFNBQVMsRUFDWixRQUFTQSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUcscUJBQXFCLEVBQUUsSUFBSSxJQUFPLDRDQUE0QyxFQUN6RyxZQUFhQSxFQUFFLE9BQU8sRUFBRSxJQUFJLElBQUssOENBQThDLEVBQUUsU0FBUyxFQUMxRixTQUFVQSxFQUFFLE9BQU8sRUFBRSxJQUFJLElBQUssMkNBQTJDLEVBQUUsU0FBUyxFQUNwRixTQUFVQSxFQUFFLFFBQVEsRUFBRSxTQUFTLENBQ2pDLENBQUMsRUFFWVEsRUFBZ0JDLEdBQXNDLENBQ2pFLEdBQUksQ0FFRixPQURrQkgsRUFBYyxNQUFNRyxDQUFPLENBRS9DLE9BQVFDLEVBQU8sQ0FDYixHQUFHQSxhQUFpQlYsRUFBRSxTQUFVLENBQzlCLE1BQU1LLEVBQVFLLEVBQU0sT0FBTyxDQUFDLEdBQUcsS0FBSyxLQUFLLEdBQUcsRUFDdENOLEVBQVVNLEVBQU0sT0FBTyxDQUFDLEdBQUcsU0FBVyxvQkFDNUMsTUFBTSxJQUFJUCxFQUF1QkMsRUFBU0MsQ0FBSyxDQUNqRCxDQUNBLE1BQU1LLENBQ1IsQ0FDRixFQUVhQyxFQUFxQkYsR0FBZ0QsQ0FDaEYsR0FBSSxDQUVGLE9BRGtCRixFQUFtQixNQUFNRSxDQUFPLENBRXBELE9BQVFDLEVBQU8sQ0FDYixHQUFHQSxhQUFpQlYsRUFBRSxTQUFVLENBQzlCLE1BQU1LLEVBQVFLLEVBQU0sT0FBTyxDQUFDLEdBQUcsS0FBSyxLQUFLLEdBQUcsRUFDdENOLEVBQVVNLEVBQU0sT0FBTyxDQUFDLEdBQUcsU0FBVyxvQkFDNUMsTUFBTSxJQUFJUCxFQUF1QkMsRUFBU0MsQ0FBSyxDQUNqRCxDQUNBLE1BQU1LLENBQ1IsQ0FDRixFQUVNRSxFQUFnQ0gsR0FBc0MsQ0FDMUUsS0FBTSxDQUNKLElBQUFJLEVBQ0EsS0FBQUMsRUFDQSxVQUFBQyxFQUNBLEdBQUFDLEVBQ0EsSUFBQUMsRUFDQSxPQUFBQyxFQUNBLFFBQVNDLEVBQ1QsWUFBQUMsRUFDQSxTQUFBQyxFQUNBLFNBQUFDLEVBQ0EsT0FBQUMsQ0FDRixFQUFJZCxFQUVFZSxFQUFjLENBQ2xCLEdBQUd2QixFQUFjUSxDQUFPLEVBQ3hCLElBQUtLLEdBQVFDLElBQWMsQ0FBQyxVQUFXakIsRUFBUWdCLEdBQVFDLENBQVMsQ0FBQyxFQUNqRSxJQUFLRixHQUFPRyxHQUFNRixHQUFRQyxJQUFjLENBQUMsR0FBSWxCLEVBQWNnQixHQUFPRyxHQUFNLFdBQVdGLEdBQVFDLENBQVMsRUFBRSxDQUFDLEVBQ3ZHLElBQUtoQixFQUFZa0IsRUFBSyxHQUFHLEVBQ3pCLE9BQUFDLEVBQ0EsUUFBU25CLEVBQVlvQixFQUFhLEdBQUssRUFDdkMsR0FBSUMsR0FBZSxDQUFDLFlBQWFyQixFQUFZcUIsRUFBYSxHQUFHLENBQUMsRUFDOUQsR0FBSUMsR0FBWSxDQUFDLFNBQVV0QixFQUFZc0IsRUFBVSxHQUFHLENBQUMsRUFDckQsR0FBSUMsSUFBYSxRQUFhLENBQUMsU0FBQUEsQ0FBUSxFQUN2QyxHQUFJQyxHQUFVLENBQUMsT0FBUXpCLEVBQVF5QixDQUFNLENBQUMsQ0FDeEMsRUFFQSxPQUFPckIsRUFBZ0JzQixDQUFXLENBQ3BDLEVBRWFDLEVBQXNCaEIsR0FBc0NHLEVBQTZCSCxDQUFPIiwKICAibmFtZXMiOiBbInBhcnNlQXJhbmdvSWQiLCAicGFyc2VJZCIsICJwYXJzZVN0cmluZyIsICJ6IiwgInBhcnNlRG9jdW1lbnQiLCAicmVtb3ZlRW1wdHlLZXlzIiwgIkNvbnRlbnRWYWxpZGF0aW9uRXJyb3IiLCAibWVzc2FnZSIsICJmaWVsZCIsICJjb250ZW50U2NoZW1hIiwgImNvbnRlbnRJbnB1dFNjaGVtYSIsICJwYXJzZUNvbnRlbnQiLCAiY29udGVudCIsICJlcnJvciIsICJwYXJzZUNvbnRlbnRJbnB1dCIsICJwZXJmb3JtQ29udGVudFRyYW5zZm9ybWF0aW9uIiwgIl9pZCIsICJfa2V5IiwgImNvbnRlbnRJZCIsICJpZCIsICJrZXkiLCAibG9jYWxlIiwgImNvbnRlbnRUZXh0IiwgImRlc2NyaXB0aW9uIiwgImNhdGVnb3J5IiwgImlzQWN0aXZlIiwgInVzZXJJZCIsICJ0cmFuc2Zvcm1lZCIsICJwYXJzZUNvbnRlbnRGcm9tRGIiXQp9Cg==
|
|
@@ -1,76 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __export = (target, all) => {
|
|
6
|
-
for (var name in all)
|
|
7
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
-
};
|
|
9
|
-
var __copyProps = (to, from, except, desc) => {
|
|
10
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
-
for (let key of __getOwnPropNames(from))
|
|
12
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
-
}
|
|
15
|
-
return to;
|
|
16
|
-
};
|
|
17
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
-
var fileAdapter_exports = {};
|
|
19
|
-
__export(fileAdapter_exports, {
|
|
20
|
-
getFileType: () => getFileType,
|
|
21
|
-
parseFile: () => parseFile
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(fileAdapter_exports);
|
|
24
|
-
var import_utils = require("@nlabs/utils");
|
|
25
|
-
var import_arangoAdapter = require("./arangoAdapter");
|
|
26
|
-
var import_reaktorAdapter = require("./reaktorAdapter");
|
|
27
|
-
const getFileType = (file) => {
|
|
28
|
-
const { fileType, name } = file;
|
|
29
|
-
if (fileType) {
|
|
30
|
-
return (0, import_utils.parseString)(fileType, 16);
|
|
31
|
-
}
|
|
32
|
-
const nameArr = name?.split(".") || [];
|
|
33
|
-
const ext = nameArr.length && nameArr[nameArr.length - 1];
|
|
34
|
-
switch (ext) {
|
|
35
|
-
case "jpeg":
|
|
36
|
-
case "jpg":
|
|
37
|
-
return "image/jpeg";
|
|
38
|
-
case "png":
|
|
39
|
-
return "image/png";
|
|
40
|
-
case "zip":
|
|
41
|
-
return "application/zip";
|
|
42
|
-
default:
|
|
43
|
-
return void 0;
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
const parseFile = (file) => {
|
|
47
|
-
const {
|
|
48
|
-
_key,
|
|
49
|
-
description,
|
|
50
|
-
fileId,
|
|
51
|
-
fileSize,
|
|
52
|
-
itemId,
|
|
53
|
-
itemType,
|
|
54
|
-
name,
|
|
55
|
-
url,
|
|
56
|
-
userId
|
|
57
|
-
} = file;
|
|
58
|
-
return {
|
|
59
|
-
...(0, import_arangoAdapter.parseDocument)(file),
|
|
60
|
-
description: (0, import_reaktorAdapter.parseReaktorContent)(description),
|
|
61
|
-
fileId: (0, import_reaktorAdapter.parseReaktorItemId)(_key || fileId),
|
|
62
|
-
fileSize: fileSize ? (0, import_utils.parseNum)(fileSize) : void 0,
|
|
63
|
-
fileType: getFileType(file),
|
|
64
|
-
itemId: (0, import_reaktorAdapter.parseReaktorItemId)(itemId),
|
|
65
|
-
itemType: (0, import_reaktorAdapter.parseReaktorType)(itemType),
|
|
66
|
-
name: (0, import_reaktorAdapter.parseReaktorName)(name),
|
|
67
|
-
url: (0, import_reaktorAdapter.parseReaktorUrl)(url),
|
|
68
|
-
userId: (0, import_reaktorAdapter.parseReaktorItemId)(userId)
|
|
69
|
-
};
|
|
70
|
-
};
|
|
71
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
72
|
-
0 && (module.exports = {
|
|
73
|
-
getFileType,
|
|
74
|
-
parseFile
|
|
75
|
-
});
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL2ZpbGVBZGFwdGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQge3BhcnNlTnVtLCBwYXJzZVN0cmluZ30gZnJvbSAnQG5sYWJzL3V0aWxzJztcblxuaW1wb3J0IHtGaWxlVHlwZX0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHtwYXJzZURvY3VtZW50fSBmcm9tICcuL2FyYW5nb0FkYXB0ZXInO1xuaW1wb3J0IHtcbiAgcGFyc2VSZWFrdG9yQ29udGVudCxcbiAgcGFyc2VSZWFrdG9ySXRlbUlkLFxuICBwYXJzZVJlYWt0b3JOYW1lLFxuICBwYXJzZVJlYWt0b3JUeXBlLFxuICBwYXJzZVJlYWt0b3JVcmxcbn0gZnJvbSAnLi9yZWFrdG9yQWRhcHRlcic7XG5cbmV4cG9ydCBjb25zdCBnZXRGaWxlVHlwZSA9IChmaWxlOiBGaWxlVHlwZSk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IHtmaWxlVHlwZSwgbmFtZX0gPSBmaWxlO1xuXG4gIGlmKGZpbGVUeXBlKSB7XG4gICAgcmV0dXJuIHBhcnNlU3RyaW5nKGZpbGVUeXBlLCAxNik7XG4gIH1cblxuICBjb25zdCBuYW1lQXJyOiBzdHJpbmdbXSA9IG5hbWU/LnNwbGl0KCcuJykgfHwgW107XG4gIGNvbnN0IGV4dDogc3RyaW5nID0gbmFtZUFyci5sZW5ndGggJiYgbmFtZUFycltuYW1lQXJyLmxlbmd0aCAtIDFdO1xuXG4gIHN3aXRjaChleHQpIHtcbiAgICBjYXNlICdqcGVnJzpcbiAgICBjYXNlICdqcGcnOlxuICAgICAgcmV0dXJuICdpbWFnZS9qcGVnJztcbiAgICBjYXNlICdwbmcnOlxuICAgICAgcmV0dXJuICdpbWFnZS9wbmcnO1xuICAgIGNhc2UgJ3ppcCc6XG4gICAgICByZXR1cm4gJ2FwcGxpY2F0aW9uL3ppcCc7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBwYXJzZUZpbGUgPSAoZmlsZTogRmlsZVR5cGUpOiBGaWxlVHlwZSA9PiB7XG4gIGNvbnN0IHtcbiAgICBfa2V5LFxuICAgIGRlc2NyaXB0aW9uLFxuICAgIGZpbGVJZCxcbiAgICBmaWxlU2l6ZSxcbiAgICBpdGVtSWQsXG4gICAgaXRlbVR5cGUsXG4gICAgbmFtZSxcbiAgICB1cmwsXG4gICAgdXNlcklkXG4gIH0gPSBmaWxlO1xuXG4gIHJldHVybiB7XG4gICAgLi4ucGFyc2VEb2N1bWVudChmaWxlKSxcbiAgICBkZXNjcmlwdGlvbjogcGFyc2VSZWFrdG9yQ29udGVudChkZXNjcmlwdGlvbiksXG4gICAgZmlsZUlkOiBwYXJzZVJlYWt0b3JJdGVtSWQoX2tleSB8fCBmaWxlSWQpLFxuICAgIGZpbGVTaXplOiBmaWxlU2l6ZSA/IHBhcnNlTnVtKGZpbGVTaXplKSA6IHVuZGVmaW5lZCxcbiAgICBmaWxlVHlwZTogZ2V0RmlsZVR5cGUoZmlsZSksXG4gICAgaXRlbUlkOiBwYXJzZVJlYWt0b3JJdGVtSWQoaXRlbUlkKSxcbiAgICBpdGVtVHlwZTogcGFyc2VSZWFrdG9yVHlwZShpdGVtVHlwZSksXG4gICAgbmFtZTogcGFyc2VSZWFrdG9yTmFtZShuYW1lKSxcbiAgICB1cmw6IHBhcnNlUmVha3RvclVybCh1cmwpLFxuICAgIHVzZXJJZDogcGFyc2VSZWFrdG9ySXRlbUlkKHVzZXJJZClcbiAgfTtcbn07Il0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxtQkFBb0M7QUFHcEMsMkJBQTRCO0FBQzVCLDRCQU1PO0FBRUEsTUFBTSxjQUFjLENBQUMsU0FBMkI7QUFDckQsUUFBTSxFQUFDLFVBQVUsS0FBSSxJQUFJO0FBRXpCLE1BQUcsVUFBVTtBQUNYLGVBQU8sMEJBQVksVUFBVSxFQUFFO0FBQUEsRUFDakM7QUFFQSxRQUFNLFVBQW9CLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQztBQUMvQyxRQUFNLE1BQWMsUUFBUSxVQUFVLFFBQVEsUUFBUSxTQUFTLENBQUM7QUFFaEUsVUFBTyxLQUFLO0FBQUEsSUFDVixLQUFLO0FBQUEsSUFDTCxLQUFLO0FBQ0gsYUFBTztBQUFBLElBQ1QsS0FBSztBQUNILGFBQU87QUFBQSxJQUNULEtBQUs7QUFDSCxhQUFPO0FBQUEsSUFDVDtBQUNFLGFBQU87QUFBQSxFQUNYO0FBQ0Y7QUFFTyxNQUFNLFlBQVksQ0FBQyxTQUE2QjtBQUNyRCxRQUFNO0FBQUEsSUFDSjtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsRUFDRixJQUFJO0FBRUosU0FBTztBQUFBLElBQ0wsT0FBRyxvQ0FBYyxJQUFJO0FBQUEsSUFDckIsaUJBQWEsMkNBQW9CLFdBQVc7QUFBQSxJQUM1QyxZQUFRLDBDQUFtQixRQUFRLE1BQU07QUFBQSxJQUN6QyxVQUFVLGVBQVcsdUJBQVMsUUFBUSxJQUFJO0FBQUEsSUFDMUMsVUFBVSxZQUFZLElBQUk7QUFBQSxJQUMxQixZQUFRLDBDQUFtQixNQUFNO0FBQUEsSUFDakMsY0FBVSx3Q0FBaUIsUUFBUTtBQUFBLElBQ25DLFVBQU0sd0NBQWlCLElBQUk7QUFBQSxJQUMzQixTQUFLLHVDQUFnQixHQUFHO0FBQUEsSUFDeEIsWUFBUSwwQ0FBbUIsTUFBTTtBQUFBLEVBQ25DO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
1
|
+
import{parseArangoId as h,parseId as s,parseNum as I,parseString as F,parseUrl as w}from"@nlabs/utils";import{z as e}from"zod";import{parseDocument as x}from"./arangoAdapter";import{parseReaktorContent as _,parseReaktorType as b}from"./reaktorAdapter";class p extends Error{constructor(t,n){super(t);this.field=n;this.name="FileValidationError"}}const j=e.object({_from:e.string().optional(),_id:e.string().optional(),_key:e.string().optional(),_oldRev:e.string().optional(),_rev:e.string().optional(),_to:e.string().optional(),base64:e.string().optional(),buffer:e.any().optional(),description:e.string().optional(),fileId:e.string().optional(),fileSize:e.number().optional(),fileType:e.string().optional(),itemId:e.string().optional(),itemType:e.string().optional(),name:e.string().optional(),url:e.string().optional(),userId:e.string().optional()}).passthrough(),A=i=>{try{return j.parse(i)}catch(r){if(r instanceof e.ZodError){const t=r.errors.map(n=>`${n.path.join(".")}: ${n.message}`).join(", ");throw new p(`File validation failed: ${t}`)}throw r}},U=i=>i,k=i=>{const{fileType:r,name:t}=i;if(r)return F(r,16);const n=t?.split(".")||[];switch(n.length&&n[n.length-1]){case"jpeg":case"jpg":return"image/jpeg";case"png":return"image/png";case"zip":return"application/zip";default:return}},V=i=>{try{return v(i)}catch(r){throw r instanceof p?r:new p(`File parsing failed: ${r instanceof Error?r.message:"Unknown error"}`)}},v=i=>{const{_id:r,_key:t,base64:n,buffer:a,description:l,fileId:o,fileSize:d,fileType:T,id:c,itemId:f,itemType:m,name:g,url:u,userId:y}=i;return{...x(i),...n&&{base64:n},...a&&{buffer:a},...l&&{description:_(l)},...(t||o)&&{fileId:s(t||o)},...(r||c||t||o)&&{id:h(r||c||`files/${t||o}`)},...d!==void 0&&{fileSize:I(d)},...T&&{fileType:k(i)},...f&&{itemId:s(f)},...m&&{itemType:b(m)},...g&&{name:F(g,160)},...u&&{url:w(u)},...y&&{userId:s(y)}}};export{p as FileValidationError,U as formatFileOutput,k as getFileType,V as parseFile,A as validateFileInput};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL2ZpbGVBZGFwdGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQge3BhcnNlQXJhbmdvSWQsIHBhcnNlSWQsIHBhcnNlTnVtLCBwYXJzZVN0cmluZywgcGFyc2VVcmx9IGZyb20gJ0BubGFicy91dGlscyc7XG5pbXBvcnQge3p9IGZyb20gJ3pvZCc7XG5cbmltcG9ydCB7RmlsZVR5cGV9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7cGFyc2VEb2N1bWVudH0gZnJvbSAnLi9hcmFuZ29BZGFwdGVyJztcbmltcG9ydCB7cGFyc2VSZWFrdG9yQ29udGVudCwgcGFyc2VSZWFrdG9yVHlwZX0gZnJvbSAnLi9yZWFrdG9yQWRhcHRlcic7XG5cbmV4cG9ydCBjbGFzcyBGaWxlVmFsaWRhdGlvbkVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcsIHB1YmxpYyBmaWVsZD86IHN0cmluZykge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgIHRoaXMubmFtZSA9ICdGaWxlVmFsaWRhdGlvbkVycm9yJztcbiAgfVxufVxuXG5jb25zdCBGaWxlSW5wdXRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIF9mcm9tOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9pZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfa2V5OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9vbGRSZXY6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX3Jldjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfdG86IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgYmFzZTY0OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGJ1ZmZlcjogei5hbnkoKS5vcHRpb25hbCgpLFxuICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBmaWxlSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgZmlsZVNpemU6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgZmlsZVR5cGU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgaXRlbUlkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGl0ZW1UeXBlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIG5hbWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgdXJsOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHVzZXJJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpXG59KS5wYXNzdGhyb3VnaCgpO1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVGaWxlSW5wdXQgPSAoZmlsZTogdW5rbm93bik6IEZpbGVUeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCB2YWxpZGF0ZWQgPSBGaWxlSW5wdXRTY2hlbWEucGFyc2UoZmlsZSk7XG4gICAgcmV0dXJuIHZhbGlkYXRlZCBhcyBGaWxlVHlwZTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2Ygei5ab2RFcnJvcikge1xuICAgICAgY29uc3QgZmllbGRFcnJvcnMgPSBlcnJvci5lcnJvcnMubWFwKChlKSA9PiBgJHtlLnBhdGguam9pbignLicpfTogJHtlLm1lc3NhZ2V9YCkuam9pbignLCAnKTtcbiAgICAgIHRocm93IG5ldyBGaWxlVmFsaWRhdGlvbkVycm9yKGBGaWxlIHZhbGlkYXRpb24gZmFpbGVkOiAke2ZpZWxkRXJyb3JzfWApO1xuICAgIH1cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdEZpbGVPdXRwdXQgPSAoZmlsZTogRmlsZVR5cGUpOiBGaWxlVHlwZSA9PiBmaWxlO1xuXG5leHBvcnQgY29uc3QgZ2V0RmlsZVR5cGUgPSAoZmlsZTogRmlsZVR5cGUpOiBzdHJpbmcgPT4ge1xuICBjb25zdCB7ZmlsZVR5cGUsIG5hbWV9ID0gZmlsZTtcblxuICBpZihmaWxlVHlwZSkge1xuICAgIHJldHVybiBwYXJzZVN0cmluZyhmaWxlVHlwZSwgMTYpO1xuICB9XG5cbiAgY29uc3QgbmFtZUFycjogc3RyaW5nW10gPSBuYW1lPy5zcGxpdCgnLicpIHx8IFtdO1xuICBjb25zdCBleHQ6IHN0cmluZyA9IG5hbWVBcnIubGVuZ3RoICYmIG5hbWVBcnJbbmFtZUFyci5sZW5ndGggLSAxXTtcblxuICBzd2l0Y2goZXh0KSB7XG4gICAgY2FzZSAnanBlZyc6XG4gICAgY2FzZSAnanBnJzpcbiAgICAgIHJldHVybiAnaW1hZ2UvanBlZyc7XG4gICAgY2FzZSAncG5nJzpcbiAgICAgIHJldHVybiAnaW1hZ2UvcG5nJztcbiAgICBjYXNlICd6aXAnOlxuICAgICAgcmV0dXJuICdhcHBsaWNhdGlvbi96aXAnO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgcGFyc2VGaWxlID0gKGZpbGU6IEZpbGVUeXBlKTogRmlsZVR5cGUgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHBhcnNlZCA9IHBlcmZvcm1GaWxlVHJhbnNmb3JtYXRpb24oZmlsZSk7XG4gICAgcmV0dXJuIHBhcnNlZDtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2YgRmlsZVZhbGlkYXRpb25FcnJvcikge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICAgIHRocm93IG5ldyBGaWxlVmFsaWRhdGlvbkVycm9yKGBGaWxlIHBhcnNpbmcgZmFpbGVkOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWApO1xuICB9XG59O1xuXG5jb25zdCBwZXJmb3JtRmlsZVRyYW5zZm9ybWF0aW9uID0gKGZpbGU6IEZpbGVUeXBlKTogRmlsZVR5cGUgPT4ge1xuICBjb25zdCB7XG4gICAgX2lkLFxuICAgIF9rZXksXG4gICAgYmFzZTY0LFxuICAgIGJ1ZmZlcixcbiAgICBkZXNjcmlwdGlvbixcbiAgICBmaWxlSWQsXG4gICAgZmlsZVNpemUsXG4gICAgZmlsZVR5cGUsXG4gICAgaWQsXG4gICAgaXRlbUlkLFxuICAgIGl0ZW1UeXBlLFxuICAgIG5hbWUsXG4gICAgdXJsLFxuICAgIHVzZXJJZFxuICB9ID0gZmlsZTtcblxuICBjb25zdCB0cmFuc2Zvcm1lZCA9IHtcbiAgICAuLi5wYXJzZURvY3VtZW50KGZpbGUpLFxuICAgIC4uLihiYXNlNjQgJiYge2Jhc2U2NH0pLFxuICAgIC4uLihidWZmZXIgJiYge2J1ZmZlcn0pLFxuICAgIC4uLihkZXNjcmlwdGlvbiAmJiB7ZGVzY3JpcHRpb246IHBhcnNlUmVha3RvckNvbnRlbnQoZGVzY3JpcHRpb24pfSksXG4gICAgLi4uKChfa2V5IHx8IGZpbGVJZCkgJiYge2ZpbGVJZDogcGFyc2VJZChfa2V5IHx8IGZpbGVJZCl9KSxcbiAgICAuLi4oKF9pZCB8fCBpZCB8fCBfa2V5IHx8IGZpbGVJZCkgJiYge2lkOiBwYXJzZUFyYW5nb0lkKF9pZCB8fCBpZCB8fCBgZmlsZXMvJHtfa2V5IHx8IGZpbGVJZH1gKX0pLFxuICAgIC4uLihmaWxlU2l6ZSAhPT0gdW5kZWZpbmVkICYmIHtmaWxlU2l6ZTogcGFyc2VOdW0oZmlsZVNpemUpfSksXG4gICAgLi4uKGZpbGVUeXBlICYmIHtmaWxlVHlwZTogZ2V0RmlsZVR5cGUoZmlsZSl9KSxcbiAgICAuLi4oaXRlbUlkICYmIHtpdGVtSWQ6IHBhcnNlSWQoaXRlbUlkKX0pLFxuICAgIC4uLihpdGVtVHlwZSAmJiB7aXRlbVR5cGU6IHBhcnNlUmVha3RvclR5cGUoaXRlbVR5cGUpfSksXG4gICAgLi4uKG5hbWUgJiYge25hbWU6IHBhcnNlU3RyaW5nKG5hbWUsIDE2MCl9KSxcbiAgICAuLi4odXJsICYmIHt1cmw6IHBhcnNlVXJsKHVybCl9KSxcbiAgICAuLi4odXNlcklkICYmIHt1c2VySWQ6IHBhcnNlSWQodXNlcklkKX0pXG4gIH07XG5cbiAgcmV0dXJuIHRyYW5zZm9ybWVkO1xufTsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxP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Q0FDbEIsR0FBR1IsRUFBY1EsQ0FBSSxFQUNyQixHQUFJYSxHQUFVLENBQUMsT0FBQUEsQ0FBTSxFQUNyQixHQUFJQyxHQUFVLENBQUMsT0FBQUEsQ0FBTSxFQUNyQixHQUFJQyxHQUFlLENBQUMsWUFBYXRCLEVBQW9Cc0IsQ0FBVyxDQUFDLEVBQ2pFLElBQUtILEdBQVFJLElBQVcsQ0FBQyxPQUFRN0IsRUFBUXlCLEdBQVFJLENBQU0sQ0FBQyxFQUN4RCxJQUFLTCxHQUFPTyxHQUFNTixHQUFRSSxJQUFXLENBQUMsR0FBSTlCLEVBQWN5QixHQUFPTyxHQUFNLFNBQVNOLEdBQVFJLENBQU0sRUFBRSxDQUFDLEVBQy9GLEdBQUlDLElBQWEsUUFBYSxDQUFDLFNBQVU3QixFQUFTNkIsQ0FBUSxDQUFDLEVBQzNELEdBQUlYLEdBQVksQ0FBQyxTQUFVRCxFQUFZTCxDQUFJLENBQUMsRUFDNUMsR0FBSW1CLEdBQVUsQ0FBQyxPQUFRaEMsRUFBUWdDLENBQU0sQ0FBQyxFQUN0QyxHQUFJQyxHQUFZLENBQUMsU0FBVTFCLEVBQWlCMEIsQ0FBUSxDQUFDLEVBQ3JELEdBQUliLEdBQVEsQ0FBQyxLQUFNbEIsRUFBWWtCLEVBQU0sR0FBRyxDQUFDLEVBQ3pDLEdBQUljLEdBQU8sQ0FBQyxJQUFLL0IsRUFBUytCLENBQUcsQ0FBQyxFQUM5QixHQUFJQyxHQUFVLENBQUMsT0FBUW5DLEVBQVFtQyxDQUFNLENBQUMsQ0FDeEMsQ0FHRiIsCiAgIm5hbWVzIjogWyJwYXJzZUFyYW5nb0lkIiwgInBhcnNlSWQiLCAicGFyc2VOdW0iLCAicGFyc2VTdHJpbmciLCAicGFyc2VVcmwiLCAieiIsICJwYXJzZURvY3VtZW50IiwgInBhcnNlUmVha3RvckNvbnRlbnQiLCAicGFyc2VSZWFrdG9yVHlwZSIsICJGaWxlVmFsaWRhdGlvbkVycm9yIiwgIm1lc3NhZ2UiLCAiZmllbGQiLCAiRmlsZUlucHV0U2NoZW1hIiwgInZhbGlkYXRlRmlsZUlucHV0IiwgImZpbGUiLCAiZXJyb3IiLCAiZmllbGRFcnJvcnMiLCAiZSIsICJmb3JtYXRGaWxlT3V0cHV0IiwgImdldEZpbGVUeXBlIiwgImZpbGVUeXBlIiwgIm5hbWUiLCAibmFtZUFyciIsICJwYXJzZUZpbGUiLCAicGVyZm9ybUZpbGVUcmFuc2Zvcm1hdGlvbiIsICJfaWQiLCAiX2tleSIsICJiYXNlNjQiLCAiYnVmZmVyIiwgImRlc2NyaXB0aW9uIiwgImZpbGVJZCIsICJmaWxlU2l6ZSIsICJpZCIsICJpdGVtSWQiLCAiaXRlbVR5cGUiLCAidXJsIiwgInVzZXJJZCJdCn0K
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{parseArangoId as b,parseNum as i,parseString as a,parseUrl as _}from"@nlabs/utils";import{z as e}from"zod";import{parseDocument as v}from"./arangoAdapter";import{removeEmptyKeys as E}from"../utils/adapterUtils";class p extends Error{constructor(r,n){super(r);this.field=n;this.name="ImageValidationError"}}const x=e.object({bucket:e.string().optional(),color:e.string().optional(),imageId:e.string().optional(),height:e.number().optional(),model:e.string().optional(),make:e.string().optional(),s3Options:e.any().optional(),taken:e.number().optional(),thumb:e.string().optional(),fileType:e.string().optional(),type:e.string().optional(),url:e.string().optional(),width:e.number().optional(),name:e.string().optional(),_id:e.string().optional(),_key:e.string().optional(),_rev:e.string().optional(),_oldRev:e.string().optional(),_from:e.string().optional(),_to:e.string().optional()}).passthrough(),z=o=>{try{return x.parse(o)}catch(t){if(t instanceof e.ZodError){const r=t.errors.map(n=>`${n.path.join(".")}: ${n.message}`).join(", ");throw new p(`Image validation failed: ${r}`)}throw t}},A=o=>o,D=o=>{try{return $(o)}catch(t){throw t instanceof p?t:new p(`Image parsing failed: ${t instanceof Error?t.message:"Unknown error"}`)}},$=o=>{const{_id:t,_key:r,bucket:n,color:s,id:m,imageId:g,height:l,model:d,make:c,s3Options:u,taken:f,thumb:y,fileType:I,type:h,url:T,width:k,name:w}=o;return E({...v(o),...r&&{imageId:b(r)},...n&&{bucket:n},...s&&{color:s},...(t||m||r||g)&&{imageId:b(t||m||`images/${r||g}`)},...l!==void 0&&{height:i(l)},...d&&{model:a(d,160)},...c&&{make:a(c,160)},...u&&{s3Options:u},...f!==void 0&&{taken:i(f)},...y&&{thumb:y},...I&&{fileType:a(I,16)},...h&&{type:a(h,16)},...T&&{url:_(T)},...k!==void 0&&{width:i(k)},...w&&{name:a(w,160)}})};export{p as ImageValidationError,A as formatImageOutput,D as parseImage,z as validateImageInput};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL2ltYWdlQWRhcHRlci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHtwYXJzZUFyYW5nb0lkLCBwYXJzZU51bSwgcGFyc2VTdHJpbmcsIHBhcnNlVXJsfSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuaW1wb3J0IHt6fSBmcm9tICd6b2QnO1xuXG5pbXBvcnQge3BhcnNlRG9jdW1lbnR9IGZyb20gJy4vYXJhbmdvQWRhcHRlcic7XG5pbXBvcnQge3JlbW92ZUVtcHR5S2V5c30gZnJvbSAnLi4vdXRpbHMvYWRhcHRlclV0aWxzJztcblxuaW1wb3J0IHR5cGUge0ltYWdlVHlwZX0gZnJvbSAnLi4vdHlwZXMvaW1hZ2VzLnR5cGVzJztcblxuZXhwb3J0IGNsYXNzIEltYWdlVmFsaWRhdGlvbkVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcsIHB1YmxpYyBmaWVsZD86IHN0cmluZykge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgIHRoaXMubmFtZSA9ICdJbWFnZVZhbGlkYXRpb25FcnJvcic7XG4gIH1cbn1cblxuY29uc3QgSW1hZ2VJbnB1dFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgYnVja2V0OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGNvbG9yOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGltYWdlSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgaGVpZ2h0OiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIG1vZGVsOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIG1ha2U6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgczNPcHRpb25zOiB6LmFueSgpLm9wdGlvbmFsKCksXG4gIHRha2VuOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIHRodW1iOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGZpbGVUeXBlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHR5cGU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgdXJsOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHdpZHRoOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIG5hbWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2lkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9rZXk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX3Jldjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfb2xkUmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9mcm9tOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF90bzogei5zdHJpbmcoKS5vcHRpb25hbCgpXG59KS5wYXNzdGhyb3VnaCgpO1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVJbWFnZUlucHV0ID0gKGltYWdlOiB1bmtub3duKTogSW1hZ2VUeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCB2YWxpZGF0ZWQgPSBJbWFnZUlucHV0U2NoZW1hLnBhcnNlKGltYWdlKTtcbiAgICByZXR1cm4gdmFsaWRhdGVkIGFzIEltYWdlVHlwZTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2Ygei5ab2RFcnJvcikge1xuICAgICAgY29uc3QgZmllbGRFcnJvcnMgPSBlcnJvci5lcnJvcnMubWFwKChlKSA9PiBgJHtlLnBhdGguam9pbignLicpfTogJHtlLm1lc3NhZ2V9YCkuam9pbignLCAnKTtcbiAgICAgIHRocm93IG5ldyBJbWFnZVZhbGlkYXRpb25FcnJvcihgSW1hZ2UgdmFsaWRhdGlvbiBmYWlsZWQ6ICR7ZmllbGRFcnJvcnN9YCk7XG4gICAgfVxuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZm9ybWF0SW1hZ2VPdXRwdXQgPSAoaW1hZ2U6IEltYWdlVHlwZSk6IEltYWdlVHlwZSA9PiBpbWFnZTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlSW1hZ2UgPSAoaW1hZ2U6IEltYWdlVHlwZSk6IEltYWdlVHlwZSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgcGFyc2VkID0gcGVyZm9ybUltYWdlVHJhbnNmb3JtYXRpb24oaW1hZ2UpO1xuICAgIHJldHVybiBwYXJzZWQ7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIEltYWdlVmFsaWRhdGlvbkVycm9yKSB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEltYWdlVmFsaWRhdGlvbkVycm9yKGBJbWFnZSBwYXJzaW5nIGZhaWxlZDogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ31gKTtcbiAgfVxufTtcblxuY29uc3QgcGVyZm9ybUltYWdlVHJhbnNmb3JtYXRpb24gPSAoaW1hZ2U6IEltYWdlVHlwZSk6IEltYWdlVHlwZSA9PiB7XG4gIGNvbnN0IHtcbiAgICBfaWQsXG4gICAgX2tleSxcbiAgICBidWNrZXQsXG4gICAgY29sb3IsXG4gICAgaWQsXG4gICAgaW1hZ2VJZCxcbiAgICBoZWlnaHQsXG4gICAgbW9kZWwsXG4gICAgbWFrZSxcbiAgICBzM09wdGlvbnMsXG4gICAgdGFrZW4sXG4gICAgdGh1bWIsXG4gICAgZmlsZVR5cGUsXG4gICAgdHlwZSxcbiAgICB1cmwsXG4gICAgd2lkdGgsXG4gICAgbmFtZVxuICB9ID0gaW1hZ2U7XG5cbiAgY29uc3QgdHJhbnNmb3JtZWQgPSByZW1vdmVFbXB0eUtleXMoe1xuICAgIC4uLnBhcnNlRG9jdW1lbnQoaW1hZ2UpLFxuICAgIC4uLihfa2V5ICYmIHtpbWFnZUlkOiBwYXJzZUFyYW5nb0lkKF9rZXkpfSksXG4gICAgLi4uKGJ1Y2tldCAmJiB7YnVja2V0fSksXG4gICAgLi4uKGNvbG9yICYmIHtjb2xvcn0pLFxuICAgIC4uLigoX2lkIHx8IGlkIHx8IF9rZXkgfHwgaW1hZ2VJZCkgJiYge2ltYWdlSWQ6IHBhcnNlQXJhbmdvSWQoX2lkIHx8IGlkIHx8IGBpbWFnZXMvJHtfa2V5IHx8IGltYWdlSWR9YCl9KSxcbiAgICAuLi4oaGVpZ2h0ICE9PSB1bmRlZmluZWQgJiYge2hlaWdodDogcGFyc2VOdW0oaGVpZ2h0KX0pLFxuICAgIC4uLihtb2RlbCAmJiB7bW9kZWw6IHBhcnNlU3RyaW5nKG1vZGVsLCAxNjApfSksXG4gICAgLi4uKG1ha2UgJiYge21ha2U6IHBhcnNlU3RyaW5nKG1ha2UsIDE2MCl9KSxcbiAgICAuLi4oczNPcHRpb25zICYmIHtzM09wdGlvbnN9KSxcbiAgICAuLi4odGFrZW4gIT09IHVuZGVmaW5lZCAmJiB7dGFrZW46IHBhcnNlTnVtKHRha2VuKX0pLFxuICAgIC4uLih0aHVtYiAmJiB7dGh1bWJ9KSxcbiAgICAuLi4oZmlsZVR5cGUgJiYge2ZpbGVUeXBlOiBwYXJzZVN0cmluZyhmaWxlVHlwZSwgMTYpfSksXG4gICAgLi4uKHR5cGUgJiYge3R5cGU6IHBhcnNlU3RyaW5nKHR5cGUsIDE2KX0pLFxuICAgIC4uLih1cmwgJiYge3VybDogcGFyc2VVcmwodXJsKX0pLFxuICAgIC4uLih3aWR0aCAhPT0gdW5kZWZpbmVkICYmIHt3aWR0aDogcGFyc2VOdW0od2lkdGgpfSksXG4gICAgLi4uKG5hbWUgJiYge25hbWU6IHBhcnNlU3RyaW5nKG5hbWUsIDE2MCl9KVxuICB9KTtcblxuICByZXR1cm4gdHJhbnNmb3JtZWQ7XG59O1xuXG4iXSwKICAibWFwcGluZ3MiOiAiQUFBQSxPQUFRLGlCQUFBQSxFQUFlLFlBQUFDLEVBQVUsZUFBQUMsRUFBYSxZQUFBQyxNQUFlLGVBQzdELE9BQVEsS0FBQUMsTUFBUSxNQUVoQixPQUFRLGlCQUFBQyxNQUFvQixrQkFDNUIsT0FBUSxtQkFBQUMsTUFBc0Isd0JBSXZCLE1BQU1DLFVBQTZCLEtBQU0sQ0FDOUMsWUFBWUMsRUFBd0JDLEVBQWdCLENBQ2xELE1BQU1ELENBQU8sRUFEcUIsV0FBQUMsRUFFbEMsS0FBSyxLQUFPLHNCQUNkLENBQ0YsQ0FFQSxNQUFNQyxFQUFtQk4sRUFBRSxP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QUFVLFFBQWEsQ0FBQyxNQUFPNUIsRUFBUzRCLENBQUssQ0FBQyxFQUNsRCxHQUFJQyxHQUFTLENBQUMsTUFBQUEsQ0FBSyxFQUNuQixHQUFJQyxHQUFZLENBQUMsU0FBVTdCLEVBQVk2QixFQUFVLEVBQUUsQ0FBQyxFQUNwRCxHQUFJQyxHQUFRLENBQUMsS0FBTTlCLEVBQVk4QixFQUFNLEVBQUUsQ0FBQyxFQUN4QyxHQUFJQyxHQUFPLENBQUMsSUFBSzlCLEVBQVM4QixDQUFHLENBQUMsRUFDOUIsR0FBSUMsSUFBVSxRQUFhLENBQUMsTUFBT2pDLEVBQVNpQyxDQUFLLENBQUMsRUFDbEQsR0FBSUMsR0FBUSxDQUFDLEtBQU1qQyxFQUFZaUMsRUFBTSxHQUFHLENBQUMsQ0FDM0MsQ0FBQyxDQUdIIiwKICAibmFtZXMiOiBbInBhcnNlQXJhbmdvSWQiLCAicGFyc2VOdW0iLCAicGFyc2VTdHJpbmciLCAicGFyc2VVcmwiLCAieiIsICJwYXJzZURvY3VtZW50IiwgInJlbW92ZUVtcHR5S2V5cyIsICJJbWFnZVZhbGlkYXRpb25FcnJvciIsICJtZXNzYWdlIiwgImZpZWxkIiwgIkltYWdlSW5wdXRTY2hlbWEiLCAidmFsaWRhdGVJbWFnZUlucHV0IiwgImltYWdlIiwgImVycm9yIiwgImZpZWxkRXJyb3JzIiwgImUiLCAiZm9ybWF0SW1hZ2VPdXRwdXQiLCAicGFyc2VJbWFnZSIsICJwZXJmb3JtSW1hZ2VUcmFuc2Zvcm1hdGlvbiIsICJfaWQiLCAiX2tleSIsICJidWNrZXQiLCAiY29sb3IiLCAiaWQiLCAiaW1hZ2VJZCIsICJoZWlnaHQiLCAibW9kZWwiLCAibWFrZSIsICJzM09wdGlvbnMiLCAidGFrZW4iLCAidGh1bWIiLCAiZmlsZVR5cGUiLCAidHlwZSIsICJ1cmwiLCAid2lkdGgiLCAibmFtZSJdCn0K
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{parseArangoId as d,parseId as l}from"@nlabs/utils";import{z as e}from"zod";import{parseDocument as c}from"./arangoAdapter";import{parseFile as y}from"./fileAdapter";import{parseImage as f}from"./imageAdapter";import{removeEmptyKeys as M}from"../utils/adapterUtils";class t extends Error{constructor(o,a){super(o);this.field=a;this.name="MessageValidationError"}}const u=e.object({content:e.string().optional(),conversationId:e.string().optional(),files:e.array(e.any()).optional(),images:e.array(e.any()).optional(),itemId:e.string().optional(),itemType:e.string().optional(),messageId:e.string().optional(),read:e.boolean().optional(),saved:e.boolean().optional(),userId:e.string().optional(),_id:e.string().optional(),_key:e.string().optional(),_rev:e.string().optional(),_oldRev:e.string().optional(),_from:e.string().optional(),_to:e.string().optional()}).passthrough(),A=r=>{try{return u.parse(r)}catch(s){if(s instanceof e.ZodError){const o=s.errors.map(a=>`${a.path.join(".")}: ${a.message}`).join(", ");throw new t(`Message validation failed: ${o}`)}throw s}},$=r=>r,b=r=>{try{return I(r)}catch(s){throw s instanceof t?s:new t(`Message parsing failed: ${s instanceof Error?s.message:"Unknown error"}`)}},I=r=>{const{_id:s,_key:o,content:a,files:n,id:i,images:p,messageId:g,saved:m}=r;return M({...c(r),...a&&{content:a},...Array.isArray(n)&&{files:n.map(y)},...Array.isArray(p)&&{images:p.map(f)},...o&&{messageId:l(o)},...(s||i||o||g)&&{messageId:d(s||i||`messages/${o||g}`)},...m!==void 0&&{saved:!!m}})};export{t as MessageValidationError,$ as formatMessageOutput,b as parseMessage,A as validateMessageInput};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL21lc3NhZ2VBZGFwdGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQge3BhcnNlQXJhbmdvSWQsIHBhcnNlSWR9IGZyb20gJ0BubGFicy91dGlscyc7XG5pbXBvcnQge3p9IGZyb20gJ3pvZCc7XG5cbmltcG9ydCB7cGFyc2VEb2N1bWVudH0gZnJvbSAnLi9hcmFuZ29BZGFwdGVyJztcbmltcG9ydCB7cGFyc2VGaWxlfSBmcm9tICcuL2ZpbGVBZGFwdGVyJztcbmltcG9ydCB7cGFyc2VJbWFnZX0gZnJvbSAnLi9pbWFnZUFkYXB0ZXInO1xuaW1wb3J0IHtyZW1vdmVFbXB0eUtleXN9IGZyb20gJy4uL3V0aWxzL2FkYXB0ZXJVdGlscyc7XG5cbmltcG9ydCB0eXBlIHtNZXNzYWdlVHlwZX0gZnJvbSAnLi4vdHlwZXMvbWVzc2FnZXMudHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgTWVzc2FnZVZhbGlkYXRpb25FcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nLCBwdWJsaWMgZmllbGQ/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgICB0aGlzLm5hbWUgPSAnTWVzc2FnZVZhbGlkYXRpb25FcnJvcic7XG4gIH1cbn1cblxuY29uc3QgTWVzc2FnZUlucHV0U2NoZW1hID0gei5vYmplY3Qoe1xuICBjb250ZW50OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGNvbnZlcnNhdGlvbklkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGZpbGVzOiB6LmFycmF5KHouYW55KCkpLm9wdGlvbmFsKCksXG4gIGltYWdlczogei5hcnJheSh6LmFueSgpKS5vcHRpb25hbCgpLFxuICBpdGVtSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgaXRlbVR5cGU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgbWVzc2FnZUlkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHJlYWQ6IHouYm9vbGVhbigpLm9wdGlvbmFsKCksXG4gIHNhdmVkOiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLFxuICB1c2VySWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2lkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9rZXk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX3Jldjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfb2xkUmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9mcm9tOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF90bzogei5zdHJpbmcoKS5vcHRpb25hbCgpXG59KS5wYXNzdGhyb3VnaCgpO1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVNZXNzYWdlSW5wdXQgPSAobWVzc2FnZTogdW5rbm93bik6IE1lc3NhZ2VUeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCB2YWxpZGF0ZWQgPSBNZXNzYWdlSW5wdXRTY2hlbWEucGFyc2UobWVzc2FnZSk7XG4gICAgcmV0dXJuIHZhbGlkYXRlZCBhcyBNZXNzYWdlVHlwZTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2Ygei5ab2RFcnJvcikge1xuICAgICAgY29uc3QgZmllbGRFcnJvcnMgPSBlcnJvci5lcnJvcnMubWFwKChlKSA9PiBgJHtlLnBhdGguam9pbignLicpfTogJHtlLm1lc3NhZ2V9YCkuam9pbignLCAnKTtcbiAgICAgIHRocm93IG5ldyBNZXNzYWdlVmFsaWRhdGlvbkVycm9yKGBNZXNzYWdlIHZhbGlkYXRpb24gZmFpbGVkOiAke2ZpZWxkRXJyb3JzfWApO1xuICAgIH1cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdE1lc3NhZ2VPdXRwdXQgPSAobWVzc2FnZTogTWVzc2FnZVR5cGUpOiBNZXNzYWdlVHlwZSA9PiBtZXNzYWdlO1xuXG5leHBvcnQgY29uc3QgcGFyc2VNZXNzYWdlID0gKG1lc3NhZ2U6IE1lc3NhZ2VUeXBlKTogTWVzc2FnZVR5cGUgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHBhcnNlZCA9IHBlcmZvcm1NZXNzYWdlVHJhbnNmb3JtYXRpb24obWVzc2FnZSk7XG4gICAgcmV0dXJuIHBhcnNlZDtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2YgTWVzc2FnZVZhbGlkYXRpb25FcnJvcikge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICAgIHRocm93IG5ldyBNZXNzYWdlVmFsaWRhdGlvbkVycm9yKGBNZXNzYWdlIHBhcnNpbmcgZmFpbGVkOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWApO1xuICB9XG59O1xuXG5jb25zdCBwZXJmb3JtTWVzc2FnZVRyYW5zZm9ybWF0aW9uID0gKG1lc3NhZ2U6IE1lc3NhZ2VUeXBlKTogTWVzc2FnZVR5cGUgPT4ge1xuICBjb25zdCB7XG4gICAgX2lkLFxuICAgIF9rZXksXG4gICAgY29udGVudCxcbiAgICBmaWxlcyxcbiAgICBpZCxcbiAgICBpbWFnZXMsXG4gICAgbWVzc2FnZUlkLFxuICAgIHNhdmVkXG4gIH0gPSBtZXNzYWdlO1xuXG4gIGNvbnN0IHRyYW5zZm9ybWVkID0gcmVtb3ZlRW1wdHlLZXlzKHtcbiAgICAuLi5wYXJzZURvY3VtZW50KG1lc3NhZ2UpLFxuICAgIC4uLihjb250ZW50ICYmIHtjb250ZW50fSksXG4gICAgLi4uKEFycmF5LmlzQXJyYXkoZmlsZXMpICYmIHtmaWxlczogZmlsZXMubWFwKHBhcnNlRmlsZSl9KSxcbiAgICAuLi4oQXJyYXkuaXNBcnJheShpbWFnZXMpICYmIHtpbWFnZXM6IGltYWdlcy5tYXAocGFyc2VJbWFnZSl9KSxcbiAgICAuLi4oX2tleSAmJiB7bWVzc2FnZUlkOiBwYXJzZUlkKF9rZXkpfSksXG4gICAgLi4uKChfaWQgfHwgaWQgfHwgX2tleSB8fCBtZXNzYWdlSWQpICYmIHttZXNzYWdlSWQ6IHBhcnNlQXJhbmdvSWQoX2lkIHx8IGlkIHx8IGBtZXNzYWdlcy8ke19rZXkgfHwgbWVzc2FnZUlkfWApfSksXG4gICAgLi4uKHNhdmVkICE9PSB1bmRlZmluZWQgJiYge3NhdmVkOiAhIXNhdmVkfSlcbiAgfSk7XG5cbiAgcmV0dXJuIHRyYW5zZm9ybWVkO1xufTtcblxuIl0sCiAgIm1hcHBpbmdzIjogIkFBQUEsT0FBUSxpQkFBQUEsRUFBZSxXQUFBQyxNQUFjLGVBQ3JDLE9BQVEsS0FBQUMsTUFBUSxNQUVoQixPQUFRLGlCQUFBQyxNQUFvQixrQkFDNUIsT0FBUSxhQUFBQyxNQUFnQixnQkFDeEIsT0FBUSxjQUFBQyxNQUFpQixpQkFDekIsT0FBUSxtQkFBQUMsTUFBc0Isd0JBSXZCLE1BQU1DLFVBQStCLEtBQU0sQ0FDaEQsWUFBWUMsRUFBd0JDLEVBQWdCLENBQ2xELE1BQU1ELENBQU8sRUFEcUIsV0FBQUMsRUFFbEMsS0FBSyxLQUFPLHdCQUNkLENBQ0YsQ0FFQSxNQUFNQyxFQUFxQlIsRUFBRSxPQUFPLENBQ2xDLFFBQVNBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDN0IsZUFBZ0JBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDcEMsTUFBT0EsRUFBRSxNQUFNQSxFQUFFLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFDakMsT0FBUUEsRUFBRSxNQUFNQSxFQUFFLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFDbEMsT0FBUUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUM1QixTQUFVQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzlCLFVBQVdBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDL0IsS0FBTUEsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUMzQixNQUFPQSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQzVCLE9BQVFBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDNUIsSUFBS0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUN6QixLQUFNQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzFCLEtBQU1BLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDMUIsUUFBU0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUM3QixNQUFPQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzNCLElBQUtBLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FDM0IsQ0FBQyxFQUFFLFlBQVksRUFFRlMsRUFBd0JILEdBQWtDLENBQ3JFLEdBQUksQ0FFRixPQURrQkUsRUFBbUIsTUFBTUYsQ0FBTyxDQUVwRCxPQUFRSSxFQUFPLENBQ2IsR0FBR0EsYUFBaUJWLEVBQUUsU0FBVSxDQUM5QixNQUFNVyxFQUFjRCxFQUFNLE9BQU8sSUFBS0UsR0FBTSxHQUFHQSxFQUFFLEtBQUssS0FBSyxHQUFHLENBQUMsS0FBS0EsRUFBRSxPQUFPLEVBQUUsRUFBRSxLQUFLLElBQUksRUFDMUYsTUFBTSxJQUFJUCxFQUF1Qiw4QkFBOEJNLENBQVcsRUFBRSxDQUM5RSxDQUNBLE1BQU1ELENBQ1IsQ0FDRixFQUVhRyxFQUF1QlAsR0FBc0NBLEVBRTdEUSxFQUFnQlIsR0FBc0MsQ0FDakUsR0FBSSxDQUVGLE9BRGVTLEVBQTZCVCxDQUFPLENBRXJELE9BQVFJLEVBQU8sQ0FDYixNQUFHQSxhQUFpQkwsRUFDWkssRUFFRixJQUFJTCxFQUF1QiwyQkFBMkJLLGFBQWlCLE1BQVFBLEVBQU0sUUFBVSxlQUFlLEVBQUUsQ0FDeEgsQ0FDRixFQUVNSyxFQUFnQ1QsR0FBc0MsQ0FDMUUsS0FBTSxDQUNKLElBQUFVLEVBQ0EsS0FBQUMsRUFDQSxRQUFBQyxFQUNBLE1BQUFDLEVBQ0EsR0FBQUMsRUFDQSxPQUFBQyxFQUNBLFVBQUFDLEVBQ0EsTUFBQUMsQ0FDRixFQUFJakIsRUFZSixPQVZvQkYsRUFBZ0IsQ0FDbEMsR0FBR0gsRUFBY0ssQ0FBTyxFQUN4QixHQUFJWSxHQUFXLENBQUMsUUFBQUEsQ0FBTyxFQUN2QixHQUFJLE1BQU0sUUFBUUMsQ0FBSyxHQUFLLENBQUMsTUFBT0EsRUFBTSxJQUFJakIsQ0FBUyxDQUFDLEVBQ3hELEdBQUksTUFBTSxRQUFRbUIsQ0FBTSxHQUFLLENBQUMsT0FBUUEsRUFBTyxJQUFJbEIsQ0FBVSxDQUFDLEVBQzVELEdBQUljLEdBQVEsQ0FBQyxVQUFXbEIsRUFBUWtCLENBQUksQ0FBQyxFQUNyQyxJQUFLRCxHQUFPSSxHQUFNSCxHQUFRSyxJQUFjLENBQUMsVUFBV3hCLEVBQWNrQixHQUFPSSxHQUFNLFlBQVlILEdBQVFLLENBQVMsRUFBRSxDQUFDLEVBQy9HLEdBQUlDLElBQVUsUUFBYSxDQUFDLE1BQU8sQ0FBQyxDQUFDQSxDQUFLLENBQzVDLENBQUMsQ0FHSCIsCiAgIm5hbWVzIjogWyJwYXJzZUFyYW5nb0lkIiwgInBhcnNlSWQiLCAieiIsICJwYXJzZURvY3VtZW50IiwgInBhcnNlRmlsZSIsICJwYXJzZUltYWdlIiwgInJlbW92ZUVtcHR5S2V5cyIsICJNZXNzYWdlVmFsaWRhdGlvbkVycm9yIiwgIm1lc3NhZ2UiLCAiZmllbGQiLCAiTWVzc2FnZUlucHV0U2NoZW1hIiwgInZhbGlkYXRlTWVzc2FnZUlucHV0IiwgImVycm9yIiwgImZpZWxkRXJyb3JzIiwgImUiLCAiZm9ybWF0TWVzc2FnZU91dHB1dCIsICJwYXJzZU1lc3NhZ2UiLCAicGVyZm9ybU1lc3NhZ2VUcmFuc2Zvcm1hdGlvbiIsICJfaWQiLCAiX2tleSIsICJjb250ZW50IiwgImZpbGVzIiwgImlkIiwgImltYWdlcyIsICJtZXNzYWdlSWQiLCAic2F2ZWQiXQp9Cg==
|
|
@@ -1,70 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __export = (target, all) => {
|
|
6
|
-
for (var name in all)
|
|
7
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
-
};
|
|
9
|
-
var __copyProps = (to, from, except, desc) => {
|
|
10
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
-
for (let key of __getOwnPropNames(from))
|
|
12
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
-
}
|
|
15
|
-
return to;
|
|
16
|
-
};
|
|
17
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
-
var postAdapter_exports = {};
|
|
19
|
-
__export(postAdapter_exports, {
|
|
20
|
-
parsePost: () => parsePost
|
|
21
|
-
});
|
|
22
|
-
module.exports = __toCommonJS(postAdapter_exports);
|
|
23
|
-
var import_utils = require("@nlabs/utils");
|
|
24
|
-
var import_fileAdapter = require("./fileAdapter");
|
|
25
|
-
var import_tagAdapter = require("./tagAdapter");
|
|
26
|
-
var import_adapterUtils = require("../utils/adapterUtils");
|
|
27
|
-
var import_arangoAdapter = require("./arangoAdapter");
|
|
28
|
-
var import_reaktorAdapter = require("./reaktorAdapter");
|
|
29
|
-
const MAX_CONTENT_LENGTH = 1e5;
|
|
30
|
-
const parsePost = (post) => {
|
|
31
|
-
const {
|
|
32
|
-
_key,
|
|
33
|
-
content,
|
|
34
|
-
endDate,
|
|
35
|
-
files,
|
|
36
|
-
groupId,
|
|
37
|
-
latitude,
|
|
38
|
-
location,
|
|
39
|
-
longitude,
|
|
40
|
-
name,
|
|
41
|
-
parentId,
|
|
42
|
-
postId,
|
|
43
|
-
privacy,
|
|
44
|
-
tags,
|
|
45
|
-
type,
|
|
46
|
-
userId
|
|
47
|
-
} = post;
|
|
48
|
-
return (0, import_adapterUtils.removeEmptyKeys)({
|
|
49
|
-
...(0, import_arangoAdapter.parseDocument)(post),
|
|
50
|
-
content: (0, import_reaktorAdapter.parseReaktorContent)(content, MAX_CONTENT_LENGTH),
|
|
51
|
-
endDate: (0, import_reaktorAdapter.parseReaktorDate)(endDate),
|
|
52
|
-
files: files?.length ? files?.map((file) => (0, import_fileAdapter.parseFile)(file)) : void 0,
|
|
53
|
-
groupId: (0, import_reaktorAdapter.parseReaktorItemId)(groupId),
|
|
54
|
-
postId: (0, import_reaktorAdapter.parseReaktorItemId)(_key || postId),
|
|
55
|
-
latitude: latitude ? (0, import_utils.parseNum)(latitude, 15) : void 0,
|
|
56
|
-
location: location ? (0, import_utils.parseString)(location, 160) : void 0,
|
|
57
|
-
longitude: longitude ? (0, import_utils.parseNum)(longitude, 15) : void 0,
|
|
58
|
-
name: (0, import_reaktorAdapter.parseReaktorName)(name),
|
|
59
|
-
parentId: (0, import_reaktorAdapter.parseReaktorItemId)(parentId),
|
|
60
|
-
privacy: privacy ? (0, import_utils.parseVarChar)(privacy, 16) : void 0,
|
|
61
|
-
tags: tags?.length ? tags?.map((tag) => (0, import_tagAdapter.parseTag)(tag)) : void 0,
|
|
62
|
-
type: (0, import_reaktorAdapter.parseReaktorType)(type),
|
|
63
|
-
userId: (0, import_reaktorAdapter.parseReaktorItemId)(userId)
|
|
64
|
-
});
|
|
65
|
-
};
|
|
66
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
67
|
-
0 && (module.exports = {
|
|
68
|
-
parsePost
|
|
69
|
-
});
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL3Bvc3RBZGFwdGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQge3BhcnNlTnVtLCBwYXJzZVN0cmluZywgcGFyc2VWYXJDaGFyfSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuXG5pbXBvcnQge1Bvc3RUeXBlfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQge3BhcnNlRmlsZX0gZnJvbSAnLi9maWxlQWRhcHRlcic7XG5pbXBvcnQge3BhcnNlVGFnfSBmcm9tICcuL3RhZ0FkYXB0ZXInO1xuaW1wb3J0IHtyZW1vdmVFbXB0eUtleXN9IGZyb20gJy4uL3V0aWxzL2FkYXB0ZXJVdGlscyc7XG5pbXBvcnQge3BhcnNlRG9jdW1lbnR9IGZyb20gJy4vYXJhbmdvQWRhcHRlcic7XG5pbXBvcnQge1xuICBwYXJzZVJlYWt0b3JDb250ZW50LFxuICBwYXJzZVJlYWt0b3JEYXRlLFxuICBwYXJzZVJlYWt0b3JJdGVtSWQsXG4gIHBhcnNlUmVha3Rvck5hbWUsXG4gIHBhcnNlUmVha3RvclR5cGVcbn0gZnJvbSAnLi9yZWFrdG9yQWRhcHRlcic7XG5cbmNvbnN0IE1BWF9DT05URU5UX0xFTkdUSDogbnVtYmVyID0gMTAwMDAwO1xuXG5leHBvcnQgY29uc3QgcGFyc2VQb3N0ID0gKHBvc3Q6IFBvc3RUeXBlKTogUG9zdFR5cGUgPT4ge1xuICBjb25zdCB7XG4gICAgX2tleSxcbiAgICBjb250ZW50LFxuICAgIGVuZERhdGUsXG4gICAgZmlsZXMsXG4gICAgZ3JvdXBJZCxcbiAgICBsYXRpdHVkZSxcbiAgICBsb2NhdGlvbixcbiAgICBsb25naXR1ZGUsXG4gICAgbmFtZSxcbiAgICBwYXJlbnRJZCxcbiAgICBwb3N0SWQsXG4gICAgcHJpdmFjeSxcbiAgICB0YWdzLFxuICAgIHR5cGUsXG4gICAgdXNlcklkXG4gIH0gPSBwb3N0O1xuXG4gIHJldHVybiByZW1vdmVFbXB0eUtleXMoe1xuICAgIC4uLnBhcnNlRG9jdW1lbnQocG9zdCksXG4gICAgY29udGVudDogcGFyc2VSZWFrdG9yQ29udGVudChjb250ZW50LCBNQVhfQ09OVEVOVF9MRU5HVEgpLFxuICAgIGVuZERhdGU6IHBhcnNlUmVha3RvckRhdGUoZW5kRGF0ZSksXG4gICAgZmlsZXM6IGZpbGVzPy5sZW5ndGggPyBmaWxlcz8ubWFwKChmaWxlKSA9PiBwYXJzZUZpbGUoZmlsZSkpIDogdW5kZWZpbmVkLFxuICAgIGdyb3VwSWQ6IHBhcnNlUmVha3Rvckl0ZW1JZChncm91cElkKSxcbiAgICBwb3N0SWQ6IHBhcnNlUmVha3Rvckl0ZW1JZChfa2V5IHx8IHBvc3RJZCksXG4gICAgbGF0aXR1ZGU6IGxhdGl0dWRlID8gcGFyc2VOdW0obGF0aXR1ZGUsIDE1KSA6IHVuZGVmaW5lZCxcbiAgICBsb2NhdGlvbjogbG9jYXRpb24gPyBwYXJzZVN0cmluZyhsb2NhdGlvbiwgMTYwKSA6IHVuZGVmaW5lZCxcbiAgICBsb25naXR1ZGU6IGxvbmdpdHVkZSA/IHBhcnNlTnVtKGxvbmdpdHVkZSwgMTUpIDogdW5kZWZpbmVkLFxuICAgIG5hbWU6IHBhcnNlUmVha3Rvck5hbWUobmFtZSksXG4gICAgcGFyZW50SWQ6IHBhcnNlUmVha3Rvckl0ZW1JZChwYXJlbnRJZCksXG4gICAgcHJpdmFjeTogcHJpdmFjeSA/IHBhcnNlVmFyQ2hhcihwcml2YWN5LCAxNikgOiB1bmRlZmluZWQsXG4gICAgdGFnczogdGFncz8ubGVuZ3RoID8gdGFncz8ubWFwKCh0YWcpID0+IHBhcnNlVGFnKHRhZykpIDogdW5kZWZpbmVkLFxuICAgIHR5cGU6IHBhcnNlUmVha3RvclR5cGUodHlwZSksXG4gICAgdXNlcklkOiBwYXJzZVJlYWt0b3JJdGVtSWQodXNlcklkKVxuICB9KTtcbn07Il0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsbUJBQWtEO0FBR2xELHlCQUF3QjtBQUN4Qix3QkFBdUI7QUFDdkIsMEJBQThCO0FBQzlCLDJCQUE0QjtBQUM1Qiw0QkFNTztBQUVQLE1BQU0scUJBQTZCO0FBRTVCLE1BQU0sWUFBWSxDQUFDLFNBQTZCO0FBQ3JELFFBQU07QUFBQSxJQUNKO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxFQUNGLElBQUk7QUFFSixhQUFPLHFDQUFnQjtBQUFBLElBQ3JCLE9BQUcsb0NBQWMsSUFBSTtBQUFBLElBQ3JCLGFBQVMsMkNBQW9CLFNBQVMsa0JBQWtCO0FBQUEsSUFDeEQsYUFBUyx3Q0FBaUIsT0FBTztBQUFBLElBQ2pDLE9BQU8sT0FBTyxTQUFTLE9BQU8sSUFBSSxDQUFDLGFBQVMsOEJBQVUsSUFBSSxDQUFDLElBQUk7QUFBQSxJQUMvRCxhQUFTLDBDQUFtQixPQUFPO0FBQUEsSUFDbkMsWUFBUSwwQ0FBbUIsUUFBUSxNQUFNO0FBQUEsSUFDekMsVUFBVSxlQUFXLHVCQUFTLFVBQVUsRUFBRSxJQUFJO0FBQUEsSUFDOUMsVUFBVSxlQUFXLDBCQUFZLFVBQVUsR0FBRyxJQUFJO0FBQUEsSUFDbEQsV0FBVyxnQkFBWSx1QkFBUyxXQUFXLEVBQUUsSUFBSTtBQUFBLElBQ2pELFVBQU0sd0NBQWlCLElBQUk7QUFBQSxJQUMzQixjQUFVLDBDQUFtQixRQUFRO0FBQUEsSUFDckMsU0FBUyxjQUFVLDJCQUFhLFNBQVMsRUFBRSxJQUFJO0FBQUEsSUFDL0MsTUFBTSxNQUFNLFNBQVMsTUFBTSxJQUFJLENBQUMsWUFBUSw0QkFBUyxHQUFHLENBQUMsSUFBSTtBQUFBLElBQ3pELFVBQU0sd0NBQWlCLElBQUk7QUFBQSxJQUMzQixZQUFRLDBDQUFtQixNQUFNO0FBQUEsRUFDbkMsQ0FBQztBQUNIOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
1
|
+
import{parseArangoId as w,parseId as s,parseNum as _,parseString as E,parseVarChar as b}from"@nlabs/utils";import{z as t}from"zod";import{parseDocument as k}from"./arangoAdapter";import{parseFile as D}from"./fileAdapter";import{parseReaktorContent as x,parseReaktorDate as $,parseReaktorType as N}from"./reaktorAdapter";import{parseTag as R}from"./tagAdapter";import{removeEmptyKeys as j}from"../utils/adapterUtils";const C=1e5;class p extends Error{constructor(n,e){super(n);this.field=e;this.name="PostValidationError"}}const V=t.object({content:t.string().optional(),endDate:t.number().optional(),files:t.array(t.any()).optional(),groupId:t.string().optional(),postId:t.string().optional(),latitude:t.number().optional(),location:t.string().optional(),longitude:t.number().optional(),name:t.string().optional(),parentId:t.string().optional(),privacy:t.string().optional(),startDate:t.number().optional(),tags:t.array(t.any()).optional(),type:t.string().optional(),userId:t.string().optional(),_id:t.string().optional(),_key:t.string().optional(),_rev:t.string().optional(),_oldRev:t.string().optional(),_from:t.string().optional(),_to:t.string().optional()}).passthrough(),M=r=>{try{return V.parse(r)}catch(o){if(o instanceof t.ZodError){const n=o.errors.map(e=>`${e.path.join(".")}: ${e.message}`).join(", ");throw new p(`Post validation failed: ${n}`)}throw o}},U=r=>r,X=r=>{try{return A(r)}catch(o){throw o instanceof p?o:new p(`Post parsing failed: ${o instanceof Error?o.message:"Unknown error"}`)}},A=r=>{const{_id:o,_key:n,content:e,endDate:d,files:l,groupId:m,id:g,latitude:c,location:u,longitude:f,name:y,parentId:P,postId:a,privacy:I,tags:T,type:h,userId:v}=r;return j({...k(r),...e&&{content:x(e,C)},...d!==void 0&&{endDate:$(d)},...l?.length&&{files:l.map(i=>D(i))},...m&&{groupId:s(m)},...c!==void 0&&{latitude:_(c,15)},...u&&{location:E(u,160)},...f!==void 0&&{longitude:_(f,15)},...y&&{name:E(y,160)},...P&&{parentId:s(P)},...(o||g||n||a)&&{id:w(o||g||`posts/${n||a}`)},...(n||a)&&{postId:s(n||a)},...I&&{privacy:b(I,16)},...T?.length&&{tags:T.map(i=>R(i))},...h&&{type:N(h)},...v&&{userId:s(v)}})};export{p as PostValidationError,U as formatPostOutput,X as parsePost,M as validatePostInput};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL3Bvc3RBZGFwdGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQge3BhcnNlQXJhbmdvSWQsIHBhcnNlSWQsIHBhcnNlTnVtLCBwYXJzZVN0cmluZywgcGFyc2VWYXJDaGFyfSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuaW1wb3J0IHt6fSBmcm9tICd6b2QnO1xuXG5pbXBvcnQge1Bvc3RUeXBlfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQge3BhcnNlRG9jdW1lbnR9IGZyb20gJy4vYXJhbmdvQWRhcHRlcic7XG5pbXBvcnQge3BhcnNlRmlsZX0gZnJvbSAnLi9maWxlQWRhcHRlcic7XG5pbXBvcnQge1xuICBwYXJzZVJlYWt0b3JDb250ZW50LFxuICBwYXJzZVJlYWt0b3JEYXRlLFxuICBwYXJzZVJlYWt0b3JUeXBlXG59IGZyb20gJy4vcmVha3RvckFkYXB0ZXInO1xuaW1wb3J0IHtwYXJzZVRhZ30gZnJvbSAnLi90YWdBZGFwdGVyJztcbmltcG9ydCB7cmVtb3ZlRW1wdHlLZXlzfSBmcm9tICcuLi91dGlscy9hZGFwdGVyVXRpbHMnO1xuXG5jb25zdCBNQVhfQ09OVEVOVF9MRU5HVEg6IG51bWJlciA9IDEwMDAwMDtcblxuZXhwb3J0IGNsYXNzIFBvc3RWYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIGZpZWxkPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ1Bvc3RWYWxpZGF0aW9uRXJyb3InO1xuICB9XG59XG5cbmNvbnN0IFBvc3RJbnB1dFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgY29udGVudDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBlbmREYXRlOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGZpbGVzOiB6LmFycmF5KHouYW55KCkpLm9wdGlvbmFsKCksXG4gIGdyb3VwSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgcG9zdElkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGxhdGl0dWRlOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGxvY2F0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGxvbmdpdHVkZTogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBuYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHBhcmVudElkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHByaXZhY3k6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgc3RhcnREYXRlOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIHRhZ3M6IHouYXJyYXkoei5hbnkoKSkub3B0aW9uYWwoKSxcbiAgdHlwZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB1c2VySWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2lkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9rZXk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX3Jldjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfb2xkUmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9mcm9tOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF90bzogei5zdHJpbmcoKS5vcHRpb25hbCgpXG59KS5wYXNzdGhyb3VnaCgpO1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVQb3N0SW5wdXQgPSAocG9zdDogdW5rbm93bik6IFBvc3RUeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCB2YWxpZGF0ZWQgPSBQb3N0SW5wdXRTY2hlbWEucGFyc2UocG9zdCk7XG4gICAgcmV0dXJuIHZhbGlkYXRlZCBhcyBQb3N0VHlwZTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2Ygei5ab2RFcnJvcikge1xuICAgICAgY29uc3QgZmllbGRFcnJvcnMgPSBlcnJvci5lcnJvcnMubWFwKChlKSA9PiBgJHtlLnBhdGguam9pbignLicpfTogJHtlLm1lc3NhZ2V9YCkuam9pbignLCAnKTtcbiAgICAgIHRocm93IG5ldyBQb3N0VmFsaWRhdGlvbkVycm9yKGBQb3N0IHZhbGlkYXRpb24gZmFpbGVkOiAke2ZpZWxkRXJyb3JzfWApO1xuICAgIH1cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdFBvc3RPdXRwdXQgPSAocG9zdDogUG9zdFR5cGUpOiBQb3N0VHlwZSA9PiBwb3N0O1xuXG5leHBvcnQgY29uc3QgcGFyc2VQb3N0ID0gKHBvc3Q6IFBvc3RUeXBlKTogUG9zdFR5cGUgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHBhcnNlZCA9IHBlcmZvcm1Qb3N0VHJhbnNmb3JtYXRpb24ocG9zdCk7XG4gICAgcmV0dXJuIHBhcnNlZDtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2YgUG9zdFZhbGlkYXRpb25FcnJvcikge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICAgIHRocm93IG5ldyBQb3N0VmFsaWRhdGlvbkVycm9yKGBQb3N0IHBhcnNpbmcgZmFpbGVkOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWApO1xuICB9XG59O1xuXG5jb25zdCBwZXJmb3JtUG9zdFRyYW5zZm9ybWF0aW9uID0gKHBvc3Q6IFBvc3RUeXBlKTogUG9zdFR5cGUgPT4ge1xuICBjb25zdCB7XG4gICAgX2lkLFxuICAgIF9rZXksXG4gICAgY29udGVudCxcbiAgICBlbmREYXRlLFxuICAgIGZpbGVzLFxuICAgIGdyb3VwSWQsXG4gICAgaWQsXG4gICAgbGF0aXR1ZGUsXG4gICAgbG9jYXRpb24sXG4gICAgbG9uZ2l0dWRlLFxuICAgIG5hbWUsXG4gICAgcGFyZW50SWQsXG4gICAgcG9zdElkLFxuICAgIHByaXZhY3ksXG4gICAgdGFncyxcbiAgICB0eXBlLFxuICAgIHVzZXJJZFxuICB9ID0gcG9zdDtcblxuICBjb25zdCB0cmFuc2Zvcm1lZCA9IHJlbW92ZUVtcHR5S2V5cyh7XG4gICAgLi4ucGFyc2VEb2N1bWVudChwb3N0KSxcbiAgICAuLi4oY29udGVudCAmJiB7Y29udGVudDogcGFyc2VSZWFrdG9yQ29udGVudChjb250ZW50LCBNQVhfQ09OVEVOVF9MRU5HVEgpfSksXG4gICAgLi4uKGVuZERhdGUgIT09IHVuZGVmaW5lZCAmJiB7ZW5kRGF0ZTogcGFyc2VSZWFrdG9yRGF0ZShlbmREYXRlKX0pLFxuICAgIC4uLihmaWxlcz8ubGVuZ3RoICYmIHtmaWxlczogZmlsZXMubWFwKChmaWxlKSA9PiBwYXJzZUZpbGUoZmlsZSkpfSksXG4gICAgLi4uKGdyb3VwSWQgJiYge2dyb3VwSWQ6IHBhcnNlSWQoZ3JvdXBJZCl9KSxcbiAgICAuLi4obGF0aXR1ZGUgIT09IHVuZGVmaW5lZCAmJiB7bGF0aXR1ZGU6IHBhcnNlTnVtKGxhdGl0dWRlLCAxNSl9KSxcbiAgICAuLi4obG9jYXRpb24gJiYge2xvY2F0aW9uOiBwYXJzZVN0cmluZyhsb2NhdGlvbiwgMTYwKX0pLFxuICAgIC4uLihsb25naXR1ZGUgIT09IHVuZGVmaW5lZCAmJiB7bG9uZ2l0dWRlOiBwYXJzZU51bShsb25naXR1ZGUsIDE1KX0pLFxuICAgIC4uLihuYW1lICYmIHtuYW1lOiBwYXJzZVN0cmluZyhuYW1lLCAxNjApfSksXG4gICAgLi4uKHBhcmVudElkICYmIHtwYXJlbnRJZDogcGFyc2VJZChwYXJlbnRJZCl9KSxcbiAgICAuLi4oKF9pZCB8fCBpZCB8fCBfa2V5IHx8IHBvc3RJZCkgJiYge2lkOiBwYXJzZUFyYW5nb0lkKF9pZCB8fCBpZCB8fCBgcG9zdHMvJHtfa2V5IHx8IHBvc3RJZH1gKX0pLFxuICAgIC4uLigoX2tleSB8fCBwb3N0SWQpICYmIHtwb3N0SWQ6IHBhcnNlSWQoX2tleSB8fCBwb3N0SWQpfSksXG4gICAgLi4uKHByaXZhY3kgJiYge3ByaXZhY3k6IHBhcnNlVmFyQ2hhcihwcml2YWN5LCAxNil9KSxcbiAgICAuLi4odGFncz8ubGVuZ3RoICYmIHt0YWdzOiB0YWdzLm1hcCgodGFnKSA9PiBwYXJzZVRhZyh0YWcpKX0pLFxuICAgIC4uLih0eXBlICYmIHt0eXBlOiBwYXJzZVJlYWt0b3JUeXBlKHR5cGUpfSksXG4gICAgLi4uKHVzZXJJZCAmJiB7dXNlcklkOiBwYXJzZUlkKHVzZXJJZCl9KVxuICB9KTtcblxuICByZXR1cm4gdHJhbnNmb3JtZWQ7XG59OyJdLAogICJtYXBwaW5ncyI6ICJBQUFBLE9BQVEsaUJBQUFBLEVBQWUsV0FBQUMsRUFBUyxZQUFBQyxFQUFVLGVBQUFDLEVBQWEsZ0JBQUFDLE1BQW1CLGVBQzFFLE9BQVEsS0FBQUMsTUFBUSxNQUdoQixPQUFRLGlCQUFBQyxNQUFvQixrQkFDNUIsT0FBUSxhQUFBQyxNQUFnQixnQkFDeEIsT0FDRSx1QkFBQUMsRUFDQSxvQkFBQUMsRUFDQSxvQkFBQUMsTUFDSyxtQkFDUCxPQUFRLFlBQUFDLE1BQWUsZUFDdkIsT0FBUSxtQkFBQUMsTUFBc0Isd0JBRTlCLE1BQU1DLEVBQTZCLElBRTVCLE1BQU1DLFVBQTRCLEtBQU0sQ0FDN0MsWUFBWUMsRUFBd0JDLEVBQWdCLENBQ2xELE1BQU1ELENBQU8sRUFEcUIsV0FBQUMsRUFFbEMsS0FBSyxLQUFPLHFCQUNkLENBQ0YsQ0FFQSxNQUFNQyxFQUFrQlosRUFBRSxPQUFPLENBQy9CLFFBQVNBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDN0IsUUFBU0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUM3QixNQUFPQSxFQUFFLE1BQU1BLEVBQUUsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUNqQyxRQUFTQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzdCLE9BQVFBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDNUIsU0FBVUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUM5QixTQUFVQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzlCLFVBQVdBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDL0IsS0FBTUEsRUFB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QUMsRUFDeEQsR0FBSUMsR0FBVyxDQUFDLFFBQVNsQyxFQUFha0MsRUFBUyxFQUFFLENBQUMsRUFDbEQsR0FBSUMsR0FBTSxRQUFVLENBQUMsS0FBTUEsRUFBSyxJQUFLSSxHQUFRaEMsRUFBU2dDLENBQUcsQ0FBQyxDQUFDLEVBQzNELEdBQUlILEdBQVEsQ0FBQyxLQUFNOUIsRUFBaUI4QixDQUFJLENBQUMsRUFDekMsR0FBSUMsR0FBVSxDQUFDLE9BQVF4QyxFQUFRd0MsQ0FBTSxDQUFDLENBQ3hDLENBQUMsQ0FHSCIsCiAgIm5hbWVzIjogWyJwYXJzZUFyYW5nb0lkIiwgInBhcnNlSWQiLCAicGFyc2VOdW0iLCAicGFyc2VTdHJpbmciLCAicGFyc2VWYXJDaGFyIiwgInoiLCAicGFyc2VEb2N1bWVudCIsICJwYXJzZUZpbGUiLCAicGFyc2VSZWFrdG9yQ29udGVudCIsICJwYXJzZVJlYWt0b3JEYXRlIiwgInBhcnNlUmVha3RvclR5cGUiLCAicGFyc2VUYWciLCAicmVtb3ZlRW1wdHlLZXlzIiwgIk1BWF9DT05URU5UX0xFTkdUSCIsICJQb3N0VmFsaWRhdGlvbkVycm9yIiwgIm1lc3NhZ2UiLCAiZmllbGQiLCAiUG9zdElucHV0U2NoZW1hIiwgInZhbGlkYXRlUG9zdElucHV0IiwgInBvc3QiLCAiZXJyb3IiLCAiZmllbGRFcnJvcnMiLCAiZm9ybWF0UG9zdE91dHB1dCIsICJwYXJzZVBvc3QiLCAicGVyZm9ybVBvc3RUcmFuc2Zvcm1hdGlvbiIsICJfaWQiLCAiX2tleSIsICJjb250ZW50IiwgImVuZERhdGUiLCAiZmlsZXMiLCAiZ3JvdXBJZCIsICJpZCIsICJsYXRpdHVkZSIsICJsb2NhdGlvbiIsICJsb25naXR1ZGUiLCAibmFtZSIsICJwYXJlbnRJZCIsICJwb3N0SWQiLCAicHJpdmFjeSIsICJ0YWdzIiwgInR5cGUiLCAidXNlcklkIiwgImZpbGUiLCAidGFnIl0KfQo=
|