@nlabs/metropolisjs 0.1.1 → 0.1.2
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/FACTORY_PATTERN_GUIDE.md +244 -0
- package/README.md +332 -0
- package/examples/factory-pattern-usage.ts +283 -0
- package/lex.config.mjs +17 -0
- package/lib/actions/eventActions/eventActions.d.ts +45 -0
- package/lib/actions/eventActions/eventActions.js +2 -0
- package/lib/actions/imageActions/imageActions.d.ts +56 -0
- package/lib/actions/imageActions/imageActions.js +2 -0
- package/lib/actions/index.d.ts +9 -0
- package/lib/actions/index.js +2 -0
- package/lib/actions/locationActions/locationActions.d.ts +58 -0
- package/lib/actions/locationActions/locationActions.js +2 -0
- package/lib/actions/messageActions/messageActions.d.ts +54 -0
- package/lib/actions/messageActions/messageActions.js +2 -0
- package/lib/actions/postActions/postActions.d.ts +56 -0
- package/lib/actions/postActions/postActions.js +2 -0
- package/lib/actions/profileActions/profileActions.d.ts +50 -0
- package/lib/actions/profileActions/profileActions.js +2 -0
- package/lib/actions/reactionActions/reactionActions.d.ts +52 -0
- package/lib/actions/reactionActions/reactionActions.js +2 -0
- package/lib/actions/sseActions/sseActions.d.ts +37 -0
- package/lib/actions/sseActions/sseActions.js +2 -0
- package/lib/actions/tagActions/tagActions.d.ts +55 -0
- package/lib/actions/tagActions/tagActions.js +2 -0
- package/lib/actions/userActions/userActions.d.ts +131 -0
- package/lib/actions/userActions/userActions.js +2 -0
- package/lib/actions/websocketActions/websocketActions.d.ts +31 -0
- package/lib/actions/websocketActions/websocketActions.js +2 -0
- package/lib/adapters/arangoAdapter/arangoAdapter.d.ts +20 -0
- package/lib/adapters/arangoAdapter/arangoAdapter.js +2 -0
- package/lib/adapters/contentAdapter/contentAdapter.d.ts +31 -0
- package/lib/adapters/contentAdapter/contentAdapter.js +2 -0
- package/lib/adapters/conversationAdapter/conversationAdapter.d.ts +23 -0
- package/lib/adapters/conversationAdapter/conversationAdapter.js +2 -0
- package/lib/adapters/eventAdapter/eventAdapter.d.ts +43 -0
- package/lib/adapters/eventAdapter/eventAdapter.js +2 -0
- package/lib/adapters/fileAdapter/fileAdapter.d.ts +29 -0
- package/lib/adapters/fileAdapter/fileAdapter.js +2 -0
- package/lib/adapters/imageAdapter/imageAdapter.d.ts +31 -0
- package/lib/adapters/imageAdapter/imageAdapter.js +2 -0
- package/lib/adapters/index.d.ts +16 -0
- package/lib/adapters/index.js +2 -0
- package/lib/adapters/locationAdapter/locationAdapter.d.ts +27 -0
- package/lib/adapters/locationAdapter/locationAdapter.js +2 -0
- package/lib/adapters/messageAdapter/messageAdapter.d.ts +27 -0
- package/lib/adapters/messageAdapter/messageAdapter.js +2 -0
- package/lib/adapters/personaAdapter/personaAdapter.d.ts +18 -0
- package/lib/adapters/personaAdapter/personaAdapter.js +2 -0
- package/lib/adapters/postAdapter/postAdapter.d.ts +32 -0
- package/lib/adapters/postAdapter/postAdapter.js +2 -0
- package/lib/adapters/profileAdapter/profileAdapter.d.ts +32 -0
- package/lib/adapters/profileAdapter/profileAdapter.js +2 -0
- package/lib/adapters/reactionAdapter/reactionAdapter.d.ts +20 -0
- package/lib/adapters/reactionAdapter/reactionAdapter.js +2 -0
- package/lib/adapters/reaktorAdapter/reaktorAdapter.d.ts +16 -0
- package/lib/adapters/reaktorAdapter/reaktorAdapter.js +2 -0
- package/lib/adapters/sessionAdapter/sessionAdapter.d.ts +23 -0
- package/lib/adapters/sessionAdapter/sessionAdapter.js +2 -0
- package/lib/adapters/tagAdapter/tagAdapter.d.ts +20 -0
- package/lib/adapters/tagAdapter/tagAdapter.js +2 -0
- package/lib/adapters/userAdapter/userAdapter.d.ts +55 -0
- package/lib/adapters/userAdapter/userAdapter.js +2 -0
- package/lib/config/index.d.ts +31 -0
- package/lib/config/index.js +2 -0
- package/lib/constants/MetropolisConstants.d.ts +14 -0
- package/lib/constants/MetropolisConstants.js +2 -0
- package/lib/graphql/message.d.ts +2 -0
- package/lib/graphql/message.js +18 -0
- package/lib/graphql/notification.d.ts +2 -0
- package/lib/graphql/notification.js +18 -0
- package/lib/graphql/session.d.ts +1 -0
- package/lib/graphql/session.js +16 -0
- package/lib/index.d.ts +29 -0
- package/lib/index.js +2 -0
- package/lib/stores/appStore.d.ts +22 -0
- package/lib/stores/appStore.js +2 -0
- package/lib/stores/eventStore.d.ts +34 -0
- package/lib/stores/eventStore.js +2 -0
- package/lib/stores/imageStore.d.ts +35 -0
- package/lib/stores/imageStore.js +2 -0
- package/lib/stores/index.d.ts +15 -0
- package/lib/stores/index.js +2 -0
- package/lib/stores/locationStore.d.ts +33 -0
- package/lib/stores/locationStore.js +2 -0
- package/lib/stores/messageStore.d.ts +36 -0
- package/lib/stores/messageStore.js +2 -0
- package/lib/stores/postStore.d.ts +33 -0
- package/lib/stores/postStore.js +2 -0
- package/lib/stores/profileStore.d.ts +24 -0
- package/lib/stores/profileStore.js +2 -0
- package/lib/stores/reactionStore.d.ts +24 -0
- package/lib/stores/reactionStore.js +2 -0
- package/lib/stores/tagStore.d.ts +31 -0
- package/lib/stores/tagStore.js +2 -0
- package/lib/stores/userStore.d.ts +73 -0
- package/lib/stores/userStore.js +2 -0
- package/lib/stores/websocketStore.d.ts +23 -0
- package/lib/stores/websocketStore.js +2 -0
- package/lib/utils/MetropolisProvider.d.ts +34 -0
- package/lib/utils/MetropolisProvider.js +2 -0
- package/lib/utils/actionFactory.d.ts +22 -0
- package/lib/utils/actionFactory.js +2 -0
- package/lib/utils/api.d.ts +43 -0
- package/lib/utils/api.js +7 -0
- package/lib/utils/app.d.ts +6 -0
- package/lib/utils/app.js +2 -0
- package/lib/utils/baseActionFactory.d.ts +34 -0
- package/lib/utils/baseActionFactory.js +2 -0
- package/lib/utils/dateUtils.d.ts +2 -0
- package/lib/utils/dateUtils.js +2 -0
- package/lib/utils/file.d.ts +1 -0
- package/lib/utils/file.js +2 -0
- package/lib/utils/location.d.ts +9 -0
- package/lib/utils/location.js +2 -0
- package/lib/utils/useMetropolis.d.ts +12 -0
- package/lib/utils/useMetropolis.js +2 -0
- package/lib/utils/validatorFactory.d.ts +48 -0
- package/lib/utils/validatorFactory.js +2 -0
- package/package.json +33 -27
- package/tsconfig.lint.json +25 -0
- package/tsconfig.test.json +14 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export interface FileType {
|
|
2
|
+
_from?: string;
|
|
3
|
+
_id?: string;
|
|
4
|
+
_key?: string;
|
|
5
|
+
_oldRev?: string;
|
|
6
|
+
_rev?: string;
|
|
7
|
+
_to?: string;
|
|
8
|
+
base64?: string;
|
|
9
|
+
buffer?: any;
|
|
10
|
+
description?: string;
|
|
11
|
+
fileId?: string;
|
|
12
|
+
fileSize?: number;
|
|
13
|
+
fileType?: string;
|
|
14
|
+
id?: string;
|
|
15
|
+
itemId?: string;
|
|
16
|
+
itemType?: string;
|
|
17
|
+
name?: string;
|
|
18
|
+
url?: string;
|
|
19
|
+
userId?: string;
|
|
20
|
+
[key: string]: any;
|
|
21
|
+
}
|
|
22
|
+
export declare class FileValidationError extends Error {
|
|
23
|
+
field?: string | undefined;
|
|
24
|
+
constructor(message: string, field?: string | undefined);
|
|
25
|
+
}
|
|
26
|
+
export declare const validateFileInput: (file: unknown) => FileType;
|
|
27
|
+
export declare const formatFileOutput: (file: FileType) => FileType;
|
|
28
|
+
export declare const getFileType: (file: FileType) => string;
|
|
29
|
+
export declare const parseFile: (file: FileType) => FileType;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{parseArangoId as I,parseId as a,parseNum as h,parseString as T,parseUrl as _}from"@nlabs/utils";import{z as e}from"zod";import{parseDocument as b}from"../arangoAdapter/arangoAdapter";import{parseReaktorContent as w,parseReaktorType as x}from"../reaktorAdapter/reaktorAdapter";class p extends Error{constructor(t,n){super(t);this.field=n;this.name="FileValidationError"}}const k=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 k.parse(i)}catch(r){if(r instanceof e.ZodError){const t=r.issues.map(n=>`${n.path.join(".")}: ${n.message}`).join(", ");throw new p(`File validation failed: ${t}`)}throw r}},U=i=>i,v=i=>{const{fileType:r,name:t}=i;if(r)return T(r,16);const n=t?.split(".")||[];switch(n.length>0?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 z(i)}catch(r){throw r instanceof p?r:new p(`File parsing failed: ${r instanceof Error?r.message:"Unknown error"}`)}},z=i=>{const{_id:r,_key:t,base64:n,buffer:s,description:l,fileId:o,fileSize:g,fileType:F,id:d,itemId:f,itemType:m,name:c,url:u,userId:y}=i;return{...b(i),...n&&{base64:n},...s&&{buffer:s},...l&&{description:w(l)},...(t||o)&&{fileId:a(t||o||"")},...(r||d||t||o)&&{id:I(r||d||`files/${t||o}`)},...g!==void 0&&{fileSize:h(g)},...F&&{fileType:v(i)},...f&&{itemId:a(f)},...m&&{itemType:x(m)},...c&&{name:T(c,160)},...u&&{url:_(u)},...y&&{userId:a(y)}}};export{p as FileValidationError,U as formatFileOutput,v as getFileType,V as parseFile,A as validateFileInput};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2FkYXB0ZXJzL2ZpbGVBZGFwdGVyL2ZpbGVBZGFwdGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQge3BhcnNlQXJhbmdvSWQsIHBhcnNlSWQsIHBhcnNlTnVtLCBwYXJzZVN0cmluZywgcGFyc2VVcmx9IGZyb20gJ0BubGFicy91dGlscyc7XG5pbXBvcnQge3p9IGZyb20gJ3pvZCc7XG5cbmltcG9ydCB7cGFyc2VEb2N1bWVudH0gZnJvbSAnLi4vYXJhbmdvQWRhcHRlci9hcmFuZ29BZGFwdGVyJztcbmltcG9ydCB7cGFyc2VSZWFrdG9yQ29udGVudCwgcGFyc2VSZWFrdG9yVHlwZX0gZnJvbSAnLi4vcmVha3RvckFkYXB0ZXIvcmVha3RvckFkYXB0ZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZpbGVUeXBlIHtcbiAgX2Zyb20/OiBzdHJpbmc7XG4gIF9pZD86IHN0cmluZztcbiAgX2tleT86IHN0cmluZztcbiAgX29sZFJldj86IHN0cmluZztcbiAgX3Jldj86IHN0cmluZztcbiAgX3RvPzogc3RyaW5nO1xuICBiYXNlNjQ/OiBzdHJpbmc7XG4gIGJ1ZmZlcj86IGFueTtcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGZpbGVJZD86IHN0cmluZztcbiAgZmlsZVNpemU/OiBudW1iZXI7XG4gIGZpbGVUeXBlPzogc3RyaW5nO1xuICBpZD86IHN0cmluZztcbiAgaXRlbUlkPzogc3RyaW5nO1xuICBpdGVtVHlwZT86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgdXJsPzogc3RyaW5nO1xuICB1c2VySWQ/OiBzdHJpbmc7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGNsYXNzIEZpbGVWYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIGZpZWxkPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ0ZpbGVWYWxpZGF0aW9uRXJyb3InO1xuICB9XG59XG5cbmNvbnN0IEZpbGVJbnB1dFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgX2Zyb206IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2lkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9rZXk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX29sZFJldjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfcmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF90bzogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBiYXNlNjQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgYnVmZmVyOiB6LmFueSgpLm9wdGlvbmFsKCksXG4gIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGZpbGVJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBmaWxlU2l6ZTogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBmaWxlVHlwZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBpdGVtSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgaXRlbVR5cGU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgbmFtZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB1cmw6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgdXNlcklkOiB6LnN0cmluZygpLm9wdGlvbmFsKClcbn0pLnBhc3N0aHJvdWdoKCk7XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZUZpbGVJbnB1dCA9IChmaWxlOiB1bmtub3duKTogRmlsZVR5cGUgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHZhbGlkYXRlZCA9IEZpbGVJbnB1dFNjaGVtYS5wYXJzZShmaWxlKTtcbiAgICByZXR1cm4gdmFsaWRhdGVkIGFzIEZpbGVUeXBlO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiB6LlpvZEVycm9yKSB7XG4gICAgICBjb25zdCBmaWVsZEVycm9ycyA9IGVycm9yLmlzc3Vlcy5tYXAoKGUpID0+IGAke2UucGF0aC5qb2luKCcuJyl9OiAke2UubWVzc2FnZX1gKS5qb2luKCcsICcpO1xuICAgICAgdGhyb3cgbmV3IEZpbGVWYWxpZGF0aW9uRXJyb3IoYEZpbGUgdmFsaWRhdGlvbiBmYWlsZWQ6ICR7ZmllbGRFcnJvcnN9YCk7XG4gICAgfVxuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZm9ybWF0RmlsZU91dHB1dCA9IChmaWxlOiBGaWxlVHlwZSk6IEZpbGVUeXBlID0+IGZpbGU7XG5cbmV4cG9ydCBjb25zdCBnZXRGaWxlVHlwZSA9IChmaWxlOiBGaWxlVHlwZSk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IHtmaWxlVHlwZSwgbmFtZX0gPSBmaWxlO1xuXG4gIGlmKGZpbGVUeXBlKSB7XG4gICAgcmV0dXJuIHBhcnNlU3RyaW5nKGZpbGVUeXBlLCAxNik7XG4gIH1cblxuICBjb25zdCBuYW1lQXJyOiBzdHJpbmdbXSA9IG5hbWU/LnNwbGl0KCcuJykgfHwgW107XG4gIGNvbnN0IGV4dCA9IG5hbWVBcnIubGVuZ3RoID4gMCA/IG5hbWVBcnJbbmFtZUFyci5sZW5ndGggLSAxXSA6ICcnO1xuXG4gIHN3aXRjaChleHQpIHtcbiAgICBjYXNlICdqcGVnJzpcbiAgICBjYXNlICdqcGcnOlxuICAgICAgcmV0dXJuICdpbWFnZS9qcGVnJztcbiAgICBjYXNlICdwbmcnOlxuICAgICAgcmV0dXJuICdpbWFnZS9wbmcnO1xuICAgIGNhc2UgJ3ppcCc6XG4gICAgICByZXR1cm4gJ2FwcGxpY2F0aW9uL3ppcCc7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiAnJztcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlRmlsZSA9IChmaWxlOiBGaWxlVHlwZSk6IEZpbGVUeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJzZWQgPSBwZXJmb3JtRmlsZVRyYW5zZm9ybWF0aW9uKGZpbGUpO1xuICAgIHJldHVybiBwYXJzZWQ7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIEZpbGVWYWxpZGF0aW9uRXJyb3IpIHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRmlsZVZhbGlkYXRpb25FcnJvcihgRmlsZSBwYXJzaW5nIGZhaWxlZDogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ31gKTtcbiAgfVxufTtcblxuY29uc3QgcGVyZm9ybUZpbGVUcmFuc2Zvcm1hdGlvbiA9IChmaWxlOiBGaWxlVHlwZSk6IEZpbGVUeXBlID0+IHtcbiAgY29uc3Qge1xuICAgIF9pZCxcbiAgICBfa2V5LFxuICAgIGJhc2U2NCxcbiAgICBidWZmZXIsXG4gICAgZGVzY3JpcHRpb24sXG4gICAgZmlsZUlkLFxuICAgIGZpbGVTaXplLFxuICAgIGZpbGVUeXBlLFxuICAgIGlkLFxuICAgIGl0ZW1JZCxcbiAgICBpdGVtVHlwZSxcbiAgICBuYW1lLFxuICAgIHVybCxcbiAgICB1c2VySWRcbiAgfSA9IGZpbGU7XG5cbiAgY29uc3QgdHJhbnNmb3JtZWQgPSB7XG4gICAgLi4ucGFyc2VEb2N1bWVudChmaWxlKSxcbiAgICAuLi4oYmFzZTY0ICYmIHtiYXNlNjR9KSxcbiAgICAuLi4oYnVmZmVyICYmIHtidWZmZXJ9KSxcbiAgICAuLi4oZGVzY3JpcHRpb24gJiYge2Rlc2NyaXB0aW9uOiBwYXJzZVJlYWt0b3JDb250ZW50KGRlc2NyaXB0aW9uKX0pLFxuICAgIC4uLigoX2tleSB8fCBmaWxlSWQpICYmIHtmaWxlSWQ6IHBhcnNlSWQoX2tleSB8fCBmaWxlSWQgfHwgJycpfSksXG4gICAgLi4uKChfaWQgfHwgaWQgfHwgX2tleSB8fCBmaWxlSWQpICYmIHtpZDogcGFyc2VBcmFuZ29JZChfaWQgfHwgaWQgfHwgYGZpbGVzLyR7X2tleSB8fCBmaWxlSWR9YCl9KSxcbiAgICAuLi4oZmlsZVNpemUgIT09IHVuZGVmaW5lZCAmJiB7ZmlsZVNpemU6IHBhcnNlTnVtKGZpbGVTaXplKX0pLFxuICAgIC4uLihmaWxlVHlwZSAmJiB7ZmlsZVR5cGU6IGdldEZpbGVUeXBlKGZpbGUpfSksXG4gICAgLi4uKGl0ZW1JZCAmJiB7aXRlbUlkOiBwYXJzZUlkKGl0ZW1JZCl9KSxcbiAgICAuLi4oaXRlbVR5cGUgJiYge2l0ZW1UeXBlOiBwYXJzZVJlYWt0b3JUeXBlKGl0ZW1UeXBlKX0pLFxuICAgIC4uLihuYW1lICYmIHtuYW1lOiBwYXJzZVN0cmluZyhuYW1lLCAxNjApfSksXG4gICAgLi4uKHVybCAmJiB7dXJsOiBwYXJzZVVybCh1cmwpfSksXG4gICAgLi4uKHVzZXJJZCAmJiB7dXNlcklkOiBwYXJzZUlkKHVzZXJJZCl9KVxuICB9O1xuXG4gIHJldHVybiB0cmFuc2Zvcm1lZDtcbn07Il0sCiAgIm1hcHBpbmdzIjogIkFBQUEsT0FBUSxpQkFBQUEsRUFBZSxXQUFBQyxFQUFTLFlBQUFDLEVBQVUsZUFBQUMsRUFBYSxZQUFBQyxNQUFlLGVBQ3RFLE9BQVEsS0FBQUMsTUFBUSxNQUVoQixPQUFRLGlCQUFBQyxNQUFvQixpQ0FDNUIsT0FBUSx1QkFBQUMsRUFBcUIsb0JBQUFDLE1BQXVCLG1DQXdCN0MsTUFBTUMsVUFBNEIsS0FBTSxDQUM3QyxZQUFZQyxFQUF3QkMsRUFBZ0IsQ0FDbEQsTUFBTUQsQ0FBTyxFQURxQixXQUFBQyxFQUVsQyxLQUFLLEtBQU8scUJBQ2QsQ0FDRixDQUVBLE1BQU1DLEVBQWtCUCxFQUFFLE9BQU8sQ0FDL0IsTUFBT0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMzQixJQUFLQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQ3pCLEtBQU1BLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDMUIsUUFBU0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUM3QixLQUFNQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzFCLElBQUtBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDekIsT0FBUUEsRUFB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Q0FBUSxDQUFDLEVBQ3JELEdBQUliLEdBQVEsQ0FBQyxLQUFNbEIsRUFBWWtCLEVBQU0sR0FBRyxDQUFDLEVBQ3pDLEdBQUljLEdBQU8sQ0FBQyxJQUFLL0IsRUFBUytCLENBQUcsQ0FBQyxFQUM5QixHQUFJQyxHQUFVLENBQUMsT0FBUW5DLEVBQVFtQyxDQUFNLENBQUMsQ0FDeEMsQ0FHRiIsCiAgIm5hbWVzIjogWyJwYXJzZUFyYW5nb0lkIiwgInBhcnNlSWQiLCAicGFyc2VOdW0iLCAicGFyc2VTdHJpbmciLCAicGFyc2VVcmwiLCAieiIsICJwYXJzZURvY3VtZW50IiwgInBhcnNlUmVha3RvckNvbnRlbnQiLCAicGFyc2VSZWFrdG9yVHlwZSIsICJGaWxlVmFsaWRhdGlvbkVycm9yIiwgIm1lc3NhZ2UiLCAiZmllbGQiLCAiRmlsZUlucHV0U2NoZW1hIiwgInZhbGlkYXRlRmlsZUlucHV0IiwgImZpbGUiLCAiZXJyb3IiLCAiZmllbGRFcnJvcnMiLCAiZSIsICJmb3JtYXRGaWxlT3V0cHV0IiwgImdldEZpbGVUeXBlIiwgImZpbGVUeXBlIiwgIm5hbWUiLCAibmFtZUFyciIsICJwYXJzZUZpbGUiLCAicGVyZm9ybUZpbGVUcmFuc2Zvcm1hdGlvbiIsICJfaWQiLCAiX2tleSIsICJiYXNlNjQiLCAiYnVmZmVyIiwgImRlc2NyaXB0aW9uIiwgImZpbGVJZCIsICJmaWxlU2l6ZSIsICJpZCIsICJpdGVtSWQiLCAiaXRlbVR5cGUiLCAidXJsIiwgInVzZXJJZCJdCn0K
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export interface ImageType {
|
|
2
|
+
_id?: string;
|
|
3
|
+
_key?: string;
|
|
4
|
+
_rev?: string;
|
|
5
|
+
_oldRev?: string;
|
|
6
|
+
_from?: string;
|
|
7
|
+
_to?: string;
|
|
8
|
+
bucket?: string;
|
|
9
|
+
color?: string;
|
|
10
|
+
id?: string;
|
|
11
|
+
imageId?: string;
|
|
12
|
+
height?: number;
|
|
13
|
+
model?: string;
|
|
14
|
+
make?: string;
|
|
15
|
+
s3Options?: any;
|
|
16
|
+
taken?: number;
|
|
17
|
+
thumb?: string;
|
|
18
|
+
fileType?: string;
|
|
19
|
+
type?: string;
|
|
20
|
+
url?: string;
|
|
21
|
+
width?: number;
|
|
22
|
+
name?: string;
|
|
23
|
+
[key: string]: any;
|
|
24
|
+
}
|
|
25
|
+
export declare class ImageValidationError extends Error {
|
|
26
|
+
field?: string | undefined;
|
|
27
|
+
constructor(message: string, field?: string | undefined);
|
|
28
|
+
}
|
|
29
|
+
export declare const validateImageInput: (image: unknown) => ImageType;
|
|
30
|
+
export declare const formatImageOutput: (image: ImageType) => ImageType;
|
|
31
|
+
export declare const parseImage: (image: ImageType) => ImageType;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{parseArangoId as _,parseId as w,parseNum as s,parseString as i,parseUrl as v}from"@nlabs/utils";import{z as t}from"zod";import{parseDocument as E,removeEmptyKeys as x}from"../arangoAdapter/arangoAdapter";class p extends Error{constructor(n,o){super(n);this.field=o;this.name="ImageValidationError"}}const $=t.object({bucket:t.string().optional(),color:t.string().optional(),imageId:t.string().optional(),height:t.number().optional(),model:t.string().optional(),make:t.string().optional(),s3Options:t.any().optional(),taken:t.number().optional(),thumb:t.string().optional(),fileType:t.string().optional(),type:t.string().optional(),url:t.string().optional(),width:t.number().optional(),name:t.string().optional(),_id:t.string().optional(),_key:t.string().optional(),_rev:t.string().optional(),_oldRev:t.string().optional(),_from:t.string().optional(),_to:t.string().optional()}).passthrough(),V=r=>{try{return $.parse(r)}catch(e){if(e instanceof t.ZodError){const n=e.issues.map(o=>`${o.path.join(".")}: ${o.message}`).join(", ");throw new p(`Image validation failed: ${n}`)}throw e}},z=r=>r,A=r=>{try{return O(r)}catch(e){throw e instanceof p?e:new p(`Image parsing failed: ${e instanceof Error?e.message:"Unknown error"}`)}},O=r=>{const{_id:e,_key:n,bucket:o,color:g,id:m,imageId:a,height:l,model:d,make:u,s3Options:c,taken:y,thumb:f,fileType:h,type:I,url:k,width:b,name:T}=r;return x({...E(r),...(n||a)&&{imageId:w(n||a||"")},...(e||m||n||a)&&{id:_(e||m||`images/${n||a}`)},...o&&{bucket:o},...g&&{color:g},...l!==void 0&&{height:s(l)},...d&&{model:i(d,160)},...u&&{make:i(u,160)},...c&&{s3Options:c},...y!==void 0&&{taken:s(y)},...f&&{thumb:f},...h&&{fileType:i(h,16)},...I&&{type:i(I,16)},...k&&{url:v(k)},...b!==void 0&&{width:s(b)},...T&&{name:i(T,160)}})};export{p as ImageValidationError,z as formatImageOutput,A as parseImage,V as validateImageInput};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2FkYXB0ZXJzL2ltYWdlQWRhcHRlci9pbWFnZUFkYXB0ZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7cGFyc2VBcmFuZ29JZCwgcGFyc2VJZCwgcGFyc2VOdW0sIHBhcnNlU3RyaW5nLCBwYXJzZVVybH0gZnJvbSAnQG5sYWJzL3V0aWxzJztcbmltcG9ydCB7en0gZnJvbSAnem9kJztcblxuaW1wb3J0IHtwYXJzZURvY3VtZW50LCByZW1vdmVFbXB0eUtleXN9IGZyb20gJy4uL2FyYW5nb0FkYXB0ZXIvYXJhbmdvQWRhcHRlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW1hZ2VUeXBlIHtcbiAgX2lkPzogc3RyaW5nO1xuICBfa2V5Pzogc3RyaW5nO1xuICBfcmV2Pzogc3RyaW5nO1xuICBfb2xkUmV2Pzogc3RyaW5nO1xuICBfZnJvbT86IHN0cmluZztcbiAgX3RvPzogc3RyaW5nO1xuICBidWNrZXQ/OiBzdHJpbmc7XG4gIGNvbG9yPzogc3RyaW5nO1xuICBpZD86IHN0cmluZztcbiAgaW1hZ2VJZD86IHN0cmluZztcbiAgaGVpZ2h0PzogbnVtYmVyO1xuICBtb2RlbD86IHN0cmluZztcbiAgbWFrZT86IHN0cmluZztcbiAgczNPcHRpb25zPzogYW55O1xuICB0YWtlbj86IG51bWJlcjtcbiAgdGh1bWI/OiBzdHJpbmc7XG4gIGZpbGVUeXBlPzogc3RyaW5nO1xuICB0eXBlPzogc3RyaW5nO1xuICB1cmw/OiBzdHJpbmc7XG4gIHdpZHRoPzogbnVtYmVyO1xuICBuYW1lPzogc3RyaW5nO1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBjbGFzcyBJbWFnZVZhbGlkYXRpb25FcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nLCBwdWJsaWMgZmllbGQ/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgICB0aGlzLm5hbWUgPSAnSW1hZ2VWYWxpZGF0aW9uRXJyb3InO1xuICB9XG59XG5cbmNvbnN0IEltYWdlSW5wdXRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGJ1Y2tldDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBjb2xvcjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBpbWFnZUlkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGhlaWdodDogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBtb2RlbDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBtYWtlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHMzT3B0aW9uczogei5hbnkoKS5vcHRpb25hbCgpLFxuICB0YWtlbjogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICB0aHVtYjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBmaWxlVHlwZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB0eXBlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHVybDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB3aWR0aDogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBuYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9pZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfa2V5OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9yZXY6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX29sZFJldjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfZnJvbTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfdG86IHouc3RyaW5nKCkub3B0aW9uYWwoKVxufSkucGFzc3Rocm91Z2goKTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlSW1hZ2VJbnB1dCA9IChpbWFnZTogdW5rbm93bik6IEltYWdlVHlwZSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgdmFsaWRhdGVkID0gSW1hZ2VJbnB1dFNjaGVtYS5wYXJzZShpbWFnZSk7XG4gICAgcmV0dXJuIHZhbGlkYXRlZCBhcyBJbWFnZVR5cGU7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIHouWm9kRXJyb3IpIHtcbiAgICAgIGNvbnN0IGZpZWxkRXJyb3JzID0gZXJyb3IuaXNzdWVzLm1hcCgoZSkgPT4gYCR7ZS5wYXRoLmpvaW4oJy4nKX06ICR7ZS5tZXNzYWdlfWApLmpvaW4oJywgJyk7XG4gICAgICB0aHJvdyBuZXcgSW1hZ2VWYWxpZGF0aW9uRXJyb3IoYEltYWdlIHZhbGlkYXRpb24gZmFpbGVkOiAke2ZpZWxkRXJyb3JzfWApO1xuICAgIH1cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdEltYWdlT3V0cHV0ID0gKGltYWdlOiBJbWFnZVR5cGUpOiBJbWFnZVR5cGUgPT4gaW1hZ2U7XG5cbmV4cG9ydCBjb25zdCBwYXJzZUltYWdlID0gKGltYWdlOiBJbWFnZVR5cGUpOiBJbWFnZVR5cGUgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHBhcnNlZCA9IHBlcmZvcm1JbWFnZVRyYW5zZm9ybWF0aW9uKGltYWdlKTtcbiAgICByZXR1cm4gcGFyc2VkO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiBJbWFnZVZhbGlkYXRpb25FcnJvcikge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICAgIHRocm93IG5ldyBJbWFnZVZhbGlkYXRpb25FcnJvcihgSW1hZ2UgcGFyc2luZyBmYWlsZWQ6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCk7XG4gIH1cbn07XG5cbmNvbnN0IHBlcmZvcm1JbWFnZVRyYW5zZm9ybWF0aW9uID0gKGltYWdlOiBJbWFnZVR5cGUpOiBJbWFnZVR5cGUgPT4ge1xuICBjb25zdCB7XG4gICAgX2lkLFxuICAgIF9rZXksXG4gICAgYnVja2V0LFxuICAgIGNvbG9yLFxuICAgIGlkLFxuICAgIGltYWdlSWQsXG4gICAgaGVpZ2h0LFxuICAgIG1vZGVsLFxuICAgIG1ha2UsXG4gICAgczNPcHRpb25zLFxuICAgIHRha2VuLFxuICAgIHRodW1iLFxuICAgIGZpbGVUeXBlLFxuICAgIHR5cGUsXG4gICAgdXJsLFxuICAgIHdpZHRoLFxuICAgIG5hbWVcbiAgfSA9IGltYWdlO1xuXG4gIGNvbnN0IHRyYW5zZm9ybWVkID0gcmVtb3ZlRW1wdHlLZXlzKHtcbiAgICAuLi5wYXJzZURvY3VtZW50KGltYWdlKSxcbiAgICAuLi4oKF9rZXkgfHwgaW1hZ2VJZCkgJiYge2ltYWdlSWQ6IHBhcnNlSWQoX2tleSB8fCBpbWFnZUlkIHx8ICcnKX0pLFxuICAgIC4uLigoX2lkIHx8IGlkIHx8IF9rZXkgfHwgaW1hZ2VJZCkgJiYge2lkOiBwYXJzZUFyYW5nb0lkKF9pZCB8fCBpZCB8fCBgaW1hZ2VzLyR7X2tleSB8fCBpbWFnZUlkfWApfSksXG4gICAgLi4uKGJ1Y2tldCAmJiB7YnVja2V0fSksXG4gICAgLi4uKGNvbG9yICYmIHtjb2xvcn0pLFxuICAgIC4uLihoZWlnaHQgIT09IHVuZGVmaW5lZCAmJiB7aGVpZ2h0OiBwYXJzZU51bShoZWlnaHQpfSksXG4gICAgLi4uKG1vZGVsICYmIHttb2RlbDogcGFyc2VTdHJpbmcobW9kZWwsIDE2MCl9KSxcbiAgICAuLi4obWFrZSAmJiB7bWFrZTogcGFyc2VTdHJpbmcobWFrZSwgMTYwKX0pLFxuICAgIC4uLihzM09wdGlvbnMgJiYge3MzT3B0aW9uc30pLFxuICAgIC4uLih0YWtlbiAhPT0gdW5kZWZpbmVkICYmIHt0YWtlbjogcGFyc2VOdW0odGFrZW4pfSksXG4gICAgLi4uKHRodW1iICYmIHt0aHVtYn0pLFxuICAgIC4uLihmaWxlVHlwZSAmJiB7ZmlsZVR5cGU6IHBhcnNlU3RyaW5nKGZpbGVUeXBlLCAxNil9KSxcbiAgICAuLi4odHlwZSAmJiB7dHlwZTogcGFyc2VTdHJpbmcodHlwZSwgMTYpfSksXG4gICAgLi4uKHVybCAmJiB7dXJsOiBwYXJzZVVybCh1cmwpfSksXG4gICAgLi4uKHdpZHRoICE9PSB1bmRlZmluZWQgJiYge3dpZHRoOiBwYXJzZU51bSh3aWR0aCl9KSxcbiAgICAuLi4obmFtZSAmJiB7bmFtZTogcGFyc2VTdHJpbmcobmFtZSwgMTYwKX0pXG4gIH0pO1xuXG4gIHJldHVybiB0cmFuc2Zvcm1lZDtcbn07Il0sCiAgIm1hcHBpbmdzIjogIkFBQUEsT0FBUSxpQkFBQUEsRUFBZSxXQUFBQyxFQUFTLFlBQUFDLEVBQVUsZUFBQUMsRUFBYSxZQUFBQyxNQUFlLGVBQ3RFLE9BQVEsS0FBQUMsTUFBUSxNQUVoQixPQUFRLGlCQUFBQyxFQUFlLG1CQUFBQyxNQUFzQixpQ0EyQnRDLE1BQU1DLFVBQTZCLEtBQU0sQ0FDOUMsWUFBWUMsRUFBd0JDLEVBQWdCLENBQ2xELE1BQU1ELENBQU8sRUFEcUIsV0FBQUMsRUFFbEMsS0FBSyxLQUFPLHNCQUNkLENBQ0YsQ0FFQSxNQUFNQyxFQUFtQk4sRUFBRSxPQUFPLENBQ2hDLE9BQVFBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDNUIsTUFBT0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMzQixRQUFTQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzdCLE9BQVFBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDNUIsTUFBT0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMzQixLQUFNQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzFCLFVBQVdBLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFDNUIsTUFBT0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMzQixNQUFPQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzNCLFNBQVVBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDOUIsS0FBTUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMxQixJQUFLQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQ3pCLE1BQU9BLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDM0IsS0FBTUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMxQixJQUFLQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQ3pCLEtBQU1BLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDMUIsS0FBTUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMxQixRQUFTQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzdCLE1BQU9BLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDM0IsSUFBS0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUMzQixDQUFDLEVBQUUsWUFBWSxFQUVGTyxFQUFzQkMsR0FBOEIsQ0FDL0QsR0FBSSxDQUVGLE9BRGtCRixFQUFpQixNQUFNRSxDQUFLLENBRWhELE9BQVFDLEVBQU8sQ0FDYixHQUFHQSxhQUFpQlQsRUFBRSxTQUFVLENBQzlCLE1BQU1VLEVBQWNELEVBQU0sT0FBTyxJQUFLRSxHQUFNLEdBQUdBLEVBQUUsS0FBSyxLQUFLLEdBQUcsQ0FBQyxLQUFLQSxFQUFFLE9BQU8sRUFBRSxFQUFFLEtBQUssSUFBSSxFQUMxRixNQUFNLElBQUlSLEVBQXFCLDRCQUE0Qk8sQ0FBVyxFQUFFLENBQzFFLENBQ0EsTUFBTUQsQ0FDUixDQUNGLEVBRWFHLEVBQXFCSixHQUFnQ0EsRUFFckRLLEVBQWNMLEdBQWdDLENBQ3pELEdBQUksQ0FFRixPQURlTSxFQUEyQk4sQ0FBSyxDQUVqRCxPQUFRQyxFQUFPLENBQ2IsTUFBR0EsYUFBaUJOLEVBQ1pNLEVBRUYsSUFBSU4sRUFBcUIseUJBQXlCTSxhQUFpQixNQUFRQSxFQUFNLFFBQVUsZUFBZSxFQUFFLENBQ3BILENBQ0YsRUFFTUssRUFBOEJOLEdBQWdDLENBQ2xFLEtBQU0sQ0FDSixJQUFBTyxFQUNBLEtBQUFDLEVBQ0EsT0FBQUMsRUFDQSxNQUFBQyxFQUNBLEdBQUFDLEVBQ0EsUUFBQUMsRUFDQSxPQUFBQyxFQUNBLE1BQUFDLEVBQ0EsS0FBQUMsRUFDQSxVQUFBQyxFQUNBLE1BQUFDLEVBQ0EsTUFBQUMsRUFDQSxTQUFBQyxFQUNBLEtBQUFDLEVBQ0EsSUFBQUMsRUFDQSxNQUFBQyxFQUNBLEtBQUFDLENBQ0YsRUFBSXZCLEVBcUJKLE9BbkJvQk4sRUFBZ0IsQ0FDbEMsR0FBR0QsRUFBY08sQ0FBSyxFQUN0QixJQUFLUSxHQUFRSSxJQUFZLENBQUMsUUFBU3hCLEVBQVFvQixHQUFRSSxHQUFXLEVBQUUsQ0FBQyxFQUNqRSxJQUFLTCxHQUFPSSxHQUFNSCxHQUFRSSxJQUFZLENBQUMsR0FBSXpCLEVBQWNvQixHQUFPSSxHQUFNLFVBQVVILEdBQVFJLENBQU8sRUFBRSxDQUFDLEVBQ2xHLEdBQUlILEdBQVUsQ0FBQyxPQUFBQSxDQUFNLEVBQ3JCLEdBQUlDLEdBQVMsQ0FBQyxNQUFBQSxDQUFLLEVBQ25CLEdBQUlHLElBQVcsUUFBYSxDQUFDLE9BQVF4QixFQUFTd0IsQ0FBTSxDQUFDLEVBQ3JELEdBQUlDLEdBQVMsQ0FBQyxNQUFPeEIsRUFBWXdCLEVBQU8sR0FBRyxDQUFDLEVBQzVDLEdBQUlDLEdBQVEsQ0FBQyxLQUFNekIsRUFBWXlCLEVBQU0sR0FBRyxDQUFDLEVBQ3pDLEdBQUlDLEdBQWEsQ0FBQyxVQUFBQSxDQUFTLEVBQzNCLEdBQUlDLElBQVUsUUFBYSxDQUFDLE1BQU81QixFQUFTNEIsQ0FBSyxDQUFDLEVBQ2xELEdBQUlDLEdBQVMsQ0FBQyxNQUFBQSxDQUFLLEVBQ25CLEdBQUlDLEdBQVksQ0FBQyxTQUFVN0IsRUFBWTZCLEVBQVUsRUFBRSxDQUFDLEVBQ3BELEdBQUlDLEdBQVEsQ0FBQyxLQUFNOUIsRUFBWThCLEVBQU0sRUFBRSxDQUFDLEVBQ3hDLEdBQUlDLEdBQU8sQ0FBQyxJQUFLOUIsRUFBUzhCLENBQUcsQ0FBQyxFQUM5QixHQUFJQyxJQUFVLFFBQWEsQ0FBQyxNQUFPakMsRUFBU2lDLENBQUssQ0FBQyxFQUNsRCxHQUFJQyxHQUFRLENBQUMsS0FBTWpDLEVBQVlpQyxFQUFNLEdBQUcsQ0FBQyxDQUMzQyxDQUFDLENBR0giLAogICJuYW1lcyI6IFsicGFyc2VBcmFuZ29JZCIsICJwYXJzZUlkIiwgInBhcnNlTnVtIiwgInBhcnNlU3RyaW5nIiwgInBhcnNlVXJsIiwgInoiLCAicGFyc2VEb2N1bWVudCIsICJyZW1vdmVFbXB0eUtleXMiLCAiSW1hZ2VWYWxpZGF0aW9uRXJyb3IiLCAibWVzc2FnZSIsICJmaWVsZCIsICJJbWFnZUlucHV0U2NoZW1hIiwgInZhbGlkYXRlSW1hZ2VJbnB1dCIsICJpbWFnZSIsICJlcnJvciIsICJmaWVsZEVycm9ycyIsICJlIiwgImZvcm1hdEltYWdlT3V0cHV0IiwgInBhcnNlSW1hZ2UiLCAicGVyZm9ybUltYWdlVHJhbnNmb3JtYXRpb24iLCAiX2lkIiwgIl9rZXkiLCAiYnVja2V0IiwgImNvbG9yIiwgImlkIiwgImltYWdlSWQiLCAiaGVpZ2h0IiwgIm1vZGVsIiwgIm1ha2UiLCAiczNPcHRpb25zIiwgInRha2VuIiwgInRodW1iIiwgImZpbGVUeXBlIiwgInR5cGUiLCAidXJsIiwgIndpZHRoIiwgIm5hbWUiXQp9Cg==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export * from './arangoAdapter/arangoAdapter';
|
|
2
|
+
export * from './contentAdapter/contentAdapter';
|
|
3
|
+
export * from './conversationAdapter/conversationAdapter';
|
|
4
|
+
export * from './eventAdapter/eventAdapter';
|
|
5
|
+
export * from './fileAdapter/fileAdapter';
|
|
6
|
+
export * from './imageAdapter/imageAdapter';
|
|
7
|
+
export * from './locationAdapter/locationAdapter';
|
|
8
|
+
export * from './messageAdapter/messageAdapter';
|
|
9
|
+
export * from './personaAdapter/personaAdapter';
|
|
10
|
+
export * from './postAdapter/postAdapter';
|
|
11
|
+
export * from './profileAdapter/profileAdapter';
|
|
12
|
+
export * from './reactionAdapter/reactionAdapter';
|
|
13
|
+
export * from './reaktorAdapter/reaktorAdapter';
|
|
14
|
+
export * from './sessionAdapter/sessionAdapter';
|
|
15
|
+
export * from './tagAdapter/tagAdapter';
|
|
16
|
+
export * from './userAdapter/userAdapter';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export*from"./arangoAdapter/arangoAdapter";export*from"./contentAdapter/contentAdapter";export*from"./conversationAdapter/conversationAdapter";export*from"./eventAdapter/eventAdapter";export*from"./fileAdapter/fileAdapter";export*from"./imageAdapter/imageAdapter";export*from"./locationAdapter/locationAdapter";export*from"./messageAdapter/messageAdapter";export*from"./personaAdapter/personaAdapter";export*from"./postAdapter/postAdapter";export*from"./profileAdapter/profileAdapter";export*from"./reactionAdapter/reactionAdapter";export*from"./reaktorAdapter/reaktorAdapter";export*from"./sessionAdapter/sessionAdapter";export*from"./tagAdapter/tagAdapter";export*from"./userAdapter/userAdapter";
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJleHBvcnQgKiBmcm9tICcuL2FyYW5nb0FkYXB0ZXIvYXJhbmdvQWRhcHRlcic7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRlbnRBZGFwdGVyL2NvbnRlbnRBZGFwdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vY29udmVyc2F0aW9uQWRhcHRlci9jb252ZXJzYXRpb25BZGFwdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vZXZlbnRBZGFwdGVyL2V2ZW50QWRhcHRlcic7XG5leHBvcnQgKiBmcm9tICcuL2ZpbGVBZGFwdGVyL2ZpbGVBZGFwdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vaW1hZ2VBZGFwdGVyL2ltYWdlQWRhcHRlcic7XG5leHBvcnQgKiBmcm9tICcuL2xvY2F0aW9uQWRhcHRlci9sb2NhdGlvbkFkYXB0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlQWRhcHRlci9tZXNzYWdlQWRhcHRlcic7XG5leHBvcnQgKiBmcm9tICcuL3BlcnNvbmFBZGFwdGVyL3BlcnNvbmFBZGFwdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vcG9zdEFkYXB0ZXIvcG9zdEFkYXB0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9maWxlQWRhcHRlci9wcm9maWxlQWRhcHRlcic7XG5leHBvcnQgKiBmcm9tICcuL3JlYWN0aW9uQWRhcHRlci9yZWFjdGlvbkFkYXB0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9yZWFrdG9yQWRhcHRlci9yZWFrdG9yQWRhcHRlcic7XG5leHBvcnQgKiBmcm9tICcuL3Nlc3Npb25BZGFwdGVyL3Nlc3Npb25BZGFwdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdGFnQWRhcHRlci90YWdBZGFwdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdXNlckFkYXB0ZXIvdXNlckFkYXB0ZXInO1xuXG4iXSwKICAibWFwcGluZ3MiOiAiQUFBQSxXQUFjLGdDQUNkLFdBQWMsa0NBQ2QsV0FBYyw0Q0FDZCxXQUFjLDhCQUNkLFdBQWMsNEJBQ2QsV0FBYyw4QkFDZCxXQUFjLG9DQUNkLFdBQWMsa0NBQ2QsV0FBYyxrQ0FDZCxXQUFjLDRCQUNkLFdBQWMsa0NBQ2QsV0FBYyxvQ0FDZCxXQUFjLGtDQUNkLFdBQWMsa0NBQ2QsV0FBYywwQkFDZCxXQUFjIiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export interface LocationType {
|
|
2
|
+
_id?: string;
|
|
3
|
+
_key?: string;
|
|
4
|
+
_rev?: string;
|
|
5
|
+
_oldRev?: string;
|
|
6
|
+
_from?: string;
|
|
7
|
+
_to?: string;
|
|
8
|
+
address?: string;
|
|
9
|
+
city?: string;
|
|
10
|
+
country?: string;
|
|
11
|
+
id?: string;
|
|
12
|
+
latitude?: number;
|
|
13
|
+
location?: string;
|
|
14
|
+
locationId?: string;
|
|
15
|
+
longitude?: number;
|
|
16
|
+
state?: string;
|
|
17
|
+
street?: string;
|
|
18
|
+
zip?: string;
|
|
19
|
+
[key: string]: any;
|
|
20
|
+
}
|
|
21
|
+
export declare class LocationValidationError extends Error {
|
|
22
|
+
field?: string | undefined;
|
|
23
|
+
constructor(message: string, field?: string | undefined);
|
|
24
|
+
}
|
|
25
|
+
export declare const validateLocationInput: (location: unknown) => LocationType;
|
|
26
|
+
export declare const formatLocationOutput: (location: LocationType) => LocationType;
|
|
27
|
+
export declare const parseLocation: (location: LocationType) => LocationType;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{parseArangoId as h,parseChar as L,parseId as x,parseNum as _,parseString as e,parseVarChar as T}from"@nlabs/utils";import{z as t}from"zod";import{parseDocument as v,removeEmptyKeys as w}from"../arangoAdapter/arangoAdapter";class s extends Error{constructor(r,i){super(r);this.field=i;this.name="LocationValidationError"}}const I=t.object({_id:t.string().optional(),_key:t.string().optional(),_rev:t.string().optional(),_oldRev:t.string().optional(),_from:t.string().optional(),_to:t.string().optional(),address:t.string().max(128).optional(),city:t.string().max(32).optional(),country:t.string().max(2).optional(),id:t.string().optional(),latitude:t.number().optional(),location:t.string().optional(),locationId:t.string().optional(),longitude:t.number().optional(),state:t.string().max(2).optional(),street:t.string().max(32).optional(),zip:t.string().max(16).optional()}).passthrough(),j=n=>{try{return I.parse(n)}catch(o){if(o instanceof t.ZodError){const r=o.issues.map(i=>`${i.path.join(".")}: ${i.message}`).join(", ");throw new s(`Location validation failed: ${r}`)}throw o}},S=n=>n,V=n=>{try{return E(n)}catch(o){throw o instanceof s?o:new s(`Location parsing failed: ${o instanceof Error?o.message:"Unknown error"}`)}},E=n=>{const{_id:o,_key:r,address:i,city:c,country:p,id:d,latitude:l,location:g,locationId:a,longitude:u,state:m,street:y,zip:f}=n;return w({...v(n),...(o||d||r||a)&&{id:h(o||d||`locations/${r||a}`)},...(r||a)&&{locationId:x(r||a||"")},...i&&{address:e(i,128)},...c&&{city:e(c,32)},...p&&{country:L(p,2)},...l!==void 0&&{latitude:_(l,15)},...g&&{location:e(g,128)},...u!==void 0&&{longitude:_(u,15)},...m&&{state:L(m,2)},...y&&{street:e(y,32)},...f&&{zip:T(f,16)}})};export{s as LocationValidationError,S as formatLocationOutput,V as parseLocation,j as validateLocationInput};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2FkYXB0ZXJzL2xvY2F0aW9uQWRhcHRlci9sb2NhdGlvbkFkYXB0ZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7cGFyc2VBcmFuZ29JZCwgcGFyc2VDaGFyLCBwYXJzZUlkLCBwYXJzZU51bSwgcGFyc2VTdHJpbmcsIHBhcnNlVmFyQ2hhcn0gZnJvbSAnQG5sYWJzL3V0aWxzJztcbmltcG9ydCB7en0gZnJvbSAnem9kJztcblxuaW1wb3J0IHtwYXJzZURvY3VtZW50LCByZW1vdmVFbXB0eUtleXN9IGZyb20gJy4uL2FyYW5nb0FkYXB0ZXIvYXJhbmdvQWRhcHRlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9jYXRpb25UeXBlIHtcbiAgX2lkPzogc3RyaW5nO1xuICBfa2V5Pzogc3RyaW5nO1xuICBfcmV2Pzogc3RyaW5nO1xuICBfb2xkUmV2Pzogc3RyaW5nO1xuICBfZnJvbT86IHN0cmluZztcbiAgX3RvPzogc3RyaW5nO1xuICBhZGRyZXNzPzogc3RyaW5nO1xuICBjaXR5Pzogc3RyaW5nO1xuICBjb3VudHJ5Pzogc3RyaW5nO1xuICBpZD86IHN0cmluZztcbiAgbGF0aXR1ZGU/OiBudW1iZXI7XG4gIGxvY2F0aW9uPzogc3RyaW5nO1xuICBsb2NhdGlvbklkPzogc3RyaW5nO1xuICBsb25naXR1ZGU/OiBudW1iZXI7XG4gIHN0YXRlPzogc3RyaW5nO1xuICBzdHJlZXQ/OiBzdHJpbmc7XG4gIHppcD86IHN0cmluZztcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgY2xhc3MgTG9jYXRpb25WYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIGZpZWxkPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ0xvY2F0aW9uVmFsaWRhdGlvbkVycm9yJztcbiAgfVxufVxuXG5jb25zdCBMb2NhdGlvbklucHV0U2NoZW1hID0gei5vYmplY3Qoe1xuICBfaWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2tleTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfcmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9vbGRSZXY6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2Zyb206IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX3RvOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGFkZHJlc3M6IHouc3RyaW5nKCkubWF4KDEyOCkub3B0aW9uYWwoKSxcbiAgY2l0eTogei5zdHJpbmcoKS5tYXgoMzIpLm9wdGlvbmFsKCksXG4gIGNvdW50cnk6IHouc3RyaW5nKCkubWF4KDIpLm9wdGlvbmFsKCksXG4gIGlkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGxhdGl0dWRlOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGxvY2F0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGxvY2F0aW9uSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgbG9uZ2l0dWRlOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIHN0YXRlOiB6LnN0cmluZygpLm1heCgyKS5vcHRpb25hbCgpLFxuICBzdHJlZXQ6IHouc3RyaW5nKCkubWF4KDMyKS5vcHRpb25hbCgpLFxuICB6aXA6IHouc3RyaW5nKCkubWF4KDE2KS5vcHRpb25hbCgpXG59KS5wYXNzdGhyb3VnaCgpO1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVMb2NhdGlvbklucHV0ID0gKGxvY2F0aW9uOiB1bmtub3duKTogTG9jYXRpb25UeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCB2YWxpZGF0ZWQgPSBMb2NhdGlvbklucHV0U2NoZW1hLnBhcnNlKGxvY2F0aW9uKTtcbiAgICByZXR1cm4gdmFsaWRhdGVkIGFzIExvY2F0aW9uVHlwZTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2Ygei5ab2RFcnJvcikge1xuICAgICAgY29uc3QgZmllbGRFcnJvcnMgPSBlcnJvci5pc3N1ZXMubWFwKChlKSA9PiBgJHtlLnBhdGguam9pbignLicpfTogJHtlLm1lc3NhZ2V9YCkuam9pbignLCAnKTtcbiAgICAgIHRocm93IG5ldyBMb2NhdGlvblZhbGlkYXRpb25FcnJvcihgTG9jYXRpb24gdmFsaWRhdGlvbiBmYWlsZWQ6ICR7ZmllbGRFcnJvcnN9YCk7XG4gICAgfVxuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZm9ybWF0TG9jYXRpb25PdXRwdXQgPSAobG9jYXRpb246IExvY2F0aW9uVHlwZSk6IExvY2F0aW9uVHlwZSA9PiBsb2NhdGlvbjtcblxuZXhwb3J0IGNvbnN0IHBhcnNlTG9jYXRpb24gPSAobG9jYXRpb246IExvY2F0aW9uVHlwZSk6IExvY2F0aW9uVHlwZSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgcGFyc2VkID0gcGVyZm9ybUxvY2F0aW9uVHJhbnNmb3JtYXRpb24obG9jYXRpb24pO1xuICAgIHJldHVybiBwYXJzZWQ7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIExvY2F0aW9uVmFsaWRhdGlvbkVycm9yKSB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gICAgdGhyb3cgbmV3IExvY2F0aW9uVmFsaWRhdGlvbkVycm9yKGBMb2NhdGlvbiBwYXJzaW5nIGZhaWxlZDogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ31gKTtcbiAgfVxufTtcblxuY29uc3QgcGVyZm9ybUxvY2F0aW9uVHJhbnNmb3JtYXRpb24gPSAobG9jYXRpb246IExvY2F0aW9uVHlwZSk6IExvY2F0aW9uVHlwZSA9PiB7XG4gIGNvbnN0IHtcbiAgICBfaWQsXG4gICAgX2tleSxcbiAgICBhZGRyZXNzLFxuICAgIGNpdHksXG4gICAgY291bnRyeSxcbiAgICBpZCxcbiAgICBsYXRpdHVkZSxcbiAgICBsb2NhdGlvbjogbG9jYXRpb25TdHIsXG4gICAgbG9jYXRpb25JZCxcbiAgICBsb25naXR1ZGUsXG4gICAgc3RhdGUsXG4gICAgc3RyZWV0LFxuICAgIHppcFxuICB9ID0gbG9jYXRpb247XG5cbiAgY29uc3QgdHJhbnNmb3JtZWQgPSByZW1vdmVFbXB0eUtleXMoe1xuICAgIC4uLnBhcnNlRG9jdW1lbnQobG9jYXRpb24pLFxuICAgIC4uLigoX2lkIHx8IGlkIHx8IF9rZXkgfHwgbG9jYXRpb25JZCkgJiYge2lkOiBwYXJzZUFyYW5nb0lkKF9pZCB8fCBpZCB8fCBgbG9jYXRpb25zLyR7X2tleSB8fCBsb2NhdGlvbklkfWApfSksXG4gICAgLi4uKChfa2V5IHx8IGxvY2F0aW9uSWQpICYmIHtsb2NhdGlvbklkOiBwYXJzZUlkKF9rZXkgfHwgbG9jYXRpb25JZCB8fCAnJyl9KSxcbiAgICAuLi4oYWRkcmVzcyAmJiB7YWRkcmVzczogcGFyc2VTdHJpbmcoYWRkcmVzcywgMTI4KX0pLFxuICAgIC4uLihjaXR5ICYmIHtjaXR5OiBwYXJzZVN0cmluZyhjaXR5LCAzMil9KSxcbiAgICAuLi4oY291bnRyeSAmJiB7Y291bnRyeTogcGFyc2VDaGFyKGNvdW50cnksIDIpfSksXG4gICAgLi4uKGxhdGl0dWRlICE9PSB1bmRlZmluZWQgJiYge2xhdGl0dWRlOiBwYXJzZU51bShsYXRpdHVkZSwgMTUpfSksXG4gICAgLi4uKGxvY2F0aW9uU3RyICYmIHtsb2NhdGlvbjogcGFyc2VTdHJpbmcobG9jYXRpb25TdHIsIDEyOCl9KSxcbiAgICAuLi4obG9uZ2l0dWRlICE9PSB1bmRlZmluZWQgJiYge2xvbmdpdHVkZTogcGFyc2VOdW0obG9uZ2l0dWRlLCAxNSl9KSxcbiAgICAuLi4oc3RhdGUgJiYge3N0YXRlOiBwYXJzZUNoYXIoc3RhdGUsIDIpfSksXG4gICAgLi4uKHN0cmVldCAmJiB7c3RyZWV0OiBwYXJzZVN0cmluZyhzdHJlZXQsIDMyKX0pLFxuICAgIC4uLih6aXAgJiYge3ppcDogcGFyc2VWYXJDaGFyKHppcCwgMTYpfSlcbiAgfSk7XG5cbiAgcmV0dXJuIHRyYW5zZm9ybWVkO1xufTsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxPQUFRLGlCQUFBQSxFQUFlLGFBQUFDLEVBQVcsV0FBQUMsRUFBUyxZQUFBQyxFQUFVLGVBQUFDLEVBQWEsZ0JBQUFDLE1BQW1CLGVBQ3JGLE9BQVEsS0FBQUMsTUFBUSxNQUVoQixPQUFRLGlCQUFBQyxFQUFlLG1CQUFBQyxNQUFzQixpQ0F1QnRDLE1BQU1DLFVBQWdDLEtBQU0sQ0FDakQsWUFBWUMsRUFBd0JDLEVBQWdCLENBQ2xELE1BQU1ELENBQU8sRUFEcUIsV0FBQUMsRUFFbEMsS0FBSyxLQUFPLHlCQUNkLENBQ0YsQ0FFQSxNQUFNQyxFQUFzQk4sRUFBRSxPQUFPLENBQ25DLElBQUtBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDekIsS0FBTUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMxQixLQUFNQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzFCLFFBQVNBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDN0IsTUFBT0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMzQixJQUFLQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQ3pCLFFBQVNBLEVBQUUsT0FBTyxFQUFFLElBQUksR0FBRyxFQUFFLFNBQVMsRUFDdEMsS0FBTUEsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUNsQyxRQUFTQSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQ3BDLEdBQUlBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDeEIsU0FBVUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUM5QixTQUFVQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzlCLFdBQVlBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDaEMsVUFBV0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMvQixNQUFPQSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQ2xDLE9BQVFBLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLFNBQVMsRUFDcEMsSUFBS0EsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUUsU0FBUyxDQUNuQyxDQUFDLEVBQUUsWUFBWSxFQUVGTyxFQUF5QkMsR0FBb0MsQ0FDeEUsR0FBSSxDQUVGLE9BRGtCRixFQUFvQixNQUFNRSxDQUFRLENBRXRELE9BQVFDLEVBQU8sQ0FDYixHQUFHQSxhQUFpQlQsRUFBRSxTQUFVLENBQzlCLE1BQU1VLEVBQWNELEVBQU0sT0FBTyxJQUFLRSxHQUFNLEdBQUdBLEVBQUUsS0FBSyxLQUFLLEdBQUcsQ0FBQyxLQUFLQSxFQUFFLE9BQU8sRUFBRSxFQUFFLEtBQUssSUFBSSxFQUMxRixNQUFNLElBQUlSLEVBQXdCLCtCQUErQk8sQ0FBVyxFQUFFLENBQ2hGLENBQ0EsTUFBTUQsQ0FDUixDQUNGLEVBRWFHLEVBQXdCSixHQUF5Q0EsRUFFakVLLEVBQWlCTCxHQUF5QyxDQUNyRSxHQUFJLENBRUYsT0FEZU0sRUFBOEJOLENBQVEsQ0FFdkQsT0FBUUMsRUFBTyxDQUNiLE1BQUdBLGFBQWlCTixFQUNaTSxFQUVGLElBQUlOLEVBQXdCLDRCQUE0Qk0sYUFBaUIsTUFBUUEsRUFBTSxRQUFVLGVBQWUsRUFBRSxDQUMxSCxDQUNGLEVBRU1LLEVBQWlDTixHQUF5QyxDQUM5RSxLQUFNLENBQ0osSUFBQU8sRUFDQSxLQUFBQyxFQUNBLFFBQUFDLEVBQ0EsS0FBQUMsRUFDQSxRQUFBQyxFQUNBLEdBQUFDLEVBQ0EsU0FBQUMsRUFDQSxTQUFVQyxFQUNWLFdBQUFDLEVBQ0EsVUFBQUMsRUFDQSxNQUFBQyxFQUNBLE9BQUFDLEVBQ0EsSUFBQUMsQ0FDRixFQUFJbkIsRUFpQkosT0Fmb0JOLEVBQWdCLENBQ2xDLEdBQUdELEVBQWNPLENBQVEsRUFDekIsSUFBS08sR0FBT0ssR0FBTUosR0FBUU8sSUFBZSxDQUFDLEdBQUk3QixFQUFjcUIsR0FBT0ssR0FBTSxhQUFhSixHQUFRTyxDQUFVLEVBQUUsQ0FBQyxFQUMzRyxJQUFLUCxHQUFRTyxJQUFlLENBQUMsV0FBWTNCLEVBQVFvQixHQUFRTyxHQUFjLEVBQUUsQ0FBQyxFQUMxRSxHQUFJTixHQUFXLENBQUMsUUFBU25CLEVBQVltQixFQUFTLEdBQUcsQ0FBQyxFQUNsRCxHQUFJQyxHQUFRLENBQUMsS0FBTXBCLEVBQVlvQixFQUFNLEVBQUUsQ0FBQyxFQUN4QyxHQUFJQyxHQUFXLENBQUMsUUFBU3hCLEVBQVV3QixFQUFTLENBQUMsQ0FBQyxFQUM5QyxHQUFJRSxJQUFhLFFBQWEsQ0FBQyxTQUFVeEIsRUFBU3dCLEVBQVUsRUFBRSxDQUFDLEVBQy9ELEdBQUlDLEdBQWUsQ0FBQyxTQUFVeEIsRUFBWXdCLEVBQWEsR0FBRyxDQUFDLEVBQzNELEdBQUlFLElBQWMsUUFBYSxDQUFDLFVBQVczQixFQUFTMkIsRUFBVyxFQUFFLENBQUMsRUFDbEUsR0FBSUMsR0FBUyxDQUFDLE1BQU85QixFQUFVOEIsRUFBTyxDQUFDLENBQUMsRUFDeEMsR0FBSUMsR0FBVSxDQUFDLE9BQVE1QixFQUFZNEIsRUFBUSxFQUFFLENBQUMsRUFDOUMsR0FBSUMsR0FBTyxDQUFDLElBQUs1QixFQUFhNEIsRUFBSyxFQUFFLENBQUMsQ0FDeEMsQ0FBQyxDQUdIIiwKICAibmFtZXMiOiBbInBhcnNlQXJhbmdvSWQiLCAicGFyc2VDaGFyIiwgInBhcnNlSWQiLCAicGFyc2VOdW0iLCAicGFyc2VTdHJpbmciLCAicGFyc2VWYXJDaGFyIiwgInoiLCAicGFyc2VEb2N1bWVudCIsICJyZW1vdmVFbXB0eUtleXMiLCAiTG9jYXRpb25WYWxpZGF0aW9uRXJyb3IiLCAibWVzc2FnZSIsICJmaWVsZCIsICJMb2NhdGlvbklucHV0U2NoZW1hIiwgInZhbGlkYXRlTG9jYXRpb25JbnB1dCIsICJsb2NhdGlvbiIsICJlcnJvciIsICJmaWVsZEVycm9ycyIsICJlIiwgImZvcm1hdExvY2F0aW9uT3V0cHV0IiwgInBhcnNlTG9jYXRpb24iLCAicGVyZm9ybUxvY2F0aW9uVHJhbnNmb3JtYXRpb24iLCAiX2lkIiwgIl9rZXkiLCAiYWRkcmVzcyIsICJjaXR5IiwgImNvdW50cnkiLCAiaWQiLCAibGF0aXR1ZGUiLCAibG9jYXRpb25TdHIiLCAibG9jYXRpb25JZCIsICJsb25naXR1ZGUiLCAic3RhdGUiLCAic3RyZWV0IiwgInppcCJdCn0K
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export interface MessageType {
|
|
2
|
+
_id?: string;
|
|
3
|
+
_key?: string;
|
|
4
|
+
_rev?: string;
|
|
5
|
+
_oldRev?: string;
|
|
6
|
+
_from?: string;
|
|
7
|
+
_to?: string;
|
|
8
|
+
content?: string;
|
|
9
|
+
conversationId?: string;
|
|
10
|
+
files?: any[];
|
|
11
|
+
id?: string;
|
|
12
|
+
images?: any[];
|
|
13
|
+
itemId?: string;
|
|
14
|
+
itemType?: string;
|
|
15
|
+
messageId?: string;
|
|
16
|
+
read?: boolean;
|
|
17
|
+
saved?: boolean;
|
|
18
|
+
userId?: string;
|
|
19
|
+
[key: string]: any;
|
|
20
|
+
}
|
|
21
|
+
export declare class MessageValidationError extends Error {
|
|
22
|
+
field?: string | undefined;
|
|
23
|
+
constructor(message: string, field?: string | undefined);
|
|
24
|
+
}
|
|
25
|
+
export declare const validateMessageInput: (message: unknown) => MessageType;
|
|
26
|
+
export declare const formatMessageOutput: (message: MessageType) => MessageType;
|
|
27
|
+
export declare const parseMessage: (message: MessageType) => MessageType;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{parseArangoId as m,parseId as l}from"@nlabs/utils";import{z as e}from"zod";import{parseDocument as c,removeEmptyKeys as y}from"../arangoAdapter/arangoAdapter";import{parseFile as f}from"../fileAdapter/fileAdapter";import{parseImage as M}from"../imageAdapter/imageAdapter";class n extends Error{constructor(t,a){super(t);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(),b=r=>{try{return u.parse(r)}catch(s){if(s instanceof e.ZodError){const t=s.issues.map(a=>`${a.path.join(".")}: ${a.message}`).join(", ");throw new n(`Message validation failed: ${t}`)}throw s}},k=r=>r,x=r=>{try{return v(r)}catch(s){throw s instanceof n?s:new n(`Message parsing failed: ${s instanceof Error?s.message:"Unknown error"}`)}},v=r=>{const{_id:s,_key:t,content:a,files:i,id:g,images:p,messageId:o,saved:d}=r;return y({...c(r),...(s||g||t||o)&&{id:m(s||g||`messages/${t||o}`)},...(t||o)&&{messageId:l(t||o||"")},...a&&{content:a},...Array.isArray(i)&&{files:i.map(f)},...Array.isArray(p)&&{images:p.map(M)},...d!==void 0&&{saved:!!d}})};export{n as MessageValidationError,k as formatMessageOutput,x as parseMessage,b as validateMessageInput};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2FkYXB0ZXJzL21lc3NhZ2VBZGFwdGVyL21lc3NhZ2VBZGFwdGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQge3BhcnNlQXJhbmdvSWQsIHBhcnNlSWR9IGZyb20gJ0BubGFicy91dGlscyc7XG5pbXBvcnQge3p9IGZyb20gJ3pvZCc7XG5cbmltcG9ydCB7cGFyc2VEb2N1bWVudCwgcmVtb3ZlRW1wdHlLZXlzfSBmcm9tICcuLi9hcmFuZ29BZGFwdGVyL2FyYW5nb0FkYXB0ZXInO1xuaW1wb3J0IHtwYXJzZUZpbGV9IGZyb20gJy4uL2ZpbGVBZGFwdGVyL2ZpbGVBZGFwdGVyJztcbmltcG9ydCB7cGFyc2VJbWFnZX0gZnJvbSAnLi4vaW1hZ2VBZGFwdGVyL2ltYWdlQWRhcHRlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZVR5cGUge1xuICBfaWQ/OiBzdHJpbmc7XG4gIF9rZXk/OiBzdHJpbmc7XG4gIF9yZXY/OiBzdHJpbmc7XG4gIF9vbGRSZXY/OiBzdHJpbmc7XG4gIF9mcm9tPzogc3RyaW5nO1xuICBfdG8/OiBzdHJpbmc7XG4gIGNvbnRlbnQ/OiBzdHJpbmc7XG4gIGNvbnZlcnNhdGlvbklkPzogc3RyaW5nO1xuICBmaWxlcz86IGFueVtdO1xuICBpZD86IHN0cmluZztcbiAgaW1hZ2VzPzogYW55W107XG4gIGl0ZW1JZD86IHN0cmluZztcbiAgaXRlbVR5cGU/OiBzdHJpbmc7XG4gIG1lc3NhZ2VJZD86IHN0cmluZztcbiAgcmVhZD86IGJvb2xlYW47XG4gIHNhdmVkPzogYm9vbGVhbjtcbiAgdXNlcklkPzogc3RyaW5nO1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBjbGFzcyBNZXNzYWdlVmFsaWRhdGlvbkVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcsIHB1YmxpYyBmaWVsZD86IHN0cmluZykge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgIHRoaXMubmFtZSA9ICdNZXNzYWdlVmFsaWRhdGlvbkVycm9yJztcbiAgfVxufVxuXG5jb25zdCBNZXNzYWdlSW5wdXRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGNvbnRlbnQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgY29udmVyc2F0aW9uSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgZmlsZXM6IHouYXJyYXkoei5hbnkoKSkub3B0aW9uYWwoKSxcbiAgaW1hZ2VzOiB6LmFycmF5KHouYW55KCkpLm9wdGlvbmFsKCksXG4gIGl0ZW1JZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBpdGVtVHlwZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBtZXNzYWdlSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgcmVhZDogei5ib29sZWFuKCkub3B0aW9uYWwoKSxcbiAgc2F2ZWQ6IHouYm9vbGVhbigpLm9wdGlvbmFsKCksXG4gIHVzZXJJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfaWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2tleTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfcmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9vbGRSZXY6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2Zyb206IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX3RvOiB6LnN0cmluZygpLm9wdGlvbmFsKClcbn0pLnBhc3N0aHJvdWdoKCk7XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZU1lc3NhZ2VJbnB1dCA9IChtZXNzYWdlOiB1bmtub3duKTogTWVzc2FnZVR5cGUgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHZhbGlkYXRlZCA9IE1lc3NhZ2VJbnB1dFNjaGVtYS5wYXJzZShtZXNzYWdlKTtcbiAgICByZXR1cm4gdmFsaWRhdGVkIGFzIE1lc3NhZ2VUeXBlO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiB6LlpvZEVycm9yKSB7XG4gICAgICBjb25zdCBmaWVsZEVycm9ycyA9IGVycm9yLmlzc3Vlcy5tYXAoKGUpID0+IGAke2UucGF0aC5qb2luKCcuJyl9OiAke2UubWVzc2FnZX1gKS5qb2luKCcsICcpO1xuICAgICAgdGhyb3cgbmV3IE1lc3NhZ2VWYWxpZGF0aW9uRXJyb3IoYE1lc3NhZ2UgdmFsaWRhdGlvbiBmYWlsZWQ6ICR7ZmllbGRFcnJvcnN9YCk7XG4gICAgfVxuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZm9ybWF0TWVzc2FnZU91dHB1dCA9IChtZXNzYWdlOiBNZXNzYWdlVHlwZSk6IE1lc3NhZ2VUeXBlID0+IG1lc3NhZ2U7XG5cbmV4cG9ydCBjb25zdCBwYXJzZU1lc3NhZ2UgPSAobWVzc2FnZTogTWVzc2FnZVR5cGUpOiBNZXNzYWdlVHlwZSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgcGFyc2VkID0gcGVyZm9ybU1lc3NhZ2VUcmFuc2Zvcm1hdGlvbihtZXNzYWdlKTtcbiAgICByZXR1cm4gcGFyc2VkO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiBNZXNzYWdlVmFsaWRhdGlvbkVycm9yKSB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gICAgdGhyb3cgbmV3IE1lc3NhZ2VWYWxpZGF0aW9uRXJyb3IoYE1lc3NhZ2UgcGFyc2luZyBmYWlsZWQ6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCk7XG4gIH1cbn07XG5cbmNvbnN0IHBlcmZvcm1NZXNzYWdlVHJhbnNmb3JtYXRpb24gPSAobWVzc2FnZTogTWVzc2FnZVR5cGUpOiBNZXNzYWdlVHlwZSA9PiB7XG4gIGNvbnN0IHtcbiAgICBfaWQsXG4gICAgX2tleSxcbiAgICBjb250ZW50LFxuICAgIGZpbGVzLFxuICAgIGlkLFxuICAgIGltYWdlcyxcbiAgICBtZXNzYWdlSWQsXG4gICAgc2F2ZWRcbiAgfSA9IG1lc3NhZ2U7XG5cbiAgY29uc3QgdHJhbnNmb3JtZWQgPSByZW1vdmVFbXB0eUtleXMoe1xuICAgIC4uLnBhcnNlRG9jdW1lbnQobWVzc2FnZSksXG4gICAgLi4uKChfaWQgfHwgaWQgfHwgX2tleSB8fCBtZXNzYWdlSWQpICYmIHtpZDogcGFyc2VBcmFuZ29JZChfaWQgfHwgaWQgfHwgYG1lc3NhZ2VzLyR7X2tleSB8fCBtZXNzYWdlSWR9YCl9KSxcbiAgICAuLi4oKF9rZXkgfHwgbWVzc2FnZUlkKSAmJiB7bWVzc2FnZUlkOiBwYXJzZUlkKF9rZXkgfHwgbWVzc2FnZUlkIHx8ICcnKX0pLFxuICAgIC4uLihjb250ZW50ICYmIHtjb250ZW50fSksXG4gICAgLi4uKEFycmF5LmlzQXJyYXkoZmlsZXMpICYmIHtmaWxlczogZmlsZXMubWFwKHBhcnNlRmlsZSl9KSxcbiAgICAuLi4oQXJyYXkuaXNBcnJheShpbWFnZXMpICYmIHtpbWFnZXM6IGltYWdlcy5tYXAocGFyc2VJbWFnZSl9KSxcbiAgICAuLi4oc2F2ZWQgIT09IHVuZGVmaW5lZCAmJiB7c2F2ZWQ6ICEhc2F2ZWR9KVxuICB9KTtcblxuICByZXR1cm4gdHJhbnNmb3JtZWQ7XG59OyJdLAogICJtYXBwaW5ncyI6ICJBQUFBLE9BQVEsaUJBQUFBLEVBQWUsV0FBQUMsTUFBYyxlQUNyQyxPQUFRLEtBQUFDLE1BQVEsTUFFaEIsT0FBUSxpQkFBQUMsRUFBZSxtQkFBQUMsTUFBc0IsaUNBQzdDLE9BQVEsYUFBQUMsTUFBZ0IsNkJBQ3hCLE9BQVEsY0FBQUMsTUFBaUIsK0JBdUJsQixNQUFNQyxVQUErQixLQUFNLENBQ2hELFlBQVlDLEVBQXdCQyxFQUFnQixDQUNsRCxNQUFNRCxDQUFPLEVBRHFCLFdBQUFDLEVBRWxDLEtBQUssS0FBTyx3QkFDZCxDQUNGLENBRUEsTUFBTUMsRUFBcUJSLEVBQUUsT0FBTyxDQUNsQyxRQUFTQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzdCLGVBQWdCQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQ3BDLE1BQU9BLEVBQUUsTUFBTUEsRUFBRSxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQ2pDLE9BQVFBLEVBQUUsTUFBTUEsRUFBRSxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQ2xDLE9BQVFBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDNUIsU0FBVUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUM5QixVQUFXQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQy9CLEtBQU1BLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFDM0IsTUFBT0EsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUM1QixPQUFRQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzVCLElBQUtBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDekIsS0FBTUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMxQixLQUFNQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzFCLFFBQVNBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDN0IsTUFBT0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMzQixJQUFLQSxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQzNCLENBQUMsRUFBRSxZQUFZLEVBRUZTLEVBQXdCSCxHQUFrQyxDQUNyRSxHQUFJLENBRUYsT0FEa0JFLEVBQW1CLE1BQU1GLENBQU8sQ0FFcEQsT0FBUUksRUFBTyxDQUNiLEdBQUdBLGFBQWlCVixFQUFFLFNBQVUsQ0FDOUIsTUFBTVcsRUFBY0QsRUFBTSxPQUFPLElBQUtFLEdBQU0sR0FBR0EsRUFBRSxLQUFLLEtBQUssR0FBRyxDQUFDLEtBQUtBLEVBQUUsT0FBTyxFQUFFLEVBQUUsS0FBSyxJQUFJLEVBQzFGLE1BQU0sSUFBSVAsRUFBdUIsOEJBQThCTSxDQUFXLEVBQUUsQ0FDOUUsQ0FDQSxNQUFNRCxDQUNSLENBQ0YsRUFFYUcsRUFBdUJQLEdBQXNDQSxFQUU3RFEsRUFBZ0JSLEdBQXNDLENBQ2pFLEdBQUksQ0FFRixPQURlUyxFQUE2QlQsQ0FBTyxDQUVyRCxPQUFRSSxFQUFPLENBQ2IsTUFBR0EsYUFBaUJMLEVBQ1pLLEVBRUYsSUFBSUwsRUFBdUIsMkJBQTJCSyxhQUFpQixNQUFRQSxFQUFNLFFBQVUsZUFBZSxFQUFFLENBQ3hILENBQ0YsRUFFTUssRUFBZ0NULEdBQXNDLENBQzFFLEtBQU0sQ0FDSixJQUFBVSxFQUNBLEtBQUFDLEVBQ0EsUUFBQUMsRUFDQSxNQUFBQyxFQUNBLEdBQUFDLEVBQ0EsT0FBQUMsRUFDQSxVQUFBQyxFQUNBLE1BQUFDLENBQ0YsRUFBSWpCLEVBWUosT0FWb0JKLEVBQWdCLENBQ2xDLEdBQUdELEVBQWNLLENBQU8sRUFDeEIsSUFBS1UsR0FBT0ksR0FBTUgsR0FBUUssSUFBYyxDQUFDLEdBQUl4QixFQUFja0IsR0FBT0ksR0FBTSxZQUFZSCxHQUFRSyxDQUFTLEVBQUUsQ0FBQyxFQUN4RyxJQUFLTCxHQUFRSyxJQUFjLENBQUMsVUFBV3ZCLEVBQVFrQixHQUFRSyxHQUFhLEVBQUUsQ0FBQyxFQUN2RSxHQUFJSixHQUFXLENBQUMsUUFBQUEsQ0FBTyxFQUN2QixHQUFJLE1BQU0sUUFBUUMsQ0FBSyxHQUFLLENBQUMsTUFBT0EsRUFBTSxJQUFJaEIsQ0FBUyxDQUFDLEVBQ3hELEdBQUksTUFBTSxRQUFRa0IsQ0FBTSxHQUFLLENBQUMsT0FBUUEsRUFBTyxJQUFJakIsQ0FBVSxDQUFDLEVBQzVELEdBQUltQixJQUFVLFFBQWEsQ0FBQyxNQUFPLENBQUMsQ0FBQ0EsQ0FBSyxDQUM1QyxDQUFDLENBR0giLAogICJuYW1lcyI6IFsicGFyc2VBcmFuZ29JZCIsICJwYXJzZUlkIiwgInoiLCAicGFyc2VEb2N1bWVudCIsICJyZW1vdmVFbXB0eUtleXMiLCAicGFyc2VGaWxlIiwgInBhcnNlSW1hZ2UiLCAiTWVzc2FnZVZhbGlkYXRpb25FcnJvciIsICJtZXNzYWdlIiwgImZpZWxkIiwgIk1lc3NhZ2VJbnB1dFNjaGVtYSIsICJ2YWxpZGF0ZU1lc3NhZ2VJbnB1dCIsICJlcnJvciIsICJmaWVsZEVycm9ycyIsICJlIiwgImZvcm1hdE1lc3NhZ2VPdXRwdXQiLCAicGFyc2VNZXNzYWdlIiwgInBlcmZvcm1NZXNzYWdlVHJhbnNmb3JtYXRpb24iLCAiX2lkIiwgIl9rZXkiLCAiY29udGVudCIsICJmaWxlcyIsICJpZCIsICJpbWFnZXMiLCAibWVzc2FnZUlkIiwgInNhdmVkIl0KfQo=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export interface PersonaType {
|
|
2
|
+
_id?: string;
|
|
3
|
+
_key?: string;
|
|
4
|
+
_rev?: string;
|
|
5
|
+
_oldRev?: string;
|
|
6
|
+
_from?: string;
|
|
7
|
+
_to?: string;
|
|
8
|
+
id?: string;
|
|
9
|
+
personaId?: string;
|
|
10
|
+
[key: string]: any;
|
|
11
|
+
}
|
|
12
|
+
export declare class PersonaValidationError extends Error {
|
|
13
|
+
field?: string | undefined;
|
|
14
|
+
constructor(message: string, field?: string | undefined);
|
|
15
|
+
}
|
|
16
|
+
export declare const validatePersonaInput: (persona: unknown) => PersonaType;
|
|
17
|
+
export declare const formatPersonaOutput: (persona: PersonaType) => PersonaType;
|
|
18
|
+
export declare const parsePersona: (persona: PersonaType) => PersonaType;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{parseArangoId as i,parseId as p}from"@nlabs/utils";import{z as o}from"zod";import{parseDocument as d,removeEmptyKeys as c}from"../arangoAdapter/arangoAdapter";class a extends Error{constructor(e,t){super(e);this.field=t;this.name="PersonaValidationError"}}const g=o.object({_id:o.string().optional(),_key:o.string().optional(),_rev:o.string().optional(),_oldRev:o.string().optional(),_from:o.string().optional(),_to:o.string().optional(),id:o.string().optional(),personaId:o.string().optional()}).passthrough(),u=n=>{try{return g.parse(n)}catch(r){if(r instanceof o.ZodError){const e=r.issues.map(t=>`${t.path.join(".")}: ${t.message}`).join(", ");throw new a(`Persona validation failed: ${e}`)}throw r}},_=n=>n,h=n=>{try{return l(n)}catch(r){throw r instanceof a?r:new a(`Persona parsing failed: ${r instanceof Error?r.message:"Unknown error"}`)}},l=n=>{const{_id:r,_key:e,id:t,personaId:s}=n;return c({...d(n),...(r||t||e||s)&&{id:i(r||t||`personas/${e||s}`)},...(e||s)&&{personaId:p(e||s||"")}})};export{a as PersonaValidationError,_ as formatPersonaOutput,h as parsePersona,u as validatePersonaInput};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2FkYXB0ZXJzL3BlcnNvbmFBZGFwdGVyL3BlcnNvbmFBZGFwdGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQge3BhcnNlQXJhbmdvSWQsIHBhcnNlSWR9IGZyb20gJ0BubGFicy91dGlscyc7XG5pbXBvcnQge3p9IGZyb20gJ3pvZCc7XG5cbmltcG9ydCB7cGFyc2VEb2N1bWVudCwgcmVtb3ZlRW1wdHlLZXlzfSBmcm9tICcuLi9hcmFuZ29BZGFwdGVyL2FyYW5nb0FkYXB0ZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBlcnNvbmFUeXBlIHtcbiAgX2lkPzogc3RyaW5nO1xuICBfa2V5Pzogc3RyaW5nO1xuICBfcmV2Pzogc3RyaW5nO1xuICBfb2xkUmV2Pzogc3RyaW5nO1xuICBfZnJvbT86IHN0cmluZztcbiAgX3RvPzogc3RyaW5nO1xuICBpZD86IHN0cmluZztcbiAgcGVyc29uYUlkPzogc3RyaW5nO1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBjbGFzcyBQZXJzb25hVmFsaWRhdGlvbkVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcsIHB1YmxpYyBmaWVsZD86IHN0cmluZykge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgIHRoaXMubmFtZSA9ICdQZXJzb25hVmFsaWRhdGlvbkVycm9yJztcbiAgfVxufVxuXG5jb25zdCBQZXJzb25hSW5wdXRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIF9pZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfa2V5OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9yZXY6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX29sZFJldjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfZnJvbTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfdG86IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgaWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgcGVyc29uYUlkOiB6LnN0cmluZygpLm9wdGlvbmFsKClcbn0pLnBhc3N0aHJvdWdoKCk7XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVBlcnNvbmFJbnB1dCA9IChwZXJzb25hOiB1bmtub3duKTogUGVyc29uYVR5cGUgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHZhbGlkYXRlZCA9IFBlcnNvbmFJbnB1dFNjaGVtYS5wYXJzZShwZXJzb25hKTtcbiAgICByZXR1cm4gdmFsaWRhdGVkIGFzIFBlcnNvbmFUeXBlO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiB6LlpvZEVycm9yKSB7XG4gICAgICBjb25zdCBmaWVsZEVycm9ycyA9IGVycm9yLmlzc3Vlcy5tYXAoKGUpID0+IGAke2UucGF0aC5qb2luKCcuJyl9OiAke2UubWVzc2FnZX1gKS5qb2luKCcsICcpO1xuICAgICAgdGhyb3cgbmV3IFBlcnNvbmFWYWxpZGF0aW9uRXJyb3IoYFBlcnNvbmEgdmFsaWRhdGlvbiBmYWlsZWQ6ICR7ZmllbGRFcnJvcnN9YCk7XG4gICAgfVxuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZm9ybWF0UGVyc29uYU91dHB1dCA9IChwZXJzb25hOiBQZXJzb25hVHlwZSk6IFBlcnNvbmFUeXBlID0+IHBlcnNvbmE7XG5cbmV4cG9ydCBjb25zdCBwYXJzZVBlcnNvbmEgPSAocGVyc29uYTogUGVyc29uYVR5cGUpOiBQZXJzb25hVHlwZSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgcGFyc2VkID0gcGVyZm9ybVBlcnNvbmFUcmFuc2Zvcm1hdGlvbihwZXJzb25hKTtcbiAgICByZXR1cm4gcGFyc2VkO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiBQZXJzb25hVmFsaWRhdGlvbkVycm9yKSB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gICAgdGhyb3cgbmV3IFBlcnNvbmFWYWxpZGF0aW9uRXJyb3IoYFBlcnNvbmEgcGFyc2luZyBmYWlsZWQ6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCk7XG4gIH1cbn07XG5cbmNvbnN0IHBlcmZvcm1QZXJzb25hVHJhbnNmb3JtYXRpb24gPSAocGVyc29uYTogUGVyc29uYVR5cGUpOiBQZXJzb25hVHlwZSA9PiB7XG4gIGNvbnN0IHtcbiAgICBfaWQsXG4gICAgX2tleSxcbiAgICBpZCxcbiAgICBwZXJzb25hSWRcbiAgfSA9IHBlcnNvbmE7XG5cbiAgY29uc3QgdHJhbnNmb3JtZWQgPSByZW1vdmVFbXB0eUtleXMoe1xuICAgIC4uLnBhcnNlRG9jdW1lbnQocGVyc29uYSksXG4gICAgLi4uKChfaWQgfHwgaWQgfHwgX2tleSB8fCBwZXJzb25hSWQpICYmIHtpZDogcGFyc2VBcmFuZ29JZChfaWQgfHwgaWQgfHwgYHBlcnNvbmFzLyR7X2tleSB8fCBwZXJzb25hSWR9YCl9KSxcbiAgICAuLi4oKF9rZXkgfHwgcGVyc29uYUlkKSAmJiB7cGVyc29uYUlkOiBwYXJzZUlkKF9rZXkgfHwgcGVyc29uYUlkIHx8ICcnKX0pXG4gIH0pO1xuXG4gIHJldHVybiB0cmFuc2Zvcm1lZDtcbn07Il0sCiAgIm1hcHBpbmdzIjogIkFBQUEsT0FBUSxpQkFBQUEsRUFBZSxXQUFBQyxNQUFjLGVBQ3JDLE9BQVEsS0FBQUMsTUFBUSxNQUVoQixPQUFRLGlCQUFBQyxFQUFlLG1CQUFBQyxNQUFzQixpQ0FjdEMsTUFBTUMsVUFBK0IsS0FBTSxDQUNoRCxZQUFZQyxFQUF3QkMsRUFBZ0IsQ0FDbEQsTUFBTUQsQ0FBTyxFQURxQixXQUFBQyxFQUVsQyxLQUFLLEtBQU8sd0JBQ2QsQ0FDRixDQUVBLE1BQU1DLEVBQXFCTixFQUFFLE9BQU8sQ0FDbEMsSUFBS0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUN6QixLQUFNQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzFCLEtBQU1BLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDMUIsUUFBU0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUM3QixNQUFPQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzNCLElBQUtBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDekIsR0FBSUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUN4QixVQUFXQSxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQ2pDLENBQUMsRUFBRSxZQUFZLEVBRUZPLEVBQXdCQyxHQUFrQyxDQUNyRSxHQUFJLENBRUYsT0FEa0JGLEVBQW1CLE1BQU1FLENBQU8sQ0FFcEQsT0FBUUMsRUFBTyxDQUNiLEdBQUdBLGFBQWlCVCxFQUFFLFNBQVUsQ0FDOUIsTUFBTVUsRUFBY0QsRUFBTSxPQUFPLElBQUtFLEdBQU0sR0FBR0EsRUFBRSxLQUFLLEtBQUssR0FBRyxDQUFDLEtBQUtBLEVBQUUsT0FBTyxFQUFFLEVBQUUsS0FBSyxJQUFJLEVBQzFGLE1BQU0sSUFBSVIsRUFBdUIsOEJBQThCTyxDQUFXLEVBQUUsQ0FDOUUsQ0FDQSxNQUFNRCxDQUNSLENBQ0YsRUFFYUcsRUFBdUJKLEdBQXNDQSxFQUU3REssRUFBZ0JMLEdBQXNDLENBQ2pFLEdBQUksQ0FFRixPQURlTSxFQUE2Qk4sQ0FBTyxDQUVyRCxPQUFRQyxFQUFPLENBQ2IsTUFBR0EsYUFBaUJOLEVBQ1pNLEVBRUYsSUFBSU4sRUFBdUIsMkJBQTJCTSxhQUFpQixNQUFRQSxFQUFNLFFBQVUsZUFBZSxFQUFFLENBQ3hILENBQ0YsRUFFTUssRUFBZ0NOLEdBQXNDLENBQzFFLEtBQU0sQ0FDSixJQUFBTyxFQUNBLEtBQUFDLEVBQ0EsR0FBQUMsRUFDQSxVQUFBQyxDQUNGLEVBQUlWLEVBUUosT0FOb0JOLEVBQWdCLENBQ2xDLEdBQUdELEVBQWNPLENBQU8sRUFDeEIsSUFBS08sR0FBT0UsR0FBTUQsR0FBUUUsSUFBYyxDQUFDLEdBQUlwQixFQUFjaUIsR0FBT0UsR0FBTSxZQUFZRCxHQUFRRSxDQUFTLEVBQUUsQ0FBQyxFQUN4RyxJQUFLRixHQUFRRSxJQUFjLENBQUMsVUFBV25CLEVBQVFpQixHQUFRRSxHQUFhLEVBQUUsQ0FBQyxDQUN6RSxDQUFDLENBR0giLAogICJuYW1lcyI6IFsicGFyc2VBcmFuZ29JZCIsICJwYXJzZUlkIiwgInoiLCAicGFyc2VEb2N1bWVudCIsICJyZW1vdmVFbXB0eUtleXMiLCAiUGVyc29uYVZhbGlkYXRpb25FcnJvciIsICJtZXNzYWdlIiwgImZpZWxkIiwgIlBlcnNvbmFJbnB1dFNjaGVtYSIsICJ2YWxpZGF0ZVBlcnNvbmFJbnB1dCIsICJwZXJzb25hIiwgImVycm9yIiwgImZpZWxkRXJyb3JzIiwgImUiLCAiZm9ybWF0UGVyc29uYU91dHB1dCIsICJwYXJzZVBlcnNvbmEiLCAicGVyZm9ybVBlcnNvbmFUcmFuc2Zvcm1hdGlvbiIsICJfaWQiLCAiX2tleSIsICJpZCIsICJwZXJzb25hSWQiXQp9Cg==
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export interface PostType {
|
|
2
|
+
_id?: string;
|
|
3
|
+
_key?: string;
|
|
4
|
+
_rev?: string;
|
|
5
|
+
_oldRev?: string;
|
|
6
|
+
_from?: string;
|
|
7
|
+
_to?: string;
|
|
8
|
+
content?: string;
|
|
9
|
+
endDate?: number;
|
|
10
|
+
files?: any[];
|
|
11
|
+
groupId?: string;
|
|
12
|
+
id?: string;
|
|
13
|
+
latitude?: number;
|
|
14
|
+
location?: string;
|
|
15
|
+
longitude?: number;
|
|
16
|
+
name?: string;
|
|
17
|
+
parentId?: string;
|
|
18
|
+
postId?: string;
|
|
19
|
+
privacy?: string;
|
|
20
|
+
startDate?: number;
|
|
21
|
+
tags?: any[];
|
|
22
|
+
type?: string;
|
|
23
|
+
userId?: string;
|
|
24
|
+
[key: string]: any;
|
|
25
|
+
}
|
|
26
|
+
export declare class PostValidationError extends Error {
|
|
27
|
+
field?: string | undefined;
|
|
28
|
+
constructor(message: string, field?: string | undefined);
|
|
29
|
+
}
|
|
30
|
+
export declare const validatePostInput: (post: unknown) => PostType;
|
|
31
|
+
export declare const formatPostOutput: (post: PostType) => PostType;
|
|
32
|
+
export declare const parsePost: (post: PostType) => PostType;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{parseArangoId as k,parseId as s,parseNum as v,parseString as b,parseVarChar as E}from"@nlabs/utils";import{z as t}from"zod";import{parseDocument as w,removeEmptyKeys as D}from"../arangoAdapter/arangoAdapter";import{parseFile as x}from"../fileAdapter/fileAdapter";import{parseReaktorContent as R,parseReaktorDate as $,parseReaktorType as N}from"../reaktorAdapter/reaktorAdapter";import{parseTag as j}from"../tagAdapter/tagAdapter";const C=1e5;class p extends Error{constructor(n,e){super(n);this.field=e;this.name="PostValidationError"}}const V=t.object({content:t.string().optional(),endDate:t.number().optional(),files:t.array(t.any()).optional(),groupId:t.string().optional(),postId:t.string().optional(),latitude:t.number().optional(),location:t.string().optional(),longitude:t.number().optional(),name:t.string().optional(),parentId:t.string().optional(),privacy:t.string().optional(),startDate:t.number().optional(),tags:t.array(t.any()).optional(),type:t.string().optional(),userId:t.string().optional(),_id:t.string().optional(),_key:t.string().optional(),_rev:t.string().optional(),_oldRev:t.string().optional(),_from:t.string().optional(),_to:t.string().optional()}).passthrough(),L=o=>{try{return V.parse(o)}catch(r){if(r instanceof t.ZodError){const n=r.issues.map(e=>`${e.path.join(".")}: ${e.message}`).join(", ");throw new p(`Post validation failed: ${n}`)}throw r}},M=o=>o,U=o=>{try{return A(o)}catch(r){throw r instanceof p?r:new p(`Post parsing failed: ${r instanceof Error?r.message:"Unknown error"}`)}},A=o=>{const{_id:r,_key:n,content:e,endDate:d,files:g,groupId:l,id:m,latitude:u,location:c,longitude:y,name:f,parentId:I,postId:a,privacy:P,tags:_,type:T,userId:h}=o;return D({...w(o),...e&&{content:R(e,C)},...d!==void 0&&{endDate:$(d)},...g?.length&&{files:g.map(i=>x(i))},...l&&{groupId:s(l)},...u!==void 0&&{latitude:v(u,15)},...c&&{location:b(c,160)},...y!==void 0&&{longitude:v(y,15)},...f&&{name:b(f,160)},...I&&{parentId:s(I)},...(r||m||n||a)&&{id:k(r||m||`posts/${n||a}`)},...(n||a)&&{postId:s(n||a||"")},...P&&{privacy:E(P,16)},..._?.length&&{tags:_.map(i=>j(i))},...T&&{type:N(T)},...h&&{userId:s(h)}})};export{p as PostValidationError,M as formatPostOutput,U as parsePost,L as validatePostInput};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2FkYXB0ZXJzL3Bvc3RBZGFwdGVyL3Bvc3RBZGFwdGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQge3BhcnNlQXJhbmdvSWQsIHBhcnNlSWQsIHBhcnNlTnVtLCBwYXJzZVN0cmluZywgcGFyc2VWYXJDaGFyfSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuaW1wb3J0IHt6fSBmcm9tICd6b2QnO1xuXG5pbXBvcnQge3BhcnNlRG9jdW1lbnQsIHJlbW92ZUVtcHR5S2V5c30gZnJvbSAnLi4vYXJhbmdvQWRhcHRlci9hcmFuZ29BZGFwdGVyJztcbmltcG9ydCB7cGFyc2VGaWxlfSBmcm9tICcuLi9maWxlQWRhcHRlci9maWxlQWRhcHRlcic7XG5pbXBvcnQge1xuICBwYXJzZVJlYWt0b3JDb250ZW50LFxuICBwYXJzZVJlYWt0b3JEYXRlLFxuICBwYXJzZVJlYWt0b3JUeXBlXG59IGZyb20gJy4uL3JlYWt0b3JBZGFwdGVyL3JlYWt0b3JBZGFwdGVyJztcbmltcG9ydCB7cGFyc2VUYWd9IGZyb20gJy4uL3RhZ0FkYXB0ZXIvdGFnQWRhcHRlcic7XG5cbmNvbnN0IE1BWF9DT05URU5UX0xFTkdUSDogbnVtYmVyID0gMTAwMDAwO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBvc3RUeXBlIHtcbiAgX2lkPzogc3RyaW5nO1xuICBfa2V5Pzogc3RyaW5nO1xuICBfcmV2Pzogc3RyaW5nO1xuICBfb2xkUmV2Pzogc3RyaW5nO1xuICBfZnJvbT86IHN0cmluZztcbiAgX3RvPzogc3RyaW5nO1xuICBjb250ZW50Pzogc3RyaW5nO1xuICBlbmREYXRlPzogbnVtYmVyO1xuICBmaWxlcz86IGFueVtdO1xuICBncm91cElkPzogc3RyaW5nO1xuICBpZD86IHN0cmluZztcbiAgbGF0aXR1ZGU/OiBudW1iZXI7XG4gIGxvY2F0aW9uPzogc3RyaW5nO1xuICBsb25naXR1ZGU/OiBudW1iZXI7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHBhcmVudElkPzogc3RyaW5nO1xuICBwb3N0SWQ/OiBzdHJpbmc7XG4gIHByaXZhY3k/OiBzdHJpbmc7XG4gIHN0YXJ0RGF0ZT86IG51bWJlcjtcbiAgdGFncz86IGFueVtdO1xuICB0eXBlPzogc3RyaW5nO1xuICB1c2VySWQ/OiBzdHJpbmc7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGNsYXNzIFBvc3RWYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIGZpZWxkPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ1Bvc3RWYWxpZGF0aW9uRXJyb3InO1xuICB9XG59XG5cbmNvbnN0IFBvc3RJbnB1dFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgY29udGVudDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBlbmREYXRlOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGZpbGVzOiB6LmFycmF5KHouYW55KCkpLm9wdGlvbmFsKCksXG4gIGdyb3VwSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgcG9zdElkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGxhdGl0dWRlOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGxvY2F0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGxvbmdpdHVkZTogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBuYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHBhcmVudElkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHByaXZhY3k6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgc3RhcnREYXRlOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIHRhZ3M6IHouYXJyYXkoei5hbnkoKSkub3B0aW9uYWwoKSxcbiAgdHlwZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB1c2VySWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2lkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9rZXk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX3Jldjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfb2xkUmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9mcm9tOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF90bzogei5zdHJpbmcoKS5vcHRpb25hbCgpXG59KS5wYXNzdGhyb3VnaCgpO1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVQb3N0SW5wdXQgPSAocG9zdDogdW5rbm93bik6IFBvc3RUeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCB2YWxpZGF0ZWQgPSBQb3N0SW5wdXRTY2hlbWEucGFyc2UocG9zdCk7XG4gICAgcmV0dXJuIHZhbGlkYXRlZCBhcyBQb3N0VHlwZTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2Ygei5ab2RFcnJvcikge1xuICAgICAgY29uc3QgZmllbGRFcnJvcnMgPSBlcnJvci5pc3N1ZXMubWFwKChlKSA9PiBgJHtlLnBhdGguam9pbignLicpfTogJHtlLm1lc3NhZ2V9YCkuam9pbignLCAnKTtcbiAgICAgIHRocm93IG5ldyBQb3N0VmFsaWRhdGlvbkVycm9yKGBQb3N0IHZhbGlkYXRpb24gZmFpbGVkOiAke2ZpZWxkRXJyb3JzfWApO1xuICAgIH1cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdFBvc3RPdXRwdXQgPSAocG9zdDogUG9zdFR5cGUpOiBQb3N0VHlwZSA9PiBwb3N0O1xuXG5leHBvcnQgY29uc3QgcGFyc2VQb3N0ID0gKHBvc3Q6IFBvc3RUeXBlKTogUG9zdFR5cGUgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHBhcnNlZCA9IHBlcmZvcm1Qb3N0VHJhbnNmb3JtYXRpb24ocG9zdCk7XG4gICAgcmV0dXJuIHBhcnNlZDtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2YgUG9zdFZhbGlkYXRpb25FcnJvcikge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICAgIHRocm93IG5ldyBQb3N0VmFsaWRhdGlvbkVycm9yKGBQb3N0IHBhcnNpbmcgZmFpbGVkOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWApO1xuICB9XG59O1xuXG5jb25zdCBwZXJmb3JtUG9zdFRyYW5zZm9ybWF0aW9uID0gKHBvc3Q6IFBvc3RUeXBlKTogUG9zdFR5cGUgPT4ge1xuICBjb25zdCB7XG4gICAgX2lkLFxuICAgIF9rZXksXG4gICAgY29udGVudCxcbiAgICBlbmREYXRlLFxuICAgIGZpbGVzLFxuICAgIGdyb3VwSWQsXG4gICAgaWQsXG4gICAgbGF0aXR1ZGUsXG4gICAgbG9jYXRpb24sXG4gICAgbG9uZ2l0dWRlLFxuICAgIG5hbWUsXG4gICAgcGFyZW50SWQsXG4gICAgcG9zdElkLFxuICAgIHByaXZhY3ksXG4gICAgdGFncyxcbiAgICB0eXBlLFxuICAgIHVzZXJJZFxuICB9ID0gcG9zdDtcblxuICBjb25zdCB0cmFuc2Zvcm1lZCA9IHJlbW92ZUVtcHR5S2V5cyh7XG4gICAgLi4ucGFyc2VEb2N1bWVudChwb3N0KSxcbiAgICAuLi4oY29udGVudCAmJiB7Y29udGVudDogcGFyc2VSZWFrdG9yQ29udGVudChjb250ZW50LCBNQVhfQ09OVEVOVF9MRU5HVEgpfSksXG4gICAgLi4uKGVuZERhdGUgIT09IHVuZGVmaW5lZCAmJiB7ZW5kRGF0ZTogcGFyc2VSZWFrdG9yRGF0ZShlbmREYXRlKX0pLFxuICAgIC4uLihmaWxlcz8ubGVuZ3RoICYmIHtmaWxlczogZmlsZXMubWFwKChmaWxlKSA9PiBwYXJzZUZpbGUoZmlsZSkpfSksXG4gICAgLi4uKGdyb3VwSWQgJiYge2dyb3VwSWQ6IHBhcnNlSWQoZ3JvdXBJZCl9KSxcbiAgICAuLi4obGF0aXR1ZGUgIT09IHVuZGVmaW5lZCAmJiB7bGF0aXR1ZGU6IHBhcnNlTnVtKGxhdGl0dWRlLCAxNSl9KSxcbiAgICAuLi4obG9jYXRpb24gJiYge2xvY2F0aW9uOiBwYXJzZVN0cmluZyhsb2NhdGlvbiwgMTYwKX0pLFxuICAgIC4uLihsb25naXR1ZGUgIT09IHVuZGVmaW5lZCAmJiB7bG9uZ2l0dWRlOiBwYXJzZU51bShsb25naXR1ZGUsIDE1KX0pLFxuICAgIC4uLihuYW1lICYmIHtuYW1lOiBwYXJzZVN0cmluZyhuYW1lLCAxNjApfSksXG4gICAgLi4uKHBhcmVudElkICYmIHtwYXJlbnRJZDogcGFyc2VJZChwYXJlbnRJZCl9KSxcbiAgICAuLi4oKF9pZCB8fCBpZCB8fCBfa2V5IHx8IHBvc3RJZCkgJiYge2lkOiBwYXJzZUFyYW5nb0lkKF9pZCB8fCBpZCB8fCBgcG9zdHMvJHtfa2V5IHx8IHBvc3RJZH1gKX0pLFxuICAgIC4uLigoX2tleSB8fCBwb3N0SWQpICYmIHtwb3N0SWQ6IHBhcnNlSWQoX2tleSB8fCBwb3N0SWQgfHwgJycpfSksXG4gICAgLi4uKHByaXZhY3kgJiYge3ByaXZhY3k6IHBhcnNlVmFyQ2hhcihwcml2YWN5LCAxNil9KSxcbiAgICAuLi4odGFncz8ubGVuZ3RoICYmIHt0YWdzOiB0YWdzLm1hcCgodGFnKSA9PiBwYXJzZVRhZyh0YWcpKX0pLFxuICAgIC4uLih0eXBlICYmIHt0eXBlOiBwYXJzZVJlYWt0b3JUeXBlKHR5cGUpfSksXG4gICAgLi4uKHVzZXJJZCAmJiB7dXNlcklkOiBwYXJzZUlkKHVzZXJJZCl9KVxuICB9KTtcblxuICByZXR1cm4gdHJhbnNmb3JtZWQ7XG59OyJdLAogICJtYXBwaW5ncyI6ICJBQUFBLE9BQVEsaUJBQUFBLEVBQWUsV0FBQUMsRUFBUyxZQUFBQyxFQUFVLGVBQUFDLEVBQWEsZ0JBQUFDLE1BQW1CLGVBQzFFLE9BQVEsS0FBQUMsTUFBUSxNQUVoQixPQUFRLGlCQUFBQyxFQUFlLG1CQUFBQyxNQUFzQixpQ0FDN0MsT0FBUSxhQUFBQyxNQUFnQiw2QkFDeEIsT0FDRSx1QkFBQUMsRUFDQSxvQkFB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QUFTbEMsRUFBVWtDLENBQUksQ0FBQyxDQUFDLEVBQ2pFLEdBQUlaLEdBQVcsQ0FBQyxRQUFTN0IsRUFBUTZCLENBQU8sQ0FBQyxFQUN6QyxHQUFJRSxJQUFhLFFBQWEsQ0FBQyxTQUFVOUIsRUFBUzhCLEVBQVUsRUFBRSxDQUFDLEVBQy9ELEdBQUlDLEdBQVksQ0FBQyxTQUFVOUIsRUFBWThCLEVBQVUsR0FBRyxDQUFDLEVBQ3JELEdBQUlDLElBQWMsUUFBYSxDQUFDLFVBQVdoQyxFQUFTZ0MsRUFBVyxFQUFFLENBQUMsRUFDbEUsR0FBSUMsR0FBUSxDQUFDLEtBQU1oQyxFQUFZZ0MsRUFBTSxHQUFHLENBQUMsRUFDekMsR0FBSUMsR0FBWSxDQUFDLFNBQVVuQyxFQUFRbUMsQ0FBUSxDQUFDLEVBQzVDLElBQUtYLEdBQU9NLEdBQU1MLEdBQVFXLElBQVcsQ0FBQyxHQUFJckMsRUFBY3lCLEdBQU9NLEdBQU0sU0FBU0wsR0FBUVcsQ0FBTSxFQUFFLENBQUMsRUFDL0YsSUFBS1gsR0FBUVcsSUFBVyxDQUFDLE9BQVFwQyxFQUFReUIsR0FBUVcsR0FBVSxFQUFFLENBQUMsRUFDOUQsR0FBSUMsR0FBVyxDQUFDLFFBQVNsQyxFQUFha0MsRUFBUyxFQUFFLENBQUMsRUFDbEQsR0FBSUMsR0FBTSxRQUFVLENBQUMsS0FBTUEsRUFBSyxJQUFLSSxHQUFRL0IsRUFBUytCLENBQUcsQ0FBQyxDQUFDLEVBQzNELEdBQUlILEdBQVEsQ0FBQyxLQUFNN0IsRUFBaUI2QixDQUFJLENBQUMsRUFDekMsR0FBSUMsR0FBVSxDQUFDLE9BQVF4QyxFQUFRd0MsQ0FBTSxDQUFDLENBQ3hDLENBQUMsQ0FHSCIsCiAgIm5hbWVzIjogWyJwYXJzZUFyYW5nb0lkIiwgInBhcnNlSWQiLCAicGFyc2VOdW0iLCAicGFyc2VTdHJpbmciLCAicGFyc2VWYXJDaGFyIiwgInoiLCAicGFyc2VEb2N1bWVudCIsICJyZW1vdmVFbXB0eUtleXMiLCAicGFyc2VGaWxlIiwgInBhcnNlUmVha3RvckNvbnRlbnQiLCAicGFyc2VSZWFrdG9yRGF0ZSIsICJwYXJzZVJlYWt0b3JUeXBlIiwgInBhcnNlVGFnIiwgIk1BWF9DT05URU5UX0xFTkdUSCIsICJQb3N0VmFsaWRhdGlvbkVycm9yIiwgIm1lc3NhZ2UiLCAiZmllbGQiLCAiUG9zdElucHV0U2NoZW1hIiwgInZhbGlkYXRlUG9zdElucHV0IiwgInBvc3QiLCAiZXJyb3IiLCAiZmllbGRFcnJvcnMiLCAiZm9ybWF0UG9zdE91dHB1dCIsICJwYXJzZVBvc3QiLCAicGVyZm9ybVBvc3RUcmFuc2Zvcm1hdGlvbiIsICJfaWQiLCAiX2tleSIsICJjb250ZW50IiwgImVuZERhdGUiLCAiZmlsZXMiLCAiZ3JvdXBJZCIsICJpZCIsICJsYXRpdHVkZSIsICJsb2NhdGlvbiIsICJsb25naXR1ZGUiLCAibmFtZSIsICJwYXJlbnRJZCIsICJwb3N0SWQiLCAicHJpdmFjeSIsICJ0YWdzIiwgInR5cGUiLCAidXNlcklkIiwgImZpbGUiLCAidGFnIl0KfQo=
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export interface ProfileType {
|
|
2
|
+
_id?: string;
|
|
3
|
+
_key?: string;
|
|
4
|
+
_rev?: string;
|
|
5
|
+
_oldRev?: string;
|
|
6
|
+
_from?: string;
|
|
7
|
+
_to?: string;
|
|
8
|
+
active?: boolean;
|
|
9
|
+
gender?: string;
|
|
10
|
+
hasLike?: boolean;
|
|
11
|
+
hasView?: boolean;
|
|
12
|
+
id?: string;
|
|
13
|
+
images?: any[];
|
|
14
|
+
imageCount?: number;
|
|
15
|
+
imageId?: string;
|
|
16
|
+
imageUrl?: string;
|
|
17
|
+
likeCount?: number;
|
|
18
|
+
name?: string;
|
|
19
|
+
profileId?: string;
|
|
20
|
+
tags?: any[];
|
|
21
|
+
thumbUrl?: string;
|
|
22
|
+
userId?: string;
|
|
23
|
+
viewCount?: number;
|
|
24
|
+
[key: string]: any;
|
|
25
|
+
}
|
|
26
|
+
export declare class ProfileValidationError extends Error {
|
|
27
|
+
field?: string | undefined;
|
|
28
|
+
constructor(message: string, field?: string | undefined);
|
|
29
|
+
}
|
|
30
|
+
export declare const validateProfileInput: (profile: unknown) => ProfileType;
|
|
31
|
+
export declare const formatProfileOutput: (profile: ProfileType) => ProfileType;
|
|
32
|
+
export declare const parseProfile: (profile: ProfileType) => ProfileType;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{parseArangoId as C,parseBoolean as s,parseChar as T,parseId as l,parseNum as p,parseString as x}from"@nlabs/utils";import{z as e}from"zod";import{parseDocument as E,removeEmptyKeys as U}from"../arangoAdapter/arangoAdapter";import{parseImage as V}from"../imageAdapter/imageAdapter";import{parseTag as $}from"../tagAdapter/tagAdapter";class g extends Error{constructor(i,n){super(i);this.field=n;this.name="ProfileValidationError"}}const L=e.object({_id:e.string().optional(),_key:e.string().optional(),_rev:e.string().optional(),_oldRev:e.string().optional(),_from:e.string().optional(),_to:e.string().optional(),active:e.boolean().optional(),gender:e.string().max(1).optional(),hasLike:e.boolean().optional(),hasView:e.boolean().optional(),id:e.string().optional(),images:e.array(e.any()).optional(),imageCount:e.number().optional(),imageId:e.string().optional(),imageUrl:e.string().optional(),likeCount:e.number().optional(),name:e.string().max(64).optional(),profileId:e.string().optional(),tags:e.array(e.any()).optional(),thumbUrl:e.string().optional(),userId:e.string().optional(),viewCount:e.number().optional()}).passthrough(),K=o=>{try{return L.parse(o)}catch(r){if(r instanceof e.ZodError){const i=r.issues.map(n=>`${n.path.join(".")}: ${n.message}`).join(", ");throw new g(`Profile validation failed: ${i}`)}throw r}},N=o=>o,O=o=>{try{return j(o)}catch(r){throw r instanceof g?r:new g(`Profile parsing failed: ${r instanceof Error?r.message:"Unknown error"}`)}},j=o=>{const{_id:r,_key:i,active:n,gender:m,hasLike:d,hasView:f,id:u,images:c,imageCount:h,imageId:y,imageUrl:P,likeCount:b,name:v,profileId:t,tags:I,thumbUrl:w,userId:k,viewCount:_}=o;return U({...E(o),...n!==void 0&&{active:s(n)},...m&&{gender:T(m,1)},...d!==void 0&&{hasLike:s(d)},...f!==void 0&&{hasView:s(f)},...(r||u||i||t)&&{id:C(r||u||`profiles/${i||t}`)},...c?.length&&{images:c.map(a=>V(a))},...h!==void 0&&{imageCount:p(h)},...y&&{imageId:l(y)},...P&&{imageUrl:P},...b!==void 0&&{likeCount:p(b)},...v&&{name:x(v,64)},...(i||t)&&{profileId:l(i||t||"")},...I?.length&&{tags:I.map(a=>$(a))},...w&&{thumbUrl:w},...k&&{userId:l(k)},..._!==void 0&&{viewCount:p(_)}})};export{g as ProfileValidationError,N as formatProfileOutput,O as parseProfile,K as validateProfileInput};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2FkYXB0ZXJzL3Byb2ZpbGVBZGFwdGVyL3Byb2ZpbGVBZGFwdGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQge3BhcnNlQXJhbmdvSWQsIHBhcnNlQm9vbGVhbiwgcGFyc2VDaGFyLCBwYXJzZUlkLCBwYXJzZU51bSwgcGFyc2VTdHJpbmd9IGZyb20gJ0BubGFicy91dGlscyc7XG5pbXBvcnQge3p9IGZyb20gJ3pvZCc7XG5cbmltcG9ydCB7cGFyc2VEb2N1bWVudCwgcmVtb3ZlRW1wdHlLZXlzfSBmcm9tICcuLi9hcmFuZ29BZGFwdGVyL2FyYW5nb0FkYXB0ZXInO1xuaW1wb3J0IHtwYXJzZUltYWdlfSBmcm9tICcuLi9pbWFnZUFkYXB0ZXIvaW1hZ2VBZGFwdGVyJztcbmltcG9ydCB7cGFyc2VUYWd9IGZyb20gJy4uL3RhZ0FkYXB0ZXIvdGFnQWRhcHRlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZmlsZVR5cGUge1xuICBfaWQ/OiBzdHJpbmc7XG4gIF9rZXk/OiBzdHJpbmc7XG4gIF9yZXY/OiBzdHJpbmc7XG4gIF9vbGRSZXY/OiBzdHJpbmc7XG4gIF9mcm9tPzogc3RyaW5nO1xuICBfdG8/OiBzdHJpbmc7XG4gIGFjdGl2ZT86IGJvb2xlYW47XG4gIGdlbmRlcj86IHN0cmluZztcbiAgaGFzTGlrZT86IGJvb2xlYW47XG4gIGhhc1ZpZXc/OiBib29sZWFuO1xuICBpZD86IHN0cmluZztcbiAgaW1hZ2VzPzogYW55W107XG4gIGltYWdlQ291bnQ/OiBudW1iZXI7XG4gIGltYWdlSWQ/OiBzdHJpbmc7XG4gIGltYWdlVXJsPzogc3RyaW5nO1xuICBsaWtlQ291bnQ/OiBudW1iZXI7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHByb2ZpbGVJZD86IHN0cmluZztcbiAgdGFncz86IGFueVtdO1xuICB0aHVtYlVybD86IHN0cmluZztcbiAgdXNlcklkPzogc3RyaW5nO1xuICB2aWV3Q291bnQ/OiBudW1iZXI7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGNsYXNzIFByb2ZpbGVWYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIGZpZWxkPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ1Byb2ZpbGVWYWxpZGF0aW9uRXJyb3InO1xuICB9XG59XG5cbmNvbnN0IFByb2ZpbGVJbnB1dFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgX2lkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9rZXk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX3Jldjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfb2xkUmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9mcm9tOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF90bzogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBhY3RpdmU6IHouYm9vbGVhbigpLm9wdGlvbmFsKCksXG4gIGdlbmRlcjogei5zdHJpbmcoKS5tYXgoMSkub3B0aW9uYWwoKSxcbiAgaGFzTGlrZTogei5ib29sZWFuKCkub3B0aW9uYWwoKSxcbiAgaGFzVmlldzogei5ib29sZWFuKCkub3B0aW9uYWwoKSxcbiAgaWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgaW1hZ2VzOiB6LmFycmF5KHouYW55KCkpLm9wdGlvbmFsKCksXG4gIGltYWdlQ291bnQ6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgaW1hZ2VJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBpbWFnZVVybDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBsaWtlQ291bnQ6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgbmFtZTogei5zdHJpbmcoKS5tYXgoNjQpLm9wdGlvbmFsKCksXG4gIHByb2ZpbGVJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB0YWdzOiB6LmFycmF5KHouYW55KCkpLm9wdGlvbmFsKCksXG4gIHRodW1iVXJsOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHVzZXJJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB2aWV3Q291bnQ6IHoubnVtYmVyKCkub3B0aW9uYWwoKVxufSkucGFzc3Rocm91Z2goKTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlUHJvZmlsZUlucHV0ID0gKHByb2ZpbGU6IHVua25vd24pOiBQcm9maWxlVHlwZSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgdmFsaWRhdGVkID0gUHJvZmlsZUlucHV0U2NoZW1hLnBhcnNlKHByb2ZpbGUpO1xuICAgIHJldHVybiB2YWxpZGF0ZWQgYXMgUHJvZmlsZVR5cGU7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIHouWm9kRXJyb3IpIHtcbiAgICAgIGNvbnN0IGZpZWxkRXJyb3JzID0gZXJyb3IuaXNzdWVzLm1hcCgoZSkgPT4gYCR7ZS5wYXRoLmpvaW4oJy4nKX06ICR7ZS5tZXNzYWdlfWApLmpvaW4oJywgJyk7XG4gICAgICB0aHJvdyBuZXcgUHJvZmlsZVZhbGlkYXRpb25FcnJvcihgUHJvZmlsZSB2YWxpZGF0aW9uIGZhaWxlZDogJHtmaWVsZEVycm9yc31gKTtcbiAgICB9XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBmb3JtYXRQcm9maWxlT3V0cHV0ID0gKHByb2ZpbGU6IFByb2ZpbGVUeXBlKTogUHJvZmlsZVR5cGUgPT4gcHJvZmlsZTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlUHJvZmlsZSA9IChwcm9maWxlOiBQcm9maWxlVHlwZSk6IFByb2ZpbGVUeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJzZWQgPSBwZXJmb3JtUHJvZmlsZVRyYW5zZm9ybWF0aW9uKHByb2ZpbGUpO1xuICAgIHJldHVybiBwYXJzZWQ7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIFByb2ZpbGVWYWxpZGF0aW9uRXJyb3IpIHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgUHJvZmlsZVZhbGlkYXRpb25FcnJvcihgUHJvZmlsZSBwYXJzaW5nIGZhaWxlZDogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ31gKTtcbiAgfVxufTtcblxuY29uc3QgcGVyZm9ybVByb2ZpbGVUcmFuc2Zvcm1hdGlvbiA9IChwcm9maWxlOiBQcm9maWxlVHlwZSk6IFByb2ZpbGVUeXBlID0+IHtcbiAgY29uc3Qge1xuICAgIF9pZCxcbiAgICBfa2V5LFxuICAgIGFjdGl2ZSxcbiAgICBnZW5kZXIsXG4gICAgaGFzTGlrZSxcbiAgICBoYXNWaWV3LFxuICAgIGlkLFxuICAgIGltYWdlcyxcbiAgICBpbWFnZUNvdW50LFxuICAgIGltYWdlSWQsXG4gICAgaW1hZ2VVcmwsXG4gICAgbGlrZUNvdW50LFxuICAgIG5hbWUsXG4gICAgcHJvZmlsZUlkLFxuICAgIHRhZ3MsXG4gICAgdGh1bWJVcmwsXG4gICAgdXNlcklkLFxuICAgIHZpZXdDb3VudFxuICB9ID0gcHJvZmlsZTtcblxuICBjb25zdCB0cmFuc2Zvcm1lZCA9IHJlbW92ZUVtcHR5S2V5cyh7XG4gICAgLi4ucGFyc2VEb2N1bWVudChwcm9maWxlKSxcbiAgICAuLi4oYWN0aXZlICE9PSB1bmRlZmluZWQgJiYge2FjdGl2ZTogcGFyc2VCb29sZWFuKGFjdGl2ZSl9KSxcbiAgICAuLi4oZ2VuZGVyICYmIHtnZW5kZXI6IHBhcnNlQ2hhcihnZW5kZXIsIDEpfSksXG4gICAgLi4uKGhhc0xpa2UgIT09IHVuZGVmaW5lZCAmJiB7aGFzTGlrZTogcGFyc2VCb29sZWFuKGhhc0xpa2UpfSksXG4gICAgLi4uKGhhc1ZpZXcgIT09IHVuZGVmaW5lZCAmJiB7aGFzVmlldzogcGFyc2VCb29sZWFuKGhhc1ZpZXcpfSksXG4gICAgLi4uKChfaWQgfHwgaWQgfHwgX2tleSB8fCBwcm9maWxlSWQpICYmIHtpZDogcGFyc2VBcmFuZ29JZChfaWQgfHwgaWQgfHwgYHByb2ZpbGVzLyR7X2tleSB8fCBwcm9maWxlSWR9YCl9KSxcbiAgICAuLi4oaW1hZ2VzPy5sZW5ndGggJiYge2ltYWdlczogaW1hZ2VzLm1hcCgoaW1hZ2UpID0+IHBhcnNlSW1hZ2UoaW1hZ2UpKX0pLFxuICAgIC4uLihpbWFnZUNvdW50ICE9PSB1bmRlZmluZWQgJiYge2ltYWdlQ291bnQ6IHBhcnNlTnVtKGltYWdlQ291bnQpfSksXG4gICAgLi4uKGltYWdlSWQgJiYge2ltYWdlSWQ6IHBhcnNlSWQoaW1hZ2VJZCl9KSxcbiAgICAuLi4oaW1hZ2VVcmwgJiYge2ltYWdlVXJsfSksXG4gICAgLi4uKGxpa2VDb3VudCAhPT0gdW5kZWZpbmVkICYmIHtsaWtlQ291bnQ6IHBhcnNlTnVtKGxpa2VDb3VudCl9KSxcbiAgICAuLi4obmFtZSAmJiB7bmFtZTogcGFyc2VTdHJpbmcobmFtZSwgNjQpfSksXG4gICAgLi4uKChfa2V5IHx8IHByb2ZpbGVJZCkgJiYge3Byb2ZpbGVJZDogcGFyc2VJZChfa2V5IHx8IHByb2ZpbGVJZCB8fCAnJyl9KSxcbiAgICAuLi4odGFncz8ubGVuZ3RoICYmIHt0YWdzOiB0YWdzLm1hcCgodGFnKSA9PiBwYXJzZVRhZyh0YWcpKX0pLFxuICAgIC4uLih0aHVtYlVybCAmJiB7dGh1bWJVcmx9KSxcbiAgICAuLi4odXNlcklkICYmIHt1c2VySWQ6IHBhcnNlSWQodXNlcklkKX0pLFxuICAgIC4uLih2aWV3Q291bnQgIT09IHVuZGVmaW5lZCAmJiB7dmlld0NvdW50OiBwYXJzZU51bSh2aWV3Q291bnQpfSlcbiAgfSk7XG5cbiAgcmV0dXJuIHRyYW5zZm9ybWVkIGFzIFByb2ZpbGVUeXBlO1xufTsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxPQUFRLGlCQUFBQSxFQUFlLGdCQUFBQyxFQUFjLGFBQUFDLEVBQVcsV0FBQUMsRUFBUyxZQUFBQyxFQUFVLGVBQUFDLE1BQWtCLGVBQ3JGLE9B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YXIiLCAicGFyc2VJZCIsICJwYXJzZU51bSIsICJwYXJzZVN0cmluZyIsICJ6IiwgInBhcnNlRG9jdW1lbnQiLCAicmVtb3ZlRW1wdHlLZXlzIiwgInBhcnNlSW1hZ2UiLCAicGFyc2VUYWciLCAiUHJvZmlsZVZhbGlkYXRpb25FcnJvciIsICJtZXNzYWdlIiwgImZpZWxkIiwgIlByb2ZpbGVJbnB1dFNjaGVtYSIsICJ2YWxpZGF0ZVByb2ZpbGVJbnB1dCIsICJwcm9maWxlIiwgImVycm9yIiwgImZpZWxkRXJyb3JzIiwgImUiLCAiZm9ybWF0UHJvZmlsZU91dHB1dCIsICJwYXJzZVByb2ZpbGUiLCAicGVyZm9ybVByb2ZpbGVUcmFuc2Zvcm1hdGlvbiIsICJfaWQiLCAiX2tleSIsICJhY3RpdmUiLCAiZ2VuZGVyIiwgImhhc0xpa2UiLCAiaGFzVmlldyIsICJpZCIsICJpbWFnZXMiLCAiaW1hZ2VDb3VudCIsICJpbWFnZUlkIiwgImltYWdlVXJsIiwgImxpa2VDb3VudCIsICJuYW1lIiwgInByb2ZpbGVJZCIsICJ0YWdzIiwgInRodW1iVXJsIiwgInVzZXJJZCIsICJ2aWV3Q291bnQiLCAiaW1hZ2UiLCAidGFnIl0KfQo=
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface ReactionType {
|
|
2
|
+
_id?: string;
|
|
3
|
+
_key?: string;
|
|
4
|
+
_rev?: string;
|
|
5
|
+
_oldRev?: string;
|
|
6
|
+
_from?: string;
|
|
7
|
+
_to?: string;
|
|
8
|
+
id?: string;
|
|
9
|
+
name?: string;
|
|
10
|
+
reactionId?: string;
|
|
11
|
+
value?: string;
|
|
12
|
+
[key: string]: any;
|
|
13
|
+
}
|
|
14
|
+
export declare class ReactionValidationError extends Error {
|
|
15
|
+
field?: string | undefined;
|
|
16
|
+
constructor(message: string, field?: string | undefined);
|
|
17
|
+
}
|
|
18
|
+
export declare const validateReactionInput: (reaction: unknown) => ReactionType;
|
|
19
|
+
export declare const formatReactionOutput: (reaction: ReactionType) => ReactionType;
|
|
20
|
+
export declare const parseReaction: (reaction: ReactionType) => ReactionType;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{parseArangoId as d,parseId as g,parseVarChar as p}from"@nlabs/utils";import{z as r}from"zod";import{parseDocument as l,removeEmptyKeys as m}from"../arangoAdapter/arangoAdapter";class a extends Error{constructor(o,e){super(o);this.field=e;this.name="ReactionValidationError"}}const f=r.object({_id:r.string().optional(),_key:r.string().optional(),_rev:r.string().optional(),_oldRev:r.string().optional(),_from:r.string().optional(),_to:r.string().optional(),id:r.string().optional(),name:r.string().max(32).optional(),reactionId:r.string().optional(),type:r.string(),value:r.string().max(32).optional()}).passthrough(),h=n=>{try{return f.parse(n)}catch(t){if(t instanceof r.ZodError){const o=t.issues.map(e=>`${e.path.join(".")}: ${e.message}`).join(", ");throw new a(`Reaction validation failed: ${o}`)}throw t}},T=n=>n,w=n=>{try{return R(n)}catch(t){throw t instanceof a?t:new a(`Reaction parsing failed: ${t instanceof Error?t.message:"Unknown error"}`)}},R=n=>{const{_id:t,_key:o,id:e,name:s,reactionId:i,value:c}=n;return m({...l(n),...(t||e||o||i)&&{id:d(t||e||`reactions/${o||i}`)},...s&&{name:p(s,32)},...(o||i)&&{reactionId:g(o||i||"")},...c&&{value:p(c,32)}})};export{a as ReactionValidationError,T as formatReactionOutput,w as parseReaction,h as validateReactionInput};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2FkYXB0ZXJzL3JlYWN0aW9uQWRhcHRlci9yZWFjdGlvbkFkYXB0ZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7cGFyc2VBcmFuZ29JZCwgcGFyc2VJZCwgcGFyc2VWYXJDaGFyfSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuaW1wb3J0IHt6fSBmcm9tICd6b2QnO1xuXG5pbXBvcnQge3BhcnNlRG9jdW1lbnQsIHJlbW92ZUVtcHR5S2V5c30gZnJvbSAnLi4vYXJhbmdvQWRhcHRlci9hcmFuZ29BZGFwdGVyJztcblxuZXhwb3J0IGludGVyZmFjZSBSZWFjdGlvblR5cGUge1xuICBfaWQ/OiBzdHJpbmc7XG4gIF9rZXk/OiBzdHJpbmc7XG4gIF9yZXY/OiBzdHJpbmc7XG4gIF9vbGRSZXY/OiBzdHJpbmc7XG4gIF9mcm9tPzogc3RyaW5nO1xuICBfdG8/OiBzdHJpbmc7XG4gIGlkPzogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xuICByZWFjdGlvbklkPzogc3RyaW5nO1xuICB2YWx1ZT86IHN0cmluZztcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgY2xhc3MgUmVhY3Rpb25WYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIGZpZWxkPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ1JlYWN0aW9uVmFsaWRhdGlvbkVycm9yJztcbiAgfVxufVxuXG5jb25zdCBSZWFjdGlvbklucHV0U2NoZW1hID0gei5vYmplY3Qoe1xuICBfaWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2tleTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfcmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9vbGRSZXY6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2Zyb206IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX3RvOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGlkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIG5hbWU6IHouc3RyaW5nKCkubWF4KDMyKS5vcHRpb25hbCgpLFxuICByZWFjdGlvbklkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHR5cGU6IHouc3RyaW5nKCksXG4gIHZhbHVlOiB6LnN0cmluZygpLm1heCgzMikub3B0aW9uYWwoKVxufSkucGFzc3Rocm91Z2goKTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlUmVhY3Rpb25JbnB1dCA9IChyZWFjdGlvbjogdW5rbm93bik6IFJlYWN0aW9uVHlwZSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgdmFsaWRhdGVkID0gUmVhY3Rpb25JbnB1dFNjaGVtYS5wYXJzZShyZWFjdGlvbik7XG4gICAgcmV0dXJuIHZhbGlkYXRlZCBhcyBSZWFjdGlvblR5cGU7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIHouWm9kRXJyb3IpIHtcbiAgICAgIGNvbnN0IGZpZWxkRXJyb3JzID0gZXJyb3IuaXNzdWVzLm1hcCgoZSkgPT4gYCR7ZS5wYXRoLmpvaW4oJy4nKX06ICR7ZS5tZXNzYWdlfWApLmpvaW4oJywgJyk7XG4gICAgICB0aHJvdyBuZXcgUmVhY3Rpb25WYWxpZGF0aW9uRXJyb3IoYFJlYWN0aW9uIHZhbGlkYXRpb24gZmFpbGVkOiAke2ZpZWxkRXJyb3JzfWApO1xuICAgIH1cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdFJlYWN0aW9uT3V0cHV0ID0gKHJlYWN0aW9uOiBSZWFjdGlvblR5cGUpOiBSZWFjdGlvblR5cGUgPT4gcmVhY3Rpb247XG5cbmV4cG9ydCBjb25zdCBwYXJzZVJlYWN0aW9uID0gKHJlYWN0aW9uOiBSZWFjdGlvblR5cGUpOiBSZWFjdGlvblR5cGUgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHBhcnNlZCA9IHBlcmZvcm1SZWFjdGlvblRyYW5zZm9ybWF0aW9uKHJlYWN0aW9uKTtcbiAgICByZXR1cm4gcGFyc2VkO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiBSZWFjdGlvblZhbGlkYXRpb25FcnJvcikge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICAgIHRocm93IG5ldyBSZWFjdGlvblZhbGlkYXRpb25FcnJvcihgUmVhY3Rpb24gcGFyc2luZyBmYWlsZWQ6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCk7XG4gIH1cbn07XG5cbmNvbnN0IHBlcmZvcm1SZWFjdGlvblRyYW5zZm9ybWF0aW9uID0gKHJlYWN0aW9uOiBSZWFjdGlvblR5cGUpOiBSZWFjdGlvblR5cGUgPT4ge1xuICBjb25zdCB7XG4gICAgX2lkLFxuICAgIF9rZXksXG4gICAgaWQsXG4gICAgbmFtZSxcbiAgICByZWFjdGlvbklkLFxuICAgIHZhbHVlXG4gIH0gPSByZWFjdGlvbjtcblxuICBjb25zdCB0cmFuc2Zvcm1lZCA9IHJlbW92ZUVtcHR5S2V5cyh7XG4gICAgLi4ucGFyc2VEb2N1bWVudChyZWFjdGlvbiksXG4gICAgLi4uKChfaWQgfHwgaWQgfHwgX2tleSB8fCByZWFjdGlvbklkKSAmJiB7aWQ6IHBhcnNlQXJhbmdvSWQoX2lkIHx8IGlkIHx8IGByZWFjdGlvbnMvJHtfa2V5IHx8IHJlYWN0aW9uSWR9YCl9KSxcbiAgICAuLi4obmFtZSAmJiB7bmFtZTogcGFyc2VWYXJDaGFyKG5hbWUsIDMyKX0pLFxuICAgIC4uLigoX2tleSB8fCByZWFjdGlvbklkKSAmJiB7cmVhY3Rpb25JZDogcGFyc2VJZChfa2V5IHx8IHJlYWN0aW9uSWQgfHwgJycpfSksXG4gICAgLi4uKHZhbHVlICYmIHt2YWx1ZTogcGFyc2VWYXJDaGFyKHZhbHVlLCAzMil9KVxuICB9KTtcblxuICByZXR1cm4gdHJhbnNmb3JtZWQ7XG59OyJdLAogICJtYXBwaW5ncyI6ICJBQUFBLE9BQVEsaUJBQUFBLEVBQWUsV0FBQUMsRUFBUyxnQkFBQUMsTUFBbUIsZUFDbkQsT0FBUSxLQUFBQyxNQUFRLE1BRWhCLE9BQVEsaUJBQUFDLEVBQWUsbUJBQUFDLE1BQXNCLGlDQWdCdEMsTUFBTUMsVUFBZ0MsS0FBTSxDQUNqRCxZQUFZQyxFQUF3QkMsRUFBZ0IsQ0FDbEQsTUFBTUQsQ0FBTyxFQURxQixXQUFBQyxFQUVsQyxLQUFLLEtBQU8seUJBQ2QsQ0FDRixDQUVBLE1BQU1DLEVBQXNCTixFQUFFLE9BQU8sQ0FDbkMsSUFBS0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUN6QixLQUFNQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzFCLEtBQU1BLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDMUIsUUFBU0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUM3QixNQUFPQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzNCLElBQUtBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDekIsR0FBSUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUN4QixLQUFNQSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQ2xDLFdBQVlBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDaEMsS0FBTUEsRUFBRSxPQUFPLEVBQ2YsTUFBT0EsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUUsU0FBUyxDQUNyQyxDQUFDLEVBQUUsWUFBWSxFQUVGTyxFQUF5QkMsR0FBb0MsQ0FDeEUsR0FBSSxDQUVGLE9BRGtCRixFQUFvQixNQUFNRSxDQUFRLENBRXRELE9BQVFDLEVBQU8sQ0FDYixHQUFHQSxhQUFpQlQsRUFBRSxTQUFVLENBQzlCLE1BQU1VLEVBQWNELEVBQU0sT0FBTyxJQUFLLEdBQU0sR0FBRyxFQUFFLEtBQUssS0FBSyxHQUFHLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFLEtBQUssSUFBSSxFQUMxRixNQUFNLElBQUlOLEVBQXdCLCtCQUErQk8sQ0FBVyxFQUFFLENBQ2hGLENBQ0EsTUFBTUQsQ0FDUixDQUNGLEVBRWFFLEVBQXdCSCxHQUF5Q0EsRUFFakVJLEVBQWlCSixHQUF5QyxDQUNyRSxHQUFJLENBRUYsT0FEZUssRUFBOEJMLENBQVEsQ0FFdkQsT0FBUUMsRUFBTyxDQUNiLE1BQUdBLGFBQWlCTixFQUNaTSxFQUVGLElBQUlOLEVBQXdCLDRCQUE0Qk0sYUFBaUIsTUFBUUEsRUFBTSxRQUFVLGVBQWUsRUFBRSxDQUMxSCxDQUNGLEVBRU1JLEVBQWlDTCxHQUF5QyxDQUM5RSxLQUFNLENBQ0osSUFBQU0sRUFDQSxLQUFBQyxFQUNBLEdBQUFDLEVBQ0EsS0FBQUMsRUFDQSxXQUFBQyxFQUNBLE1BQUFDLENBQ0YsRUFBSVgsRUFVSixPQVJvQk4sRUFBZ0IsQ0FDbEMsR0FBR0QsRUFBY08sQ0FBUSxFQUN6QixJQUFLTSxHQUFPRSxHQUFNRCxHQUFRRyxJQUFlLENBQUMsR0FBSXJCLEVBQWNpQixHQUFPRSxHQUFNLGFBQWFELEdBQVFHLENBQVUsRUFBRSxDQUFDLEVBQzNHLEdBQUlELEdBQVEsQ0FBQyxLQUFNbEIsRUFBYWtCLEVBQU0sRUFBRSxDQUFDLEVBQ3pDLElBQUtGLEdBQVFHLElBQWUsQ0FBQyxXQUFZcEIsRUFBUWlCLEdBQVFHLEdBQWMsRUFBRSxDQUFDLEVBQzFFLEdBQUlDLEdBQVMsQ0FBQyxNQUFPcEIsRUFBYW9CLEVBQU8sRUFBRSxDQUFDLENBQzlDLENBQUMsQ0FHSCIsCiAgIm5hbWVzIjogWyJwYXJzZUFyYW5nb0lkIiwgInBhcnNlSWQiLCAicGFyc2VWYXJDaGFyIiwgInoiLCAicGFyc2VEb2N1bWVudCIsICJyZW1vdmVFbXB0eUtleXMiLCAiUmVhY3Rpb25WYWxpZGF0aW9uRXJyb3IiLCAibWVzc2FnZSIsICJmaWVsZCIsICJSZWFjdGlvbklucHV0U2NoZW1hIiwgInZhbGlkYXRlUmVhY3Rpb25JbnB1dCIsICJyZWFjdGlvbiIsICJlcnJvciIsICJmaWVsZEVycm9ycyIsICJmb3JtYXRSZWFjdGlvbk91dHB1dCIsICJwYXJzZVJlYWN0aW9uIiwgInBlcmZvcm1SZWFjdGlvblRyYW5zZm9ybWF0aW9uIiwgIl9pZCIsICJfa2V5IiwgImlkIiwgIm5hbWUiLCAicmVhY3Rpb25JZCIsICJ2YWx1ZSJdCn0K
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare class ReaktorValidationError extends Error {
|
|
2
|
+
field?: string | undefined;
|
|
3
|
+
constructor(message: string, field?: string | undefined);
|
|
4
|
+
}
|
|
5
|
+
export declare const validateReaktorContent: (content?: string, length?: number) => string | undefined;
|
|
6
|
+
export declare const validateReaktorDate: (date?: number) => number | undefined;
|
|
7
|
+
export declare const validateReaktorItemId: (itemId?: string) => string | undefined;
|
|
8
|
+
export declare const validateReaktorName: (name?: string) => string | undefined;
|
|
9
|
+
export declare const validateReaktorType: (type?: string) => string | undefined;
|
|
10
|
+
export declare const validateReaktorUrl: (url?: string) => string | undefined;
|
|
11
|
+
export declare const parseReaktorContent: (content?: string, length?: number) => string | undefined;
|
|
12
|
+
export declare const parseReaktorDate: (date?: number) => number | undefined;
|
|
13
|
+
export declare const parseReaktorItemId: (itemId?: string) => string | undefined;
|
|
14
|
+
export declare const parseReaktorName: (name?: string) => string | undefined;
|
|
15
|
+
export declare const parseReaktorType: (type?: string) => string | undefined;
|
|
16
|
+
export declare const parseReaktorUrl: (url?: string) => string | undefined;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{parseId as a,parseNum as i,parseString as o,parseUrl as s,parseVarChar as d}from"@nlabs/utils";class n extends Error{constructor(t,m){super(t);this.field=m;this.name="ReaktorValidationError"}}const w=(r,e=500)=>{try{return c(r,e)}catch(t){throw new n(`Content validation failed: ${t instanceof Error?t.message:"Unknown error"}`,"content")}},R=r=>{try{return u(r)}catch(e){throw new n(`Date validation failed: ${e instanceof Error?e.message:"Unknown error"}`,"date")}},h=r=>{try{return f(r)}catch(e){throw new n(`Item ID validation failed: ${e instanceof Error?e.message:"Unknown error"}`,"itemId")}},x=r=>{try{return p(r)}catch(e){throw new n(`Name validation failed: ${e instanceof Error?e.message:"Unknown error"}`,"name")}},v=r=>{try{return g(r)}catch(e){throw new n(`Type validation failed: ${e instanceof Error?e.message:"Unknown error"}`,"type")}},U=r=>{try{return l(r)}catch(e){throw new n(`URL validation failed: ${e instanceof Error?e.message:"Unknown error"}`,"url")}},c=(r,e=500)=>r?o(r,e):void 0,u=r=>r?i(r,13):void 0,f=r=>r?a(r):void 0,p=r=>r?o(r,160):void 0,g=r=>r?d(r,160):void 0,l=r=>r?s(r):void 0;export{n as ReaktorValidationError,c as parseReaktorContent,u as parseReaktorDate,f as parseReaktorItemId,p as parseReaktorName,g as parseReaktorType,l as parseReaktorUrl,w as validateReaktorContent,R as validateReaktorDate,h as validateReaktorItemId,x as validateReaktorName,v as validateReaktorType,U as validateReaktorUrl};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2FkYXB0ZXJzL3JlYWt0b3JBZGFwdGVyL3JlYWt0b3JBZGFwdGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQge3BhcnNlSWQsIHBhcnNlTnVtLCBwYXJzZVN0cmluZywgcGFyc2VVcmwsIHBhcnNlVmFyQ2hhcn0gZnJvbSAnQG5sYWJzL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIFJlYWt0b3JWYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIGZpZWxkPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ1JlYWt0b3JWYWxpZGF0aW9uRXJyb3InO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVJlYWt0b3JDb250ZW50ID0gKGNvbnRlbnQ/OiBzdHJpbmcsIGxlbmd0aDogbnVtYmVyID0gNTAwKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gcGFyc2VSZWFrdG9yQ29udGVudChjb250ZW50LCBsZW5ndGgpO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgdGhyb3cgbmV3IFJlYWt0b3JWYWxpZGF0aW9uRXJyb3IoYENvbnRlbnQgdmFsaWRhdGlvbiBmYWlsZWQ6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCwgJ2NvbnRlbnQnKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlUmVha3RvckRhdGUgPSAoZGF0ZT86IG51bWJlcik6IG51bWJlciB8IHVuZGVmaW5lZCA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHBhcnNlUmVha3RvckRhdGUoZGF0ZSk7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICB0aHJvdyBuZXcgUmVha3RvclZhbGlkYXRpb25FcnJvcihgRGF0ZSB2YWxpZGF0aW9uIGZhaWxlZDogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ31gLCAnZGF0ZScpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVSZWFrdG9ySXRlbUlkID0gKGl0ZW1JZD86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHBhcnNlUmVha3Rvckl0ZW1JZChpdGVtSWQpO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgdGhyb3cgbmV3IFJlYWt0b3JWYWxpZGF0aW9uRXJyb3IoYEl0ZW0gSUQgdmFsaWRhdGlvbiBmYWlsZWQ6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCwgJ2l0ZW1JZCcpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVSZWFrdG9yTmFtZSA9IChuYW1lPzogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gcGFyc2VSZWFrdG9yTmFtZShuYW1lKTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIHRocm93IG5ldyBSZWFrdG9yVmFsaWRhdGlvbkVycm9yKGBOYW1lIHZhbGlkYXRpb24gZmFpbGVkOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWAsICduYW1lJyk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVJlYWt0b3JUeXBlID0gKHR5cGU/OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBwYXJzZVJlYWt0b3JUeXBlKHR5cGUpO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgdGhyb3cgbmV3IFJlYWt0b3JWYWxpZGF0aW9uRXJyb3IoYFR5cGUgdmFsaWRhdGlvbiBmYWlsZWQ6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCwgJ3R5cGUnKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlUmVha3RvclVybCA9ICh1cmw/OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBwYXJzZVJlYWt0b3JVcmwodXJsKTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIHRocm93IG5ldyBSZWFrdG9yVmFsaWRhdGlvbkVycm9yKGBVUkwgdmFsaWRhdGlvbiBmYWlsZWQ6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCwgJ3VybCcpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgcGFyc2VSZWFrdG9yQ29udGVudCA9IChjb250ZW50Pzogc3RyaW5nLCBsZW5ndGg6IG51bWJlciA9IDUwMCk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PlxuICAoY29udGVudCA/IHBhcnNlU3RyaW5nKGNvbnRlbnQsIGxlbmd0aCkgOiB1bmRlZmluZWQpO1xuXG5leHBvcnQgY29uc3QgcGFyc2VSZWFrdG9yRGF0ZSA9IChkYXRlPzogbnVtYmVyKTogbnVtYmVyIHwgdW5kZWZpbmVkID0+XG4gIChkYXRlID8gcGFyc2VOdW0oZGF0ZSwgMTMpIDogdW5kZWZpbmVkKTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlUmVha3Rvckl0ZW1JZCA9IChpdGVtSWQ/OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT5cbiAgKGl0ZW1JZCA/IHBhcnNlSWQoaXRlbUlkKSA6IHVuZGVmaW5lZCk7XG5cbmV4cG9ydCBjb25zdCBwYXJzZVJlYWt0b3JOYW1lID0gKG5hbWU/OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT5cbiAgKG5hbWUgPyBwYXJzZVN0cmluZyhuYW1lLCAxNjApIDogdW5kZWZpbmVkKTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlUmVha3RvclR5cGUgPSAodHlwZT86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PlxuICAodHlwZSA/IHBhcnNlVmFyQ2hhcih0eXBlLCAxNjApIDogdW5kZWZpbmVkKTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlUmVha3RvclVybCA9ICh1cmw/OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT5cbiAgKHVybCA/IHBhcnNlVXJsKHVybCkgOiB1bmRlZmluZWQpOyJdLAogICJtYXBwaW5ncyI6ICJBQUFBLE9BQVEsV0FBQUEsRUFBUyxZQUFBQyxFQUFVLGVBQUFDLEVBQWEsWUFBQUMsRUFBVSxnQkFBQUMsTUFBbUIsZUFFOUQsTUFBTUMsVUFBK0IsS0FBTSxDQUNoRCxZQUFZQyxFQUF3QkMsRUFBZ0IsQ0FDbEQsTUFBTUQsQ0FBTyxFQURxQixXQUFBQyxFQUVsQyxLQUFLLEtBQU8sd0JBQ2QsQ0FDRixDQUVPLE1BQU1DLEVBQXlCLENBQUNDLEVBQWtCQyxFQUFpQixNQUE0QixDQUNwRyxHQUFJLENBQ0YsT0FBT0MsRUFBb0JGLEVBQVNDLENBQU0sQ0FDNUMsT0FBUUUsRUFBTyxDQUNiLE1BQU0sSUFBSVAsRUFBdUIsOEJBQThCTyxhQUFpQixNQUFRQSxFQUFNLFFBQVUsZUFBZSxHQUFJLFNBQVMsQ0FDdEksQ0FDRixFQUVhQyxFQUF1QkMsR0FBc0MsQ0FDeEUsR0FBSSxDQUNGLE9BQU9DLEVBQWlCRCxDQUFJLENBQzlCLE9BQVFGLEVBQU8sQ0FDYixNQUFNLElBQUlQLEVBQXVCLDJCQUEyQk8sYUFBaUIsTUFBUUEsRUFBTSxRQUFVLGVBQWUsR0FBSSxNQUFNLENBQ2hJLENBQ0YsRUFFYUksRUFBeUJDLEdBQXdDLENBQzVFLEdBQUksQ0FDRixPQUFPQyxFQUFtQkQsQ0FBTSxDQUNsQyxPQUFRTCxFQUFPLENBQ2IsTUFBTSxJQUFJUCxFQUF1Qiw4QkFBOEJPLGFBQWlCLE1BQVFBLEVBQU0sUUFBVSxlQUFlLEdBQUksUUFBUSxDQUNySSxDQUNGLEVBRWFPLEVBQXVCQyxHQUFzQyxDQUN4RSxHQUFJLENBQ0YsT0FBT0MsRUFBaUJELENBQUksQ0FDOUIsT0FBUVIsRUFBTyxDQUNiLE1BQU0sSUFBSVAsRUFBdUIsMkJBQTJCTyxhQUFpQixNQUFRQSxFQUFNLFFBQVUsZUFBZSxHQUFJLE1BQU0sQ0FDaEksQ0FDRixFQUVhVSxFQUF1QkMsR0FBc0MsQ0FDeEUsR0FBSSxDQUNGLE9BQU9DLEVBQWlCRCxDQUFJLENBQzlCLE9BQVFYLEVBQU8sQ0FDYixNQUFNLElBQUlQLEVBQXVCLDJCQUEyQk8sYUFBaUIsTUFBUUEsRUFBTSxRQUFVLGVBQWUsR0FBSSxNQUFNLENBQ2hJLENBQ0YsRUFFYWEsRUFBc0JDLEdBQXFDLENBQ3RFLEdBQUksQ0FDRixPQUFPQyxFQUFnQkQsQ0FBRyxDQUM1QixPQUFRZCxFQUFPLENBQ2IsTUFBTSxJQUFJUCxFQUF1QiwwQkFBMEJPLGFBQWlCLE1BQVFBLEVBQU0sUUFBVSxlQUFlLEdBQUksS0FBSyxDQUM5SCxDQUNGLEVBRWFELEVBQXNCLENBQUNGLEVBQWtCQyxFQUFpQixNQUNwRUQsRUFBVVAsRUFBWU8sRUFBU0MsQ0FBTSxFQUFJLE9BRS9CSyxFQUFvQkQsR0FDOUJBLEVBQU9iLEVBQVNhLEVBQU0sRUFBRSxFQUFJLE9BRWxCSSxFQUFzQkQsR0FDaENBLEVBQVNqQixFQUFRaUIsQ0FBTSxFQUFJLE9BRWpCSSxFQUFvQkQsR0FDOUJBLEVBQU9sQixFQUFZa0IsRUFBTSxHQUFHLEVBQUksT0FFdEJJLEVBQW9CRCxHQUM5QkEsRUFBT25CLEVBQWFtQixFQUFNLEdBQUcsRUFBSSxPQUV2QkksRUFBbUJELEdBQzdCQSxFQUFNdkIsRUFBU3VCLENBQUcsRUFBSSIsCiAgIm5hbWVzIjogWyJwYXJzZUlkIiwgInBhcnNlTnVtIiwgInBhcnNlU3RyaW5nIiwgInBhcnNlVXJsIiwgInBhcnNlVmFyQ2hhciIsICJSZWFrdG9yVmFsaWRhdGlvbkVycm9yIiwgIm1lc3NhZ2UiLCAiZmllbGQiLCAidmFsaWRhdGVSZWFrdG9yQ29udGVudCIsICJjb250ZW50IiwgImxlbmd0aCIsICJwYXJzZVJlYWt0b3JDb250ZW50IiwgImVycm9yIiwgInZhbGlkYXRlUmVha3RvckRhdGUiLCAiZGF0ZSIsICJwYXJzZVJlYWt0b3JEYXRlIiwgInZhbGlkYXRlUmVha3Rvckl0ZW1JZCIsICJpdGVtSWQiLCAicGFyc2VSZWFrdG9ySXRlbUlkIiwgInZhbGlkYXRlUmVha3Rvck5hbWUiLCAibmFtZSIsICJwYXJzZVJlYWt0b3JOYW1lIiwgInZhbGlkYXRlUmVha3RvclR5cGUiLCAidHlwZSIsICJwYXJzZVJlYWt0b3JUeXBlIiwgInZhbGlkYXRlUmVha3RvclVybCIsICJ1cmwiLCAicGFyc2VSZWFrdG9yVXJsIl0KfQo=
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export interface SessionType {
|
|
2
|
+
_id?: string;
|
|
3
|
+
_key?: string;
|
|
4
|
+
_rev?: string;
|
|
5
|
+
_oldRev?: string;
|
|
6
|
+
_from?: string;
|
|
7
|
+
_to?: string;
|
|
8
|
+
expires?: number;
|
|
9
|
+
id?: string;
|
|
10
|
+
issued?: number;
|
|
11
|
+
sessionId?: string;
|
|
12
|
+
token?: string;
|
|
13
|
+
userId?: string;
|
|
14
|
+
username?: string;
|
|
15
|
+
[key: string]: any;
|
|
16
|
+
}
|
|
17
|
+
export declare class SessionValidationError extends Error {
|
|
18
|
+
field?: string | undefined;
|
|
19
|
+
constructor(message: string, field?: string | undefined);
|
|
20
|
+
}
|
|
21
|
+
export declare const validateSessionInput: (session: unknown) => SessionType;
|
|
22
|
+
export declare const formatSessionOutput: (session: SessionType) => SessionType;
|
|
23
|
+
export declare const parseSession: (session: SessionType) => SessionType;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{parseArangoId as c,parseId as g,parseUsername as f}from"@nlabs/utils";import{z as s}from"zod";import{parseDocument as S,removeEmptyKeys as y}from"../arangoAdapter/arangoAdapter";import{parseReaktorDate as l}from"../reaktorAdapter/reaktorAdapter";class t extends Error{constructor(n,o){super(n);this.field=o;this.name="SessionValidationError"}}const _=s.object({_id:s.string().optional(),_key:s.string().optional(),_rev:s.string().optional(),_oldRev:s.string().optional(),_from:s.string().optional(),_to:s.string().optional(),expires:s.number().optional(),id:s.string().optional(),issued:s.number().optional(),sessionId:s.string().optional(),token:s.string().optional(),userId:s.string().optional(),username:s.string().optional()}).passthrough(),w=r=>{try{return _.parse(r)}catch(e){if(e instanceof s.ZodError){const n=e.issues.map(o=>`${o.path.join(".")}: ${o.message}`).join(", ");throw new t(`Session validation failed: ${n}`)}throw e}},E=r=>r,b=r=>{try{return I(r)}catch(e){throw e instanceof t?e:new t(`Session parsing failed: ${e instanceof Error?e.message:"Unknown error"}`)}},I=r=>{const{_id:e,_key:n,expires:o,id:a,issued:p,sessionId:i,token:d,userId:m,username:u}=r;return y({...S(r),...o!==void 0&&{expires:l(o)},...(e||a||n||i)&&{id:c(e||a||`sessions/${n||i}`)},...p!==void 0&&{issued:l(p)},...(n||i)&&{sessionId:g(n||i||"")},...d&&{token:d},...m&&{userId:g(m)},...u&&{username:f(u)}})};export{t as SessionValidationError,E as formatSessionOutput,b as parseSession,w as validateSessionInput};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2FkYXB0ZXJzL3Nlc3Npb25BZGFwdGVyL3Nlc3Npb25BZGFwdGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQge3BhcnNlQXJhbmdvSWQsIHBhcnNlSWQsIHBhcnNlVXNlcm5hbWV9IGZyb20gJ0BubGFicy91dGlscyc7XG5pbXBvcnQge3p9IGZyb20gJ3pvZCc7XG5cbmltcG9ydCB7cGFyc2VEb2N1bWVudCwgcmVtb3ZlRW1wdHlLZXlzfSBmcm9tICcuLi9hcmFuZ29BZGFwdGVyL2FyYW5nb0FkYXB0ZXInO1xuaW1wb3J0IHtwYXJzZVJlYWt0b3JEYXRlfSBmcm9tICcuLi9yZWFrdG9yQWRhcHRlci9yZWFrdG9yQWRhcHRlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2Vzc2lvblR5cGUge1xuICBfaWQ/OiBzdHJpbmc7XG4gIF9rZXk/OiBzdHJpbmc7XG4gIF9yZXY/OiBzdHJpbmc7XG4gIF9vbGRSZXY/OiBzdHJpbmc7XG4gIF9mcm9tPzogc3RyaW5nO1xuICBfdG8/OiBzdHJpbmc7XG4gIGV4cGlyZXM/OiBudW1iZXI7XG4gIGlkPzogc3RyaW5nO1xuICBpc3N1ZWQ/OiBudW1iZXI7XG4gIHNlc3Npb25JZD86IHN0cmluZztcbiAgdG9rZW4/OiBzdHJpbmc7XG4gIHVzZXJJZD86IHN0cmluZztcbiAgdXNlcm5hbWU/OiBzdHJpbmc7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGNsYXNzIFNlc3Npb25WYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIGZpZWxkPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ1Nlc3Npb25WYWxpZGF0aW9uRXJyb3InO1xuICB9XG59XG5cbmNvbnN0IFNlc3Npb25JbnB1dFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgX2lkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9rZXk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX3Jldjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfb2xkUmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9mcm9tOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF90bzogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBleHBpcmVzOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGlkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGlzc3VlZDogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBzZXNzaW9uSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgdG9rZW46IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgdXNlcklkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHVzZXJuYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKClcbn0pLnBhc3N0aHJvdWdoKCk7XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVNlc3Npb25JbnB1dCA9IChzZXNzaW9uOiB1bmtub3duKTogU2Vzc2lvblR5cGUgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHZhbGlkYXRlZCA9IFNlc3Npb25JbnB1dFNjaGVtYS5wYXJzZShzZXNzaW9uKTtcbiAgICByZXR1cm4gdmFsaWRhdGVkIGFzIFNlc3Npb25UeXBlO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiB6LlpvZEVycm9yKSB7XG4gICAgICBjb25zdCBmaWVsZEVycm9ycyA9IGVycm9yLmlzc3Vlcy5tYXAoKGUpID0+IGAke2UucGF0aC5qb2luKCcuJyl9OiAke2UubWVzc2FnZX1gKS5qb2luKCcsICcpO1xuICAgICAgdGhyb3cgbmV3IFNlc3Npb25WYWxpZGF0aW9uRXJyb3IoYFNlc3Npb24gdmFsaWRhdGlvbiBmYWlsZWQ6ICR7ZmllbGRFcnJvcnN9YCk7XG4gICAgfVxuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZm9ybWF0U2Vzc2lvbk91dHB1dCA9IChzZXNzaW9uOiBTZXNzaW9uVHlwZSk6IFNlc3Npb25UeXBlID0+IHNlc3Npb247XG5cbmV4cG9ydCBjb25zdCBwYXJzZVNlc3Npb24gPSAoc2Vzc2lvbjogU2Vzc2lvblR5cGUpOiBTZXNzaW9uVHlwZSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgcGFyc2VkID0gcGVyZm9ybVNlc3Npb25UcmFuc2Zvcm1hdGlvbihzZXNzaW9uKTtcbiAgICByZXR1cm4gcGFyc2VkO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiBTZXNzaW9uVmFsaWRhdGlvbkVycm9yKSB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gICAgdGhyb3cgbmV3IFNlc3Npb25WYWxpZGF0aW9uRXJyb3IoYFNlc3Npb24gcGFyc2luZyBmYWlsZWQ6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCk7XG4gIH1cbn07XG5cbmNvbnN0IHBlcmZvcm1TZXNzaW9uVHJhbnNmb3JtYXRpb24gPSAoc2Vzc2lvbjogU2Vzc2lvblR5cGUpOiBTZXNzaW9uVHlwZSA9PiB7XG4gIGNvbnN0IHtcbiAgICBfaWQsXG4gICAgX2tleSxcbiAgICBleHBpcmVzLFxuICAgIGlkLFxuICAgIGlzc3VlZCxcbiAgICBzZXNzaW9uSWQsXG4gICAgdG9rZW4sXG4gICAgdXNlcklkLFxuICAgIHVzZXJuYW1lXG4gIH0gPSBzZXNzaW9uO1xuXG4gIGNvbnN0IHRyYW5zZm9ybWVkID0gcmVtb3ZlRW1wdHlLZXlzKHtcbiAgICAuLi5wYXJzZURvY3VtZW50KHNlc3Npb24pLFxuICAgIC4uLihleHBpcmVzICE9PSB1bmRlZmluZWQgJiYge2V4cGlyZXM6IHBhcnNlUmVha3RvckRhdGUoZXhwaXJlcyl9KSxcbiAgICAuLi4oKF9pZCB8fCBpZCB8fCBfa2V5IHx8IHNlc3Npb25JZCkgJiYge2lkOiBwYXJzZUFyYW5nb0lkKF9pZCB8fCBpZCB8fCBgc2Vzc2lvbnMvJHtfa2V5IHx8IHNlc3Npb25JZH1gKX0pLFxuICAgIC4uLihpc3N1ZWQgIT09IHVuZGVmaW5lZCAmJiB7aXNzdWVkOiBwYXJzZVJlYWt0b3JEYXRlKGlzc3VlZCl9KSxcbiAgICAuLi4oKF9rZXkgfHwgc2Vzc2lvbklkKSAmJiB7c2Vzc2lvbklkOiBwYXJzZUlkKF9rZXkgfHwgc2Vzc2lvbklkIHx8ICcnKX0pLFxuICAgIC4uLih0b2tlbiAmJiB7dG9rZW59KSxcbiAgICAuLi4odXNlcklkICYmIHt1c2VySWQ6IHBhcnNlSWQodXNlcklkKX0pLFxuICAgIC4uLih1c2VybmFtZSAmJiB7dXNlcm5hbWU6IHBhcnNlVXNlcm5hbWUodXNlcm5hbWUpfSlcbiAgfSk7XG5cbiAgcmV0dXJuIHRyYW5zZm9ybWVkO1xufTsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxPQUFRLGlCQUFBQSxFQUFlLFdBQUFDLEVBQVMsaUJBQUFDLE1BQW9CLGVBQ3BELE9BQVEsS0FBQUMsTUFBUSxNQUVoQixPQUFRLGlCQUFBQyxFQUFlLG1CQUFBQyxNQUFzQixpQ0FDN0MsT0FBUSxvQkFBQUMsTUFBdUIsbUNBbUJ4QixNQUFNQyxVQUErQixLQUFNLENBQ2hELFlBQVlDLEVBQXdCQyxFQUFnQixDQUNsRCxNQUFNRCxDQUFPLEVBRHFCLFdBQUFDLEVBRWxDLEtBQUssS0FBTyx3QkFDZCxDQUNGLENBRUEsTUFBTUMsRUFBcUJQLEVBQUUsT0FBTyxDQUNsQyxJQUFLQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQ3pCLEtBQU1BLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDMUIsS0FBTUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMxQixRQUFTQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzdCLE1BQU9BLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDM0IsSUFBS0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUN6QixRQUFTQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzdCLEdBQUlBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDeEIsT0FBUUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUM1QixVQUFXQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQy9CLE1BQU9BLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDM0IsT0FBUUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUM1QixTQUFVQSxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQ2hDLENBQUMsRUFBRSxZQUFZLEVBRUZRLEVBQXdCQyxHQUFrQyxDQUNyRSxHQUFJLENBRUYsT0FEa0JGLEVBQW1CLE1BQU1FLENBQU8sQ0FFcEQsT0FBUUMsRUFBTyxDQUNiLEdBQUdBLGFBQWlCVixFQUFFLFNBQVUsQ0FDOUIsTUFBTVcsRUFBY0QsRUFBTSxPQUFPLElBQUtFLEdBQU0sR0FBR0EsRUFBRSxLQUFLLEtBQUssR0FBRyxDQUFDLEtBQUtBLEVBQUUsT0FBTyxFQUFFLEVBQUUsS0FBSyxJQUFJLEVBQzFGLE1BQU0sSUFBSVIsRUFBdUIsOEJBQThCTyxDQUFXLEVBQUUsQ0FDOUUsQ0FDQSxNQUFNRCxDQUNSLENBQ0YsRUFFYUcsRUFBdUJKLEdBQXNDQSxFQUU3REssRUFBZ0JMLEdBQXNDLENBQ2pFLEdBQUksQ0FFRixPQURlTSxFQUE2Qk4sQ0FBTyxDQUVyRCxPQUFRQyxFQUFPLENBQ2IsTUFBR0EsYUFBaUJOLEVBQ1pNLEVBRUYsSUFBSU4sRUFBdUIsMkJBQTJCTSxhQUFpQixNQUFRQSxFQUFNLFFBQVUsZUFBZSxFQUFFLENBQ3hILENBQ0YsRUFFTUssRUFBZ0NOLEdBQXNDLENBQzFFLEtBQU0sQ0FDSixJQUFBTyxFQUNBLEtBQUFDLEVBQ0EsUUFBQUMsRUFDQSxHQUFBQyxFQUNBLE9BQUFDLEVBQ0EsVUFBQUMsRUFDQSxNQUFBQyxFQUNBLE9BQUFDLEVBQ0EsU0FBQUMsQ0FDRixFQUFJZixFQWFKLE9BWG9CUCxFQUFnQixDQUNsQyxHQUFHRCxFQUFjUSxDQUFPLEVBQ3hCLEdBQUlTLElBQVksUUFBYSxDQUFDLFFBQVNmLEVBQWlCZSxDQUFPLENBQUMsRUFDaEUsSUFBS0YsR0FBT0csR0FBTUYsR0FBUUksSUFBYyxDQUFDLEdBQUl4QixFQUFjbUIsR0FBT0csR0FBTSxZQUFZRixHQUFRSSxDQUFTLEVBQUUsQ0FBQyxFQUN4RyxHQUFJRCxJQUFXLFFBQWEsQ0FBQyxPQUFRakIsRUFBaUJpQixDQUFNLENBQUMsRUFDN0QsSUFBS0gsR0FBUUksSUFBYyxDQUFDLFVBQVd2QixFQUFRbUIsR0FBUUksR0FBYSxFQUFFLENBQUMsRUFDdkUsR0FBSUMsR0FBUyxDQUFDLE1BQUFBLENBQUssRUFDbkIsR0FBSUMsR0FBVSxDQUFDLE9BQVF6QixFQUFReUIsQ0FBTSxDQUFDLEVBQ3RDLEdBQUlDLEdBQVksQ0FBQyxTQUFVekIsRUFBY3lCLENBQVEsQ0FBQyxDQUNwRCxDQUFDLENBR0giLAogICJuYW1lcyI6IFsicGFyc2VBcmFuZ29JZCIsICJwYXJzZUlkIiwgInBhcnNlVXNlcm5hbWUiLCAieiIsICJwYXJzZURvY3VtZW50IiwgInJlbW92ZUVtcHR5S2V5cyIsICJwYXJzZVJlYWt0b3JEYXRlIiwgIlNlc3Npb25WYWxpZGF0aW9uRXJyb3IiLCAibWVzc2FnZSIsICJmaWVsZCIsICJTZXNzaW9uSW5wdXRTY2hlbWEiLCAidmFsaWRhdGVTZXNzaW9uSW5wdXQiLCAic2Vzc2lvbiIsICJlcnJvciIsICJmaWVsZEVycm9ycyIsICJlIiwgImZvcm1hdFNlc3Npb25PdXRwdXQiLCAicGFyc2VTZXNzaW9uIiwgInBlcmZvcm1TZXNzaW9uVHJhbnNmb3JtYXRpb24iLCAiX2lkIiwgIl9rZXkiLCAiZXhwaXJlcyIsICJpZCIsICJpc3N1ZWQiLCAic2Vzc2lvbklkIiwgInRva2VuIiwgInVzZXJJZCIsICJ1c2VybmFtZSJdCn0K
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface TagType {
|
|
2
|
+
_id?: string;
|
|
3
|
+
_key?: string;
|
|
4
|
+
category?: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
id?: string;
|
|
7
|
+
name?: string;
|
|
8
|
+
tagBy?: string;
|
|
9
|
+
tagId?: string;
|
|
10
|
+
userId?: string;
|
|
11
|
+
[key: string]: any;
|
|
12
|
+
}
|
|
13
|
+
export declare class TagValidationError extends Error {
|
|
14
|
+
field?: string | undefined;
|
|
15
|
+
constructor(message: string, field?: string | undefined);
|
|
16
|
+
}
|
|
17
|
+
export declare const validateTagInput: (tag: unknown) => TagType;
|
|
18
|
+
export declare const formatTagOutput: (tag: TagType) => TagType;
|
|
19
|
+
export declare const parseTag: (tag: TagType) => TagType;
|
|
20
|
+
export declare const parseTagLegacy: (tag: TagType) => TagType;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{parseArangoId as f,parseId as n,parseString as l}from"@nlabs/utils";import{z as i}from"zod";import{parseDocument as I,removeEmptyKeys as _}from"../arangoAdapter/arangoAdapter";import{parseReaktorContent as u,parseReaktorType as k}from"../reaktorAdapter/reaktorAdapter";class s extends Error{constructor(o,a){super(o);this.field=a;this.name="TagValidationError"}}const h=i.object({_id:i.string().optional(),_key:i.string().optional(),category:i.string().max(160).optional(),description:i.string().optional(),id:i.string().optional(),name:i.string().max(160).optional(),tagBy:i.string().optional(),tagId:i.string().optional(),userId:i.string().optional()}).passthrough(),j=r=>{try{return h.parse(r)}catch(e){if(e instanceof i.ZodError){const o=e.issues.map(a=>`${a.path.join(".")}: ${a.message}`).join(", ");throw new s(`Tag validation failed: ${o}`)}throw e}},b=r=>r,x=r=>{try{return w(r)}catch(e){throw e instanceof s?e:new s(`Tag parsing failed: ${e instanceof Error?e.message:"Unknown error"}`)}},w=r=>{const{_id:e,_key:o,category:a,description:d,id:p,name:g,tagBy:y,tagId:c,userId:T}=r,m={...I(r),...a&&{category:k(a)},...d&&{description:u(d)},...(e||p)&&{id:f(e||p||"")},...(o||c)&&{tagId:n(o||c||"")},...g&&{name:l(g,160)},...y&&{tagBy:n(y)},...T&&{userId:n(T)}},t=_(m);return r._id?(t.id=r._id,t._id=r._id):r.id&&!t.id&&(t.id=r.id,t._id=r.id),r._key?(t.tagId=r._key,t._key=r._key):r.tagId&&!t.tagId&&(t.tagId=r.tagId,t._key=r.tagId),r.tagId&&!t._key&&(t._key=r.tagId),r.id&&!t._id&&(t._id=r.id),t},R=r=>x(r);export{s as TagValidationError,b as formatTagOutput,x as parseTag,R as parseTagLegacy,j as validateTagInput};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2FkYXB0ZXJzL3RhZ0FkYXB0ZXIvdGFnQWRhcHRlci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHtwYXJzZUFyYW5nb0lkLCBwYXJzZUlkLCBwYXJzZVN0cmluZ30gZnJvbSAnQG5sYWJzL3V0aWxzJztcbmltcG9ydCB7en0gZnJvbSAnem9kJztcblxuaW1wb3J0IHtwYXJzZURvY3VtZW50LCByZW1vdmVFbXB0eUtleXN9IGZyb20gJy4uL2FyYW5nb0FkYXB0ZXIvYXJhbmdvQWRhcHRlcic7XG5pbXBvcnQge3BhcnNlUmVha3RvckNvbnRlbnQsIHBhcnNlUmVha3RvclR5cGV9IGZyb20gJy4uL3JlYWt0b3JBZGFwdGVyL3JlYWt0b3JBZGFwdGVyJztcblxuZXhwb3J0IGludGVyZmFjZSBUYWdUeXBlIHtcbiAgX2lkPzogc3RyaW5nO1xuICBfa2V5Pzogc3RyaW5nO1xuICBjYXRlZ29yeT86IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGlkPzogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xuICB0YWdCeT86IHN0cmluZztcbiAgdGFnSWQ/OiBzdHJpbmc7XG4gIHVzZXJJZD86IHN0cmluZztcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgY2xhc3MgVGFnVmFsaWRhdGlvbkVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcsIHB1YmxpYyBmaWVsZD86IHN0cmluZykge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgIHRoaXMubmFtZSA9ICdUYWdWYWxpZGF0aW9uRXJyb3InO1xuICB9XG59XG5cbmNvbnN0IFRhZ0lucHV0U2NoZW1hID0gei5vYmplY3Qoe1xuICBfaWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2tleTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBjYXRlZ29yeTogei5zdHJpbmcoKS5tYXgoMTYwKS5vcHRpb25hbCgpLFxuICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBpZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBuYW1lOiB6LnN0cmluZygpLm1heCgxNjApLm9wdGlvbmFsKCksXG4gIHRhZ0J5OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHRhZ0lkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHVzZXJJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpXG59KS5wYXNzdGhyb3VnaCgpO1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVUYWdJbnB1dCA9ICh0YWc6IHVua25vd24pOiBUYWdUeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCB2YWxpZGF0ZWQgPSBUYWdJbnB1dFNjaGVtYS5wYXJzZSh0YWcpO1xuICAgIHJldHVybiB2YWxpZGF0ZWQgYXMgVGFnVHlwZTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2Ygei5ab2RFcnJvcikge1xuICAgICAgY29uc3QgZmllbGRFcnJvcnMgPSBlcnJvci5pc3N1ZXMubWFwKChlKSA9PiBgJHtlLnBhdGguam9pbignLicpfTogJHtlLm1lc3NhZ2V9YCkuam9pbignLCAnKTtcbiAgICAgIHRocm93IG5ldyBUYWdWYWxpZGF0aW9uRXJyb3IoYFRhZyB2YWxpZGF0aW9uIGZhaWxlZDogJHtmaWVsZEVycm9yc31gKTtcbiAgICB9XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBmb3JtYXRUYWdPdXRwdXQgPSAodGFnOiBUYWdUeXBlKTogVGFnVHlwZSA9PiB0YWc7XG5cbmV4cG9ydCBjb25zdCBwYXJzZVRhZyA9ICh0YWc6IFRhZ1R5cGUpOiBUYWdUeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJzZWQgPSBwZXJmb3JtVGFnVHJhbnNmb3JtYXRpb24odGFnKTtcbiAgICByZXR1cm4gcGFyc2VkO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiBUYWdWYWxpZGF0aW9uRXJyb3IpIHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgVGFnVmFsaWRhdGlvbkVycm9yKGBUYWcgcGFyc2luZyBmYWlsZWQ6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCk7XG4gIH1cbn07XG5cbmNvbnN0IHBlcmZvcm1UYWdUcmFuc2Zvcm1hdGlvbiA9ICh0YWc6IFRhZ1R5cGUpOiBUYWdUeXBlID0+IHtcbiAgY29uc3Qge1xuICAgIF9pZCxcbiAgICBfa2V5LFxuICAgIGNhdGVnb3J5LFxuICAgIGRlc2NyaXB0aW9uLFxuICAgIGlkLFxuICAgIG5hbWUsXG4gICAgdGFnQnksXG4gICAgdGFnSWQsXG4gICAgdXNlcklkXG4gIH0gPSB0YWc7XG5cbiAgY29uc3QgdHJhbnNmb3JtZWQgPSB7XG4gICAgLi4ucGFyc2VEb2N1bWVudCh0YWcpLFxuICAgIC4uLihjYXRlZ29yeSAmJiB7Y2F0ZWdvcnk6IHBhcnNlUmVha3RvclR5cGUoY2F0ZWdvcnkpfSksXG4gICAgLi4uKGRlc2NyaXB0aW9uICYmIHtkZXNjcmlwdGlvbjogcGFyc2VSZWFrdG9yQ29udGVudChkZXNjcmlwdGlvbil9KSxcbiAgICAuLi4oKF9pZCB8fCBpZCkgJiYge2lkOiBwYXJzZUFyYW5nb0lkKF9pZCB8fCBpZCB8fCAnJyl9KSxcbiAgICAuLi4oKF9rZXkgfHwgdGFnSWQpICYmIHt0YWdJZDogcGFyc2VJZChfa2V5IHx8IHRhZ0lkIHx8ICcnKX0pLFxuICAgIC4uLihuYW1lICYmIHtuYW1lOiBwYXJzZVN0cmluZyhuYW1lLCAxNjApfSksXG4gICAgLi4uKHRhZ0J5ICYmIHt0YWdCeTogcGFyc2VJZCh0YWdCeSl9KSxcbiAgICAuLi4odXNlcklkICYmIHt1c2VySWQ6IHBhcnNlSWQodXNlcklkKX0pXG4gIH07XG5cbiAgY29uc3QgcmVzdWx0ID0gcmVtb3ZlRW1wdHlLZXlzKHRyYW5zZm9ybWVkKTtcblxuICBpZih0YWcuX2lkKSB7XG4gICAgcmVzdWx0LmlkID0gdGFnLl9pZDtcbiAgICByZXN1bHQuX2lkID0gdGFnLl9pZDtcbiAgfSBlbHNlIGlmKHRhZy5pZCAmJiAhcmVzdWx0LmlkKSB7XG4gICAgcmVzdWx0LmlkID0gdGFnLmlkO1xuICAgIHJlc3VsdC5faWQgPSB0YWcuaWQ7XG4gIH1cblxuICBpZih0YWcuX2tleSkge1xuICAgIHJlc3VsdC50YWdJZCA9IHRhZy5fa2V5O1xuICAgIHJlc3VsdC5fa2V5ID0gdGFnLl9rZXk7XG4gIH0gZWxzZSBpZih0YWcudGFnSWQgJiYgIXJlc3VsdC50YWdJZCkge1xuICAgIHJlc3VsdC50YWdJZCA9IHRhZy50YWdJZDtcbiAgICByZXN1bHQuX2tleSA9IHRhZy50YWdJZDtcbiAgfVxuXG4gIGlmKHRhZy50YWdJZCAmJiAhcmVzdWx0Ll9rZXkpIHtcbiAgICByZXN1bHQuX2tleSA9IHRhZy50YWdJZDtcbiAgfVxuXG4gIGlmKHRhZy5pZCAmJiAhcmVzdWx0Ll9pZCkge1xuICAgIHJlc3VsdC5faWQgPSB0YWcuaWQ7XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlVGFnTGVnYWN5ID0gKHRhZzogVGFnVHlwZSk6IFRhZ1R5cGUgPT4gcGFyc2VUYWcodGFnKTsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxPQUFRLGlCQUFBQSxFQUFlLFdBQUFDLEVBQVMsZUFBQUMsTUFBa0IsZUFDbEQsT0FBUSxLQUFBQyxNQUFRLE1BRWhCLE9BQVEsaUJBQUFDLEVBQWUsbUJBQUFDLE1BQXNCLGlDQUM3QyxPQUFRLHVCQUFBQyxFQUFxQixvQkFBQUMsTUFBdUIsbUNBZTdDLE1BQU1DLFVBQTJCLEtBQU0sQ0FDNUMsWUFBWUMsRUFBd0JDLEVBQWdCLENBQ2xELE1BQU1ELENBQU8sRUFEcUIsV0FBQUMsRUFFbEMsS0FBSyxLQUFPLG9CQUNkLENBQ0YsQ0FFQSxNQUFNQyxFQUFpQlIsRUFBRSxPQUFPLENBQzlCLElBQUtBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDekIsS0FBTUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMxQixTQUFVQSxFQUFFLE9BQU8sRUFBRSxJQUFJLEdBQUcsRUFBRSxTQUFTLEVBQ3ZDLFlBQWFBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDakMsR0FBSUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUN4QixLQUFNQSxFQUFFLE9BQU8sRUFBRSxJQUFJLEdBQUcsRUFBRSxTQUFTLEVBQ25DLE1BQU9BLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDM0IsTUFBT0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMzQixPQUFRQSxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQzlCLENBQUMsRUFBRSxZQUFZLEVBRUZTLEVBQW9CQyxHQUEwQixDQUN6RCxHQUFJLENBRUYsT0FEa0JGLEVBQWUsTUFBTUUsQ0FBRyxDQUU1QyxPQUFRQyxFQUFPLENBQ2IsR0FBR0EsYUFBaUJYLEVBQUUsU0FBVSxDQUM5QixNQUFNWSxFQUFjRCxFQUFNLE9BQU8sSUFBS0UsR0FBTSxHQUFHQSxFQUFFLEtBQUssS0FBSyxHQUFHLENBQUMsS0FBS0EsRUFBRSxPQUFPLEVBQUUsRUFBRSxLQUFLLElBQUksRUFDMUYsTUFBTSxJQUFJUixFQUFtQiwwQkFBMEJPLENBQVcsRUFBRSxDQUN0RSxDQUNBLE1BQU1ELENBQ1IsQ0FDRixFQUVhRyxFQUFtQkosR0FBMEJBLEVBRTdDSyxFQUFZTCxHQUEwQixDQUNqRCxHQUFJLENBRUYsT0FEZU0sRUFBeUJOLENBQUcsQ0FFN0MsT0FBUUMsRUFBTyxDQUNiLE1BQUdBLGFBQWlCTixFQUNaTSxFQUVGLElBQUlOLEVBQW1CLHVCQUF1Qk0sYUFBaUIsTUFBUUEsRUFBTSxRQUFVLGVBQWUsRUFBRSxDQUNoSCxDQUNGLEVBRU1LLEVBQTRCTixHQUEwQixDQUMxRCxLQUFNLENBQ0osSUFBQU8sRUFDQSxLQUFBQyxFQUNBLFNBQUFDLEVBQ0EsWUFBQUMsRUFDQSxHQUFBQyxFQUNBLEtBQUFDLEVBQ0EsTUFBQUMsRUFDQSxNQUFBQyxFQUNBLE9BQUFDLENBQ0YsRUFBSWYsRUFFRWdCLEVBQWMsQ0FDbEIsR0FBR3pCLEVBQWNTLENBQUcsRUFDcEIsR0FBSVMsR0FBWSxDQUFDLFNBQVVmLEVBQWlCZSxDQUFRLENBQUMsRUFDckQsR0FBSUMsR0FBZSxDQUFDLFlBQWFqQixFQUFvQmlCLENBQVcsQ0FBQyxFQUNqRSxJQUFLSCxHQUFPSSxJQUFPLENBQUMsR0FBSXhCLEVBQWNvQixHQUFPSSxHQUFNLEVBQUUsQ0FBQyxFQUN0RCxJQUFLSCxHQUFRTSxJQUFVLENBQUMsTUFBTzFCLEVBQVFvQixHQUFRTSxHQUFTLEVBQUUsQ0FBQyxFQUMzRCxHQUFJRixHQUFRLENBQUMsS0FBTXZCLEVBQVl1QixFQUFNLEdBQUcsQ0FBQyxFQUN6QyxHQUFJQyxHQUFTLENBQUMsTUFBT3pCLEVBQVF5QixDQUFLLENBQUMsRUFDbkMsR0FBSUUsR0FBVSxDQUFDLE9BQVEzQixFQUFRMkIsQ0FBTSxDQUFDLENBQ3hDLEVBRU1FLEVBQVN6QixFQUFnQndCLENBQVcsRUFFMUMsT0FBR2hCLEVBQUksS0FDTGlCLEVBQU8sR0FBS2pCLEVBQUksSUFDaEJpQixFQUFPLElBQU1qQixFQUFJLEtBQ1RBLEVBQUksSUFBTSxDQUFDaUIsRUFBTyxLQUMxQkEsRUFBTyxHQUFLakIsRUFBSSxHQUNoQmlCLEVBQU8sSUFBTWpCLEVBQUksSUFHaEJBLEVBQUksTUFDTGlCLEVBQU8sTUFBUWpCLEVBQUksS0FDbkJpQixFQUFPLEtBQU9qQixFQUFJLE1BQ1ZBLEVBQUksT0FBUyxDQUFDaUIsRUFBTyxRQUM3QkEsRUFBTyxNQUFRakIsRUFBSSxNQUNuQmlCLEVBQU8sS0FBT2pCLEVBQUksT0FHakJBLEVBQUksT0FBUyxDQUFDaUIsRUFBTyxPQUN0QkEsRUFBTyxLQUFPakIsRUFBSSxPQUdqQkEsRUFBSSxJQUFNLENBQUNpQixFQUFPLE1BQ25CQSxFQUFPLElBQU1qQixFQUFJLElBR1ppQixDQUNULEVBRWFDLEVBQWtCbEIsR0FBMEJLLEVBQVNMLENBQUciLAogICJuYW1lcyI6IFsicGFyc2VBcmFuZ29JZCIsICJwYXJzZUlkIiwgInBhcnNlU3RyaW5nIiwgInoiLCAicGFyc2VEb2N1bWVudCIsICJyZW1vdmVFbXB0eUtleXMiLCAicGFyc2VSZWFrdG9yQ29udGVudCIsICJwYXJzZVJlYWt0b3JUeXBlIiwgIlRhZ1ZhbGlkYXRpb25FcnJvciIsICJtZXNzYWdlIiwgImZpZWxkIiwgIlRhZ0lucHV0U2NoZW1hIiwgInZhbGlkYXRlVGFnSW5wdXQiLCAidGFnIiwgImVycm9yIiwgImZpZWxkRXJyb3JzIiwgImUiLCAiZm9ybWF0VGFnT3V0cHV0IiwgInBhcnNlVGFnIiwgInBlcmZvcm1UYWdUcmFuc2Zvcm1hdGlvbiIsICJfaWQiLCAiX2tleSIsICJjYXRlZ29yeSIsICJkZXNjcmlwdGlvbiIsICJpZCIsICJuYW1lIiwgInRhZ0J5IiwgInRhZ0lkIiwgInVzZXJJZCIsICJ0cmFuc2Zvcm1lZCIsICJyZXN1bHQiLCAicGFyc2VUYWdMZWdhY3kiXQp9Cg==
|