@nlabs/reaktor 0.10.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/TEST_UTILITIES_GUIDE.md +360 -0
- package/coverage/index.html +46 -76
- package/index.js +1 -1
- package/jest.config.js +17 -0
- package/jest.setup.js +36 -0
- package/lex.config.cjs +2 -2
- package/lib/actions/apps.js +17 -239
- package/lib/actions/connections.js +6 -89
- package/lib/actions/content.js +17 -0
- package/lib/actions/conversations.js +19 -336
- package/lib/actions/dynamodb.js +2 -150
- package/lib/actions/email.js +2 -152
- package/lib/actions/files.js +5 -283
- package/lib/actions/groups.js +19 -259
- package/lib/actions/images.js +31 -700
- package/lib/actions/index.js +2 -66
- package/lib/actions/ios.js +9 -162
- package/lib/actions/locations.js +7 -122
- package/lib/actions/messages.js +21 -196
- package/lib/actions/notifications.js +2 -59
- package/lib/actions/payments.js +11 -464
- package/lib/actions/posts.js +75 -527
- 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 -108
- package/lib/actions/statistics.js +6 -60
- package/lib/actions/subscriptions.js +12 -0
- package/lib/actions/tags.js +19 -287
- package/lib/actions/users.js +64 -764
- package/lib/actions/websockets.js +14 -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 -40
- package/lib/adapters/messageAdapter.js +2 -49
- 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 -115
- package/lib/config.js +2 -125
- package/lib/handlers/graphqlHandler.js +2 -0
- package/lib/index.js +2 -66
- package/lib/lambdas/actions/websockets.js +14 -116
- package/lib/lambdas/authorizer.js +2 -67
- package/lib/lambdas/connection.js +2 -91
- 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 -44
- 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 -26
- package/lib/mutations/locations.integration.js +2 -0
- package/lib/mutations/locations.js +2 -44
- package/lib/mutations/messages.integration.js +2 -0
- package/lib/mutations/messages.js +2 -86
- package/lib/mutations/posts.integration.js +2 -0
- package/lib/mutations/posts.js +2 -53
- 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 -51
- package/lib/mutations/statistics.integration.js +2 -0
- package/lib/mutations/statistics.js +2 -39
- package/lib/mutations/subscriptions.integration.js +2 -0
- package/lib/mutations/subscriptions.js +2 -56
- package/lib/mutations/tags.integration.js +2 -0
- package/lib/mutations/tags.js +2 -120
- package/lib/mutations/users.integration.js +2 -0
- package/lib/mutations/users.js +2 -116
- package/lib/objectTypes/app.js +2 -173
- package/lib/objectTypes/bankAccount.js +2 -76
- package/lib/objectTypes/connection.js +2 -48
- package/lib/objectTypes/conversation.js +2 -77
- package/lib/objectTypes/creditCard.js +2 -86
- package/lib/objectTypes/document.js +2 -46
- package/lib/objectTypes/error.js +2 -46
- package/lib/objectTypes/external.js +2 -74
- package/lib/objectTypes/file.js +2 -100
- package/lib/objectTypes/filter.js +2 -43
- package/lib/objectTypes/group.js +2 -123
- package/lib/objectTypes/iapSubscription.js +2 -40
- package/lib/objectTypes/image.js +2 -129
- package/lib/objectTypes/index.js +2 -68
- package/lib/objectTypes/location.js +2 -109
- package/lib/objectTypes/message.js +2 -96
- package/lib/objectTypes/passcode.js +2 -42
- package/lib/objectTypes/plan.js +2 -95
- package/lib/objectTypes/post.js +2 -125
- package/lib/objectTypes/profile.js +2 -0
- package/lib/objectTypes/reaction.js +2 -61
- package/lib/objectTypes/relation.js +2 -49
- package/lib/objectTypes/search.js +2 -72
- package/lib/objectTypes/statistics.js +2 -39
- package/lib/objectTypes/subscription.js +2 -117
- package/lib/objectTypes/tag.js +2 -65
- package/lib/objectTypes/user.js +2 -144
- package/lib/queries/index.js +2 -33
- package/lib/queries/locations.integration.js +2 -0
- package/lib/queries/locations.js +2 -45
- package/lib/queries/messages.integration.js +2 -0
- package/lib/queries/messages.js +2 -52
- package/lib/queries/posts.integration.js +2 -0
- package/lib/queries/posts.js +2 -154
- package/lib/queries/reactions.integration.js +2 -0
- package/lib/queries/reactions.js +2 -56
- package/lib/queries/statistics.js +2 -39
- package/lib/queries/subscriptions.js +2 -44
- package/lib/queries/tags.integration.js +2 -0
- package/lib/queries/tags.js +2 -75
- package/lib/queries/users.integration.js +2 -0
- package/lib/queries/users.js +2 -64
- 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 -32
- package/lib/types/arangodb.types.js +1 -16
- package/lib/types/auth.types.js +1 -16
- package/lib/types/connections.types.js +1 -16
- package/lib/types/content.types.js +1 -0
- package/lib/types/conversations.types.js +1 -16
- package/lib/types/email.types.js +1 -16
- package/lib/types/error.types.js +2 -44
- package/lib/types/files.types.js +1 -16
- package/lib/types/google.types.js +1 -16
- package/lib/types/groups.types.js +1 -16
- package/lib/types/images.types.js +1 -16
- package/lib/types/index.js +2 -60
- package/lib/types/locations.types.js +1 -16
- package/lib/types/messages.types.js +1 -16
- package/lib/types/notifications.types.js +1 -16
- package/lib/types/payments.types.js +1 -16
- package/lib/types/posts.types.js +1 -16
- package/lib/types/profiles.types.js +1 -0
- package/lib/types/statistics.types.js +1 -16
- package/lib/types/tags.types.js +1 -16
- package/lib/types/users.types.js +1 -16
- package/lib/types/websockets.types.js +1 -16
- package/lib/utils/adapterUtils.js +2 -45
- package/lib/utils/analyticsUtils.js +2 -72
- package/lib/utils/arangodbUtils.js +5 -163
- 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 -43
- 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 +27 -24
- package/.prettierrc.js +0 -4
- package/lib/actions/apps.d.ts +0 -25
- package/lib/actions/connections.d.ts +0 -4
- 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 -23
- package/lib/actions/ios.d.ts +0 -7
- package/lib/actions/locations.d.ts +0 -6
- package/lib/actions/messages.d.ts +0 -14
- package/lib/actions/notifications.d.ts +0 -5
- package/lib/actions/payments.d.ts +0 -10
- package/lib/actions/personas.d.ts +0 -3
- package/lib/actions/personas.js +0 -110
- package/lib/actions/posts.d.ts +0 -22
- 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 -9
- package/lib/actions/statistics.d.ts +0 -3
- package/lib/actions/subscription.d.ts +0 -7
- package/lib/actions/subscription.js +0 -208
- package/lib/actions/tags.d.ts +0 -34
- package/lib/actions/users.d.ts +0 -72
- package/lib/actions/websockets.d.ts +0 -20
- package/lib/adapters/arangoAdapter.d.ts +0 -2
- package/lib/adapters/fileAdapter.d.ts +0 -3
- package/lib/adapters/imageAdapter.d.ts +0 -2
- package/lib/adapters/messageAdapter.d.ts +0 -2
- 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 -12
- package/lib/lambdas/actions/websockets.d.ts +0 -7
- 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/mutations/index.d.ts +0 -3
- package/lib/mutations/locations.d.ts +0 -2
- package/lib/mutations/messages.d.ts +0 -2
- package/lib/mutations/personas.d.ts +0 -2
- package/lib/mutations/personas.js +0 -100
- package/lib/mutations/posts.d.ts +0 -2
- package/lib/mutations/reactions.d.ts +0 -2
- package/lib/mutations/statistics.d.ts +0 -2
- package/lib/mutations/subscriptions.d.ts +0 -2
- package/lib/mutations/tags.d.ts +0 -2
- package/lib/mutations/users.d.ts +0 -1
- package/lib/objectTypes/app.d.ts +0 -3
- package/lib/objectTypes/bankAccount.d.ts +0 -1
- package/lib/objectTypes/connection.d.ts +0 -1
- package/lib/objectTypes/conversation.d.ts +0 -2
- package/lib/objectTypes/creditCard.d.ts +0 -1
- package/lib/objectTypes/document.d.ts +0 -1
- package/lib/objectTypes/error.d.ts +0 -1
- package/lib/objectTypes/external.d.ts +0 -1
- package/lib/objectTypes/file.d.ts +0 -2
- package/lib/objectTypes/filter.d.ts +0 -1
- package/lib/objectTypes/group.d.ts +0 -3
- package/lib/objectTypes/iapSubscription.d.ts +0 -1
- package/lib/objectTypes/image.d.ts +0 -2
- package/lib/objectTypes/index.d.ts +0 -24
- package/lib/objectTypes/location.d.ts +0 -2
- package/lib/objectTypes/message.d.ts +0 -2
- package/lib/objectTypes/passcode.d.ts +0 -1
- package/lib/objectTypes/persona.d.ts +0 -3
- package/lib/objectTypes/persona.js +0 -87
- package/lib/objectTypes/plan.d.ts +0 -2
- package/lib/objectTypes/post.d.ts +0 -2
- package/lib/objectTypes/reaction.d.ts +0 -2
- package/lib/objectTypes/relation.d.ts +0 -1
- package/lib/objectTypes/search.d.ts +0 -1
- package/lib/objectTypes/statistics.d.ts +0 -1
- package/lib/objectTypes/subscription.d.ts +0 -2
- package/lib/objectTypes/tag.d.ts +0 -2
- package/lib/objectTypes/user.d.ts +0 -4
- package/lib/queries/index.d.ts +0 -3
- package/lib/queries/locations.d.ts +0 -2
- package/lib/queries/messages.d.ts +0 -2
- package/lib/queries/posts.d.ts +0 -2
- package/lib/queries/reactions.d.ts +0 -2
- package/lib/queries/statistics.d.ts +0 -2
- package/lib/queries/subscriptions.d.ts +0 -2
- package/lib/queries/tags.d.ts +0 -2
- package/lib/queries/users.d.ts +0 -1
- 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.types.d.ts +0 -46
- package/lib/types/arangodb.types.d.ts +0 -34
- package/lib/types/auth.types.d.ts +0 -9
- package/lib/types/connections.types.d.ts +0 -5
- package/lib/types/conversations.types.d.ts +0 -27
- package/lib/types/email.types.d.ts +0 -13
- package/lib/types/error.types.d.ts +0 -20
- package/lib/types/files.types.d.ts +0 -23
- package/lib/types/google.types.d.ts +0 -29
- package/lib/types/groups.types.d.ts +0 -18
- package/lib/types/images.types.d.ts +0 -52
- package/lib/types/index.d.ts +0 -20
- package/lib/types/locations.types.d.ts +0 -18
- package/lib/types/messages.types.d.ts +0 -16
- package/lib/types/notifications.types.d.ts +0 -19
- package/lib/types/payments.types.d.ts +0 -109
- package/lib/types/personas.types.d.ts +0 -32
- package/lib/types/personas.types.js +0 -16
- package/lib/types/posts.types.d.ts +0 -28
- package/lib/types/statistics.types.d.ts +0 -3
- package/lib/types/tags.types.d.ts +0 -15
- package/lib/types/users.types.d.ts +0 -79
- package/lib/types/websockets.types.d.ts +0 -18
- package/lib/utils/adapterUtils.d.ts +0 -1
- package/lib/utils/analyticsUtils.d.ts +0 -21
- package/lib/utils/arangodbUtils.d.ts +0 -66
- package/lib/utils/auth.d.ts +0 -21
- package/lib/utils/auth.js +0 -57
- package/lib/utils/index.d.ts +0 -5
- package/lib/utils/session.d.ts +0 -18
- package/lib/utils/session.js +0 -60
- package/lib/utils/stripeUtils.d.ts +0 -3
|
@@ -1,82 +1,11 @@
|
|
|
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
|
-
addSocket: () => addSocket,
|
|
22
|
-
getConnectionByConvo: () => getConnectionByConvo,
|
|
23
|
-
getSocketById: () => getSocketById,
|
|
24
|
-
getSocketByUser: () => getSocketByUser,
|
|
25
|
-
removeSocket: () => removeSocket
|
|
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_config = require("../config");
|
|
33
|
-
var import_arangodbUtils = require("../utils/arangodbUtils");
|
|
34
|
-
const addSocket = async (socketId, token) => {
|
|
35
|
-
const action = "addSocket";
|
|
36
|
-
const formatSocketId = (0, import_utils.parseString)(socketId, 32);
|
|
37
|
-
const formatToken = (0, import_utils.parseString)(token);
|
|
38
|
-
try {
|
|
39
|
-
const database = (0, import_arangodbUtils.useDb)(process.env.ARANGODB_DATABASE);
|
|
40
|
-
const user = await (0, import_users.getUserByToken)({ database, session: null }, formatToken);
|
|
41
|
-
if (!user) {
|
|
42
|
-
throw new Error("Unauthorized");
|
|
43
|
-
}
|
|
44
|
-
const update = {
|
|
45
|
-
socketId: formatSocketId,
|
|
46
|
-
modified: Date.now()
|
|
47
|
-
};
|
|
48
|
-
const insert = {
|
|
49
|
-
...update,
|
|
50
|
-
_key: (0, import_utils.createHash)(`socket-${formatSocketId}`),
|
|
51
|
-
userId: user.userId
|
|
52
|
-
};
|
|
53
|
-
const aqlQry = import_arangojs.aql`UPSERT {userId: ${user.userId}}
|
|
54
|
-
INSERT ${insert}
|
|
55
|
-
UPDATE ${update}
|
|
56
|
-
IN sockets RETURN NEW`;
|
|
57
|
-
return database.query(aqlQry).then((cursor) => cursor.next()).catch((error) => {
|
|
58
|
-
throw error;
|
|
59
|
-
});
|
|
60
|
-
} catch (error) {
|
|
61
|
-
throw new Error("Unauthorized");
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
const getSocketByUser = (userId) => {
|
|
65
|
-
const formatUserId = (0, import_utils.parseId)(userId);
|
|
66
|
-
const db = (0, import_arangodbUtils.useDb)(process.env.ARANGODB_DATABASE);
|
|
67
|
-
const aqlQry = import_arangojs.aql`FOR s IN sockets
|
|
68
|
-
FILTER s.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}
|
|
69
6
|
LIMIT 1
|
|
70
|
-
RETURN s`;
|
|
71
|
-
|
|
72
|
-
throw error;
|
|
73
|
-
});
|
|
74
|
-
};
|
|
75
|
-
const getSocketById = (socketId) => {
|
|
76
|
-
const formatSocketId = (0, import_utils.parseId)(socketId);
|
|
77
|
-
const db = (0, import_arangodbUtils.useDb)(process.env.ARANGODB_DATABASE);
|
|
78
|
-
const aqlQry = import_arangojs.aql`FOR s IN sockets
|
|
79
|
-
FILTER s.socketId == ${formatSocketId}
|
|
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}
|
|
80
9
|
LET user = FIRST(
|
|
81
10
|
FOR u IN users
|
|
82
11
|
FILTER u.sub == s.sub
|
|
@@ -84,91 +13,18 @@ const getSocketById = (socketId) => {
|
|
|
84
13
|
RETURN u;
|
|
85
14
|
)
|
|
86
15
|
LIMIT 1
|
|
87
|
-
RETURN MERGE(c, {user:user}`;
|
|
88
|
-
|
|
89
|
-
throw error;
|
|
90
|
-
});
|
|
91
|
-
};
|
|
92
|
-
const getConnectionByConvo = (context, convoId) => {
|
|
93
|
-
const { database, session: { userId: sessionId } } = context;
|
|
94
|
-
const sessionDocId = `users/${(0, import_utils.parseId)(sessionId)}`;
|
|
95
|
-
const convoDocId = `conversations/${(0, import_utils.parseId)(convoId)}`;
|
|
96
|
-
const db = database;
|
|
97
|
-
const aqlQry = import_arangojs.aql`FOR c, e IN 1..1 OUTBOUND ${sessionDocId} hasConversation
|
|
98
|
-
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}
|
|
99
18
|
LIMIT 1
|
|
100
19
|
LET u = (
|
|
101
|
-
FOR inUser, inEdge IN 1..1 INBOUND ${
|
|
20
|
+
FOR inUser, inEdge IN 1..1 INBOUND ${e} hasConversation
|
|
102
21
|
FOR n IN connections
|
|
103
22
|
FILTER inUser.sub == n.sub
|
|
104
23
|
RETURN n.connectionId
|
|
105
24
|
)
|
|
106
|
-
RETURN u`;
|
|
107
|
-
|
|
108
|
-
throw error;
|
|
109
|
-
});
|
|
110
|
-
};
|
|
111
|
-
const removeSocket = (socketId) => {
|
|
112
|
-
const action = "removeSocket";
|
|
113
|
-
const formatSocketId = (0, import_utils.parseString)(socketId, 32);
|
|
114
|
-
const db = (0, import_arangodbUtils.useDb)(process.env.ARANGODB_DATABASE);
|
|
115
|
-
const aqlQry = import_arangojs.aql`FOR s IN sockets
|
|
116
|
-
FILTER s.socketId == ${formatSocketId}
|
|
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}
|
|
117
27
|
LIMIT 1
|
|
118
28
|
REMOVE s IN sockets
|
|
119
|
-
RETURN OLD`;
|
|
120
|
-
return db.query(aqlQry).then((cursor) => cursor.next()).catch((error) => {
|
|
121
|
-
throw error;
|
|
122
|
-
});
|
|
123
|
-
};
|
|
124
|
-
class WebsocketClient {
|
|
125
|
-
client;
|
|
126
|
-
constructor(config) {
|
|
127
|
-
if (config) {
|
|
128
|
-
this.setupClient(config || {});
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
// Allow just passing a single event to setup the client for ease of use
|
|
132
|
-
async setupClient({ requestContext }) {
|
|
133
|
-
if (!this.client && requestContext) {
|
|
134
|
-
const { apiId, domainName, stage } = requestContext;
|
|
135
|
-
let updatedDomainName = domainName;
|
|
136
|
-
if (apiId) {
|
|
137
|
-
updatedDomainName = `${apiId}.execute-api.${process.env.API_REGION}.amazonaws.com`;
|
|
138
|
-
}
|
|
139
|
-
this.client = new import_client_apigatewaymanagementapi.ApiGatewayManagementApi({
|
|
140
|
-
credentials: import_config.Config.get("aws.credentials"),
|
|
141
|
-
endpoint: `https://${updatedDomainName}/${stage}`,
|
|
142
|
-
region: import_config.Config.get("aws.region")
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
async send(connection, payload) {
|
|
147
|
-
console.log(connection, payload);
|
|
148
|
-
let socketId;
|
|
149
|
-
if (connection?.requestContext) {
|
|
150
|
-
await this.setupClient(connection);
|
|
151
|
-
const { socketId: updatedSocketId } = connection.requestContext;
|
|
152
|
-
socketId = updatedSocketId;
|
|
153
|
-
} else {
|
|
154
|
-
socketId = connection;
|
|
155
|
-
}
|
|
156
|
-
await this.client.postToConnection({ ConnectionId: socketId, Data: JSON.stringify(payload) }).promise().catch(async (postError) => {
|
|
157
|
-
console.log(JSON.stringify(postError));
|
|
158
|
-
if (postError.statusCode === 410) {
|
|
159
|
-
await removeSocket(socketId);
|
|
160
|
-
}
|
|
161
|
-
});
|
|
162
|
-
return true;
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
166
|
-
0 && (module.exports = {
|
|
167
|
-
WebsocketClient,
|
|
168
|
-
addSocket,
|
|
169
|
-
getConnectionByConvo,
|
|
170
|
-
getSocketById,
|
|
171
|
-
getSocketByUser,
|
|
172
|
-
removeSocket
|
|
173
|
-
});
|
|
174
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FjdGlvbnMvd2Vic29ja2V0cy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTktUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7QXBpR2F0ZXdheU1hbmFnZW1lbnRBcGl9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1hcGlnYXRld2F5bWFuYWdlbWVudGFwaSc7XG5pbXBvcnQge2NyZWF0ZUhhc2gsIHBhcnNlSWQsIHBhcnNlU3RyaW5nfSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuaW1wb3J0IHthcWwsIERhdGFiYXNlfSBmcm9tICdhcmFuZ29qcyc7XG5pbXBvcnQge0FxbFF1ZXJ5fSBmcm9tICdhcmFuZ29qcy9hcWwnO1xuXG5pbXBvcnQge2dldFVzZXJCeVRva2VufSBmcm9tICcuL3VzZXJzJztcbmltcG9ydCB7Q29uZmlnfSBmcm9tICcuLi9jb25maWcnO1xuaW1wb3J0IHtBcGlDb250ZXh0fSBmcm9tICcuLi90eXBlcy9hdXRoLnR5cGVzJztcbmltcG9ydCB7dXNlRGJ9IGZyb20gJy4uL3V0aWxzL2FyYW5nb2RiVXRpbHMnO1xuXG5pbXBvcnQgdHlwZSB7V2Vic29ja2V0Q29ubmVjdGlvbn0gZnJvbSAnLi4vdHlwZXMvd2Vic29ja2V0cy50eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBhZGRTb2NrZXQgPSBhc3luYyAoc29ja2V0SWQ6IHN0cmluZywgdG9rZW46IHN0cmluZyk6IFByb21pc2U8V2Vic29ja2V0Q29ubmVjdGlvbj4gPT4ge1xuICBjb25zdCBhY3Rpb246IHN0cmluZyA9ICdhZGRTb2NrZXQnO1xuICBjb25zdCBmb3JtYXRTb2NrZXRJZDogc3RyaW5nID0gcGFyc2VTdHJpbmcoc29ja2V0SWQsIDMyKTtcbiAgY29uc3QgZm9ybWF0VG9rZW46IHN0cmluZyA9IHBhcnNlU3RyaW5nKHRva2VuKTtcblxuICB0cnkge1xuICAgIGNvbnN0IGRhdGFiYXNlOiBEYXRhYmFzZSA9IHVzZURiKHByb2Nlc3MuZW52LkFSQU5HT0RCX0RBVEFCQVNFKTtcbiAgICBjb25zdCB1c2VyID0gYXdhaXQgZ2V0VXNlckJ5VG9rZW4oe2RhdGFiYXNlLCBzZXNzaW9uOiBudWxsfSwgZm9ybWF0VG9rZW4pO1xuXG4gICAgaWYoIXVzZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5hdXRob3JpemVkJyk7XG4gICAgfVxuXG4gICAgY29uc3QgdXBkYXRlID0ge1xuICAgICAgc29ja2V0SWQ6IGZvcm1hdFNvY2tldElkLFxuICAgICAgbW9kaWZpZWQ6IERhdGUubm93KClcbiAgICB9O1xuICAgIGNvbnN0IGluc2VydCA9IHtcbiAgICAgIC4uLnVwZGF0ZSxcbiAgICAgIF9rZXk6IGNyZWF0ZUhhc2goYHNvY2tldC0ke2Zvcm1hdFNvY2tldElkfWApLFxuICAgICAgdXNlcklkOiB1c2VyLnVzZXJJZFxuICAgIH07XG4gICAgY29uc3QgYXFsUXJ5OiBBcWxRdWVyeSA9IGFxbGBVUFNFUlQge3VzZXJJZDogJHt1c2VyLnVzZXJJZH19XG4gICAgICBJTlNFUlQgJHtpbnNlcnR9XG4gICAgICBVUERBVEUgJHt1cGRhdGV9XG4gICAgICBJTiBzb2NrZXRzIFJFVFVSTiBORVdgO1xuXG4gICAgcmV0dXJuIGRhdGFiYXNlLnF1ZXJ5KGFxbFFyeSlcbiAgICAgIC50aGVuKChjdXJzb3IpID0+IGN1cnNvci5uZXh0KCkpXG4gICAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH0pO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdVbmF1dGhvcml6ZWQnKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGdldFNvY2tldEJ5VXNlciA9ICh1c2VySWQ6IHN0cmluZyk6IFByb21pc2U8V2Vic29ja2V0Q29ubmVjdGlvbj4gPT4ge1xuICBjb25zdCBmb3JtYXRVc2VySWQ6IHN0cmluZyA9IHBhcnNlSWQodXNlcklkKTtcbiAgY29uc3QgZGI6IERhdGFiYXNlID0gdXNlRGIocHJvY2Vzcy5lbnYuQVJBTkdPREJfREFUQUJBU0UpO1xuICBjb25zdCBhcWxRcnkgPSBhcWxgRk9SIHMgSU4gc29ja2V0c1xuICAgIEZJTFRFUiBzLnVzZXJJZCA9PSAke2Zvcm1hdFVzZXJJZH1cbiAgICBMSU1JVCAxXG4gICAgUkVUVVJOIHNgO1xuXG4gIHJldHVybiBkYi5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0U29ja2V0QnlJZCA9IChzb2NrZXRJZDogc3RyaW5nKTogUHJvbWlzZTxhbnk+ID0+IHtcbiAgY29uc3QgZm9ybWF0U29ja2V0SWQ6IHN0cmluZyA9IHBhcnNlSWQoc29ja2V0SWQpO1xuICBjb25zdCBkYjogRGF0YWJhc2UgPSB1c2VEYihwcm9jZXNzLmVudi5BUkFOR09EQl9EQVRBQkFTRSk7XG4gIGNvbnN0IGFxbFFyeSA9IGFxbGBGT1IgcyBJTiBzb2NrZXRzXG4gICAgRklMVEVSIHMuc29ja2V0SWQgPT0gJHtmb3JtYXRTb2NrZXRJZH1cbiAgICBMRVQgdXNlciA9IEZJUlNUKFxuICAgICAgRk9SIHUgSU4gdXNlcnNcbiAgICAgIEZJTFRFUiB1LnN1YiA9PSBzLnN1YlxuICAgICAgTElNSVQgMVxuICAgICAgUkVUVVJOIHU7XG4gICAgKVxuICAgIExJTUlUIDFcbiAgICBSRVRVUk4gTUVSR0UoYywge3VzZXI6dXNlcn1gO1xuXG4gIHJldHVybiBkYi5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Q29ubmVjdGlvbkJ5Q29udm8gPSAoY29udGV4dDogQXBpQ29udGV4dCwgY29udm9JZDogc3RyaW5nKTogUHJvbWlzZTxhbnk+ID0+IHtcbiAgY29uc3Qge2RhdGFiYXNlLCBzZXNzaW9uOiB7dXNlcklkOiBzZXNzaW9uSWR9fSA9IGNvbnRleHQ7XG4gIGNvbnN0IHNlc3Npb25Eb2NJZDogc3RyaW5nID0gYHVzZXJzLyR7cGFyc2VJZChzZXNzaW9uSWQpfWA7XG4gIGNvbnN0IGNvbnZvRG9jSWQ6IHN0cmluZyA9IGBjb252ZXJzYXRpb25zLyR7cGFyc2VJZChjb252b0lkKX1gO1xuICBjb25zdCBkYjogRGF0YWJhc2UgPSBkYXRhYmFzZTtcbiAgY29uc3QgYXFsUXJ5ID0gYXFsYEZPUiBjLCBlIElOIDEuLjEgT1VUQk9VTkQgJHtzZXNzaW9uRG9jSWR9IGhhc0NvbnZlcnNhdGlvblxuICBGSUxURVIgYy5faWQgPT0gJHtjb252b0RvY0lkfVxuICBMSU1JVCAxXG4gIExFVCB1ID0gKFxuICAgIEZPUiBpblVzZXIsIGluRWRnZSBJTiAxLi4xIElOQk9VTkQgJHtjb252b0RvY0lkfSBoYXNDb252ZXJzYXRpb25cbiAgICBGT1IgbiBJTiBjb25uZWN0aW9uc1xuICAgIEZJTFRFUiBpblVzZXIuc3ViID09IG4uc3ViXG4gICAgUkVUVVJOIG4uY29ubmVjdGlvbklkXG4gIClcbiAgUkVUVVJOIHVgO1xuXG4gIHJldHVybiBkYi5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcikgPT4gY3Vyc29yLmFsbCgpKVxuICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCByZW1vdmVTb2NrZXQgPSAoc29ja2V0SWQ6IHN0cmluZyk6IFByb21pc2U8V2Vic29ja2V0Q29ubmVjdGlvbj4gPT4ge1xuICBjb25zdCBhY3Rpb246IHN0cmluZyA9ICdyZW1vdmVTb2NrZXQnO1xuICBjb25zdCBmb3JtYXRTb2NrZXRJZDogc3RyaW5nID0gcGFyc2VTdHJpbmcoc29ja2V0SWQsIDMyKTtcbiAgY29uc3QgZGI6IERhdGFiYXNlID0gdXNlRGIocHJvY2Vzcy5lbnYuQVJBTkdPREJfREFUQUJBU0UpO1xuICBjb25zdCBhcWxRcnkgPSBhcWxgRk9SIHMgSU4gc29ja2V0c1xuICAgICAgRklMVEVSIHMuc29ja2V0SWQgPT0gJHtmb3JtYXRTb2NrZXRJZH1cbiAgICAgIExJTUlUIDFcbiAgICAgIFJFTU9WRSBzIElOIHNvY2tldHNcbiAgICAgIFJFVFVSTiBPTERgO1xuXG4gIHJldHVybiBkYi5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFdlYlNvY2tldENsaWVudENvbnRleHQge1xuICByZWFkb25seSByZXF1ZXN0Q29udGV4dD86IHtcbiAgICByZWFkb25seSBhcGlJZDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGRvbWFpbk5hbWU6IHN0cmluZztcbiAgICByZWFkb25seSBzdGFnZTogc3RyaW5nO1xuICB9O1xufVxuZXhwb3J0IGNsYXNzIFdlYnNvY2tldENsaWVudCB7XG4gIGNsaWVudDtcblxuICBjb25zdHJ1Y3Rvcihjb25maWc/KSB7XG4gICAgaWYoY29uZmlnKSB7XG4gICAgICB0aGlzLnNldHVwQ2xpZW50KGNvbmZpZyB8fCB7fSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQWxsb3cganVzdCBwYXNzaW5nIGEgc2luZ2xlIGV2ZW50IHRvIHNldHVwIHRoZSBjbGllbnQgZm9yIGVhc2Ugb2YgdXNlXG4gIGFzeW5jIHNldHVwQ2xpZW50KHtyZXF1ZXN0Q29udGV4dH06IFdlYlNvY2tldENsaWVudENvbnRleHQpIHtcbiAgICBpZighdGhpcy5jbGllbnQgJiYgcmVxdWVzdENvbnRleHQpIHtcbiAgICAgIGNvbnN0IHthcGlJZCwgZG9tYWluTmFtZSwgc3RhZ2V9ID0gcmVxdWVzdENvbnRleHQ7XG4gICAgICBsZXQgdXBkYXRlZERvbWFpbk5hbWU6IHN0cmluZyA9IGRvbWFpbk5hbWU7XG5cbiAgICAgIGlmKGFwaUlkKSB7XG4gICAgICAgIHVwZGF0ZWREb21haW5OYW1lID0gYCR7YXBpSWR9LmV4ZWN1dGUtYXBpLiR7cHJvY2Vzcy5lbnYuQVBJX1JFR0lPTn0uYW1hem9uYXdzLmNvbWA7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuY2xpZW50ID0gbmV3IEFwaUdhdGV3YXlNYW5hZ2VtZW50QXBpKHtcbiAgICAgICAgY3JlZGVudGlhbHM6IENvbmZpZy5nZXQoJ2F3cy5jcmVkZW50aWFscycpLFxuICAgICAgICBlbmRwb2ludDogYGh0dHBzOi8vJHt1cGRhdGVkRG9tYWluTmFtZX0vJHtzdGFnZX1gLFxuICAgICAgICByZWdpb246IENvbmZpZy5nZXQoJ2F3cy5yZWdpb24nKVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgc2VuZChjb25uZWN0aW9uLCBwYXlsb2FkKSB7XG4gICAgY29uc29sZS5sb2coY29ubmVjdGlvbiwgcGF5bG9hZCk7XG5cbiAgICAvLyBDaGVhdCBhbmQgYWxsb3cgZXZlbnQgdG8gYmUgcGFzc2VkIGluIHRoaXMgYWxzbyBsZXRzIHVzIGRlZmF1bHQgdG8gc2V0dXBDbGllbnQgdG9vXG4gICAgbGV0IHNvY2tldElkO1xuXG4gICAgaWYoY29ubmVjdGlvbj8ucmVxdWVzdENvbnRleHQpIHtcbiAgICAgIGF3YWl0IHRoaXMuc2V0dXBDbGllbnQoY29ubmVjdGlvbik7XG4gICAgICBjb25zdCB7c29ja2V0SWQ6IHVwZGF0ZWRTb2NrZXRJZH0gPSBjb25uZWN0aW9uLnJlcXVlc3RDb250ZXh0O1xuICAgICAgc29ja2V0SWQgPSB1cGRhdGVkU29ja2V0SWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNvY2tldElkID0gY29ubmVjdGlvbjtcbiAgICB9XG5cbiAgICBhd2FpdCB0aGlzLmNsaWVudC5wb3N0VG9Db25uZWN0aW9uKHtDb25uZWN0aW9uSWQ6IHNvY2tldElkLCBEYXRhOiBKU09OLnN0cmluZ2lmeShwYXlsb2FkKX0pXG4gICAgICAucHJvbWlzZSgpXG4gICAgICAuY2F0Y2goYXN5bmMgKHBvc3RFcnJvcikgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeShwb3N0RXJyb3IpKTtcblxuICAgICAgICBpZihwb3N0RXJyb3Iuc3RhdHVzQ29kZSA9PT0gNDEwKSB7XG4gICAgICAgICAgLy8gRGlzY29ubmVjdCBjbGllbnRcbiAgICAgICAgICBhd2FpdCByZW1vdmVTb2NrZXQoc29ja2V0SWQpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUEsNENBQXNDO0FBQ3RDLG1CQUErQztBQUMvQyxzQkFBNEI7QUFHNUIsbUJBQTZCO0FBQzdCLG9CQUFxQjtBQUVyQiwyQkFBb0I7QUFJYixNQUFNLFlBQVksT0FBTyxVQUFrQixVQUFnRDtBQUNoRyxRQUFNLFNBQWlCO0FBQ3ZCLFFBQU0scUJBQXlCLDBCQUFZLFVBQVUsRUFBRTtBQUN2RCxRQUFNLGtCQUFzQiwwQkFBWSxLQUFLO0FBRTdDLE1BQUk7QUFDRixVQUFNLGVBQXFCLDRCQUFNLFFBQVEsSUFBSSxpQkFBaUI7QUFDOUQsVUFBTSxPQUFPLFVBQU0sNkJBQWUsRUFBQyxVQUFVLFNBQVMsS0FBSSxHQUFHLFdBQVc7QUFFeEUsUUFBRyxDQUFDLE1BQU07QUFDUixZQUFNLElBQUksTUFBTSxjQUFjO0FBQUEsSUFDaEM7QUFFQSxVQUFNLFNBQVM7QUFBQSxNQUNiLFVBQVU7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
|
|
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,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL2FyYW5nb0FkYXB0ZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7cGFyc2VBcmFuZ29JZCwgcGFyc2VJZCwgcGFyc2VOdW19IGZyb20gJ0BubGFicy91dGlscyc7XG5cbmltcG9ydCB7RG9jdW1lbnRUeXBlfSBmcm9tICcuLi90eXBlcy9hcmFuZ29kYi50eXBlcyc7XG5pbXBvcnQge3JlbW92ZUVtcHR5S2V5c30gZnJvbSAnLi4vdXRpbHMvYWRhcHRlclV0aWxzJztcblxuZXhwb3J0IGNvbnN0IHBhcnNlRG9jdW1lbnQgPSAoZG9jOiBEb2N1bWVudFR5cGUpOiBEb2N1bWVudFR5cGUgPT4ge1xuICBjb25zdCB7XG4gICAgX2lkLFxuICAgIF9rZXksXG4gICAgYWRkZWQsXG4gICAgaWQsXG4gICAgbW9kaWZpZWRcbiAgfSA9IGRvYztcblxuICByZXR1cm4gcmVtb3ZlRW1wdHlLZXlzKHtcbiAgICAuLi5kb2MsXG4gICAgX2lkOiBfaWQgJiYgcGFyc2VBcmFuZ29JZChfaWQpLFxuICAgIF9rZXk6IF9rZXkgJiYgcGFyc2VJZChfa2V5KSxcbiAgICBhZGRlZDogYWRkZWQgJiYgcGFyc2VOdW0oYWRkZWQsIDEzKSxcbiAgICBpZDogcGFyc2VBcmFuZ29JZChfaWQgfHwgaWQpLFxuICAgIG1vZGlmaWVkOiBtb2RpZmllZCAmJiBwYXJzZU51bShtb2RpZmllZCwgMTMpXG4gIH0pO1xufTsiXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxtQkFBK0M7QUFHL0MsMEJBQThCO0FBRXZCLE1BQU0sZ0JBQWdCLENBQUMsUUFBb0M7QUFDaEUsUUFBTTtBQUFBLElBQ0o7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsRUFDRixJQUFJO0FBRUosYUFBTyxxQ0FBZ0I7QUFBQSxJQUNyQixHQUFHO0FBQUEsSUFDSCxLQUFLLFdBQU8sNEJBQWMsR0FBRztBQUFBLElBQzdCLE1BQU0sWUFBUSxzQkFBUSxJQUFJO0FBQUEsSUFDMUIsT0FBTyxhQUFTLHVCQUFTLE9BQU8sRUFBRTtBQUFBLElBQ2xDLFFBQUksNEJBQWMsT0FBTyxFQUFFO0FBQUEsSUFDM0IsVUFBVSxnQkFBWSx1QkFBUyxVQUFVLEVBQUU7QUFBQSxFQUM3QyxDQUFDO0FBQ0g7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
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+IHBlcmZvcm1Db250ZW50VHJhbnNmb3JtYXRpb24oY29udGVudCk7Il0sCiAgIm1hcHBpbmdzIjogIkFBSUEsT0FBUSxpQkFBQUEsRUFBZSxXQUFBQyxFQUFTLGVBQUFDLE1BQWtCLGVBQ2xELE9BQVEsS0FBQUMsTUFBUSxNQUVoQixPQUFRLGlCQUFBQyxNQUFvQixrQkFFNUIsT0FBUSxtQkFBQUMsTUFBc0Isd0JBRXZCLE1BQU1DLFVBQStCLEtBQU0sQ0FDaEQsWUFBWUMsRUFBd0JDLEVBQWdCLENBQ2xELE1BQU1ELENBQU8sRUFEcUIsV0FBQUMsRUFFbEMsS0FBSyxLQUFPLHdCQUNkLENBQ0YsQ0FFQSxNQUFNQyxFQUFnQk4sRUFBRSxPQUFPLENBQzdCLFVBQVdBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDL0IsSUFBS0EsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFHLGlCQUFpQixFQUFFLElBQUksSUFBSyxzQ0FBc0MsRUFDekYsT0FBUUEsRUFBRSxLQUFLLENBQUMsS0FBTSxLQUFNLEtBQU0sS0FBTSxLQUFNLElBQUksRUFBRyxDQUNuRCxTQUFVLEtBQU8sQ0FBQyxRQUFTLCtDQUErQyxFQUM1RSxDQUFDLEVBQ0QsUUFBU0EsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFHLHFCQUFx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Z0JzQixDQUFXLENBQ3BDLEVBRWFDLEVBQXNCaEIsR0FBc0NHLEVBQTZCSCxDQUFPIiwKICAibmFtZXMiOiBbInBhcnNlQXJhbmdvSWQiLCAicGFyc2VJZCIsICJwYXJzZVN0cmluZyIsICJ6IiwgInBhcnNlRG9jdW1lbnQiLCAicmVtb3ZlRW1wdHlLZXlzIiwgIkNvbnRlbnRWYWxpZGF0aW9uRXJyb3IiLCAibWVzc2FnZSIsICJmaWVsZCIsICJjb250ZW50U2NoZW1hIiwgImNvbnRlbnRJbnB1dFNjaGVtYSIsICJwYXJzZUNvbnRlbnQiLCAiY29udGVudCIsICJlcnJvciIsICJwYXJzZUNvbnRlbnRJbnB1dCIsICJwZXJmb3JtQ29udGVudFRyYW5zZm9ybWF0aW9uIiwgIl9pZCIsICJfa2V5IiwgImNvbnRlbnRJZCIsICJpZCIsICJrZXkiLCAibG9jYWxlIiwgImNvbnRlbnRUZXh0IiwgImRlc2NyaXB0aW9uIiwgImNhdGVnb3J5IiwgImlzQWN0aXZlIiwgInVzZXJJZCIsICJ0cmFuc2Zvcm1lZCIsICJwYXJzZUNvbnRlbnRGcm9tRGIiXQp9Cg==
|
|
@@ -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
|
|
@@ -1,40 +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 imageAdapter_exports = {};
|
|
19
|
-
__export(imageAdapter_exports, {
|
|
20
|
-
parseImage: () => parseImage
|
|
21
|
-
});
|
|
22
|
-
module.exports = __toCommonJS(imageAdapter_exports);
|
|
23
|
-
var import_utils = require("@nlabs/utils");
|
|
24
|
-
var import_arangoAdapter = require("./arangoAdapter");
|
|
25
|
-
var import_adapterUtils = require("../utils/adapterUtils");
|
|
26
|
-
const parseImage = (image) => {
|
|
27
|
-
const {
|
|
28
|
-
_key: imageId,
|
|
29
|
-
name
|
|
30
|
-
} = image;
|
|
31
|
-
return (0, import_adapterUtils.removeEmptyKeys)({
|
|
32
|
-
...(0, import_arangoAdapter.parseDocument)(image),
|
|
33
|
-
imageId: imageId ? (0, import_utils.parseArangoId)(imageId) : void 0
|
|
34
|
-
});
|
|
35
|
-
};
|
|
36
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
37
|
-
0 && (module.exports = {
|
|
38
|
-
parseImage
|
|
39
|
-
});
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL2ltYWdlQWRhcHRlci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHtwYXJzZUFyYW5nb0lkfSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuXG5pbXBvcnQge3BhcnNlRG9jdW1lbnR9IGZyb20gJy4vYXJhbmdvQWRhcHRlcic7XG5pbXBvcnQge3JlbW92ZUVtcHR5S2V5c30gZnJvbSAnLi4vdXRpbHMvYWRhcHRlclV0aWxzJztcblxuaW1wb3J0IHR5cGUge0ltYWdlVHlwZX0gZnJvbSAnLi4vdHlwZXMvaW1hZ2VzLnR5cGVzJztcblxuZXhwb3J0IGNvbnN0IHBhcnNlSW1hZ2UgPSAoaW1hZ2U6IEltYWdlVHlwZSk6IEltYWdlVHlwZSA9PiB7XG4gIGNvbnN0IHtcbiAgICBfa2V5OiBpbWFnZUlkLFxuICAgIG5hbWVcbiAgfSA9IGltYWdlO1xuXG4gIHJldHVybiByZW1vdmVFbXB0eUtleXMoe1xuICAgIC4uLnBhcnNlRG9jdW1lbnQoaW1hZ2UpLFxuICAgIGltYWdlSWQ6IGltYWdlSWQgPyBwYXJzZUFyYW5nb0lkKGltYWdlSWQpIDogdW5kZWZpbmVkXG4gIH0pO1xufTtcblxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsbUJBQTRCO0FBRTVCLDJCQUE0QjtBQUM1QiwwQkFBOEI7QUFJdkIsTUFBTSxhQUFhLENBQUMsVUFBZ0M7QUFDekQsUUFBTTtBQUFBLElBQ0osTUFBTTtBQUFBLElBQ047QUFBQSxFQUNGLElBQUk7QUFFSixhQUFPLHFDQUFnQjtBQUFBLElBQ3JCLE9BQUcsb0NBQWMsS0FBSztBQUFBLElBQ3RCLFNBQVMsY0FBVSw0QkFBYyxPQUFPLElBQUk7QUFBQSxFQUM5QyxDQUFDO0FBQ0g7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
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
|
|
@@ -1,49 +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 messageAdapter_exports = {};
|
|
19
|
-
__export(messageAdapter_exports, {
|
|
20
|
-
parseMessage: () => parseMessage
|
|
21
|
-
});
|
|
22
|
-
module.exports = __toCommonJS(messageAdapter_exports);
|
|
23
|
-
var import_utils = require("@nlabs/utils");
|
|
24
|
-
var import_arangoAdapter = require("./arangoAdapter");
|
|
25
|
-
var import_fileAdapter = require("./fileAdapter");
|
|
26
|
-
var import_imageAdapter = require("./imageAdapter");
|
|
27
|
-
var import_adapterUtils = require("../utils/adapterUtils");
|
|
28
|
-
const parseMessage = (message) => {
|
|
29
|
-
const {
|
|
30
|
-
_key: messageId,
|
|
31
|
-
content,
|
|
32
|
-
files,
|
|
33
|
-
images,
|
|
34
|
-
saved
|
|
35
|
-
} = message;
|
|
36
|
-
return (0, import_adapterUtils.removeEmptyKeys)({
|
|
37
|
-
...(0, import_arangoAdapter.parseDocument)(message),
|
|
38
|
-
content,
|
|
39
|
-
files: Array.isArray(files) ? files.map(import_fileAdapter.parseFile) : void 0,
|
|
40
|
-
images: Array.isArray(images) ? images.map(import_imageAdapter.parseImage) : void 0,
|
|
41
|
-
messageId: messageId ? (0, import_utils.parseArangoId)(messageId) : void 0,
|
|
42
|
-
saved: !!saved
|
|
43
|
-
});
|
|
44
|
-
};
|
|
45
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
46
|
-
0 && (module.exports = {
|
|
47
|
-
parseMessage
|
|
48
|
-
});
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL21lc3NhZ2VBZGFwdGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQge3BhcnNlQXJhbmdvSWR9IGZyb20gJ0BubGFicy91dGlscyc7XG5cbmltcG9ydCB7cGFyc2VEb2N1bWVudH0gZnJvbSAnLi9hcmFuZ29BZGFwdGVyJztcbmltcG9ydCB7cGFyc2VGaWxlfSBmcm9tICcuL2ZpbGVBZGFwdGVyJztcbmltcG9ydCB7cGFyc2VJbWFnZX0gZnJvbSAnLi9pbWFnZUFkYXB0ZXInO1xuaW1wb3J0IHtyZW1vdmVFbXB0eUtleXN9IGZyb20gJy4uL3V0aWxzL2FkYXB0ZXJVdGlscyc7XG5cbmltcG9ydCB0eXBlIHtNZXNzYWdlVHlwZX0gZnJvbSAnLi4vdHlwZXMvbWVzc2FnZXMudHlwZXMnO1xuXG5leHBvcnQgY29uc3QgcGFyc2VNZXNzYWdlID0gKG1lc3NhZ2U6IE1lc3NhZ2VUeXBlKTogTWVzc2FnZVR5cGUgPT4ge1xuICBjb25zdCB7XG4gICAgX2tleTogbWVzc2FnZUlkLFxuICAgIGNvbnRlbnQsXG4gICAgZmlsZXMsXG4gICAgaW1hZ2VzLFxuICAgIHNhdmVkXG4gIH0gPSBtZXNzYWdlO1xuXG5cbiAgcmV0dXJuIHJlbW92ZUVtcHR5S2V5cyh7XG4gICAgLi4ucGFyc2VEb2N1bWVudChtZXNzYWdlKSxcbiAgICBjb250ZW50LFxuICAgIGZpbGVzOiBBcnJheS5pc0FycmF5KGZpbGVzKSA/IGZpbGVzLm1hcChwYXJzZUZpbGUpIDogdW5kZWZpbmVkLFxuICAgIGltYWdlczogQXJyYXkuaXNBcnJheShpbWFnZXMpID8gaW1hZ2VzLm1hcChwYXJzZUltYWdlKSA6IHVuZGVmaW5lZCxcbiAgICBtZXNzYWdlSWQ6IG1lc3NhZ2VJZCA/IHBhcnNlQXJhbmdvSWQobWVzc2FnZUlkKSA6IHVuZGVmaW5lZCxcbiAgICBzYXZlZDogISFzYXZlZFxuICB9KTtcbn07XG5cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLG1CQUE0QjtBQUU1QiwyQkFBNEI7QUFDNUIseUJBQXdCO0FBQ3hCLDBCQUF5QjtBQUN6QiwwQkFBOEI7QUFJdkIsTUFBTSxlQUFlLENBQUMsWUFBc0M7QUFDakUsUUFBTTtBQUFBLElBQ0osTUFBTTtBQUFBLElBQ047QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxFQUNGLElBQUk7QUFHSixhQUFPLHFDQUFnQjtBQUFBLElBQ3JCLE9BQUcsb0NBQWMsT0FBTztBQUFBLElBQ3hCO0FBQUEsSUFDQSxPQUFPLE1BQU0sUUFBUSxLQUFLLElBQUksTUFBTSxJQUFJLDRCQUFTLElBQUk7QUFBQSxJQUNyRCxRQUFRLE1BQU0sUUFBUSxNQUFNLElBQUksT0FBTyxJQUFJLDhCQUFVLElBQUk7QUFBQSxJQUN6RCxXQUFXLGdCQUFZLDRCQUFjLFNBQVMsSUFBSTtBQUFBLElBQ2xELE9BQU8sQ0FBQyxDQUFDO0FBQUEsRUFDWCxDQUFDO0FBQ0g7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
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==
|