@nlabs/metropolisjs 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/copilot-instructions.md +167 -0
- package/AGENTS.md +13 -0
- package/CHANGELOG.md +112 -0
- package/GRAPHQL_VALIDATION_RESULTS.md +158 -0
- package/PERMISSION_GRAPHQL_INTEGRATION.md +293 -0
- package/PERMISSION_IMPLEMENTATION_SUMMARY.md +243 -0
- package/README.md +1343 -0
- package/SIGNIN_GRAPHQL_VALIDATION.md +125 -0
- package/VAULT_GRAPHQL_API_FINDINGS.md +312 -0
- package/docs/ACTIONS.md +63 -0
- package/docs/COLLECTIONS.md +1038 -0
- package/docs/CONNECTIONS.md +1367 -0
- package/docs/CRUD_INTEGRATION.md +702 -0
- package/examples/connections-usage.tsx +909 -0
- package/examples/content-actions-usage.ts +144 -0
- package/examples/crud-usage.tsx +847 -0
- package/examples/extensibility-usage.tsx +889 -0
- package/examples/factory-pattern-usage.ts +283 -0
- package/examples/i18n-import-examples.ts +86 -0
- package/examples/i18n-namespace-usage.ts +118 -0
- package/examples/i18next-singleton-demo.ts +187 -0
- package/examples/permission-system-usage.tsx +415 -0
- package/examples/project-details.tsx +397 -0
- package/examples/shared-i18n-usage.tsx +203 -0
- package/examples/signup-error-handling.ts +100 -0
- package/examples/translation-types.ts +86 -0
- package/examples/translation-usage.tsx +336 -0
- package/factoryPatternGuide.md +244 -0
- package/index.js +1 -0
- package/jest.config.mjs +28 -0
- package/lex.config.mjs +26 -0
- package/lib/__tests__/e2e/helpers/testGraphQLServer.d.ts +22 -0
- package/lib/__tests__/e2e/helpers/testGraphQLServer.d.ts.map +1 -0
- package/lib/__tests__/e2e/helpers/testGraphQLServer.js +197 -0
- package/lib/__tests__/e2e/helpers/testGraphQLServerSimple.d.ts +3 -0
- package/lib/__tests__/e2e/helpers/testGraphQLServerSimple.d.ts.map +1 -0
- package/lib/__tests__/e2e/helpers/testGraphQLServerSimple.js +52 -0
- package/lib/actions/appActions/appActions.d.ts +29 -0
- package/lib/actions/appActions/appActions.d.ts.map +1 -0
- package/lib/actions/appActions/appActions.js +159 -0
- package/lib/actions/connectionActions/connectionActions.d.ts +19 -0
- package/lib/actions/connectionActions/connectionActions.d.ts.map +1 -0
- package/lib/actions/connectionActions/connectionActions.js +131 -0
- package/lib/actions/contentActions/contentActions.d.ts +34 -0
- package/lib/actions/contentActions/contentActions.d.ts.map +1 -0
- package/lib/actions/contentActions/contentActions.js +314 -0
- package/lib/actions/conversationActions/conversationActions.d.ts +30 -0
- package/lib/actions/conversationActions/conversationActions.d.ts.map +1 -0
- package/lib/actions/conversationActions/conversationActions.js +225 -0
- package/lib/actions/eventActions/eventActions.d.ts +65 -0
- package/lib/actions/eventActions/eventActions.d.ts.map +1 -0
- package/lib/actions/eventActions/eventActions.js +436 -0
- package/lib/actions/groupActions/groupActions.d.ts +30 -0
- package/lib/actions/groupActions/groupActions.d.ts.map +1 -0
- package/lib/actions/groupActions/groupActions.js +229 -0
- package/lib/actions/imageActions/imageActions.d.ts +62 -0
- package/lib/actions/imageActions/imageActions.d.ts.map +1 -0
- package/lib/actions/imageActions/imageActions.js +593 -0
- package/lib/actions/index.d.ts +21 -0
- package/lib/actions/index.d.ts.map +1 -0
- package/lib/actions/index.js +22 -0
- package/lib/actions/locationActions/locationActions.d.ts +60 -0
- package/lib/actions/locationActions/locationActions.d.ts.map +1 -0
- package/lib/actions/locationActions/locationActions.js +388 -0
- package/lib/actions/messageActions/messageActions.d.ts +38 -0
- package/lib/actions/messageActions/messageActions.d.ts.map +1 -0
- package/lib/actions/messageActions/messageActions.js +235 -0
- package/lib/actions/permissionActions/permissionActions.d.ts +34 -0
- package/lib/actions/permissionActions/permissionActions.d.ts.map +1 -0
- package/lib/actions/permissionActions/permissionActions.js +330 -0
- package/lib/actions/personaActions/personaActions.d.ts +65 -0
- package/lib/actions/personaActions/personaActions.d.ts.map +1 -0
- package/lib/actions/personaActions/personaActions.js +572 -0
- package/lib/actions/postActions/postActions.d.ts +36 -0
- package/lib/actions/postActions/postActions.d.ts.map +1 -0
- package/lib/actions/postActions/postActions.js +447 -0
- package/lib/actions/reactionActions/reactionActions.d.ts +38 -0
- package/lib/actions/reactionActions/reactionActions.d.ts.map +1 -0
- package/lib/actions/reactionActions/reactionActions.js +413 -0
- package/lib/actions/sseActions/sseActions.d.ts +38 -0
- package/lib/actions/sseActions/sseActions.d.ts.map +1 -0
- package/lib/actions/sseActions/sseActions.js +148 -0
- package/lib/actions/subscriptionActions/subscriptionActions.d.ts +24 -0
- package/lib/actions/subscriptionActions/subscriptionActions.d.ts.map +1 -0
- package/lib/actions/subscriptionActions/subscriptionActions.js +329 -0
- package/lib/actions/tagActions/tagActions.d.ts +37 -0
- package/lib/actions/tagActions/tagActions.d.ts.map +1 -0
- package/lib/actions/tagActions/tagActions.js +347 -0
- package/lib/actions/translationActions/translationActions.d.ts +38 -0
- package/lib/actions/translationActions/translationActions.d.ts.map +1 -0
- package/lib/actions/translationActions/translationActions.js +189 -0
- package/lib/actions/userActions/userActions.d.ts +78 -0
- package/lib/actions/userActions/userActions.d.ts.map +1 -0
- package/lib/actions/userActions/userActions.js +844 -0
- package/lib/actions/videoActions/videoActions.d.ts +41 -0
- package/lib/actions/videoActions/videoActions.d.ts.map +1 -0
- package/lib/actions/videoActions/videoActions.js +532 -0
- package/lib/actions/websocketActions/websocketActions.d.ts +30 -0
- package/lib/actions/websocketActions/websocketActions.d.ts.map +1 -0
- package/lib/actions/websocketActions/websocketActions.js +377 -0
- package/lib/adapters/appAdapter/appAdapter.d.ts +8 -0
- package/lib/adapters/appAdapter/appAdapter.d.ts.map +1 -0
- package/lib/adapters/appAdapter/appAdapter.js +90 -0
- package/lib/adapters/arangoAdapter/arangoAdapter.d.ts +21 -0
- package/lib/adapters/arangoAdapter/arangoAdapter.d.ts.map +1 -0
- package/lib/adapters/arangoAdapter/arangoAdapter.js +75 -0
- package/lib/adapters/contentAdapter/contentAdapter.d.ts +32 -0
- package/lib/adapters/contentAdapter/contentAdapter.d.ts.map +1 -0
- package/lib/adapters/contentAdapter/contentAdapter.js +107 -0
- package/lib/adapters/conversationAdapter/conversationAdapter.d.ts +24 -0
- package/lib/adapters/conversationAdapter/conversationAdapter.d.ts.map +1 -0
- package/lib/adapters/conversationAdapter/conversationAdapter.js +75 -0
- package/lib/adapters/eventAdapter/eventAdapter.d.ts +46 -0
- package/lib/adapters/eventAdapter/eventAdapter.d.ts.map +1 -0
- package/lib/adapters/eventAdapter/eventAdapter.js +162 -0
- package/lib/adapters/fileAdapter/fileAdapter.d.ts +30 -0
- package/lib/adapters/fileAdapter/fileAdapter.d.ts.map +1 -0
- package/lib/adapters/fileAdapter/fileAdapter.js +118 -0
- package/lib/adapters/groupAdapter/groupAdapter.d.ts +28 -0
- package/lib/adapters/groupAdapter/groupAdapter.d.ts.map +1 -0
- package/lib/adapters/groupAdapter/groupAdapter.js +66 -0
- package/lib/adapters/imageAdapter/imageAdapter.d.ts +38 -0
- package/lib/adapters/imageAdapter/imageAdapter.d.ts.map +1 -0
- package/lib/adapters/imageAdapter/imageAdapter.js +134 -0
- package/lib/adapters/index.d.ts +34 -0
- package/lib/adapters/index.d.ts.map +1 -0
- package/lib/adapters/index.js +19 -0
- package/lib/adapters/locationAdapter/locationAdapter.d.ts +28 -0
- package/lib/adapters/locationAdapter/locationAdapter.d.ts.map +1 -0
- package/lib/adapters/locationAdapter/locationAdapter.js +95 -0
- package/lib/adapters/messageAdapter/messageAdapter.d.ts +31 -0
- package/lib/adapters/messageAdapter/messageAdapter.d.ts.map +1 -0
- package/lib/adapters/messageAdapter/messageAdapter.js +82 -0
- package/lib/adapters/permissionAdapter/permissionAdapter.d.ts +41 -0
- package/lib/adapters/permissionAdapter/permissionAdapter.d.ts.map +1 -0
- package/lib/adapters/permissionAdapter/permissionAdapter.js +120 -0
- package/lib/adapters/personaAdapter/personaAdapter.d.ts +44 -0
- package/lib/adapters/personaAdapter/personaAdapter.d.ts.map +1 -0
- package/lib/adapters/personaAdapter/personaAdapter.js +161 -0
- package/lib/adapters/postAdapter/postAdapter.d.ts +33 -0
- package/lib/adapters/postAdapter/postAdapter.d.ts.map +1 -0
- package/lib/adapters/postAdapter/postAdapter.js +115 -0
- package/lib/adapters/reactionAdapter/reactionAdapter.d.ts +23 -0
- package/lib/adapters/reactionAdapter/reactionAdapter.d.ts.map +1 -0
- package/lib/adapters/reactionAdapter/reactionAdapter.js +81 -0
- package/lib/adapters/reaktorAdapter/reaktorAdapter.d.ts +17 -0
- package/lib/adapters/reaktorAdapter/reaktorAdapter.d.ts.map +1 -0
- package/lib/adapters/reaktorAdapter/reaktorAdapter.js +58 -0
- package/lib/adapters/sessionAdapter/sessionAdapter.d.ts +24 -0
- package/lib/adapters/sessionAdapter/sessionAdapter.d.ts.map +1 -0
- package/lib/adapters/sessionAdapter/sessionAdapter.js +80 -0
- package/lib/adapters/tagAdapter/tagAdapter.d.ts +21 -0
- package/lib/adapters/tagAdapter/tagAdapter.d.ts.map +1 -0
- package/lib/adapters/tagAdapter/tagAdapter.js +98 -0
- package/lib/adapters/translationAdapter/translationAdapter.d.ts +21 -0
- package/lib/adapters/translationAdapter/translationAdapter.d.ts.map +1 -0
- package/lib/adapters/translationAdapter/translationAdapter.js +55 -0
- package/lib/adapters/userAdapter/userAdapter.d.ts +67 -0
- package/lib/adapters/userAdapter/userAdapter.d.ts.map +1 -0
- package/lib/adapters/userAdapter/userAdapter.js +302 -0
- package/lib/adapters/videoAdapter/videoAdapter.d.ts +8 -0
- package/lib/adapters/videoAdapter/videoAdapter.d.ts.map +1 -0
- package/lib/adapters/videoAdapter/videoAdapter.js +194 -0
- package/lib/config/index.d.ts +44 -0
- package/lib/config/index.d.ts.map +1 -0
- package/lib/config/index.js +97 -0
- package/lib/constants/Collections.d.ts +44 -0
- package/lib/constants/Collections.d.ts.map +1 -0
- package/lib/constants/Collections.js +40 -0
- package/lib/constants/MetropolisConstants.d.ts +15 -0
- package/lib/constants/MetropolisConstants.d.ts.map +1 -0
- package/lib/constants/MetropolisConstants.js +15 -0
- package/lib/graphql/message.d.ts +3 -0
- package/lib/graphql/message.d.ts.map +1 -0
- package/lib/graphql/message.js +20 -0
- package/lib/graphql/notification.d.ts +3 -0
- package/lib/graphql/notification.d.ts.map +1 -0
- package/lib/graphql/notification.js +20 -0
- package/lib/graphql/session.d.ts +2 -0
- package/lib/graphql/session.d.ts.map +1 -0
- package/lib/graphql/session.js +17 -0
- package/lib/index.d.ts +52 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +248 -0
- package/lib/stores/appStore.d.ts +23 -0
- package/lib/stores/appStore.d.ts.map +1 -0
- package/lib/stores/appStore.js +23 -0
- package/lib/stores/contentStore.d.ts +36 -0
- package/lib/stores/contentStore.d.ts.map +1 -0
- package/lib/stores/contentStore.js +139 -0
- package/lib/stores/conversationStore.d.ts +38 -0
- package/lib/stores/conversationStore.d.ts.map +1 -0
- package/lib/stores/conversationStore.js +117 -0
- package/lib/stores/eventStore.d.ts +37 -0
- package/lib/stores/eventStore.d.ts.map +1 -0
- package/lib/stores/eventStore.js +47 -0
- package/lib/stores/groupStore.d.ts +37 -0
- package/lib/stores/groupStore.d.ts.map +1 -0
- package/lib/stores/groupStore.js +68 -0
- package/lib/stores/imageStore.d.ts +40 -0
- package/lib/stores/imageStore.d.ts.map +1 -0
- package/lib/stores/imageStore.js +53 -0
- package/lib/stores/index.d.ts +24 -0
- package/lib/stores/index.d.ts.map +1 -0
- package/lib/stores/index.js +24 -0
- package/lib/stores/locationStore.d.ts +34 -0
- package/lib/stores/locationStore.d.ts.map +1 -0
- package/lib/stores/locationStore.js +42 -0
- package/lib/stores/messageStore.d.ts +51 -0
- package/lib/stores/messageStore.d.ts.map +1 -0
- package/lib/stores/messageStore.js +137 -0
- package/lib/stores/notificationStore.d.ts +33 -0
- package/lib/stores/notificationStore.d.ts.map +1 -0
- package/lib/stores/notificationStore.js +55 -0
- package/lib/stores/permissionStore.d.ts +37 -0
- package/lib/stores/permissionStore.d.ts.map +1 -0
- package/lib/stores/permissionStore.js +117 -0
- package/lib/stores/personaStore.d.ts +26 -0
- package/lib/stores/personaStore.d.ts.map +1 -0
- package/lib/stores/personaStore.js +118 -0
- package/lib/stores/postStore.d.ts +34 -0
- package/lib/stores/postStore.d.ts.map +1 -0
- package/lib/stores/postStore.js +53 -0
- package/lib/stores/reactionStore.d.ts +25 -0
- package/lib/stores/reactionStore.d.ts.map +1 -0
- package/lib/stores/reactionStore.js +28 -0
- package/lib/stores/subscriptionStore.d.ts +41 -0
- package/lib/stores/subscriptionStore.d.ts.map +1 -0
- package/lib/stores/subscriptionStore.js +85 -0
- package/lib/stores/tagStore.d.ts +34 -0
- package/lib/stores/tagStore.d.ts.map +1 -0
- package/lib/stores/tagStore.js +87 -0
- package/lib/stores/translationStore.d.ts +42 -0
- package/lib/stores/translationStore.d.ts.map +1 -0
- package/lib/stores/translationStore.js +122 -0
- package/lib/stores/userStore.d.ts +74 -0
- package/lib/stores/userStore.d.ts.map +1 -0
- package/lib/stores/userStore.js +319 -0
- package/lib/stores/videoStore.d.ts +39 -0
- package/lib/stores/videoStore.d.ts.map +1 -0
- package/lib/stores/videoStore.js +132 -0
- package/lib/stores/websocketStore.d.ts +24 -0
- package/lib/stores/websocketStore.d.ts.map +1 -0
- package/lib/stores/websocketStore.js +51 -0
- package/lib/types/apps.types.d.ts +17 -0
- package/lib/types/apps.types.d.ts.map +1 -0
- package/lib/types/apps.types.js +6 -0
- package/lib/types/common.types.d.ts +31 -0
- package/lib/types/common.types.d.ts.map +1 -0
- package/lib/types/common.types.js +6 -0
- package/lib/types/conversations.types.d.ts +17 -0
- package/lib/types/conversations.types.d.ts.map +1 -0
- package/lib/types/conversations.types.js +6 -0
- package/lib/types/edges.types.d.ts +38 -0
- package/lib/types/edges.types.d.ts.map +1 -0
- package/lib/types/edges.types.js +6 -0
- package/lib/types/groups.types.d.ts +19 -0
- package/lib/types/groups.types.d.ts.map +1 -0
- package/lib/types/groups.types.js +6 -0
- package/lib/types/index.d.ts +12 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/index.js +12 -0
- package/lib/types/subscriptions.types.d.ts +32 -0
- package/lib/types/subscriptions.types.d.ts.map +1 -0
- package/lib/types/subscriptions.types.js +6 -0
- package/lib/types/videos.types.d.ts +61 -0
- package/lib/types/videos.types.d.ts.map +1 -0
- package/lib/types/videos.types.js +6 -0
- package/lib/utils/MetropolisProvider.d.ts +58 -0
- package/lib/utils/MetropolisProvider.d.ts.map +1 -0
- package/lib/utils/MetropolisProvider.js +31 -0
- package/lib/utils/actionFactory.d.ts +24 -0
- package/lib/utils/actionFactory.d.ts.map +1 -0
- package/lib/utils/actionFactory.js +95 -0
- package/lib/utils/api.d.ts +44 -0
- package/lib/utils/api.d.ts.map +1 -0
- package/lib/utils/api.js +253 -0
- package/lib/utils/app.d.ts +7 -0
- package/lib/utils/app.d.ts.map +1 -0
- package/lib/utils/app.js +15 -0
- package/lib/utils/baseActionFactory.d.ts +16 -0
- package/lib/utils/baseActionFactory.d.ts.map +1 -0
- package/lib/utils/baseActionFactory.js +72 -0
- package/lib/utils/configUtils.d.ts +11 -0
- package/lib/utils/configUtils.d.ts.map +1 -0
- package/lib/utils/configUtils.js +20 -0
- package/lib/utils/dateUtils.d.ts +3 -0
- package/lib/utils/dateUtils.d.ts.map +1 -0
- package/lib/utils/dateUtils.js +11 -0
- package/lib/utils/file.d.ts +3 -0
- package/lib/utils/file.d.ts.map +1 -0
- package/lib/utils/file.js +156 -0
- package/lib/utils/i18n.d.ts +7 -0
- package/lib/utils/i18n.d.ts.map +1 -0
- package/lib/utils/i18n.js +96 -0
- package/lib/utils/index.d.ts +20 -0
- package/lib/utils/index.d.ts.map +1 -0
- package/lib/utils/index.js +26 -0
- package/lib/utils/location.d.ts +10 -0
- package/lib/utils/location.d.ts.map +1 -0
- package/lib/utils/location.js +82 -0
- package/lib/utils/permissionUtils.d.ts +22 -0
- package/lib/utils/permissionUtils.d.ts.map +1 -0
- package/lib/utils/permissionUtils.js +72 -0
- package/lib/utils/requestCache.d.ts +8 -0
- package/lib/utils/requestCache.d.ts.map +1 -0
- package/lib/utils/requestCache.js +53 -0
- package/lib/utils/session.d.ts +14 -0
- package/lib/utils/session.d.ts.map +1 -0
- package/lib/utils/session.js +107 -0
- package/lib/utils/useConversationTyping.d.ts +26 -0
- package/lib/utils/useConversationTyping.d.ts.map +1 -0
- package/lib/utils/useConversationTyping.js +117 -0
- package/lib/utils/useMetropolis.d.ts +67 -0
- package/lib/utils/useMetropolis.d.ts.map +1 -0
- package/lib/utils/useMetropolis.js +311 -0
- package/lib/utils/useTranslations.d.ts +16 -0
- package/lib/utils/useTranslations.d.ts.map +1 -0
- package/lib/utils/useTranslations.js +105 -0
- package/lib/utils/validatorFactory.d.ts +49 -0
- package/lib/utils/validatorFactory.d.ts.map +1 -0
- package/lib/utils/validatorFactory.js +95 -0
- package/package.json +75 -28
- package/temp_signin.ts +73 -0
- package/tsconfig.lint.json +25 -0
- package/tsconfig.test.json +14 -0
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { parseArangoId, parseBoolean, parseChar, parseId, parseNum, parseString } from '@nlabs/utils';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { parseDocument, removeEmptyKeys } from '../arangoAdapter/arangoAdapter.js';
|
|
4
|
+
import { parseImage } from '../imageAdapter/imageAdapter.js';
|
|
5
|
+
import { parseTag } from '../tagAdapter/tagAdapter.js';
|
|
6
|
+
export class PersonaValidationError extends Error {
|
|
7
|
+
field;
|
|
8
|
+
constructor(message, field){
|
|
9
|
+
super(message), this.field = field;
|
|
10
|
+
this.name = 'PersonaValidationError';
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
const PersonaInputSchema = z.object({
|
|
14
|
+
_id: z.string().optional(),
|
|
15
|
+
_key: z.string().optional(),
|
|
16
|
+
_rev: z.string().optional(),
|
|
17
|
+
_oldRev: z.string().optional(),
|
|
18
|
+
_from: z.string().optional(),
|
|
19
|
+
_to: z.string().optional(),
|
|
20
|
+
active: z.boolean().optional(),
|
|
21
|
+
afterglow: z.number().optional(),
|
|
22
|
+
birthdate: z.number().optional(),
|
|
23
|
+
followerCount: z.number().optional(),
|
|
24
|
+
followingCount: z.number().optional(),
|
|
25
|
+
gender: z.string().max(1).optional(),
|
|
26
|
+
hasLike: z.boolean().optional(),
|
|
27
|
+
hasView: z.boolean().optional(),
|
|
28
|
+
id: z.string().optional(),
|
|
29
|
+
images: z.array(z.any()).optional(),
|
|
30
|
+
imageCount: z.number().optional(),
|
|
31
|
+
imageId: z.string().optional(),
|
|
32
|
+
imageUrl: z.string().optional(),
|
|
33
|
+
isBlocked: z.boolean().optional(),
|
|
34
|
+
isFollowedBy: z.boolean().optional(),
|
|
35
|
+
isFollowing: z.boolean().optional(),
|
|
36
|
+
isFriend: z.boolean().optional(),
|
|
37
|
+
latitude: z.number().optional(),
|
|
38
|
+
location: z.string().optional(),
|
|
39
|
+
longitude: z.number().optional(),
|
|
40
|
+
likeCount: z.number().optional(),
|
|
41
|
+
name: z.string().max(64).optional(),
|
|
42
|
+
personaId: z.string().optional(),
|
|
43
|
+
tags: z.array(z.any()).optional(),
|
|
44
|
+
thumbUrl: z.string().optional(),
|
|
45
|
+
userId: z.string().optional(),
|
|
46
|
+
viewCount: z.number().optional()
|
|
47
|
+
}).loose();
|
|
48
|
+
export const validatePersonaInput = (persona)=>{
|
|
49
|
+
try {
|
|
50
|
+
const validated = PersonaInputSchema.parse(persona);
|
|
51
|
+
return validated;
|
|
52
|
+
} catch (error) {
|
|
53
|
+
if (error instanceof z.ZodError) {
|
|
54
|
+
const fieldErrors = error.issues.map((e)=>`${e.path.join('.')}: ${e.message}`).join(', ');
|
|
55
|
+
throw new PersonaValidationError(`Persona validation failed: ${fieldErrors}`);
|
|
56
|
+
}
|
|
57
|
+
throw error;
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
export const formatPersonaOutput = (persona)=>persona;
|
|
61
|
+
export const parsePersona = (persona)=>{
|
|
62
|
+
try {
|
|
63
|
+
const parsed = performPersonaTransformation(persona);
|
|
64
|
+
return parsed;
|
|
65
|
+
} catch (error) {
|
|
66
|
+
if (error instanceof PersonaValidationError) {
|
|
67
|
+
throw error;
|
|
68
|
+
}
|
|
69
|
+
throw new PersonaValidationError(`Persona parsing failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
const performPersonaTransformation = (persona)=>{
|
|
73
|
+
const { _id, _key, active, afterglow, birthdate, followerCount, followingCount, gender, hasLike, hasView, id, images, imageCount, imageId, imageUrl, isBlocked, isFollowedBy, isFollowing, isFriend, latitude, location, longitude, likeCount, name, personaId, tags, thumbUrl, userId, viewCount } = persona;
|
|
74
|
+
const transformed = removeEmptyKeys({
|
|
75
|
+
...parseDocument(persona),
|
|
76
|
+
...active !== undefined && {
|
|
77
|
+
active: parseBoolean(active)
|
|
78
|
+
},
|
|
79
|
+
...afterglow !== undefined && {
|
|
80
|
+
afterglow: parseNum(afterglow)
|
|
81
|
+
},
|
|
82
|
+
...birthdate !== undefined && {
|
|
83
|
+
birthdate: parseNum(birthdate)
|
|
84
|
+
},
|
|
85
|
+
...followerCount !== undefined && {
|
|
86
|
+
followerCount: parseNum(followerCount)
|
|
87
|
+
},
|
|
88
|
+
...followingCount !== undefined && {
|
|
89
|
+
followingCount: parseNum(followingCount)
|
|
90
|
+
},
|
|
91
|
+
...gender && {
|
|
92
|
+
gender: parseChar(gender, 1)
|
|
93
|
+
},
|
|
94
|
+
...hasLike !== undefined && {
|
|
95
|
+
hasLike: parseBoolean(hasLike)
|
|
96
|
+
},
|
|
97
|
+
...hasView !== undefined && {
|
|
98
|
+
hasView: parseBoolean(hasView)
|
|
99
|
+
},
|
|
100
|
+
...(_id || id || _key || personaId) && {
|
|
101
|
+
id: parseArangoId(_id || id || `personas/${_key || personaId}`)
|
|
102
|
+
},
|
|
103
|
+
...images?.length && {
|
|
104
|
+
images: images.map((image)=>parseImage(image))
|
|
105
|
+
},
|
|
106
|
+
...imageCount !== undefined && {
|
|
107
|
+
imageCount: parseNum(imageCount)
|
|
108
|
+
},
|
|
109
|
+
...imageId && {
|
|
110
|
+
imageId: parseId(imageId)
|
|
111
|
+
},
|
|
112
|
+
...imageUrl && {
|
|
113
|
+
imageUrl
|
|
114
|
+
},
|
|
115
|
+
...isBlocked !== undefined && {
|
|
116
|
+
isBlocked: parseBoolean(isBlocked)
|
|
117
|
+
},
|
|
118
|
+
...isFollowedBy !== undefined && {
|
|
119
|
+
isFollowedBy: parseBoolean(isFollowedBy)
|
|
120
|
+
},
|
|
121
|
+
...isFollowing !== undefined && {
|
|
122
|
+
isFollowing: parseBoolean(isFollowing)
|
|
123
|
+
},
|
|
124
|
+
...isFriend !== undefined && {
|
|
125
|
+
isFriend: parseBoolean(isFriend)
|
|
126
|
+
},
|
|
127
|
+
...latitude !== undefined && {
|
|
128
|
+
latitude: parseNum(latitude, 12)
|
|
129
|
+
},
|
|
130
|
+
...location && {
|
|
131
|
+
location: parseString(location, 160)
|
|
132
|
+
},
|
|
133
|
+
...longitude !== undefined && {
|
|
134
|
+
longitude: parseNum(longitude, 12)
|
|
135
|
+
},
|
|
136
|
+
...likeCount !== undefined && {
|
|
137
|
+
likeCount: parseNum(likeCount)
|
|
138
|
+
},
|
|
139
|
+
...name && {
|
|
140
|
+
name: parseString(name, 64)
|
|
141
|
+
},
|
|
142
|
+
...(_key || personaId) && {
|
|
143
|
+
personaId: parseId(_key || personaId || '')
|
|
144
|
+
},
|
|
145
|
+
...tags?.length && {
|
|
146
|
+
tags: tags.map((tag)=>parseTag(tag))
|
|
147
|
+
},
|
|
148
|
+
...thumbUrl && {
|
|
149
|
+
thumbUrl
|
|
150
|
+
},
|
|
151
|
+
...userId && {
|
|
152
|
+
userId: parseId(userId)
|
|
153
|
+
},
|
|
154
|
+
...viewCount !== undefined && {
|
|
155
|
+
viewCount: parseNum(viewCount)
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
return transformed;
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvYWRhcHRlcnMvcGVyc29uYUFkYXB0ZXIvcGVyc29uYUFkYXB0ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcGFyc2VBcmFuZ29JZCwgcGFyc2VCb29sZWFuLCBwYXJzZUNoYXIsIHBhcnNlSWQsIHBhcnNlTnVtLCBwYXJzZVN0cmluZyB9IGZyb20gJ0BubGFicy91dGlscyc7XG5pbXBvcnQgeyB6IH0gZnJvbSAnem9kJztcblxuaW1wb3J0IHsgcGFyc2VEb2N1bWVudCwgcmVtb3ZlRW1wdHlLZXlzIH0gZnJvbSAnLi4vYXJhbmdvQWRhcHRlci9hcmFuZ29BZGFwdGVyLmpzJztcbmltcG9ydCB7IHBhcnNlSW1hZ2UgfSBmcm9tICcuLi9pbWFnZUFkYXB0ZXIvaW1hZ2VBZGFwdGVyLmpzJztcbmltcG9ydCB7IHBhcnNlVGFnIH0gZnJvbSAnLi4vdGFnQWRhcHRlci90YWdBZGFwdGVyLmpzJztcblxuZXhwb3J0IGludGVyZmFjZSBQZXJzb25hVHlwZSB7XG4gIF9pZD86IHN0cmluZztcbiAgX2tleT86IHN0cmluZztcbiAgX3Jldj86IHN0cmluZztcbiAgX29sZFJldj86IHN0cmluZztcbiAgX2Zyb20/OiBzdHJpbmc7XG4gIF90bz86IHN0cmluZztcbiAgYWN0aXZlPzogYm9vbGVhbjtcbiAgYWZ0ZXJnbG93PzogbnVtYmVyO1xuICBiaXJ0aGRhdGU/OiBudW1iZXI7XG4gIGZvbGxvd2VyQ291bnQ/OiBudW1iZXI7XG4gIGZvbGxvd2luZ0NvdW50PzogbnVtYmVyO1xuICBnZW5kZXI/OiBzdHJpbmc7XG4gIGhhc0xpa2U/OiBib29sZWFuO1xuICBoYXNWaWV3PzogYm9vbGVhbjtcbiAgaWQ/OiBzdHJpbmc7XG4gIGltYWdlcz86IGFueVtdO1xuICBpbWFnZUNvdW50PzogbnVtYmVyO1xuICBpbWFnZUlkPzogc3RyaW5nO1xuICBpbWFnZVVybD86IHN0cmluZztcbiAgaXNCbG9ja2VkPzogYm9vbGVhbjtcbiAgaXNGb2xsb3dlZEJ5PzogYm9vbGVhbjtcbiAgaXNGb2xsb3dpbmc/OiBib29sZWFuO1xuICBpc0ZyaWVuZD86IGJvb2xlYW47XG4gIGxhdGl0dWRlPzogbnVtYmVyO1xuICBsb2NhdGlvbj86IHN0cmluZztcbiAgbG9uZ2l0dWRlPzogbnVtYmVyO1xuICBsaWtlQ291bnQ/OiBudW1iZXI7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHBlcnNvbmFJZD86IHN0cmluZztcbiAgdGFncz86IGFueVtdO1xuICB0aHVtYlVybD86IHN0cmluZztcbiAgdXNlcklkPzogc3RyaW5nO1xuICB2aWV3Q291bnQ/OiBudW1iZXI7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGNsYXNzIFBlcnNvbmFWYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIGZpZWxkPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ1BlcnNvbmFWYWxpZGF0aW9uRXJyb3InO1xuICB9XG59XG5cbmNvbnN0IFBlcnNvbmFJbnB1dFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgX2lkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9rZXk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX3Jldjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfb2xkUmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9mcm9tOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF90bzogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBhY3RpdmU6IHouYm9vbGVhbigpLm9wdGlvbmFsKCksXG4gIGFmdGVyZ2xvdzogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBiaXJ0aGRhdGU6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgZm9sbG93ZXJDb3VudDogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBmb2xsb3dpbmdDb3VudDogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBnZW5kZXI6IHouc3RyaW5nKCkubWF4KDEpLm9wdGlvbmFsKCksXG4gIGhhc0xpa2U6IHouYm9vbGVhbigpLm9wdGlvbmFsKCksXG4gIGhhc1ZpZXc6IHouYm9vbGVhbigpLm9wdGlvbmFsKCksXG4gIGlkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGltYWdlczogei5hcnJheSh6LmFueSgpKS5vcHRpb25hbCgpLFxuICBpbWFnZUNvdW50OiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGltYWdlSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgaW1hZ2VVcmw6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgaXNCbG9ja2VkOiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLFxuICBpc0ZvbGxvd2VkQnk6IHouYm9vbGVhbigpLm9wdGlvbmFsKCksXG4gIGlzRm9sbG93aW5nOiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLFxuICBpc0ZyaWVuZDogei5ib29sZWFuKCkub3B0aW9uYWwoKSxcbiAgbGF0aXR1ZGU6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgbG9jYXRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgbG9uZ2l0dWRlOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGxpa2VDb3VudDogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBuYW1lOiB6LnN0cmluZygpLm1heCg2NCkub3B0aW9uYWwoKSxcbiAgcGVyc29uYUlkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHRhZ3M6IHouYXJyYXkoei5hbnkoKSkub3B0aW9uYWwoKSxcbiAgdGh1bWJVcmw6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgdXNlcklkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHZpZXdDb3VudDogei5udW1iZXIoKS5vcHRpb25hbCgpXG59KS5sb29zZSgpO1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVQZXJzb25hSW5wdXQgPSAocGVyc29uYTogdW5rbm93bik6IFBlcnNvbmFUeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCB2YWxpZGF0ZWQgPSBQZXJzb25hSW5wdXRTY2hlbWEucGFyc2UocGVyc29uYSk7XG4gICAgcmV0dXJuIHZhbGlkYXRlZCBhcyBQZXJzb25hVHlwZTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2Ygei5ab2RFcnJvcikge1xuICAgICAgY29uc3QgZmllbGRFcnJvcnMgPSBlcnJvci5pc3N1ZXMubWFwKChlKSA9PiBgJHtlLnBhdGguam9pbignLicpfTogJHtlLm1lc3NhZ2V9YCkuam9pbignLCAnKTtcbiAgICAgIHRocm93IG5ldyBQZXJzb25hVmFsaWRhdGlvbkVycm9yKGBQZXJzb25hIHZhbGlkYXRpb24gZmFpbGVkOiAke2ZpZWxkRXJyb3JzfWApO1xuICAgIH1cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdFBlcnNvbmFPdXRwdXQgPSAocGVyc29uYTogUGVyc29uYVR5cGUpOiBQZXJzb25hVHlwZSA9PiBwZXJzb25hO1xuXG5leHBvcnQgY29uc3QgcGFyc2VQZXJzb25hID0gKHBlcnNvbmE6IFBlcnNvbmFUeXBlKTogUGVyc29uYVR5cGUgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHBhcnNlZCA9IHBlcmZvcm1QZXJzb25hVHJhbnNmb3JtYXRpb24ocGVyc29uYSk7XG4gICAgcmV0dXJuIHBhcnNlZDtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2YgUGVyc29uYVZhbGlkYXRpb25FcnJvcikge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICAgIHRocm93IG5ldyBQZXJzb25hVmFsaWRhdGlvbkVycm9yKGBQZXJzb25hIHBhcnNpbmcgZmFpbGVkOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWApO1xuICB9XG59O1xuXG5jb25zdCBwZXJmb3JtUGVyc29uYVRyYW5zZm9ybWF0aW9uID0gKHBlcnNvbmE6IFBlcnNvbmFUeXBlKTogUGVyc29uYVR5cGUgPT4ge1xuICBjb25zdCB7XG4gICAgX2lkLFxuICAgIF9rZXksXG4gICAgYWN0aXZlLFxuICAgIGFmdGVyZ2xvdyxcbiAgICBiaXJ0aGRhdGUsXG4gICAgZm9sbG93ZXJDb3VudCxcbiAgICBmb2xsb3dpbmdDb3VudCxcbiAgICBnZW5kZXIsXG4gICAgaGFzTGlrZSxcbiAgICBoYXNWaWV3LFxuICAgIGlkLFxuICAgIGltYWdlcyxcbiAgICBpbWFnZUNvdW50LFxuICAgIGltYWdlSWQsXG4gICAgaW1hZ2VVcmwsXG4gICAgaXNCbG9ja2VkLFxuICAgIGlzRm9sbG93ZWRCeSxcbiAgICBpc0ZvbGxvd2luZyxcbiAgICBpc0ZyaWVuZCxcbiAgICBsYXRpdHVkZSxcbiAgICBsb2NhdGlvbixcbiAgICBsb25naXR1ZGUsXG4gICAgbGlrZUNvdW50LFxuICAgIG5hbWUsXG4gICAgcGVyc29uYUlkLFxuICAgIHRhZ3MsXG4gICAgdGh1bWJVcmwsXG4gICAgdXNlcklkLFxuICAgIHZpZXdDb3VudFxuICB9ID0gcGVyc29uYTtcblxuICBjb25zdCB0cmFuc2Zvcm1lZCA9IHJlbW92ZUVtcHR5S2V5cyh7XG4gICAgLi4ucGFyc2VEb2N1bWVudChwZXJzb25hKSxcbiAgICAuLi4oYWN0aXZlICE9PSB1bmRlZmluZWQgJiYge2FjdGl2ZTogcGFyc2VCb29sZWFuKGFjdGl2ZSl9KSxcbiAgICAuLi4oYWZ0ZXJnbG93ICE9PSB1bmRlZmluZWQgJiYge2FmdGVyZ2xvdzogcGFyc2VOdW0oYWZ0ZXJnbG93KX0pLFxuICAgIC4uLihiaXJ0aGRhdGUgIT09IHVuZGVmaW5lZCAmJiB7YmlydGhkYXRlOiBwYXJzZU51bShiaXJ0aGRhdGUpfSksXG4gICAgLi4uKGZvbGxvd2VyQ291bnQgIT09IHVuZGVmaW5lZCAmJiB7Zm9sbG93ZXJDb3VudDogcGFyc2VOdW0oZm9sbG93ZXJDb3VudCl9KSxcbiAgICAuLi4oZm9sbG93aW5nQ291bnQgIT09IHVuZGVmaW5lZCAmJiB7Zm9sbG93aW5nQ291bnQ6IHBhcnNlTnVtKGZvbGxvd2luZ0NvdW50KX0pLFxuICAgIC4uLihnZW5kZXIgJiYge2dlbmRlcjogcGFyc2VDaGFyKGdlbmRlciwgMSl9KSxcbiAgICAuLi4oaGFzTGlrZSAhPT0gdW5kZWZpbmVkICYmIHtoYXNMaWtlOiBwYXJzZUJvb2xlYW4oaGFzTGlrZSl9KSxcbiAgICAuLi4oaGFzVmlldyAhPT0gdW5kZWZpbmVkICYmIHtoYXNWaWV3OiBwYXJzZUJvb2xlYW4oaGFzVmlldyl9KSxcbiAgICAuLi4oKF9pZCB8fCBpZCB8fCBfa2V5IHx8IHBlcnNvbmFJZCkgJiYge2lkOiBwYXJzZUFyYW5nb0lkKF9pZCB8fCBpZCB8fCBgcGVyc29uYXMvJHtfa2V5IHx8IHBlcnNvbmFJZH1gKX0pLFxuICAgIC4uLihpbWFnZXM/Lmxlbmd0aCAmJiB7aW1hZ2VzOiBpbWFnZXMubWFwKChpbWFnZSkgPT4gcGFyc2VJbWFnZShpbWFnZSkpfSksXG4gICAgLi4uKGltYWdlQ291bnQgIT09IHVuZGVmaW5lZCAmJiB7aW1hZ2VDb3VudDogcGFyc2VOdW0oaW1hZ2VDb3VudCl9KSxcbiAgICAuLi4oaW1hZ2VJZCAmJiB7aW1hZ2VJZDogcGFyc2VJZChpbWFnZUlkKX0pLFxuICAgIC4uLihpbWFnZVVybCAmJiB7aW1hZ2VVcmx9KSxcbiAgICAuLi4oaXNCbG9ja2VkICE9PSB1bmRlZmluZWQgJiYge2lzQmxvY2tlZDogcGFyc2VCb29sZWFuKGlzQmxvY2tlZCl9KSxcbiAgICAuLi4oaXNGb2xsb3dlZEJ5ICE9PSB1bmRlZmluZWQgJiYge2lzRm9sbG93ZWRCeTogcGFyc2VCb29sZWFuKGlzRm9sbG93ZWRCeSl9KSxcbiAgICAuLi4oaXNGb2xsb3dpbmcgIT09IHVuZGVmaW5lZCAmJiB7aXNGb2xsb3dpbmc6IHBhcnNlQm9vbGVhbihpc0ZvbGxvd2luZyl9KSxcbiAgICAuLi4oaXNGcmllbmQgIT09IHVuZGVmaW5lZCAmJiB7aXNGcmllbmQ6IHBhcnNlQm9vbGVhbihpc0ZyaWVuZCl9KSxcbiAgICAuLi4obGF0aXR1ZGUgIT09IHVuZGVmaW5lZCAmJiB7bGF0aXR1ZGU6IHBhcnNlTnVtKGxhdGl0dWRlLCAxMil9KSxcbiAgICAuLi4obG9jYXRpb24gJiYge2xvY2F0aW9uOiBwYXJzZVN0cmluZyhsb2NhdGlvbiwgMTYwKX0pLFxuICAgIC4uLihsb25naXR1ZGUgIT09IHVuZGVmaW5lZCAmJiB7bG9uZ2l0dWRlOiBwYXJzZU51bShsb25naXR1ZGUsIDEyKX0pLFxuICAgIC4uLihsaWtlQ291bnQgIT09IHVuZGVmaW5lZCAmJiB7bGlrZUNvdW50OiBwYXJzZU51bShsaWtlQ291bnQpfSksXG4gICAgLi4uKG5hbWUgJiYge25hbWU6IHBhcnNlU3RyaW5nKG5hbWUsIDY0KX0pLFxuICAgIC4uLigoX2tleSB8fCBwZXJzb25hSWQpICYmIHtwZXJzb25hSWQ6IHBhcnNlSWQoX2tleSB8fCBwZXJzb25hSWQgfHwgJycpfSksXG4gICAgLi4uKHRhZ3M/Lmxlbmd0aCAmJiB7dGFnczogdGFncy5tYXAoKHRhZykgPT4gcGFyc2VUYWcodGFnKSl9KSxcbiAgICAuLi4odGh1bWJVcmwgJiYge3RodW1iVXJsfSksXG4gICAgLi4uKHVzZXJJZCAmJiB7dXNlcklkOiBwYXJzZUlkKHVzZXJJZCl9KSxcbiAgICAuLi4odmlld0NvdW50ICE9PSB1bmRlZmluZWQgJiYge3ZpZXdDb3VudDogcGFyc2VOdW0odmlld0NvdW50KX0pXG4gIH0pO1xuXG4gIHJldHVybiB0cmFuc2Zvcm1lZCBhcyBQZXJzb25hVHlwZTtcbn07XG4iXSwibmFtZXMiOlsicGFyc2VBcmFuZ29JZCIsInBhcnNlQm9vbGVhbiIsInBhcnNlQ2hhciIsInBhcnNlSWQiLCJwYXJzZU51bSIsInBhcnNlU3RyaW5nIiwieiIsInBhcnNlRG9jdW1lbnQiLCJyZW1vdmVFbXB0eUtleXMiLCJwYXJzZUltYWdlIiwicGFyc2VUYWciLCJQZXJzb25hVmFsaWRhdGlvbkVycm9yIiwiRXJyb3IiLCJtZXNzYWdlIiwiZmllbGQiLCJuYW1lIiwiUGVyc29uYUlucHV0U2NoZW1hIiwib2JqZWN0IiwiX2lkIiwic3RyaW5nIiwib3B0aW9uYWwiLCJfa2V5IiwiX3JldiIsIl9vbGRSZXYiLCJfZnJvbSIsIl90byIsImFjdGl2ZSIsImJvb2xlYW4iLCJhZnRlcmdsb3ciLCJudW1iZXIiLCJiaXJ0aGRhdGUiLCJmb2xsb3dlckNvdW50IiwiZm9sbG93aW5nQ291bnQiLCJnZW5kZXIiLCJtYXgiLCJoYXNMaWtlIiwiaGFzVmlldyIsImlkIiwiaW1hZ2VzIiwiYXJyYXkiLCJhbnkiLCJpbWFnZUNvdW50IiwiaW1hZ2VJZCIsImltYWdlVXJsIiwiaXNCbG9ja2VkIiwiaXNGb2xsb3dlZEJ5IiwiaXNGb2xsb3dpbmciLCJpc0ZyaWVuZCIsImxhdGl0dWRlIiwibG9jYXRpb24iLCJsb25naXR1ZGUiLCJsaWtlQ291bnQiLCJwZXJzb25hSWQiLCJ0YWdzIiwidGh1bWJVcmwiLCJ1c2VySWQiLCJ2aWV3Q291bnQiLCJsb29zZSIsInZhbGlkYXRlUGVyc29uYUlucHV0IiwicGVyc29uYSIsInZhbGlkYXRlZCIsInBhcnNlIiwiZXJyb3IiLCJab2RFcnJvciIsImZpZWxkRXJyb3JzIiwiaXNzdWVzIiwibWFwIiwiZSIsInBhdGgiLCJqb2luIiwiZm9ybWF0UGVyc29uYU91dHB1dCIsInBhcnNlUGVyc29uYSIsInBhcnNlZCIsInBlcmZvcm1QZXJzb25hVHJhbnNmb3JtYXRpb24iLCJ0cmFuc2Zvcm1lZCIsInVuZGVmaW5lZCIsImxlbmd0aCIsImltYWdlIiwidGFnIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxhQUFhLEVBQUVDLFlBQVksRUFBRUMsU0FBUyxFQUFFQyxPQUFPLEVBQUVDLFFBQVEsRUFBRUMsV0FBVyxRQUFRLGVBQWU7QUFDdEcsU0FBU0MsQ0FBQyxRQUFRLE1BQU07QUFFeEIsU0FBU0MsYUFBYSxFQUFFQyxlQUFlLFFBQVEsb0NBQW9DO0FBQ25GLFNBQVNDLFVB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
|
|
@@ -0,0 +1,33 @@
|
|
|
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;
|
|
28
|
+
constructor(message: string, field?: string);
|
|
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;
|
|
33
|
+
//# sourceMappingURL=postAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/postAdapter/postAdapter.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,QAAQ;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,qBAAa,mBAAoB,SAAQ,KAAK;IACR,KAAK,CAAC,EAAE,MAAM;gBAAtC,OAAO,EAAE,MAAM,EAAS,KAAK,CAAC,EAAE,MAAM;CAInD;AA0BD,eAAO,MAAM,iBAAiB,GAAI,MAAM,OAAO,KAAG,QAWjD,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,MAAM,QAAQ,KAAG,QAAgB,CAAC;AAEnE,eAAO,MAAM,SAAS,GAAI,MAAM,QAAQ,KAAG,QAU1C,CAAC"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { parseArangoId, parseId, parseNum, parseString, parseVarChar } from '@nlabs/utils';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { parseDocument, removeEmptyKeys } from '../arangoAdapter/arangoAdapter.js';
|
|
4
|
+
import { parseFile } from '../fileAdapter/fileAdapter.js';
|
|
5
|
+
import { parseReaktorContent, parseReaktorDate, parseReaktorType } from '../reaktorAdapter/reaktorAdapter.js';
|
|
6
|
+
import { parseTag } from '../tagAdapter/tagAdapter.js';
|
|
7
|
+
const MAX_CONTENT_LENGTH = 100000;
|
|
8
|
+
export class PostValidationError extends Error {
|
|
9
|
+
field;
|
|
10
|
+
constructor(message, field){
|
|
11
|
+
super(message), this.field = field;
|
|
12
|
+
this.name = 'PostValidationError';
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
const PostInputSchema = z.object({
|
|
16
|
+
content: z.string().optional(),
|
|
17
|
+
endDate: z.number().optional(),
|
|
18
|
+
files: z.array(z.any()).optional(),
|
|
19
|
+
groupId: z.string().optional(),
|
|
20
|
+
postId: z.string().optional(),
|
|
21
|
+
latitude: z.number().optional(),
|
|
22
|
+
location: z.string().optional(),
|
|
23
|
+
longitude: z.number().optional(),
|
|
24
|
+
name: z.string().optional(),
|
|
25
|
+
parentId: z.string().optional(),
|
|
26
|
+
privacy: z.string().optional(),
|
|
27
|
+
startDate: z.number().optional(),
|
|
28
|
+
tags: z.array(z.any()).optional(),
|
|
29
|
+
type: z.string().optional(),
|
|
30
|
+
userId: z.string().optional(),
|
|
31
|
+
_id: z.string().optional(),
|
|
32
|
+
_key: z.string().optional(),
|
|
33
|
+
_rev: z.string().optional(),
|
|
34
|
+
_oldRev: z.string().optional(),
|
|
35
|
+
_from: z.string().optional(),
|
|
36
|
+
_to: z.string().optional()
|
|
37
|
+
}).loose();
|
|
38
|
+
export const validatePostInput = (post)=>{
|
|
39
|
+
try {
|
|
40
|
+
const validated = PostInputSchema.parse(post);
|
|
41
|
+
return validated;
|
|
42
|
+
} catch (error) {
|
|
43
|
+
if (error instanceof z.ZodError) {
|
|
44
|
+
const fieldErrors = error.issues.map((e)=>`${e.path.join('.')}: ${e.message}`).join(', ');
|
|
45
|
+
throw new PostValidationError(`Post validation failed: ${fieldErrors}`);
|
|
46
|
+
}
|
|
47
|
+
throw error;
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
export const formatPostOutput = (post)=>post;
|
|
51
|
+
export const parsePost = (post)=>{
|
|
52
|
+
try {
|
|
53
|
+
const parsed = performPostTransformation(post);
|
|
54
|
+
return parsed;
|
|
55
|
+
} catch (error) {
|
|
56
|
+
if (error instanceof PostValidationError) {
|
|
57
|
+
throw error;
|
|
58
|
+
}
|
|
59
|
+
throw new PostValidationError(`Post parsing failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
const performPostTransformation = (post)=>{
|
|
63
|
+
const { _id, _key, content, endDate, files, groupId, id, latitude, location, longitude, name, parentId, postId, privacy, tags, type, userId } = post;
|
|
64
|
+
const transformed = removeEmptyKeys({
|
|
65
|
+
...parseDocument(post),
|
|
66
|
+
...content && {
|
|
67
|
+
content: parseReaktorContent(content, MAX_CONTENT_LENGTH)
|
|
68
|
+
},
|
|
69
|
+
...endDate !== undefined && {
|
|
70
|
+
endDate: parseReaktorDate(endDate)
|
|
71
|
+
},
|
|
72
|
+
...files?.length && {
|
|
73
|
+
files: files.map((file)=>parseFile(file))
|
|
74
|
+
},
|
|
75
|
+
...groupId && {
|
|
76
|
+
groupId: parseId(groupId)
|
|
77
|
+
},
|
|
78
|
+
...latitude !== undefined && {
|
|
79
|
+
latitude: parseNum(latitude, 15)
|
|
80
|
+
},
|
|
81
|
+
...location && {
|
|
82
|
+
location: parseString(location, 160)
|
|
83
|
+
},
|
|
84
|
+
...longitude !== undefined && {
|
|
85
|
+
longitude: parseNum(longitude, 15)
|
|
86
|
+
},
|
|
87
|
+
...name && {
|
|
88
|
+
name: parseString(name, 160)
|
|
89
|
+
},
|
|
90
|
+
...parentId && {
|
|
91
|
+
parentId: parseId(parentId)
|
|
92
|
+
},
|
|
93
|
+
...(_id || id || _key || postId) && {
|
|
94
|
+
id: parseArangoId(_id || id || `posts/${_key || postId}`)
|
|
95
|
+
},
|
|
96
|
+
...(_key || postId) && {
|
|
97
|
+
postId: parseId(_key || postId || '')
|
|
98
|
+
},
|
|
99
|
+
...privacy && {
|
|
100
|
+
privacy: parseVarChar(privacy, 16)
|
|
101
|
+
},
|
|
102
|
+
...tags?.length && {
|
|
103
|
+
tags: tags.map((tag)=>parseTag(tag))
|
|
104
|
+
},
|
|
105
|
+
...type && {
|
|
106
|
+
type: parseReaktorType(type)
|
|
107
|
+
},
|
|
108
|
+
...userId && {
|
|
109
|
+
userId: parseId(userId)
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
return transformed;
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvYWRhcHRlcnMvcG9zdEFkYXB0ZXIvcG9zdEFkYXB0ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcGFyc2VBcmFuZ29JZCwgcGFyc2VJZCwgcGFyc2VOdW0sIHBhcnNlU3RyaW5nLCBwYXJzZVZhckNoYXIgfSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuaW1wb3J0IHsgeiB9IGZyb20gJ3pvZCc7XG5cbmltcG9ydCB7IHBhcnNlRG9jdW1lbnQsIHJlbW92ZUVtcHR5S2V5cyB9IGZyb20gJy4uL2FyYW5nb0FkYXB0ZXIvYXJhbmdvQWRhcHRlci5qcyc7XG5pbXBvcnQgeyBwYXJzZUZpbGUgfSBmcm9tICcuLi9maWxlQWRhcHRlci9maWxlQWRhcHRlci5qcyc7XG5pbXBvcnQge1xuICAgIHBhcnNlUmVha3RvckNvbnRlbnQsXG4gICAgcGFyc2VSZWFrdG9yRGF0ZSxcbiAgICBwYXJzZVJlYWt0b3JUeXBlXG59IGZyb20gJy4uL3JlYWt0b3JBZGFwdGVyL3JlYWt0b3JBZGFwdGVyLmpzJztcbmltcG9ydCB7IHBhcnNlVGFnIH0gZnJvbSAnLi4vdGFnQWRhcHRlci90YWdBZGFwdGVyLmpzJztcblxuY29uc3QgTUFYX0NPTlRFTlRfTEVOR1RIOiBudW1iZXIgPSAxMDAwMDA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9zdFR5cGUge1xuICBfaWQ/OiBzdHJpbmc7XG4gIF9rZXk/OiBzdHJpbmc7XG4gIF9yZXY/OiBzdHJpbmc7XG4gIF9vbGRSZXY/OiBzdHJpbmc7XG4gIF9mcm9tPzogc3RyaW5nO1xuICBfdG8/OiBzdHJpbmc7XG4gIGNvbnRlbnQ/OiBzdHJpbmc7XG4gIGVuZERhdGU/OiBudW1iZXI7XG4gIGZpbGVzPzogYW55W107XG4gIGdyb3VwSWQ/OiBzdHJpbmc7XG4gIGlkPzogc3RyaW5nO1xuICBsYXRpdHVkZT86IG51bWJlcjtcbiAgbG9jYXRpb24/OiBzdHJpbmc7XG4gIGxvbmdpdHVkZT86IG51bWJlcjtcbiAgbmFtZT86IHN0cmluZztcbiAgcGFyZW50SWQ/OiBzdHJpbmc7XG4gIHBvc3RJZD86IHN0cmluZztcbiAgcHJpdmFjeT86IHN0cmluZztcbiAgc3RhcnREYXRlPzogbnVtYmVyO1xuICB0YWdzPzogYW55W107XG4gIHR5cGU/OiBzdHJpbmc7XG4gIHVzZXJJZD86IHN0cmluZztcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgY2xhc3MgUG9zdFZhbGlkYXRpb25FcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nLCBwdWJsaWMgZmllbGQ/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgICB0aGlzLm5hbWUgPSAnUG9zdFZhbGlkYXRpb25FcnJvcic7XG4gIH1cbn1cblxuY29uc3QgUG9zdElucHV0U2NoZW1hID0gei5vYmplY3Qoe1xuICBjb250ZW50OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGVuZERhdGU6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgZmlsZXM6IHouYXJyYXkoei5hbnkoKSkub3B0aW9uYWwoKSxcbiAgZ3JvdXBJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBwb3N0SWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgbGF0aXR1ZGU6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgbG9jYXRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgbG9uZ2l0dWRlOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIG5hbWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgcGFyZW50SWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgcHJpdmFjeTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBzdGFydERhdGU6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgdGFnczogei5hcnJheSh6LmFueSgpKS5vcHRpb25hbCgpLFxuICB0eXBlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHVzZXJJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfaWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2tleTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfcmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9vbGRSZXY6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2Zyb206IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX3RvOiB6LnN0cmluZygpLm9wdGlvbmFsKClcbn0pLmxvb3NlKCk7XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVBvc3RJbnB1dCA9IChwb3N0OiB1bmtub3duKTogUG9zdFR5cGUgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHZhbGlkYXRlZCA9IFBvc3RJbnB1dFNjaGVtYS5wYXJzZShwb3N0KTtcbiAgICByZXR1cm4gdmFsaWRhdGVkIGFzIFBvc3RUeXBlO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiB6LlpvZEVycm9yKSB7XG4gICAgICBjb25zdCBmaWVsZEVycm9ycyA9IGVycm9yLmlzc3Vlcy5tYXAoKGUpID0+IGAke2UucGF0aC5qb2luKCcuJyl9OiAke2UubWVzc2FnZX1gKS5qb2luKCcsICcpO1xuICAgICAgdGhyb3cgbmV3IFBvc3RWYWxpZGF0aW9uRXJyb3IoYFBvc3QgdmFsaWRhdGlvbiBmYWlsZWQ6ICR7ZmllbGRFcnJvcnN9YCk7XG4gICAgfVxuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZm9ybWF0UG9zdE91dHB1dCA9IChwb3N0OiBQb3N0VHlwZSk6IFBvc3RUeXBlID0+IHBvc3Q7XG5cbmV4cG9ydCBjb25zdCBwYXJzZVBvc3QgPSAocG9zdDogUG9zdFR5cGUpOiBQb3N0VHlwZSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgcGFyc2VkID0gcGVyZm9ybVBvc3RUcmFuc2Zvcm1hdGlvbihwb3N0KTtcbiAgICByZXR1cm4gcGFyc2VkO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiBQb3N0VmFsaWRhdGlvbkVycm9yKSB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gICAgdGhyb3cgbmV3IFBvc3RWYWxpZGF0aW9uRXJyb3IoYFBvc3QgcGFyc2luZyBmYWlsZWQ6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCk7XG4gIH1cbn07XG5cbmNvbnN0IHBlcmZvcm1Qb3N0VHJhbnNmb3JtYXRpb24gPSAocG9zdDogUG9zdFR5cGUpOiBQb3N0VHlwZSA9PiB7XG4gIGNvbnN0IHtcbiAgICBfaWQsXG4gICAgX2tleSxcbiAgICBjb250ZW50LFxuICAgIGVuZERhdGUsXG4gICAgZmlsZXMsXG4gICAgZ3JvdXBJZCxcbiAgICBpZCxcbiAgICBsYXRpdHVkZSxcbiAgICBsb2NhdGlvbixcbiAgICBsb25naXR1ZGUsXG4gICAgbmFtZSxcbiAgICBwYXJlbnRJZCxcbiAgICBwb3N0SWQsXG4gICAgcHJpdmFjeSxcbiAgICB0YWdzLFxuICAgIHR5cGUsXG4gICAgdXNlcklkXG4gIH0gPSBwb3N0O1xuXG4gIGNvbnN0IHRyYW5zZm9ybWVkID0gcmVtb3ZlRW1wdHlLZXlzKHtcbiAgICAuLi5wYXJzZURvY3VtZW50KHBvc3QpLFxuICAgIC4uLihjb250ZW50ICYmIHtjb250ZW50OiBwYXJzZVJlYWt0b3JDb250ZW50KGNvbnRlbnQsIE1BWF9DT05URU5UX0xFTkdUSCl9KSxcbiAgICAuLi4oZW5kRGF0ZSAhPT0gdW5kZWZpbmVkICYmIHtlbmREYXRlOiBwYXJzZVJlYWt0b3JEYXRlKGVuZERhdGUpfSksXG4gICAgLi4uKGZpbGVzPy5sZW5ndGggJiYge2ZpbGVzOiBmaWxlcy5tYXAoKGZpbGUpID0+IHBhcnNlRmlsZShmaWxlKSl9KSxcbiAgICAuLi4oZ3JvdXBJZCAmJiB7Z3JvdXBJZDogcGFyc2VJZChncm91cElkKX0pLFxuICAgIC4uLihsYXRpdHVkZSAhPT0gdW5kZWZpbmVkICYmIHtsYXRpdHVkZTogcGFyc2VOdW0obGF0aXR1ZGUsIDE1KX0pLFxuICAgIC4uLihsb2NhdGlvbiAmJiB7bG9jYXRpb246IHBhcnNlU3RyaW5nKGxvY2F0aW9uLCAxNjApfSksXG4gICAgLi4uKGxvbmdpdHVkZSAhPT0gdW5kZWZpbmVkICYmIHtsb25naXR1ZGU6IHBhcnNlTnVtKGxvbmdpdHVkZSwgMTUpfSksXG4gICAgLi4uKG5hbWUgJiYge25hbWU6IHBhcnNlU3RyaW5nKG5hbWUsIDE2MCl9KSxcbiAgICAuLi4ocGFyZW50SWQgJiYge3BhcmVudElkOiBwYXJzZUlkKHBhcmVudElkKX0pLFxuICAgIC4uLigoX2lkIHx8IGlkIHx8IF9rZXkgfHwgcG9zdElkKSAmJiB7aWQ6IHBhcnNlQXJhbmdvSWQoX2lkIHx8IGlkIHx8IGBwb3N0cy8ke19rZXkgfHwgcG9zdElkfWApfSksXG4gICAgLi4uKChfa2V5IHx8IHBvc3RJZCkgJiYge3Bvc3RJZDogcGFyc2VJZChfa2V5IHx8IHBvc3RJZCB8fCAnJyl9KSxcbiAgICAuLi4ocHJpdmFjeSAmJiB7cHJpdmFjeTogcGFyc2VWYXJDaGFyKHByaXZhY3ksIDE2KX0pLFxuICAgIC4uLih0YWdzPy5sZW5ndGggJiYge3RhZ3M6IHRhZ3MubWFwKCh0YWcpID0+IHBhcnNlVGFnKHRhZykpfSksXG4gICAgLi4uKHR5cGUgJiYge3R5cGU6IHBhcnNlUmVha3RvclR5cGUodHlwZSl9KSxcbiAgICAuLi4odXNlcklkICYmIHt1c2VySWQ6IHBhcnNlSWQodXNlcklkKX0pXG4gIH0pO1xuXG4gIHJldHVybiB0cmFuc2Zvcm1lZDtcbn07Il0sIm5hbWVzIjpbInBhcnNlQXJhbmdvSWQiLCJwYXJzZUlkIiwicGFyc2VOdW0iLCJwYXJzZVN0cmluZyIsInBhcnNlVmFyQ2hhciIsInoiLCJwYXJzZURvY3VtZW50IiwicmVtb3ZlRW1wdHlLZXlzIiwicGFyc2VGaWxlIiwicGFyc2VSZWFrdG9yQ29udGVudCIsInBhcnNlUmVha3RvckRhdGUiLCJwYXJzZVJlYWt0b3JUeXBlIiwicGFyc2VUYWciLCJNQVhfQ09OVEVOVF9MRU5HVEgiLCJQb3N0VmFsaWRhdGlvbkVycm9yIiwiRXJyb3IiLCJtZXNzYWdlIiwiZmllbGQiLCJuYW1lIiwiUG9zdElucHV0U2NoZW1hIiwib2JqZWN0IiwiY29udGVudCIsInN0cmluZyIsIm9wdGlvbmFsIiwiZW5kRGF0ZSIsIm51bWJlciIsImZpbGVzIiwiYXJyYXkiLCJhbnkiLCJncm91cElkIiwicG9zdElkIiwibGF0aXR1ZGUiLCJsb2NhdGlvbiIsImxvbmdpdHVkZSIsInBhcmVudElkIiwicHJpdmFjeSIsInN0YXJ0RGF0ZSIsInRhZ3MiLCJ0eXBlIiwidXNlcklkIiwiX2lkIiwiX2tleSIsIl9yZXYiLCJfb2xkUmV2IiwiX2Zyb20iLCJfdG8iLCJsb29zZSIsInZhbGlkYXRlUG9zdElucHV0IiwicG9zdCIsInZhbGlkYXRlZCIsInBhcnNlIiwiZXJyb3IiLCJab2RFcnJvciIsImZpZWxkRXJyb3JzIiwiaXNzdWVzIiwibWFwIiwiZSIsInBhdGgiLCJqb2luIiwiZm9ybWF0UG9zdE91dHB1dCIsInBhcnNlUG9zdCIsInBhcnNlZCIsInBlcmZvcm1Qb3N0VHJhbnNmb3JtYXRpb24iLCJpZCIsInRyYW5zZm9ybWVkIiwidW5kZWZpbmVkIiwibGVuZ3RoIiwiZmlsZSIsInRhZyJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsYUFBYSxFQUFFQyxPQUFPLEVBQUVDLFFBQVEsRUFBRUMsV0FBVyxFQUFFQyxZQUFZLFFBQVEsZUFBZTtBQUMzRixTQUFTQyxDQUFDLFFBQVEsTUFBTTtBQUV4QixTQUFTQyxhQUFhLEVBQUVDLGVBQWUsUUFBUSxvQ0FBb0M7QUFDbkYsU0FBU0MsU0FBUyxRQUFRLGdDQUFnQztBQUMxRCxTQUNJQyxtQkFBbUIsRUFDbkJDLGdCQUFnQixFQUNoQkMsZ0JBQWdCLFFBQ2Isc0NBQXNDO0FBQzdDLFNBQVNDLFFBQVEsUUFBUSw4QkFBOEI7QUFFdkQsTUFBTUMscUJBQTZCO0FB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
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type CollectionType } from '../../constants/Collections.js';
|
|
2
|
+
export interface ReactionType {
|
|
3
|
+
_id?: string;
|
|
4
|
+
_key?: string;
|
|
5
|
+
_rev?: string;
|
|
6
|
+
_oldRev?: string;
|
|
7
|
+
_from?: string;
|
|
8
|
+
_to?: string;
|
|
9
|
+
id?: string;
|
|
10
|
+
name?: string;
|
|
11
|
+
reactionId?: string;
|
|
12
|
+
type?: CollectionType;
|
|
13
|
+
value?: string;
|
|
14
|
+
[key: string]: any;
|
|
15
|
+
}
|
|
16
|
+
export declare class ReactionValidationError extends Error {
|
|
17
|
+
field?: string;
|
|
18
|
+
constructor(message: string, field?: string);
|
|
19
|
+
}
|
|
20
|
+
export declare const validateReactionInput: (reaction: unknown) => ReactionType;
|
|
21
|
+
export declare const formatReactionOutput: (reaction: ReactionType) => ReactionType;
|
|
22
|
+
export declare const parseReaction: (reaction: ReactionType) => ReactionType;
|
|
23
|
+
//# sourceMappingURL=reactionAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reactionAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/reactionAdapter/reactionAdapter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAc,KAAK,cAAc,EAAC,MAAM,gCAAgC,CAAC;AAEhF,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IACZ,KAAK,CAAC,EAAE,MAAM;gBAAtC,OAAO,EAAE,MAAM,EAAS,KAAK,CAAC,EAAE,MAAM;CAInD;AA4BD,eAAO,MAAM,qBAAqB,GAAI,UAAU,OAAO,KAAG,YAWzD,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,UAAU,YAAY,KAAG,YAAwB,CAAC;AAEvF,eAAO,MAAM,aAAa,GAAI,UAAU,YAAY,KAAG,YAUtD,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { parseArangoId, parseId, parseVarChar } from '@nlabs/utils';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { parseDocument, removeEmptyKeys } from '../arangoAdapter/arangoAdapter.js';
|
|
4
|
+
import { COLLECTIONS } from '../../constants/Collections.js';
|
|
5
|
+
export class ReactionValidationError extends Error {
|
|
6
|
+
field;
|
|
7
|
+
constructor(message, field){
|
|
8
|
+
super(message), this.field = field;
|
|
9
|
+
this.name = 'ReactionValidationError';
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
const ReactionInputSchema = z.object({
|
|
13
|
+
_id: z.string().optional(),
|
|
14
|
+
_key: z.string().optional(),
|
|
15
|
+
_rev: z.string().optional(),
|
|
16
|
+
_oldRev: z.string().optional(),
|
|
17
|
+
_from: z.string().optional(),
|
|
18
|
+
_to: z.string().optional(),
|
|
19
|
+
id: z.string().optional(),
|
|
20
|
+
name: z.string().max(32).optional(),
|
|
21
|
+
reactionId: z.string().optional(),
|
|
22
|
+
type: z.enum([
|
|
23
|
+
COLLECTIONS.APPS,
|
|
24
|
+
COLLECTIONS.CONVERSATIONS,
|
|
25
|
+
COLLECTIONS.FILES,
|
|
26
|
+
COLLECTIONS.GROUPS,
|
|
27
|
+
COLLECTIONS.IMAGES,
|
|
28
|
+
COLLECTIONS.MESSAGES,
|
|
29
|
+
COLLECTIONS.POSTS,
|
|
30
|
+
COLLECTIONS.PERSONAS,
|
|
31
|
+
COLLECTIONS.TAGS,
|
|
32
|
+
COLLECTIONS.USERS,
|
|
33
|
+
COLLECTIONS.VIDEOS
|
|
34
|
+
]),
|
|
35
|
+
value: z.string().max(32).optional()
|
|
36
|
+
}).loose();
|
|
37
|
+
export const validateReactionInput = (reaction)=>{
|
|
38
|
+
try {
|
|
39
|
+
const validated = ReactionInputSchema.parse(reaction);
|
|
40
|
+
return validated;
|
|
41
|
+
} catch (error) {
|
|
42
|
+
if (error instanceof z.ZodError) {
|
|
43
|
+
const fieldErrors = error.issues.map((e)=>`${e.path.join('.')}: ${e.message}`).join(', ');
|
|
44
|
+
throw new ReactionValidationError(`Reaction validation failed: ${fieldErrors}`);
|
|
45
|
+
}
|
|
46
|
+
throw error;
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
export const formatReactionOutput = (reaction)=>reaction;
|
|
50
|
+
export const parseReaction = (reaction)=>{
|
|
51
|
+
try {
|
|
52
|
+
const parsed = performReactionTransformation(reaction);
|
|
53
|
+
return parsed;
|
|
54
|
+
} catch (error) {
|
|
55
|
+
if (error instanceof ReactionValidationError) {
|
|
56
|
+
throw error;
|
|
57
|
+
}
|
|
58
|
+
throw new ReactionValidationError(`Reaction parsing failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
const performReactionTransformation = (reaction)=>{
|
|
62
|
+
const { _id, _key, id, name, reactionId, value } = reaction;
|
|
63
|
+
const transformed = removeEmptyKeys({
|
|
64
|
+
...parseDocument(reaction),
|
|
65
|
+
...(_id || id || _key || reactionId) && {
|
|
66
|
+
id: parseArangoId(_id || id || `reactions/${_key || reactionId}`)
|
|
67
|
+
},
|
|
68
|
+
...name && {
|
|
69
|
+
name: parseVarChar(name, 32)
|
|
70
|
+
},
|
|
71
|
+
...(_key || reactionId) && {
|
|
72
|
+
reactionId: parseId(_key || reactionId || '')
|
|
73
|
+
},
|
|
74
|
+
...value && {
|
|
75
|
+
value: parseVarChar(value, 32)
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
return transformed;
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvYWRhcHRlcnMvcmVhY3Rpb25BZGFwdGVyL3JlYWN0aW9uQWRhcHRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwYXJzZUFyYW5nb0lkLCBwYXJzZUlkLCBwYXJzZVZhckNoYXIgfSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuaW1wb3J0IHsgeiB9IGZyb20gJ3pvZCc7XG5cbmltcG9ydCB7IHBhcnNlRG9jdW1lbnQsIHJlbW92ZUVtcHR5S2V5cyB9IGZyb20gJy4uL2FyYW5nb0FkYXB0ZXIvYXJhbmdvQWRhcHRlci5qcyc7XG5pbXBvcnQge0NPTExFQ1RJT05TLCB0eXBlIENvbGxlY3Rpb25UeXBlfSBmcm9tICcuLi8uLi9jb25zdGFudHMvQ29sbGVjdGlvbnMuanMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlYWN0aW9uVHlwZSB7XG4gIF9pZD86IHN0cmluZztcbiAgX2tleT86IHN0cmluZztcbiAgX3Jldj86IHN0cmluZztcbiAgX29sZFJldj86IHN0cmluZztcbiAgX2Zyb20/OiBzdHJpbmc7XG4gIF90bz86IHN0cmluZztcbiAgaWQ/OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHJlYWN0aW9uSWQ/OiBzdHJpbmc7XG4gIHR5cGU/OiBDb2xsZWN0aW9uVHlwZTtcbiAgdmFsdWU/OiBzdHJpbmc7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGNsYXNzIFJlYWN0aW9uVmFsaWRhdGlvbkVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcsIHB1YmxpYyBmaWVsZD86IHN0cmluZykge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgIHRoaXMubmFtZSA9ICdSZWFjdGlvblZhbGlkYXRpb25FcnJvcic7XG4gIH1cbn1cblxuY29uc3QgUmVhY3Rpb25JbnB1dFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgX2lkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9rZXk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX3Jldjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfb2xkUmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9mcm9tOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF90bzogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBpZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBuYW1lOiB6LnN0cmluZygpLm1heCgzMikub3B0aW9uYWwoKSxcbiAgcmVhY3Rpb25JZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB0eXBlOiB6LmVudW0oW1xuICAgIENPTExFQ1RJT05TLkFQUFMsXG4gICAgQ09MTEVDVElPTlMuQ09OVkVSU0FUSU9OUyxcbiAgICBDT0xMRUNUSU9OUy5GSUxFUyxcbiAgICBDT0xMRUNUSU9OUy5HUk9VUFMsXG4gICAgQ09MTEVDVElPTlMuSU1BR0VTLFxuICAgIENPTExFQ1RJT05TLk1FU1NBR0VTLFxuICAgIENPTExFQ1RJT05TLlBPU1RTLFxuICAgIENPTExFQ1RJT05TLlBFUlNPTkFTLFxuICAgIENPTExFQ1RJT05TLlRBR1MsXG4gICAgQ09MTEVDVElPTlMuVVNFUlMsXG4gICAgQ09MTEVDVElPTlMuVklERU9TXG4gIF0pLFxuICB2YWx1ZTogei5zdHJpbmcoKS5tYXgoMzIpLm9wdGlvbmFsKClcbn0pLmxvb3NlKCk7XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVJlYWN0aW9uSW5wdXQgPSAocmVhY3Rpb246IHVua25vd24pOiBSZWFjdGlvblR5cGUgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHZhbGlkYXRlZCA9IFJlYWN0aW9uSW5wdXRTY2hlbWEucGFyc2UocmVhY3Rpb24pO1xuICAgIHJldHVybiB2YWxpZGF0ZWQgYXMgUmVhY3Rpb25UeXBlO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiB6LlpvZEVycm9yKSB7XG4gICAgICBjb25zdCBmaWVsZEVycm9ycyA9IGVycm9yLmlzc3Vlcy5tYXAoKGUpID0+IGAke2UucGF0aC5qb2luKCcuJyl9OiAke2UubWVzc2FnZX1gKS5qb2luKCcsICcpO1xuICAgICAgdGhyb3cgbmV3IFJlYWN0aW9uVmFsaWRhdGlvbkVycm9yKGBSZWFjdGlvbiB2YWxpZGF0aW9uIGZhaWxlZDogJHtmaWVsZEVycm9yc31gKTtcbiAgICB9XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBmb3JtYXRSZWFjdGlvbk91dHB1dCA9IChyZWFjdGlvbjogUmVhY3Rpb25UeXBlKTogUmVhY3Rpb25UeXBlID0+IHJlYWN0aW9uO1xuXG5leHBvcnQgY29uc3QgcGFyc2VSZWFjdGlvbiA9IChyZWFjdGlvbjogUmVhY3Rpb25UeXBlKTogUmVhY3Rpb25UeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJzZWQgPSBwZXJmb3JtUmVhY3Rpb25UcmFuc2Zvcm1hdGlvbihyZWFjdGlvbik7XG4gICAgcmV0dXJuIHBhcnNlZDtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2YgUmVhY3Rpb25WYWxpZGF0aW9uRXJyb3IpIHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgUmVhY3Rpb25WYWxpZGF0aW9uRXJyb3IoYFJlYWN0aW9uIHBhcnNpbmcgZmFpbGVkOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWApO1xuICB9XG59O1xuXG5jb25zdCBwZXJmb3JtUmVhY3Rpb25UcmFuc2Zvcm1hdGlvbiA9IChyZWFjdGlvbjogUmVhY3Rpb25UeXBlKTogUmVhY3Rpb25UeXBlID0+IHtcbiAgY29uc3Qge1xuICAgIF9pZCxcbiAgICBfa2V5LFxuICAgIGlkLFxuICAgIG5hbWUsXG4gICAgcmVhY3Rpb25JZCxcbiAgICB2YWx1ZVxuICB9ID0gcmVhY3Rpb247XG5cbiAgY29uc3QgdHJhbnNmb3JtZWQgPSByZW1vdmVFbXB0eUtleXMoe1xuICAgIC4uLnBhcnNlRG9jdW1lbnQocmVhY3Rpb24pLFxuICAgIC4uLigoX2lkIHx8IGlkIHx8IF9rZXkgfHwgcmVhY3Rpb25JZCkgJiYge2lkOiBwYXJzZUFyYW5nb0lkKF9pZCB8fCBpZCB8fCBgcmVhY3Rpb25zLyR7X2tleSB8fCByZWFjdGlvbklkfWApfSksXG4gICAgLi4uKG5hbWUgJiYge25hbWU6IHBhcnNlVmFyQ2hhcihuYW1lLCAzMil9KSxcbiAgICAuLi4oKF9rZXkgfHwgcmVhY3Rpb25JZCkgJiYge3JlYWN0aW9uSWQ6IHBhcnNlSWQoX2tleSB8fCByZWFjdGlvbklkIHx8ICcnKX0pLFxuICAgIC4uLih2YWx1ZSAmJiB7dmFsdWU6IHBhcnNlVmFyQ2hhcih2YWx1ZSwgMzIpfSlcbiAgfSk7XG5cbiAgcmV0dXJuIHRyYW5zZm9ybWVkO1xufTtcbiJdLCJuYW1lcyI6WyJwYXJzZUFyYW5nb0lkIiwicGFyc2VJZCIsInBhcnNlVmFyQ2hhciIsInoiLCJwYXJzZURvY3VtZW50IiwicmVtb3ZlRW1wdHlLZXlzIiwiQ09MTEVDVElPTlMiLCJSZWFjdGlvblZhbGlkYXRpb25FcnJvciIsIkVycm9yIiwibWVzc2FnZSIsImZpZWxkIiwibmFtZSIsIlJlYWN0aW9uSW5wdXRTY2hlbWEiLCJvYmplY3QiLCJfaWQiLCJzdHJpbmciLCJvcHRpb25hbCIsIl9rZXkiLCJfcmV2IiwiX29sZFJldiIsIl9mcm9tIiwiX3RvIiwiaWQiLCJtYXgiLCJyZWFjdGlvbklkIiwidHlwZSIsImVudW0iLCJBUFBTIiwiQ09OVkVSU0FUSU9OUyIsIkZJTEVTIiwiR1JPVVBTIiwiSU1BR0VTIiwiTUVTU0FHRVMiLCJQT1NUUyIsIlBFUlNPTkFTIiwiVEFHUyIsIlVTRVJTIiwiVklERU9TIiwidmFsdWUiLCJsb29zZSIsInZhbGlkYXRlUmVhY3Rpb25JbnB1dCIsInJlYWN0aW9uIiwidmFsaWRhdGVkIiwicGFyc2UiLCJlcnJvciIsIlpvZEVycm9yIiwiZmllbGRFcnJvcnMiLCJpc3N1ZXMiLCJtYXAiLCJlIiwicGF0aCIsImpvaW4iLCJmb3JtYXRSZWFjdGlvbk91dHB1dCIsInBhcnNlUmVhY3Rpb24iLCJwYXJzZWQiLCJwZXJmb3JtUmVhY3Rpb25UcmFuc2Zvcm1hdGlvbiIsInRyYW5zZm9ybWVkIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxhQUFhLEVBQUVDLE9BQU8sRUFBRUMsWUFBWSxRQUFRLGVBQWU7QUFDcEUsU0FBU0MsQ0FBQyxRQUFRLE1BQU07QUFFeEIsU0FBU0MsYUFBYSxFQUFFQyxlQUFlLFFBQVEsb0NBQW9DO0FBQ25GLFNBQVFDLFdBQVcsUUFBNEIsaUNBQWlDO0FBaUJoRixPQUFPLE1BQU1DLGdDQUFnQ0M7O0lBQzNDLFlBQVlDLE9BQWUsRUFBRSxBQUFPQyxLQUFjLENBQUU7UUFDbEQsS0FBSyxDQUFDRCxlQUQ0QkMsUUFBQUE7UUFFbEMsSUFBSSxDQUFDQyxJQUFJLEdBQUc7SUFDZDtBQUNGO0FBRUEsTUFBTUMsc0JBQXNCVCxFQUFFVSxNQUFNLENBQUM7SUFDbkNDLEtBQUtYLEVBQUVZLE1BQU0sR0FBR0MsUUFBUTtJQUN4QkMsTUFBTWQsRUFBRVksTUFBTSxHQUFHQyxRQUFRO0lBQ3pCRSxNQUFNZixFQUFFWSxNQUFNLEdBQUdDLFFBQVE7SUFDekJHLFNBQVNoQixFQUFFWSxNQUFNLEdBQUdDLFFBQVE7SUFDNUJJLE9BQU9qQixFQUFFWSxNQUFNLEdBQUdDLFFBQVE7SUFDMUJLLEtBQUtsQixFQUFFWSxNQUFNLEdBQUdDLFFBQVE7SUFDeEJNLElBQUluQixFQUFFWSxNQUFNLEdBQUdDLFFBQVE7SUFDdkJMLE1BQU1SLEVBQUVZLE1BQU0sR0FBR1EsR0FBRyxDQUFDLElBQUlQLFFBQVE7SUFDakNRLFlBQVlyQixFQUFFWSxNQUFNLEdBQUdDLFFBQVE7SUFDL0JTLE1BQU10QixFQUFFdUIsSUFBSSxDQUFDO1FBQ1hwQixZQUFZcUIsSUFBSTtRQUNoQnJCLFlBQVlzQixhQUFhO1FBQ3pCdEIsWUFBWXVCLEtBQUs7UUFDakJ2QixZQUFZd0IsTUFBTTtRQUNsQnhCLFlBQVl5QixNQUFNO1FBQ2xCekIsWUFBWTBCLFFBQVE7UUFDcEIxQixZQUFZMkIsS0FBSztRQUNqQjNCLFlBQVk0QixRQUFRO1FBQ3BCNUIsWUFBWTZCLElBQUk7UUFDaEI3QixZQUFZOEIsS0FBSztRQUNqQjlCLFlBQVkrQixNQUFNO0tBQ25CO0lBQ0RDLE9BQU9uQyxFQUFFWSxNQUFNLEdBQUdRLEdBQUcsQ0FBQyxJQUFJUCxRQUFRO0FBQ3BDLEdBQUd1QixLQUFLO0FBRVIsT0FBTyxNQUFNQyx3QkFBd0IsQ0FBQ0M7SUFDcEMsSUFBSTtRQUNGLE1BQU1DLFlBQVk5QixvQkFBb0IrQixLQUFLLENBQUNGO1FBQzVDLE9BQU9DO0lBQ1QsRUFBRSxPQUFNRSxPQUFPO1FBQ2IsSUFBR0EsaUJBQWlCekMsRUFBRTBDLFFBQVEsRUFBRTtZQUM5QixNQUFNQyxjQUFjRixNQUFNRyxNQUFNLENBQUNDLEdBQUcsQ0FBQyxDQUFDQyxJQUFNLEdBQUdBLEVBQUVDLElBQUksQ0FBQ0MsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFRixFQUFFeEMsT0FBTyxFQUFFLEVBQUUwQyxJQUFJLENBQUM7WUFDdEYsTUFBTSxJQUFJNUMsd0JBQXdCLENBQUMsNEJBQTRCLEVBQUV1QyxhQUFhO1FBQ2hGO1FBQ0EsTUFBTUY7SUFDUjtBQUNGLEVBQUU7QUFFRixPQUFPLE1BQU1RLHVCQUF1QixDQUFDWCxXQUF5Q0EsU0FBUztBQUV2RixPQUFPLE1BQU1ZLGdCQUFnQixDQUFDWjtJQUM1QixJQUFJO1FBQ0YsTUFBTWEsU0FBU0MsOEJBQThCZDtRQUM3QyxPQUFPYTtJQUNULEVBQUUsT0FBTVYsT0FBTztRQUNiLElBQUdBLGlCQUFpQnJDLHlCQUF5QjtZQUMzQyxNQUFNcUM7UUFDUjtRQUNBLE1BQU0sSUFBSXJDLHdCQUF3QixDQUFDLHlCQUF5QixFQUFFcUMsaUJBQWlCcEMsUUFBUW9DLE1BQU1uQyxPQUFPLEdBQUcsaUJBQWlCO0lBQzFIO0FBQ0YsRUFBRTtBQUVGLE1BQU04QyxnQ0FBZ0MsQ0FBQ2Q7SUFDckMsTUFBTSxFQUNKM0IsR0FBRyxFQUNIRyxJQUFJLEVBQ0pLLEVBQUUsRUFDRlgsSUFBSSxFQUNKYSxVQUFVLEVBQ1ZjLEtBQUssRUFDTixHQUFHRztJQUVKLE1BQU1lLGNBQWNuRCxnQkFBZ0I7UUFDbEMsR0FBR0QsY0FBY3FDLFNBQVM7UUFDMUIsR0FBSSxBQUFDM0IsQ0FBQUEsT0FBT1EsTUFBTUwsUUFBUU8sVUFBUyxLQUFNO1lBQUNGLElBQUl0QixjQUFjYyxPQUFPUSxNQUFNLENBQUMsVUFBVSxFQUFFTCxRQUFRTyxZQUFZO1FBQUMsQ0FBQztRQUM1RyxHQUFJYixRQUFRO1lBQUNBLE1BQU1ULGFBQWFTLE1BQU07UUFBRyxDQUFDO1FBQzFDLEdBQUksQUFBQ00sQ0FBQUEsUUFBUU8sVUFBUyxLQUFNO1lBQUNBLFlBQVl2QixRQUFRZ0IsUUFBUU8sY0FBYztRQUFHLENBQUM7UUFDM0UsR0FBSWMsU0FBUztZQUFDQSxPQUFPcEMsYUFBYW9DLE9BQU87UUFBRyxDQUFDO0lBQy9DO0lBRUEsT0FBT2tCO0FBQ1QifQ==
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare class ReaktorValidationError extends Error {
|
|
2
|
+
field?: string;
|
|
3
|
+
constructor(message: string, field?: string);
|
|
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;
|
|
17
|
+
//# sourceMappingURL=reaktorAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reaktorAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/reaktorAdapter/reaktorAdapter.ts"],"names":[],"mappings":"AAEA,qBAAa,sBAAuB,SAAQ,KAAK;IACX,KAAK,CAAC,EAAE,MAAM;gBAAtC,OAAO,EAAE,MAAM,EAAS,KAAK,CAAC,EAAE,MAAM;CAInD;AAED,eAAO,MAAM,sBAAsB,GAAI,UAAU,MAAM,EAAE,SAAQ,MAAY,KAAG,MAAM,GAAG,SAMxF,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,OAAO,MAAM,KAAG,MAAM,GAAG,SAM5D,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,SAAS,MAAM,KAAG,MAAM,GAAG,SAMhE,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,OAAO,MAAM,KAAG,MAAM,GAAG,SAM5D,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,OAAO,MAAM,KAAG,MAAM,GAAG,SAM5D,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,KAAG,MAAM,GAAG,SAM1D,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,UAAU,MAAM,EAAE,SAAQ,MAAY,KAAG,MAAM,GAAG,SAChC,CAAC;AAEvD,eAAO,MAAM,gBAAgB,GAAI,OAAO,MAAM,KAAG,MAAM,GAAG,SACjB,CAAC;AAE1C,eAAO,MAAM,kBAAkB,GAAI,SAAS,MAAM,KAAG,MAAM,GAAG,SACtB,CAAC;AAEzC,eAAO,MAAM,gBAAgB,GAAI,OAAO,MAAM,KAAG,MAAM,GAAG,SACb,CAAC;AAE9C,eAAO,MAAM,gBAAgB,GAAI,OAAO,MAAM,KAAG,MAAM,GAAG,SACZ,CAAC;AAE/C,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,KAAG,MAAM,GAAG,SACrB,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { parseId, parseNum, parseString, parseUrl, parseVarChar } from '@nlabs/utils';
|
|
2
|
+
export class ReaktorValidationError extends Error {
|
|
3
|
+
field;
|
|
4
|
+
constructor(message, field){
|
|
5
|
+
super(message), this.field = field;
|
|
6
|
+
this.name = 'ReaktorValidationError';
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export const validateReaktorContent = (content, length = 500)=>{
|
|
10
|
+
try {
|
|
11
|
+
return parseReaktorContent(content, length);
|
|
12
|
+
} catch (error) {
|
|
13
|
+
throw new ReaktorValidationError(`Content validation failed: ${error instanceof Error ? error.message : 'Unknown error'}`, 'content');
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
export const validateReaktorDate = (date)=>{
|
|
17
|
+
try {
|
|
18
|
+
return parseReaktorDate(date);
|
|
19
|
+
} catch (error) {
|
|
20
|
+
throw new ReaktorValidationError(`Date validation failed: ${error instanceof Error ? error.message : 'Unknown error'}`, 'date');
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
export const validateReaktorItemId = (itemId)=>{
|
|
24
|
+
try {
|
|
25
|
+
return parseReaktorItemId(itemId);
|
|
26
|
+
} catch (error) {
|
|
27
|
+
throw new ReaktorValidationError(`Item ID validation failed: ${error instanceof Error ? error.message : 'Unknown error'}`, 'itemId');
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
export const validateReaktorName = (name)=>{
|
|
31
|
+
try {
|
|
32
|
+
return parseReaktorName(name);
|
|
33
|
+
} catch (error) {
|
|
34
|
+
throw new ReaktorValidationError(`Name validation failed: ${error instanceof Error ? error.message : 'Unknown error'}`, 'name');
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
export const validateReaktorType = (type)=>{
|
|
38
|
+
try {
|
|
39
|
+
return parseReaktorType(type);
|
|
40
|
+
} catch (error) {
|
|
41
|
+
throw new ReaktorValidationError(`Type validation failed: ${error instanceof Error ? error.message : 'Unknown error'}`, 'type');
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
export const validateReaktorUrl = (url)=>{
|
|
45
|
+
try {
|
|
46
|
+
return parseReaktorUrl(url);
|
|
47
|
+
} catch (error) {
|
|
48
|
+
throw new ReaktorValidationError(`URL validation failed: ${error instanceof Error ? error.message : 'Unknown error'}`, 'url');
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
export const parseReaktorContent = (content, length = 500)=>content ? parseString(content, length) : undefined;
|
|
52
|
+
export const parseReaktorDate = (date)=>date ? parseNum(date, 13) : undefined;
|
|
53
|
+
export const parseReaktorItemId = (itemId)=>itemId ? parseId(itemId) : undefined;
|
|
54
|
+
export const parseReaktorName = (name)=>name ? parseString(name, 160) : undefined;
|
|
55
|
+
export const parseReaktorType = (type)=>type ? parseVarChar(type, 160) : undefined;
|
|
56
|
+
export const parseReaktorUrl = (url)=>url ? parseUrl(url) : undefined;
|
|
57
|
+
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvYWRhcHRlcnMvcmVha3RvckFkYXB0ZXIvcmVha3RvckFkYXB0ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtwYXJzZUlkLCBwYXJzZU51bSwgcGFyc2VTdHJpbmcsIHBhcnNlVXJsLCBwYXJzZVZhckNoYXJ9IGZyb20gJ0BubGFicy91dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBSZWFrdG9yVmFsaWRhdGlvbkVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcsIHB1YmxpYyBmaWVsZD86IHN0cmluZykge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgIHRoaXMubmFtZSA9ICdSZWFrdG9yVmFsaWRhdGlvbkVycm9yJztcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVSZWFrdG9yQ29udGVudCA9IChjb250ZW50Pzogc3RyaW5nLCBsZW5ndGg6IG51bWJlciA9IDUwMCk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHBhcnNlUmVha3RvckNvbnRlbnQoY29udGVudCwgbGVuZ3RoKTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIHRocm93IG5ldyBSZWFrdG9yVmFsaWRhdGlvbkVycm9yKGBDb250ZW50IHZhbGlkYXRpb24gZmFpbGVkOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWAsICdjb250ZW50Jyk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVJlYWt0b3JEYXRlID0gKGRhdGU/OiBudW1iZXIpOiBudW1iZXIgfCB1bmRlZmluZWQgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBwYXJzZVJlYWt0b3JEYXRlKGRhdGUpO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgdGhyb3cgbmV3IFJlYWt0b3JWYWxpZGF0aW9uRXJyb3IoYERhdGUgdmFsaWRhdGlvbiBmYWlsZWQ6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCwgJ2RhdGUnKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlUmVha3Rvckl0ZW1JZCA9IChpdGVtSWQ/OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBwYXJzZVJlYWt0b3JJdGVtSWQoaXRlbUlkKTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIHRocm93IG5ldyBSZWFrdG9yVmFsaWRhdGlvbkVycm9yKGBJdGVtIElEIHZhbGlkYXRpb24gZmFpbGVkOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWAsICdpdGVtSWQnKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlUmVha3Rvck5hbWUgPSAobmFtZT86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHBhcnNlUmVha3Rvck5hbWUobmFtZSk7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICB0aHJvdyBuZXcgUmVha3RvclZhbGlkYXRpb25FcnJvcihgTmFtZSB2YWxpZGF0aW9uIGZhaWxlZDogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ31gLCAnbmFtZScpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVSZWFrdG9yVHlwZSA9ICh0eXBlPzogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gcGFyc2VSZWFrdG9yVHlwZSh0eXBlKTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIHRocm93IG5ldyBSZWFrdG9yVmFsaWRhdGlvbkVycm9yKGBUeXBlIHZhbGlkYXRpb24gZmFpbGVkOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWAsICd0eXBlJyk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVJlYWt0b3JVcmwgPSAodXJsPzogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gcGFyc2VSZWFrdG9yVXJsKHVybCk7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICB0aHJvdyBuZXcgUmVha3RvclZhbGlkYXRpb25FcnJvcihgVVJMIHZhbGlkYXRpb24gZmFpbGVkOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWAsICd1cmwnKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlUmVha3RvckNvbnRlbnQgPSAoY29udGVudD86IHN0cmluZywgbGVuZ3RoOiBudW1iZXIgPSA1MDApOiBzdHJpbmcgfCB1bmRlZmluZWQgPT5cbiAgKGNvbnRlbnQgPyBwYXJzZVN0cmluZyhjb250ZW50LCBsZW5ndGgpIDogdW5kZWZpbmVkKTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlUmVha3RvckRhdGUgPSAoZGF0ZT86IG51bWJlcik6IG51bWJlciB8IHVuZGVmaW5lZCA9PlxuICAoZGF0ZSA/IHBhcnNlTnVtKGRhdGUsIDEzKSA6IHVuZGVmaW5lZCk7XG5cbmV4cG9ydCBjb25zdCBwYXJzZVJlYWt0b3JJdGVtSWQgPSAoaXRlbUlkPzogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+XG4gIChpdGVtSWQgPyBwYXJzZUlkKGl0ZW1JZCkgOiB1bmRlZmluZWQpO1xuXG5leHBvcnQgY29uc3QgcGFyc2VSZWFrdG9yTmFtZSA9IChuYW1lPzogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+XG4gIChuYW1lID8gcGFyc2VTdHJpbmcobmFtZSwgMTYwKSA6IHVuZGVmaW5lZCk7XG5cbmV4cG9ydCBjb25zdCBwYXJzZVJlYWt0b3JUeXBlID0gKHR5cGU/OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT5cbiAgKHR5cGUgPyBwYXJzZVZhckNoYXIodHlwZSwgMTYwKSA6IHVuZGVmaW5lZCk7XG5cbmV4cG9ydCBjb25zdCBwYXJzZVJlYWt0b3JVcmwgPSAodXJsPzogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+XG4gICh1cmwgPyBwYXJzZVVybCh1cmwpIDogdW5kZWZpbmVkKTsiXSwibmFtZXMiOlsicGFyc2VJZCIsInBhcnNlTnVtIiwicGFyc2VTdHJpbmciLCJwYXJzZVVybCIsInBhcnNlVmFyQ2hhciIsIlJlYWt0b3JWYWxpZGF0aW9uRXJyb3IiLCJFcnJvciIsIm1lc3NhZ2UiLCJmaWVsZCIsIm5hbWUiLCJ2YWxpZGF0ZVJlYWt0b3JDb250ZW50IiwiY29udGVudCIsImxlbmd0aCIsInBhcnNlUmVha3RvckNvbnRlbnQiLCJlcnJvciIsInZhbGlkYXRlUmVha3RvckRhdGUiLCJkYXRlIiwicGFyc2VSZWFrdG9yRGF0ZSIsInZhbGlkYXRlUmVha3Rvckl0ZW1JZCIsIml0ZW1JZCIsInBhcnNlUmVha3Rvckl0ZW1JZCIsInZhbGlkYXRlUmVha3Rvck5hbWUiLCJwYXJzZVJlYWt0b3JOYW1lIiwidmFsaWRhdGVSZWFrdG9yVHlwZSIsInR5cGUiLCJwYXJzZVJlYWt0b3JUeXBlIiwidmFsaWRhdGVSZWFrdG9yVXJsIiwidXJsIiwicGFyc2VSZWFrdG9yVXJsIiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFRQSxPQUFPLEVBQUVDLFFBQVEsRUFBRUMsV0FBVyxFQUFFQyxRQUFRLEVBQUVDLFlBQVksUUFBTyxlQUFlO0FBRXBGLE9BQU8sTUFBTUMsK0JBQStCQzs7SUFDMUMsWUFBWUMsT0FBZSxFQUFFLEFBQU9DLEtBQWMsQ0FBRTtRQUNsRCxLQUFLLENBQUNELGVBRDRCQyxRQUFBQTtRQUVsQyxJQUFJLENBQUNDLElBQUksR0FBRztJQUNkO0FBQ0Y7QUFF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
|
|
@@ -0,0 +1,24 @@
|
|
|
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;
|
|
19
|
+
constructor(message: string, field?: string);
|
|
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;
|
|
24
|
+
//# sourceMappingURL=sessionAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessionAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/sessionAdapter/sessionAdapter.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,qBAAa,sBAAuB,SAAQ,KAAK;IACX,KAAK,CAAC,EAAE,MAAM;gBAAtC,OAAO,EAAE,MAAM,EAAS,KAAK,CAAC,EAAE,MAAM;CAInD;AAkBD,eAAO,MAAM,oBAAoB,GAAI,SAAS,OAAO,KAAG,WAWvD,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,SAAS,WAAW,KAAG,WAAsB,CAAC;AAElF,eAAO,MAAM,YAAY,GAAI,SAAS,WAAW,KAAG,WAUnD,CAAC"}
|