@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,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2019-Present, Nitrogen Labs, Inc.
|
|
3
|
+
* Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
|
|
4
|
+
*/
|
|
5
|
+
import type { MessageType } from '../adapters/messageAdapter/messageAdapter.js';
|
|
6
|
+
export declare const MESSAGE_CONSTANTS: {
|
|
7
|
+
readonly ADD_ITEM_ERROR: "MESSAGE_ADD_ITEM_ERROR";
|
|
8
|
+
readonly ADD_ITEM_SUCCESS: "MESSAGE_ADD_ITEM_SUCCESS";
|
|
9
|
+
readonly GET_CONVO_LIST_ERROR: "MESSAGE_GET_CONVO_LIST_ERROR";
|
|
10
|
+
readonly GET_CONVO_LIST_SUCCESS: "MESSAGE_GET_CONVO_LIST_SUCCESS";
|
|
11
|
+
readonly GET_ITEM_ERROR: "MESSAGE_GET_ITEM_ERROR";
|
|
12
|
+
readonly GET_ITEM_SUCCESS: "MESSAGE_GET_ITEM_SUCCESS";
|
|
13
|
+
readonly GET_LIST_ERROR: "MESSAGE_GET_LIST_ERROR";
|
|
14
|
+
readonly GET_LIST_SUCCESS: "MESSAGE_GET_LIST_SUCCESS";
|
|
15
|
+
readonly REMOVE_ITEM_ERROR: "MESSAGE_REMOVE_ITEM_ERROR";
|
|
16
|
+
readonly REMOVE_ITEM_SUCCESS: "MESSAGE_REMOVE_ITEM_SUCCESS";
|
|
17
|
+
readonly TYPING_STATUS_UPDATE: "MESSAGE_TYPING_STATUS_UPDATE";
|
|
18
|
+
readonly UPDATE_ITEM_ERROR: "MESSAGE_UPDATE_ITEM_ERROR";
|
|
19
|
+
readonly UPDATE_ITEM_SUCCESS: "MESSAGE_UPDATE_ITEM_SUCCESS";
|
|
20
|
+
};
|
|
21
|
+
export interface MessageTypingStatus {
|
|
22
|
+
readonly conversationId?: string;
|
|
23
|
+
readonly isTyping?: boolean;
|
|
24
|
+
readonly name?: string;
|
|
25
|
+
readonly personaId?: string;
|
|
26
|
+
readonly updatedAt?: number;
|
|
27
|
+
readonly userId?: string;
|
|
28
|
+
readonly username?: string;
|
|
29
|
+
}
|
|
30
|
+
export interface MessageState {
|
|
31
|
+
readonly conversations: Record<string, MessageType[]>;
|
|
32
|
+
readonly typingByConversation: Record<string, Record<string, MessageTypingStatus>>;
|
|
33
|
+
}
|
|
34
|
+
export declare const defaultValues: MessageState;
|
|
35
|
+
export declare const messageStore: (type: string, data: {
|
|
36
|
+
message?: MessageType;
|
|
37
|
+
list?: MessageType[];
|
|
38
|
+
conversationId?: string;
|
|
39
|
+
typing?: MessageTypingStatus;
|
|
40
|
+
}, state?: MessageState) => MessageState;
|
|
41
|
+
export declare const messages: {
|
|
42
|
+
action: (type: string, data: {
|
|
43
|
+
message?: MessageType;
|
|
44
|
+
list?: MessageType[];
|
|
45
|
+
conversationId?: string;
|
|
46
|
+
typing?: MessageTypingStatus;
|
|
47
|
+
}, state?: MessageState) => MessageState;
|
|
48
|
+
initialState: MessageState;
|
|
49
|
+
name: string;
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=messageStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messageStore.d.ts","sourceRoot":"","sources":["../../src/stores/messageStore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,8CAA8C,CAAC;AAE9E,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;CAcpB,CAAC;AAEX,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IACtD,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC;CACpF;AAED,eAAO,MAAM,aAAa,EAAE,YAG3B,CAAC;AAIF,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,EAAE,MAAM;IAC/C,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,mBAAmB,CAAC;CAC9B,EAAE,oBAAqB,KAAG,YA2G1B,CAAC;AAEF,eAAO,MAAM,QAAQ;mBAlHc,MAAM,QAAQ;QAC/C,OAAO,CAAC,EAAE,WAAW,CAAC;QACtB,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC;QACrB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,MAAM,CAAC,EAAE,mBAAmB,CAAC;KAC9B,2BAA0B,YAAY;;;CAiHtC,CAAC"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2019-Present, Nitrogen Labs, Inc.
|
|
3
|
+
* Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
|
|
4
|
+
*/ export const MESSAGE_CONSTANTS = {
|
|
5
|
+
ADD_ITEM_ERROR: 'MESSAGE_ADD_ITEM_ERROR',
|
|
6
|
+
ADD_ITEM_SUCCESS: 'MESSAGE_ADD_ITEM_SUCCESS',
|
|
7
|
+
GET_CONVO_LIST_ERROR: 'MESSAGE_GET_CONVO_LIST_ERROR',
|
|
8
|
+
GET_CONVO_LIST_SUCCESS: 'MESSAGE_GET_CONVO_LIST_SUCCESS',
|
|
9
|
+
GET_ITEM_ERROR: 'MESSAGE_GET_ITEM_ERROR',
|
|
10
|
+
GET_ITEM_SUCCESS: 'MESSAGE_GET_ITEM_SUCCESS',
|
|
11
|
+
GET_LIST_ERROR: 'MESSAGE_GET_LIST_ERROR',
|
|
12
|
+
GET_LIST_SUCCESS: 'MESSAGE_GET_LIST_SUCCESS',
|
|
13
|
+
REMOVE_ITEM_ERROR: 'MESSAGE_REMOVE_ITEM_ERROR',
|
|
14
|
+
REMOVE_ITEM_SUCCESS: 'MESSAGE_REMOVE_ITEM_SUCCESS',
|
|
15
|
+
TYPING_STATUS_UPDATE: 'MESSAGE_TYPING_STATUS_UPDATE',
|
|
16
|
+
UPDATE_ITEM_ERROR: 'MESSAGE_UPDATE_ITEM_ERROR',
|
|
17
|
+
UPDATE_ITEM_SUCCESS: 'MESSAGE_UPDATE_ITEM_SUCCESS'
|
|
18
|
+
};
|
|
19
|
+
export const defaultValues = {
|
|
20
|
+
conversations: {},
|
|
21
|
+
typingByConversation: {}
|
|
22
|
+
};
|
|
23
|
+
const getTypingIdentity = (typing)=>String(typing?.personaId || typing?.userId || '');
|
|
24
|
+
export const messageStore = (type, data, state = defaultValues)=>{
|
|
25
|
+
switch(type){
|
|
26
|
+
case MESSAGE_CONSTANTS.GET_CONVO_LIST_SUCCESS:
|
|
27
|
+
{
|
|
28
|
+
const { list, conversationId } = data;
|
|
29
|
+
if (!conversationId) {
|
|
30
|
+
return state;
|
|
31
|
+
}
|
|
32
|
+
const { conversations } = state;
|
|
33
|
+
return {
|
|
34
|
+
...state,
|
|
35
|
+
conversations: {
|
|
36
|
+
...conversations,
|
|
37
|
+
[conversationId]: list || []
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
case MESSAGE_CONSTANTS.GET_LIST_SUCCESS:
|
|
42
|
+
{
|
|
43
|
+
const { conversationId, list = [] } = data;
|
|
44
|
+
if (!conversationId) {
|
|
45
|
+
return state;
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
...state,
|
|
49
|
+
conversations: {
|
|
50
|
+
...state.conversations,
|
|
51
|
+
[conversationId]: list
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
case MESSAGE_CONSTANTS.ADD_ITEM_SUCCESS:
|
|
56
|
+
{
|
|
57
|
+
const { message } = data;
|
|
58
|
+
const conversationId = String(message?.conversationId || '');
|
|
59
|
+
if (!conversationId || !message) {
|
|
60
|
+
return state;
|
|
61
|
+
}
|
|
62
|
+
const existingMessages = state.conversations?.[conversationId] || [];
|
|
63
|
+
const nextMessageId = String(message.messageId || message.id || message._key || '');
|
|
64
|
+
const hasExistingMessage = existingMessages.some((item)=>String(item.messageId || item.id || item._key || '') === nextMessageId);
|
|
65
|
+
if (hasExistingMessage && nextMessageId) {
|
|
66
|
+
return state;
|
|
67
|
+
}
|
|
68
|
+
return {
|
|
69
|
+
...state,
|
|
70
|
+
conversations: {
|
|
71
|
+
...state.conversations,
|
|
72
|
+
[conversationId]: [
|
|
73
|
+
...existingMessages,
|
|
74
|
+
message
|
|
75
|
+
]
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
case MESSAGE_CONSTANTS.TYPING_STATUS_UPDATE:
|
|
80
|
+
{
|
|
81
|
+
const typing = data?.typing || {};
|
|
82
|
+
const conversationId = String(typing?.conversationId || '');
|
|
83
|
+
const typingId = getTypingIdentity(typing);
|
|
84
|
+
if (!conversationId || !typingId) {
|
|
85
|
+
return state;
|
|
86
|
+
}
|
|
87
|
+
const currentConversationTyping = {
|
|
88
|
+
...state.typingByConversation?.[conversationId] || {}
|
|
89
|
+
};
|
|
90
|
+
if (!typing?.isTyping) {
|
|
91
|
+
delete currentConversationTyping[typingId];
|
|
92
|
+
if (!Object.keys(currentConversationTyping).length) {
|
|
93
|
+
const { [conversationId]: removed, ...restTypingByConversation } = state.typingByConversation || {};
|
|
94
|
+
return {
|
|
95
|
+
...state,
|
|
96
|
+
typingByConversation: restTypingByConversation
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
return {
|
|
100
|
+
...state,
|
|
101
|
+
typingByConversation: {
|
|
102
|
+
...state.typingByConversation,
|
|
103
|
+
[conversationId]: currentConversationTyping
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
return {
|
|
108
|
+
...state,
|
|
109
|
+
typingByConversation: {
|
|
110
|
+
...state.typingByConversation,
|
|
111
|
+
[conversationId]: {
|
|
112
|
+
...currentConversationTyping,
|
|
113
|
+
[typingId]: {
|
|
114
|
+
...typing,
|
|
115
|
+
conversationId,
|
|
116
|
+
isTyping: true,
|
|
117
|
+
personaId: String(typing?.personaId || ''),
|
|
118
|
+
updatedAt: Number(typing?.updatedAt || Date.now()),
|
|
119
|
+
userId: String(typing?.userId || '')
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
default:
|
|
126
|
+
{
|
|
127
|
+
return state;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
export const messages = {
|
|
132
|
+
action: messageStore,
|
|
133
|
+
initialState: defaultValues,
|
|
134
|
+
name: 'message'
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvc3RvcmVzL21lc3NhZ2VTdG9yZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHR5cGUge01lc3NhZ2VUeXBlfSBmcm9tICcuLi9hZGFwdGVycy9tZXNzYWdlQWRhcHRlci9tZXNzYWdlQWRhcHRlci5qcyc7XG5cbmV4cG9ydCBjb25zdCBNRVNTQUdFX0NPTlNUQU5UUyA9IHtcbiAgQUREX0lURU1fRVJST1I6ICdNRVNTQUdFX0FERF9JVEVNX0VSUk9SJyxcbiAgQUREX0lURU1fU1VDQ0VTUzogJ01FU1NBR0VfQUREX0lURU1fU1VDQ0VTUycsXG4gIEdFVF9DT05WT19MSVNUX0VSUk9SOiAnTUVTU0FHRV9HRVRfQ09OVk9fTElTVF9FUlJPUicsXG4gIEdFVF9DT05WT19MSVNUX1NVQ0NFU1M6ICdNRVNTQUdFX0dFVF9DT05WT19MSVNUX1NVQ0NFU1MnLFxuICBHRVRfSVRFTV9FUlJPUjogJ01FU1NBR0VfR0VUX0lURU1fRVJST1InLFxuICBHRVRfSVRFTV9TVUNDRVNTOiAnTUVTU0FHRV9HRVRfSVRFTV9TVUNDRVNTJyxcbiAgR0VUX0xJU1RfRVJST1I6ICdNRVNTQUdFX0dFVF9MSVNUX0VSUk9SJyxcbiAgR0VUX0xJU1RfU1VDQ0VTUzogJ01FU1NBR0VfR0VUX0xJU1RfU1VDQ0VTUycsXG4gIFJFTU9WRV9JVEVNX0VSUk9SOiAnTUVTU0FHRV9SRU1PVkVfSVRFTV9FUlJPUicsXG4gIFJFTU9WRV9JVEVNX1NVQ0NFU1M6ICdNRVNTQUdFX1JFTU9WRV9JVEVNX1NVQ0NFU1MnLFxuICBUWVBJTkdfU1RBVFVTX1VQREFURTogJ01FU1NBR0VfVFlQSU5HX1NUQVRVU19VUERBVEUnLFxuICBVUERBVEVfSVRFTV9FUlJPUjogJ01FU1NBR0VfVVBEQVRFX0lURU1fRVJST1InLFxuICBVUERBVEVfSVRFTV9TVUNDRVNTOiAnTUVTU0FHRV9VUERBVEVfSVRFTV9TVUNDRVNTJ1xufSBhcyBjb25zdDtcblxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlVHlwaW5nU3RhdHVzIHtcbiAgcmVhZG9ubHkgY29udmVyc2F0aW9uSWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGlzVHlwaW5nPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgcGVyc29uYUlkPzogc3RyaW5nO1xuICByZWFkb25seSB1cGRhdGVkQXQ/OiBudW1iZXI7XG4gIHJlYWRvbmx5IHVzZXJJZD86IHN0cmluZztcbiAgcmVhZG9ubHkgdXNlcm5hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZVN0YXRlIHtcbiAgcmVhZG9ubHkgY29udmVyc2F0aW9uczogUmVjb3JkPHN0cmluZywgTWVzc2FnZVR5cGVbXT47XG4gIHJlYWRvbmx5IHR5cGluZ0J5Q29udmVyc2F0aW9uOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBNZXNzYWdlVHlwaW5nU3RhdHVzPj47XG59XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0VmFsdWVzOiBNZXNzYWdlU3RhdGUgPSB7XG4gIGNvbnZlcnNhdGlvbnM6IHt9LFxuICB0eXBpbmdCeUNvbnZlcnNhdGlvbjoge31cbn07XG5cbmNvbnN0IGdldFR5cGluZ0lkZW50aXR5ID0gKHR5cGluZz86IE1lc3NhZ2VUeXBpbmdTdGF0dXMpOiBzdHJpbmcgPT4gU3RyaW5nKHR5cGluZz8ucGVyc29uYUlkIHx8IHR5cGluZz8udXNlcklkIHx8ICcnKTtcblxuZXhwb3J0IGNvbnN0IG1lc3NhZ2VTdG9yZSA9ICh0eXBlOiBzdHJpbmcsIGRhdGE6IHtcbiAgbWVzc2FnZT86IE1lc3NhZ2VUeXBlO1xuICBsaXN0PzogTWVzc2FnZVR5cGVbXTtcbiAgY29udmVyc2F0aW9uSWQ/OiBzdHJpbmc7XG4gIHR5cGluZz86IE1lc3NhZ2VUeXBpbmdTdGF0dXM7XG59LCBzdGF0ZSA9IGRlZmF1bHRWYWx1ZXMpOiBNZXNzYWdlU3RhdGUgPT4ge1xuICBzd2l0Y2godHlwZSkge1xuICAgIGNhc2UgTUVTU0FHRV9DT05TVEFOVFMuR0VUX0NPTlZPX0xJU1RfU1VDQ0VTUzoge1xuICAgICAgY29uc3Qge2xpc3QsIGNvbnZlcnNhdGlvbklkfSA9IGRhdGE7XG5cbiAgICAgIGlmKCFjb252ZXJzYXRpb25JZCkge1xuICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHtjb252ZXJzYXRpb25zfSA9IHN0YXRlO1xuICAgICAgcmV0dXJuIHsuLi5zdGF0ZSwgY29udmVyc2F0aW9uczogey4uLmNvbnZlcnNhdGlvbnMsIFtjb252ZXJzYXRpb25JZF06IGxpc3QgfHwgW119fTtcbiAgICB9XG4gICAgY2FzZSBNRVNTQUdFX0NPTlNUQU5UUy5HRVRfTElTVF9TVUNDRVNTOiB7XG4gICAgICBjb25zdCB7Y29udmVyc2F0aW9uSWQsIGxpc3QgPSBbXX0gPSBkYXRhO1xuXG4gICAgICBpZighY29udmVyc2F0aW9uSWQpIHtcbiAgICAgICAgcmV0dXJuIHN0YXRlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgY29udmVyc2F0aW9uczoge1xuICAgICAgICAgIC4uLnN0YXRlLmNvbnZlcnNhdGlvbnMsXG4gICAgICAgICAgW2NvbnZlcnNhdGlvbklkXTogbGlzdFxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cbiAgICBjYXNlIE1FU1NBR0VfQ09OU1RBTlRTLkFERF9JVEVNX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IHttZXNzYWdlfSA9IGRhdGE7XG4gICAgICBjb25zdCBjb252ZXJzYXRpb25JZCA9IFN0cmluZyhtZXNzYWdlPy5jb252ZXJzYXRpb25JZCB8fCAnJyk7XG5cbiAgICAgIGlmKCFjb252ZXJzYXRpb25JZCB8fCAhbWVzc2FnZSkge1xuICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGV4aXN0aW5nTWVzc2FnZXMgPSBzdGF0ZS5jb252ZXJzYXRpb25zPy5bY29udmVyc2F0aW9uSWRdIHx8IFtdO1xuICAgICAgY29uc3QgbmV4dE1lc3NhZ2VJZCA9IFN0cmluZyhtZXNzYWdlLm1lc3NhZ2VJZCB8fCBtZXNzYWdlLmlkIHx8IG1lc3NhZ2UuX2tleSB8fCAnJyk7XG4gICAgICBjb25zdCBoYXNFeGlzdGluZ01lc3NhZ2UgPSBleGlzdGluZ01lc3NhZ2VzLnNvbWUoKGl0ZW0pID0+IChcbiAgICAgICAgU3RyaW5nKGl0ZW0ubWVzc2FnZUlkIHx8IGl0ZW0uaWQgfHwgaXRlbS5fa2V5IHx8ICcnKSA9PT0gbmV4dE1lc3NhZ2VJZFxuICAgICAgKSk7XG5cbiAgICAgIGlmKGhhc0V4aXN0aW5nTWVzc2FnZSAmJiBuZXh0TWVzc2FnZUlkKSB7XG4gICAgICAgIHJldHVybiBzdGF0ZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGNvbnZlcnNhdGlvbnM6IHtcbiAgICAgICAgICAuLi5zdGF0ZS5jb252ZXJzYXRpb25zLFxuICAgICAgICAgIFtjb252ZXJzYXRpb25JZF06IFsuLi5leGlzdGluZ01lc3NhZ2VzLCBtZXNzYWdlXVxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cbiAgICBjYXNlIE1FU1NBR0VfQ09OU1RBTlRTLlRZUElOR19TVEFUVVNfVVBEQVRFOiB7XG4gICAgICBjb25zdCB0eXBpbmcgPSBkYXRhPy50eXBpbmcgfHwge307XG4gICAgICBjb25zdCBjb252ZXJzYXRpb25JZCA9IFN0cmluZyh0eXBpbmc/LmNvbnZlcnNhdGlvbklkIHx8ICcnKTtcbiAgICAgIGNvbnN0IHR5cGluZ0lkID0gZ2V0VHlwaW5nSWRlbnRpdHkodHlwaW5nKTtcblxuICAgICAgaWYoIWNvbnZlcnNhdGlvbklkIHx8ICF0eXBpbmdJZCkge1xuICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGN1cnJlbnRDb252ZXJzYXRpb25UeXBpbmcgPSB7Li4uKHN0YXRlLnR5cGluZ0J5Q29udmVyc2F0aW9uPy5bY29udmVyc2F0aW9uSWRdIHx8IHt9KX07XG5cbiAgICAgIGlmKCF0eXBpbmc/LmlzVHlwaW5nKSB7XG4gICAgICAgIGRlbGV0ZSBjdXJyZW50Q29udmVyc2F0aW9uVHlwaW5nW3R5cGluZ0lkXTtcblxuICAgICAgICBpZighT2JqZWN0LmtleXMoY3VycmVudENvbnZlcnNhdGlvblR5cGluZykubGVuZ3RoKSB7XG4gICAgICAgICAgY29uc3Qge1tjb252ZXJzYXRpb25JZF06IHJlbW92ZWQsIC4uLnJlc3RUeXBpbmdCeUNvbnZlcnNhdGlvbn0gPSBzdGF0ZS50eXBpbmdCeUNvbnZlcnNhdGlvbiB8fCB7fTtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICB0eXBpbmdCeUNvbnZlcnNhdGlvbjogcmVzdFR5cGluZ0J5Q29udmVyc2F0aW9uXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgdHlwaW5nQnlDb252ZXJzYXRpb246IHtcbiAgICAgICAgICAgIC4uLnN0YXRlLnR5cGluZ0J5Q29udmVyc2F0aW9uLFxuICAgICAgICAgICAgW2NvbnZlcnNhdGlvbklkXTogY3VycmVudENvbnZlcnNhdGlvblR5cGluZ1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIHR5cGluZ0J5Q29udmVyc2F0aW9uOiB7XG4gICAgICAgICAgLi4uc3RhdGUudHlwaW5nQnlDb252ZXJzYXRpb24sXG4gICAgICAgICAgW2NvbnZlcnNhdGlvbklkXToge1xuICAgICAgICAgICAgLi4uY3VycmVudENvbnZlcnNhdGlvblR5cGluZyxcbiAgICAgICAgICAgIFt0eXBpbmdJZF06IHtcbiAgICAgICAgICAgICAgLi4udHlwaW5nLFxuICAgICAgICAgICAgICBjb252ZXJzYXRpb25JZCxcbiAgICAgICAgICAgICAgaXNUeXBpbmc6IHRydWUsXG4gICAgICAgICAgICAgIHBlcnNvbmFJZDogU3RyaW5nKHR5cGluZz8ucGVyc29uYUlkIHx8ICcnKSxcbiAgICAgICAgICAgICAgdXBkYXRlZEF0OiBOdW1iZXIodHlwaW5nPy51cGRhdGVkQXQgfHwgRGF0ZS5ub3coKSksXG4gICAgICAgICAgICAgIHVzZXJJZDogU3RyaW5nKHR5cGluZz8udXNlcklkIHx8ICcnKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBkZWZhdWx0OiB7XG4gICAgICByZXR1cm4gc3RhdGU7XG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgY29uc3QgbWVzc2FnZXMgPSB7XG4gIGFjdGlvbjogbWVzc2FnZVN0b3JlLFxuICBpbml0aWFsU3RhdGU6IGRlZmF1bHRWYWx1ZXMsXG4gIG5hbWU6ICdtZXNzYWdlJ1xufTtcbiJdLCJuYW1lcyI6WyJNRVNTQUdFX0NPTlNUQU5UUyIsIkFERF9JVEVNX0VSUk9SIiwiQUREX0lURU1fU1VDQ0VTUyIsIkdFVF9DT05WT19MSVNUX0VSUk9SIiwiR0VUX0NPTlZPX0xJU1RfU1VDQ0VTUyIsIkdFVF9JVEVNX0VSUk9SIiwiR0VUX0lURU1fU1VDQ0VTUyIsIkdFVF9MSVNUX0VSUk9SIiwiR0VUX0xJU1RfU1VDQ0VTUyIsIlJFTU9WRV9JVEVNX0VSUk9SIiwiUkVNT1ZFX0lURU1fU1VDQ0VTUyIsIlRZUElOR19TVEFUVVNfVVBEQVRFIiwiVVBEQVRFX0lURU1fRVJST1IiLCJVUERBVEVfSVRFTV9TVUNDRVNTIiwiZGVmYXVsdFZhbHVlcyIsImNvbnZlcnNhdGlvbnMiLCJ0eXBpbmdCeUNvbnZlcnNhdGlvbiIsImdldFR5cGluZ0lkZW50aXR5IiwidHlwaW5nIiwiU3RyaW5nIiwicGVyc29uYUlkIiwidXNlcklkIiwibWVzc2FnZVN0b3JlIiwidHlwZSIsImRhdGEiLCJzdGF0ZSIsImxpc3QiLCJjb252ZXJzYXRpb25JZCIsIm1lc3NhZ2UiLCJleGlzdGluZ01lc3NhZ2VzIiwibmV4dE1lc3NhZ2VJZCIsIm1lc3NhZ2VJZCIsImlkIiwiX2tleSIsImhhc0V4aXN0aW5nTWVzc2FnZSIsInNvbWUiLCJpdGVtIiwidHlwaW5nSWQiLCJjdXJyZW50Q29udmVyc2F0aW9uVHlwaW5nIiwiaXNUeXBpbmciLCJPYmplY3QiLCJrZXlzIiwibGVuZ3RoIiwicmVtb3ZlZCIsInJlc3RUeXBpbmdCeUNvbnZlcnNhdGlvbiIsInVwZGF0ZWRBdCIsIk51bWJlciIsIkRhdGUiLCJub3ciLCJtZXNzYWdlcyIsImFjdGlvbiIsImluaXRpYWxTdGF0ZSIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUdELE9BQU8sTUFBTUEsb0JBQW9CO0lBQy9CQyxnQkFBZ0I7SUFDaEJDLGtCQUFrQjtJQUNsQkMsc0JBQXNCO0lBQ3RCQyx3QkFBd0I7SUFDeEJDLGdCQUFnQjtJQUNoQkMsa0JBQWtCO0lBQ2xCQyxnQkFBZ0I7SUFDaEJDLGtCQUFrQjtJQUNsQkMsbUJBQW1CO0lBQ25CQyxxQkFBcUI7SUFDckJDLHNCQUFzQjtJQUN0QkMsbUJBQW1CO0lBQ25CQyxxQkFBcUI7QUFDdkIsRUFBVztBQWlCWCxPQUFPLE1BQU1DLGdCQUE4QjtJQUN6Q0MsZUFBZSxDQUFDO0lBQ2hCQyxzQkFBc0IsQ0FBQztBQUN6QixFQUFFO0FBRUYsTUFBTUMsb0JBQW9CLENBQUNDLFNBQXlDQyxPQUFPRCxRQUFRRSxhQUFhRixRQUFRRyxVQUFVO0FBRWxILE9BQU8sTUFBTUMsZUFBZSxDQUFDQyxNQUFjQyxNQUt4Q0MsUUFBUVgsYUFBYTtJQUN0QixPQUFPUztRQUNM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
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2019-Present, Nitrogen Labs, Inc.
|
|
3
|
+
* Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
|
|
4
|
+
*/
|
|
5
|
+
export declare const NOTIFICATION_CONSTANTS: {
|
|
6
|
+
readonly ADD_ITEM_SUCCESS: "NOTIFICATION_ADD_ITEM_SUCCESS";
|
|
7
|
+
readonly CLEAR_ITEMS: "NOTIFICATION_CLEAR_ITEMS";
|
|
8
|
+
};
|
|
9
|
+
export type NotificationType = Record<string, unknown> & {
|
|
10
|
+
readonly added?: number;
|
|
11
|
+
readonly content?: string;
|
|
12
|
+
readonly from?: string;
|
|
13
|
+
readonly modified?: number;
|
|
14
|
+
readonly notificationId?: string;
|
|
15
|
+
readonly read?: boolean;
|
|
16
|
+
readonly to?: string;
|
|
17
|
+
readonly type?: string;
|
|
18
|
+
};
|
|
19
|
+
export interface NotificationState {
|
|
20
|
+
readonly list: NotificationType[];
|
|
21
|
+
}
|
|
22
|
+
export declare const defaultValues: NotificationState;
|
|
23
|
+
export declare const notificationStore: (type: string, data: {
|
|
24
|
+
notification?: NotificationType;
|
|
25
|
+
}, state?: NotificationState) => NotificationState;
|
|
26
|
+
export declare const notifications: {
|
|
27
|
+
action: (type: string, data: {
|
|
28
|
+
notification?: NotificationType;
|
|
29
|
+
}, state?: NotificationState) => NotificationState;
|
|
30
|
+
initialState: NotificationState;
|
|
31
|
+
name: string;
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=notificationStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notificationStore.d.ts","sourceRoot":"","sources":["../../src/stores/notificationStore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,sBAAsB;;;CAGzB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IACvD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,EAAE,CAAC;CACnC;AAED,eAAO,MAAM,aAAa,EAAE,iBAE3B,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,MAAM,MAAM,EACZ,MAAM;IACJ,YAAY,CAAC,EAAE,gBAAgB,CAAC;CACjC,EACD,yBAAqB,KACpB,iBA6BF,CAAC;AAEF,eAAO,MAAM,aAAa;mBApClB,MAAM,QACN;QACJ,YAAY,CAAC,EAAE,gBAAgB,CAAC;KACjC,gCAEA,iBAAiB;;;CAmCnB,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2019-Present, Nitrogen Labs, Inc.
|
|
3
|
+
* Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
|
|
4
|
+
*/ export const NOTIFICATION_CONSTANTS = {
|
|
5
|
+
ADD_ITEM_SUCCESS: 'NOTIFICATION_ADD_ITEM_SUCCESS',
|
|
6
|
+
CLEAR_ITEMS: 'NOTIFICATION_CLEAR_ITEMS'
|
|
7
|
+
};
|
|
8
|
+
export const defaultValues = {
|
|
9
|
+
list: []
|
|
10
|
+
};
|
|
11
|
+
export const notificationStore = (type, data, state = defaultValues)=>{
|
|
12
|
+
switch(type){
|
|
13
|
+
case NOTIFICATION_CONSTANTS.ADD_ITEM_SUCCESS:
|
|
14
|
+
{
|
|
15
|
+
const notification = data?.notification || {};
|
|
16
|
+
const notificationId = String(notification?.notificationId || '');
|
|
17
|
+
if (!Object.keys(notification).length) {
|
|
18
|
+
return state;
|
|
19
|
+
}
|
|
20
|
+
if (notificationId) {
|
|
21
|
+
const nextList = state.list.some((item)=>String(item?.notificationId || '') === notificationId) ? state.list.map((item)=>String(item?.notificationId || '') === notificationId ? {
|
|
22
|
+
...item,
|
|
23
|
+
...notification
|
|
24
|
+
} : item) : [
|
|
25
|
+
notification,
|
|
26
|
+
...state.list
|
|
27
|
+
];
|
|
28
|
+
return {
|
|
29
|
+
list: nextList
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
list: [
|
|
34
|
+
notification,
|
|
35
|
+
...state.list
|
|
36
|
+
]
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
case NOTIFICATION_CONSTANTS.CLEAR_ITEMS:
|
|
40
|
+
{
|
|
41
|
+
return defaultValues;
|
|
42
|
+
}
|
|
43
|
+
default:
|
|
44
|
+
{
|
|
45
|
+
return state;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
export const notifications = {
|
|
50
|
+
action: notificationStore,
|
|
51
|
+
initialState: defaultValues,
|
|
52
|
+
name: 'notification'
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvc3RvcmVzL25vdGlmaWNhdGlvblN0b3JlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5cbmV4cG9ydCBjb25zdCBOT1RJRklDQVRJT05fQ09OU1RBTlRTID0ge1xuICBBRERfSVRFTV9TVUNDRVNTOiAnTk9USUZJQ0FUSU9OX0FERF9JVEVNX1NVQ0NFU1MnLFxuICBDTEVBUl9JVEVNUzogJ05PVElGSUNBVElPTl9DTEVBUl9JVEVNUydcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIE5vdGlmaWNhdGlvblR5cGUgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiAmIHtcbiAgcmVhZG9ubHkgYWRkZWQ/OiBudW1iZXI7XG4gIHJlYWRvbmx5IGNvbnRlbnQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGZyb20/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1vZGlmaWVkPzogbnVtYmVyO1xuICByZWFkb25seSBub3RpZmljYXRpb25JZD86IHN0cmluZztcbiAgcmVhZG9ubHkgcmVhZD86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHRvPzogc3RyaW5nO1xuICByZWFkb25seSB0eXBlPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb25TdGF0ZSB7XG4gIHJlYWRvbmx5IGxpc3Q6IE5vdGlmaWNhdGlvblR5cGVbXTtcbn1cblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRWYWx1ZXM6IE5vdGlmaWNhdGlvblN0YXRlID0ge1xuICBsaXN0OiBbXVxufTtcblxuZXhwb3J0IGNvbnN0IG5vdGlmaWNhdGlvblN0b3JlID0gKFxuICB0eXBlOiBzdHJpbmcsXG4gIGRhdGE6IHtcbiAgICBub3RpZmljYXRpb24/OiBOb3RpZmljYXRpb25UeXBlO1xuICB9LFxuICBzdGF0ZSA9IGRlZmF1bHRWYWx1ZXNcbik6IE5vdGlmaWNhdGlvblN0YXRlID0+IHtcbiAgc3dpdGNoKHR5cGUpIHtcbiAgICBjYXNlIE5PVElGSUNBVElPTl9DT05TVEFOVFMuQUREX0lURU1fU1VDQ0VTUzoge1xuICAgICAgY29uc3Qgbm90aWZpY2F0aW9uID0gZGF0YT8ubm90aWZpY2F0aW9uIHx8IHt9O1xuICAgICAgY29uc3Qgbm90aWZpY2F0aW9uSWQgPSBTdHJpbmcobm90aWZpY2F0aW9uPy5ub3RpZmljYXRpb25JZCB8fCAnJyk7XG5cbiAgICAgIGlmKCFPYmplY3Qua2V5cyhub3RpZmljYXRpb24pLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgICB9XG5cbiAgICAgIGlmKG5vdGlmaWNhdGlvbklkKSB7XG4gICAgICAgIGNvbnN0IG5leHRMaXN0ID0gc3RhdGUubGlzdC5zb21lKChpdGVtKSA9PiBTdHJpbmcoaXRlbT8ubm90aWZpY2F0aW9uSWQgfHwgJycpID09PSBub3RpZmljYXRpb25JZClcbiAgICAgICAgICA/IHN0YXRlLmxpc3QubWFwKChpdGVtKSA9PiAoU3RyaW5nKGl0ZW0/Lm5vdGlmaWNhdGlvbklkIHx8ICcnKSA9PT0gbm90aWZpY2F0aW9uSWQgPyB7Li4uaXRlbSwgLi4ubm90aWZpY2F0aW9ufSA6IGl0ZW0pKVxuICAgICAgICAgIDogW25vdGlmaWNhdGlvbiwgLi4uc3RhdGUubGlzdF07XG5cbiAgICAgICAgcmV0dXJuIHtsaXN0OiBuZXh0TGlzdH07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7bGlzdDogW25vdGlmaWNhdGlvbiwgLi4uc3RhdGUubGlzdF19O1xuICAgIH1cblxuICAgIGNhc2UgTk9USUZJQ0FUSU9OX0NPTlNUQU5UUy5DTEVBUl9JVEVNUzoge1xuICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZXM7XG4gICAgfVxuXG4gICAgZGVmYXVsdDoge1xuICAgICAgcmV0dXJuIHN0YXRlO1xuICAgIH1cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IG5vdGlmaWNhdGlvbnMgPSB7XG4gIGFjdGlvbjogbm90aWZpY2F0aW9uU3RvcmUsXG4gIGluaXRpYWxTdGF0ZTogZGVmYXVsdFZhbHVlcyxcbiAgbmFtZTogJ25vdGlmaWNhdGlvbidcbn07XG4iXSwibmFtZXMiOlsiTk9USUZJQ0FUSU9OX0NPTlNUQU5UUyIsIkFERF9JVEVNX1NVQ0NFU1MiLCJDTEVBUl9JVEVNUyIsImRlZmF1bHRWYWx1ZXMiLCJsaXN0Iiwibm90aWZpY2F0aW9uU3RvcmUiLCJ0eXBlIiwiZGF0YSIsInN0YXRlIiwibm90aWZpY2F0aW9uIiwibm90aWZpY2F0aW9uSWQiLCJTdHJpbmciLCJPYmplY3QiLCJrZXlzIiwibGVuZ3RoIiwibmV4dExpc3QiLCJzb21lIiwiaXRlbSIsIm1hcCIsIm5vdGlmaWNhdGlvbnMiLCJhY3Rpb24iLCJpbml0aWFsU3RhdGUiLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0FFRCxPQUFPLE1BQU1BLHlCQUF5QjtJQUNwQ0Msa0JBQWtCO0lBQ2xCQyxhQUFhO0FBQ2YsRUFBVztBQWlCWCxPQUFPLE1BQU1DLGdCQUFtQztJQUM5Q0MsTUFBTSxFQUFFO0FBQ1YsRUFBRTtBQUVGLE9BQU8sTUFBTUMsb0JBQW9CLENBQy9CQyxNQUNBQyxNQUdBQyxRQUFRTCxhQUFhO0lBRXJCLE9BQU9HO1FBQ0wsS0FBS04sdUJBQXVCQyxnQkFBZ0I7WUFBRTtnQkFDNUMsTUFBTVEsZUFBZUYsTUFBTUUsZ0JBQWdCLENBQUM7Z0JBQzVDLE1BQU1DLGlCQUFpQkMsT0FBT0YsY0FBY0Msa0JBQWtCO2dCQUU5RCxJQUFHLENBQUNFLE9BQU9DLElBQUksQ0FBQ0osY0FBY0ssTUFBTSxFQUFFO29CQUNwQyxPQUFPTjtnQkFDVDtnQkFFQSxJQUFHRSxnQkFBZ0I7b0JBQ2pCLE1BQU1LLFdBQVdQLE1BQU1KLElBQUksQ0FBQ1ksSUFBSSxDQUFDLENBQUNDLE9BQVNOLE9BQU9NLE1BQU1QLGtCQUFrQixRQUFRQSxrQkFDOUVGLE1BQU1KLElBQUksQ0FBQ2MsR0FBRyxDQUFDLENBQUNELE9BQVVOLE9BQU9NLE1BQU1QLGtCQUFrQixRQUFRQSxpQkFBaUI7NEJBQUMsR0FBR08sSUFBSTs0QkFBRSxHQUFHUixZQUFZO3dCQUFBLElBQUlRLFFBQy9HO3dCQUFDUjsyQkFBaUJELE1BQU1KLElBQUk7cUJBQUM7b0JBRWpDLE9BQU87d0JBQUNBLE1BQU1XO29CQUFRO2dCQUN4QjtnQkFFQSxPQUFPO29CQUFDWCxNQUFNO3dCQUFDSzsyQkFBaUJELE1BQU1KLElBQUk7cUJBQUM7Z0JBQUE7WUFDN0M7UUFFQSxLQUFLSix1QkFBdUJFLFdBQVc7WUFBRTtnQkFDdkMsT0FBT0M7WUFDVDtRQUVBO1lBQVM7Z0JBQ1AsT0FBT0s7WUFDVDtJQUNGO0FBQ0YsRUFBRTtBQUVGLE9BQU8sTUFBTVcsZ0JBQWdCO0lBQzNCQyxRQUFRZjtJQUNSZ0IsY0FBY2xCO0lBQ2RtQixNQUFNO0FBQ1IsRUFBRSJ9
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { Permission } from '../adapters/permissionAdapter/permissionAdapter.js';
|
|
2
|
+
export declare const PERMISSION_CONSTANTS: {
|
|
3
|
+
readonly ADD_ITEM_ERROR: "PERMISSION_ADD_ITEM_ERROR";
|
|
4
|
+
readonly ADD_ITEM_SUCCESS: "PERMISSION_ADD_ITEM_SUCCESS";
|
|
5
|
+
readonly CHECK_PERMISSION_ERROR: "PERMISSION_CHECK_PERMISSION_ERROR";
|
|
6
|
+
readonly CHECK_PERMISSION_SUCCESS: "PERMISSION_CHECK_PERMISSION_SUCCESS";
|
|
7
|
+
readonly GET_ITEM_ERROR: "PERMISSION_GET_ITEM_ERROR";
|
|
8
|
+
readonly GET_ITEM_SUCCESS: "PERMISSION_GET_ITEM_SUCCESS";
|
|
9
|
+
readonly GET_LIST_ERROR: "PERMISSION_GET_LIST_ERROR";
|
|
10
|
+
readonly GET_LIST_SUCCESS: "PERMISSION_GET_LIST_SUCCESS";
|
|
11
|
+
readonly REMOVE_ITEM_ERROR: "PERMISSION_REMOVE_ITEM_ERROR";
|
|
12
|
+
readonly REMOVE_ITEM_SUCCESS: "PERMISSION_REMOVE_ITEM_SUCCESS";
|
|
13
|
+
readonly UPDATE_ITEM_ERROR: "PERMISSION_UPDATE_ITEM_ERROR";
|
|
14
|
+
readonly UPDATE_ITEM_SUCCESS: "PERMISSION_UPDATE_ITEM_SUCCESS";
|
|
15
|
+
};
|
|
16
|
+
export type PermissionConstantsType = typeof PERMISSION_CONSTANTS[keyof typeof PERMISSION_CONSTANTS];
|
|
17
|
+
interface PermissionState {
|
|
18
|
+
error?: Error;
|
|
19
|
+
lists: Record<string, unknown>;
|
|
20
|
+
permissions: Record<string, Partial<Permission>>;
|
|
21
|
+
userPermissions: Record<string, Permission[]>;
|
|
22
|
+
}
|
|
23
|
+
export declare const defaultValues: PermissionState;
|
|
24
|
+
interface PermissionData {
|
|
25
|
+
readonly error?: Error;
|
|
26
|
+
readonly list?: Permission[];
|
|
27
|
+
readonly permission?: Permission;
|
|
28
|
+
readonly userId?: string;
|
|
29
|
+
}
|
|
30
|
+
export declare const permissionStore: (type: string, data: PermissionData, state?: PermissionState) => PermissionState;
|
|
31
|
+
export declare const permissions: {
|
|
32
|
+
action: (type: string, data: PermissionData, state?: PermissionState) => PermissionState;
|
|
33
|
+
initialState: PermissionState;
|
|
34
|
+
name: string;
|
|
35
|
+
};
|
|
36
|
+
export {};
|
|
37
|
+
//# sourceMappingURL=permissionStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissionStore.d.ts","sourceRoot":"","sources":["../../src/stores/permissionStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,oDAAoD,CAAC;AAEnF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;CAavB,CAAC;AAEX,MAAM,MAAM,uBAAuB,GAAG,OAAO,oBAAoB,CAAC,MAAM,OAAO,oBAAoB,CAAC,CAAC;AAErG,UAAU,eAAe;IACvB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IACjD,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;CAC/C;AAED,eAAO,MAAM,aAAa,EAAE,eAI3B,CAAC;AAEF,UAAU,cAAc;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,eAAe,GAC1B,MAAM,MAAM,EACZ,MAAM,cAAc,EACpB,uBAAqB,KACpB,eAoGF,CAAC;AAEF,eAAO,MAAM,WAAW;mBAzGhB,MAAM,QACN,cAAc,8BAEnB,eAAe;;;CA0GjB,CAAC"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
export const PERMISSION_CONSTANTS = {
|
|
2
|
+
ADD_ITEM_ERROR: 'PERMISSION_ADD_ITEM_ERROR',
|
|
3
|
+
ADD_ITEM_SUCCESS: 'PERMISSION_ADD_ITEM_SUCCESS',
|
|
4
|
+
CHECK_PERMISSION_ERROR: 'PERMISSION_CHECK_PERMISSION_ERROR',
|
|
5
|
+
CHECK_PERMISSION_SUCCESS: 'PERMISSION_CHECK_PERMISSION_SUCCESS',
|
|
6
|
+
GET_ITEM_ERROR: 'PERMISSION_GET_ITEM_ERROR',
|
|
7
|
+
GET_ITEM_SUCCESS: 'PERMISSION_GET_ITEM_SUCCESS',
|
|
8
|
+
GET_LIST_ERROR: 'PERMISSION_GET_LIST_ERROR',
|
|
9
|
+
GET_LIST_SUCCESS: 'PERMISSION_GET_LIST_SUCCESS',
|
|
10
|
+
REMOVE_ITEM_ERROR: 'PERMISSION_REMOVE_ITEM_ERROR',
|
|
11
|
+
REMOVE_ITEM_SUCCESS: 'PERMISSION_REMOVE_ITEM_SUCCESS',
|
|
12
|
+
UPDATE_ITEM_ERROR: 'PERMISSION_UPDATE_ITEM_ERROR',
|
|
13
|
+
UPDATE_ITEM_SUCCESS: 'PERMISSION_UPDATE_ITEM_SUCCESS'
|
|
14
|
+
};
|
|
15
|
+
export const defaultValues = {
|
|
16
|
+
lists: {},
|
|
17
|
+
permissions: {},
|
|
18
|
+
userPermissions: {}
|
|
19
|
+
};
|
|
20
|
+
export const permissionStore = (type, data, state = defaultValues)=>{
|
|
21
|
+
switch(type){
|
|
22
|
+
case PERMISSION_CONSTANTS.ADD_ITEM_SUCCESS:
|
|
23
|
+
{
|
|
24
|
+
const { permission } = data;
|
|
25
|
+
if (!permission?.id) {
|
|
26
|
+
return state;
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
...state,
|
|
30
|
+
permissions: {
|
|
31
|
+
...state.permissions,
|
|
32
|
+
[permission.id]: permission
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
case PERMISSION_CONSTANTS.GET_ITEM_SUCCESS:
|
|
37
|
+
{
|
|
38
|
+
const { permission } = data;
|
|
39
|
+
if (!permission?.id) {
|
|
40
|
+
return state;
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
...state,
|
|
44
|
+
permissions: {
|
|
45
|
+
...state.permissions,
|
|
46
|
+
[permission.id]: permission
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
case PERMISSION_CONSTANTS.GET_LIST_SUCCESS:
|
|
51
|
+
{
|
|
52
|
+
const { list, userId } = data;
|
|
53
|
+
if (!list || !userId) {
|
|
54
|
+
return state;
|
|
55
|
+
}
|
|
56
|
+
return {
|
|
57
|
+
...state,
|
|
58
|
+
userPermissions: {
|
|
59
|
+
...state.userPermissions,
|
|
60
|
+
[userId]: list
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
case PERMISSION_CONSTANTS.UPDATE_ITEM_SUCCESS:
|
|
65
|
+
{
|
|
66
|
+
const { permission } = data;
|
|
67
|
+
if (!permission?.id) {
|
|
68
|
+
return state;
|
|
69
|
+
}
|
|
70
|
+
return {
|
|
71
|
+
...state,
|
|
72
|
+
permissions: {
|
|
73
|
+
...state.permissions,
|
|
74
|
+
[permission.id]: {
|
|
75
|
+
...state.permissions[permission.id],
|
|
76
|
+
...permission
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
case PERMISSION_CONSTANTS.REMOVE_ITEM_SUCCESS:
|
|
82
|
+
{
|
|
83
|
+
const { permission } = data;
|
|
84
|
+
if (!permission?.id) {
|
|
85
|
+
return state;
|
|
86
|
+
}
|
|
87
|
+
const { [permission.id]: removed, ...remainingPermissions } = state.permissions;
|
|
88
|
+
return {
|
|
89
|
+
...state,
|
|
90
|
+
permissions: remainingPermissions
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
case PERMISSION_CONSTANTS.ADD_ITEM_ERROR:
|
|
94
|
+
case PERMISSION_CONSTANTS.GET_ITEM_ERROR:
|
|
95
|
+
case PERMISSION_CONSTANTS.GET_LIST_ERROR:
|
|
96
|
+
case PERMISSION_CONSTANTS.UPDATE_ITEM_ERROR:
|
|
97
|
+
case PERMISSION_CONSTANTS.REMOVE_ITEM_ERROR:
|
|
98
|
+
case PERMISSION_CONSTANTS.CHECK_PERMISSION_ERROR:
|
|
99
|
+
{
|
|
100
|
+
return {
|
|
101
|
+
...state,
|
|
102
|
+
error: data.error
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
default:
|
|
106
|
+
{
|
|
107
|
+
return state;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
export const permissions = {
|
|
112
|
+
action: permissionStore,
|
|
113
|
+
initialState: defaultValues,
|
|
114
|
+
name: 'permission'
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvc3RvcmVzL3Blcm1pc3Npb25TdG9yZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7UGVybWlzc2lvbn0gZnJvbSAnLi4vYWRhcHRlcnMvcGVybWlzc2lvbkFkYXB0ZXIvcGVybWlzc2lvbkFkYXB0ZXIuanMnO1xuXG5leHBvcnQgY29uc3QgUEVSTUlTU0lPTl9DT05TVEFOVFMgPSB7XG4gIEFERF9JVEVNX0VSUk9SOiAnUEVSTUlTU0lPTl9BRERfSVRFTV9FUlJPUicsXG4gIEFERF9JVEVNX1NVQ0NFU1M6ICdQRVJNSVNTSU9OX0FERF9JVEVNX1NVQ0NFU1MnLFxuICBDSEVDS19QRVJNSVNTSU9OX0VSUk9SOiAnUEVSTUlTU0lPTl9DSEVDS19QRVJNSVNTSU9OX0VSUk9SJyxcbiAgQ0hFQ0tfUEVSTUlTU0lPTl9TVUNDRVNTOiAnUEVSTUlTU0lPTl9DSEVDS19QRVJNSVNTSU9OX1NVQ0NFU1MnLFxuICBHRVRfSVRFTV9FUlJPUjogJ1BFUk1JU1NJT05fR0VUX0lURU1fRVJST1InLFxuICBHRVRfSVRFTV9TVUNDRVNTOiAnUEVSTUlTU0lPTl9HRVRfSVRFTV9TVUNDRVNTJyxcbiAgR0VUX0xJU1RfRVJST1I6ICdQRVJNSVNTSU9OX0dFVF9MSVNUX0VSUk9SJyxcbiAgR0VUX0xJU1RfU1VDQ0VTUzogJ1BFUk1JU1NJT05fR0VUX0xJU1RfU1VDQ0VTUycsXG4gIFJFTU9WRV9JVEVNX0VSUk9SOiAnUEVSTUlTU0lPTl9SRU1PVkVfSVRFTV9FUlJPUicsXG4gIFJFTU9WRV9JVEVNX1NVQ0NFU1M6ICdQRVJNSVNTSU9OX1JFTU9WRV9JVEVNX1NVQ0NFU1MnLFxuICBVUERBVEVfSVRFTV9FUlJPUjogJ1BFUk1JU1NJT05fVVBEQVRFX0lURU1fRVJST1InLFxuICBVUERBVEVfSVRFTV9TVUNDRVNTOiAnUEVSTUlTU0lPTl9VUERBVEVfSVRFTV9TVUNDRVNTJ1xufSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgUGVybWlzc2lvbkNvbnN0YW50c1R5cGUgPSB0eXBlb2YgUEVSTUlTU0lPTl9DT05TVEFOVFNba2V5b2YgdHlwZW9mIFBFUk1JU1NJT05fQ09OU1RBTlRTXTtcblxuaW50ZXJmYWNlIFBlcm1pc3Npb25TdGF0ZSB7XG4gIGVycm9yPzogRXJyb3I7XG4gIGxpc3RzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgcGVybWlzc2lvbnM6IFJlY29yZDxzdHJpbmcsIFBhcnRpYWw8UGVybWlzc2lvbj4+O1xuICB1c2VyUGVybWlzc2lvbnM6IFJlY29yZDxzdHJpbmcsIFBlcm1pc3Npb25bXT47XG59XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0VmFsdWVzOiBQZXJtaXNzaW9uU3RhdGUgPSB7XG4gIGxpc3RzOiB7fSxcbiAgcGVybWlzc2lvbnM6IHt9LFxuICB1c2VyUGVybWlzc2lvbnM6IHt9XG59O1xuXG5pbnRlcmZhY2UgUGVybWlzc2lvbkRhdGEge1xuICByZWFkb25seSBlcnJvcj86IEVycm9yO1xuICByZWFkb25seSBsaXN0PzogUGVybWlzc2lvbltdO1xuICByZWFkb25seSBwZXJtaXNzaW9uPzogUGVybWlzc2lvbjtcbiAgcmVhZG9ubHkgdXNlcklkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgcGVybWlzc2lvblN0b3JlID0gKFxuICB0eXBlOiBzdHJpbmcsXG4gIGRhdGE6IFBlcm1pc3Npb25EYXRhLFxuICBzdGF0ZSA9IGRlZmF1bHRWYWx1ZXNcbik6IFBlcm1pc3Npb25TdGF0ZSA9PiB7XG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgUEVSTUlTU0lPTl9DT05TVEFOVFMuQUREX0lURU1fU1VDQ0VTUzoge1xuICAgICAgY29uc3Qge3Blcm1pc3Npb259ID0gZGF0YTtcblxuICAgICAgaWYgKCFwZXJtaXNzaW9uPy5pZCkge1xuICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBwZXJtaXNzaW9uczoge1xuICAgICAgICAgIC4uLnN0YXRlLnBlcm1pc3Npb25zLFxuICAgICAgICAgIFtwZXJtaXNzaW9uLmlkXTogcGVybWlzc2lvblxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgUEVSTUlTU0lPTl9DT05TVEFOVFMuR0VUX0lURU1fU1VDQ0VTUzoge1xuICAgICAgY29uc3Qge3Blcm1pc3Npb259ID0gZGF0YTtcblxuICAgICAgaWYgKCFwZXJtaXNzaW9uPy5pZCkge1xuICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBwZXJtaXNzaW9uczoge1xuICAgICAgICAgIC4uLnN0YXRlLnBlcm1pc3Npb25zLFxuICAgICAgICAgIFtwZXJtaXNzaW9uLmlkXTogcGVybWlzc2lvblxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgUEVSTUlTU0lPTl9DT05TVEFOVFMuR0VUX0xJU1RfU1VDQ0VTUzoge1xuICAgICAgY29uc3Qge2xpc3QsIHVzZXJJZH0gPSBkYXRhO1xuXG4gICAgICBpZiAoIWxpc3QgfHwgIXVzZXJJZCkge1xuICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICB1c2VyUGVybWlzc2lvbnM6IHtcbiAgICAgICAgICAuLi5zdGF0ZS51c2VyUGVybWlzc2lvbnMsXG4gICAgICAgICAgW3VzZXJJZF06IGxpc3RcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIFBFUk1JU1NJT05fQ09OU1RBTlRTLlVQREFURV9JVEVNX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IHtwZXJtaXNzaW9ufSA9IGRhdGE7XG5cbiAgICAgIGlmICghcGVybWlzc2lvbj8uaWQpIHtcbiAgICAgICAgcmV0dXJuIHN0YXRlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgcGVybWlzc2lvbnM6IHtcbiAgICAgICAgICAuLi5zdGF0ZS5wZXJtaXNzaW9ucyxcbiAgICAgICAgICBbcGVybWlzc2lvbi5pZF06IHtcbiAgICAgICAgICAgIC4uLnN0YXRlLnBlcm1pc3Npb25zW3Blcm1pc3Npb24uaWRdLFxuICAgICAgICAgICAgLi4ucGVybWlzc2lvblxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIFBFUk1JU1NJT05fQ09OU1RBTlRTLlJFTU9WRV9JVEVNX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IHtwZXJtaXNzaW9ufSA9IGRhdGE7XG5cbiAgICAgIGlmICghcGVybWlzc2lvbj8uaWQpIHtcbiAgICAgICAgcmV0dXJuIHN0YXRlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB7W3Blcm1pc3Npb24uaWRdOiByZW1vdmVkLCAuLi5yZW1haW5pbmdQZXJtaXNzaW9uc30gPSBzdGF0ZS5wZXJtaXNzaW9ucztcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIHBlcm1pc3Npb25zOiByZW1haW5pbmdQZXJtaXNzaW9uc1xuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIFBFUk1JU1NJT05fQ09OU1RBTlRTLkFERF9JVEVNX0VSUk9SOlxuICAgIGNhc2UgUEVSTUlTU0lPTl9DT05TVEFOVFMuR0VUX0lURU1fRVJST1I6XG4gICAgY2FzZSBQRVJNSVNTSU9OX0NPTlNUQU5UUy5HRVRfTElTVF9FUlJPUjpcbiAgICBjYXNlIFBFUk1JU1NJT05fQ09OU1RBTlRTLlVQREFURV9JVEVNX0VSUk9SOlxuICAgIGNhc2UgUEVSTUlTU0lPTl9DT05TVEFOVFMuUkVNT1ZFX0lURU1fRVJST1I6XG4gICAgY2FzZSBQRVJNSVNTSU9OX0NPTlNUQU5UUy5DSEVDS19QRVJNSVNTSU9OX0VSUk9SOiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgZXJyb3I6IGRhdGEuZXJyb3JcbiAgICAgIH07XG4gICAgfVxuXG4gICAgZGVmYXVsdDoge1xuICAgICAgcmV0dXJuIHN0YXRlO1xuICAgIH1cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHBlcm1pc3Npb25zID0ge1xuICBhY3Rpb246IHBlcm1pc3Npb25TdG9yZSxcbiAgaW5pdGlhbFN0YXRlOiBkZWZhdWx0VmFsdWVzLFxuICBuYW1lOiAncGVybWlzc2lvbidcbn07XG4iXSwibmFtZXMiOlsiUEVSTUlTU0lPTl9DT05TVEFOVFMiLCJBRERfSVRFTV9FUlJPUiIsIkFERF9JVEVNX1NVQ0NFU1MiLCJDSEVDS19QRVJNSVNTSU9OX0VSUk9SIiwiQ0hFQ0tfUEVSTUlTU0lPTl9TVUNDRVNTIiwiR0VUX0lURU1fRVJST1IiLCJHRVRfSVRFTV9TVUNDRVNTIiwiR0VUX0xJU1RfRVJST1IiLCJHRVRfTElTVF9TVUNDRVNTIiwiUkVNT1ZFX0lURU1fRVJST1IiLCJSRU1PVkVfSVRFTV9TVUNDRVNTIiwiVVBEQVRFX0lURU1fRVJST1IiLCJVUERBVEVfSVRFTV9TVUNDRVNTIiwiZGVmYXVsdFZhbHVlcyIsImxpc3RzIiwicGVybWlzc2lvbnMiLCJ1c2VyUGVybWlzc2lvbnMiLCJwZXJtaXNzaW9uU3RvcmUiLCJ0eXBlIiwiZGF0YSIsInN0YXRlIiwicGVybWlzc2lvbiIsImlkIiwibGlzdCIsInVzZXJJZCIsInJlbW92ZWQiLCJyZW1haW5pbmdQZXJtaXNzaW9ucyIsImVycm9yIiwiYWN0aW9uIiwiaW5pdGlhbFN0YXRlIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxNQUFNQSx1QkFBdUI7SUFDbENDLGdCQUFnQjtJQUNoQkMsa0JBQWtCO0lBQ2xCQyx3QkFBd0I7SUFDeEJDLDBCQUEwQjtJQUMxQkMsZ0JBQWdCO0lBQ2hCQyxrQkFBa0I7SUFDbEJDLGdCQUFnQjtJQUNoQkMsa0JBQWtCO0lBQ2xCQyxtQkFBbUI7SUFDbkJDLHFCQUFxQjtJ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
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { PersonaType } from '../adapters/personaAdapter/personaAdapter.js';
|
|
2
|
+
export declare const PERSONA_CONSTANTS: {
|
|
3
|
+
ADD_ITEM_ERROR: string;
|
|
4
|
+
ADD_ITEM_SUCCESS: string;
|
|
5
|
+
DELETE_ITEM_ERROR: string;
|
|
6
|
+
DELETE_ITEM_SUCCESS: string;
|
|
7
|
+
GET_ITEM_ERROR: string;
|
|
8
|
+
GET_ITEM_SUCCESS: string;
|
|
9
|
+
GET_LIST_ERROR: string;
|
|
10
|
+
GET_LIST_SUCCESS: string;
|
|
11
|
+
UPDATE_ITEM_ERROR: string;
|
|
12
|
+
UPDATE_ITEM_SUCCESS: string;
|
|
13
|
+
};
|
|
14
|
+
export interface PersonaState {
|
|
15
|
+
readonly error?: Error;
|
|
16
|
+
readonly list: PersonaType[];
|
|
17
|
+
readonly listMap: Record<string, PersonaType>;
|
|
18
|
+
}
|
|
19
|
+
export declare const initialPersonaState: PersonaState;
|
|
20
|
+
export declare const personaStore: (state?: PersonaState, action?: {}, _next?: {}) => PersonaState;
|
|
21
|
+
export declare const personas: {
|
|
22
|
+
action: (state?: PersonaState, action?: {}, _next?: {}) => PersonaState;
|
|
23
|
+
initialState: PersonaState;
|
|
24
|
+
name: string;
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=personaStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"personaStore.d.ts","sourceRoot":"","sources":["../../src/stores/personaStore.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,8CAA8C,CAAC;AAE9E,eAAO,MAAM,iBAAiB;;;;;;;;;;;CAW7B,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CAC/C;AAED,eAAO,MAAM,mBAAmB,EAAE,YAIjC,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,oBAA2B,EAAE,WAAW,EAAE,UAAU,KAAG,YAyEnF,CAAC;AAEF,eAAO,MAAM,QAAQ;+DA3E+D,YAAY;;;CA+E/F,CAAC"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2023-Present, Nitrogen Labs, Inc.
|
|
3
|
+
* Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
|
|
4
|
+
*/ import { parseId } from '@nlabs/utils';
|
|
5
|
+
export const PERSONA_CONSTANTS = {
|
|
6
|
+
ADD_ITEM_ERROR: 'PERSONA_ADD_ITEM_ERROR',
|
|
7
|
+
ADD_ITEM_SUCCESS: 'PERSONA_ADD_ITEM_SUCCESS',
|
|
8
|
+
DELETE_ITEM_ERROR: 'PERSONA_DELETE_ITEM_ERROR',
|
|
9
|
+
DELETE_ITEM_SUCCESS: 'PERSONA_DELETE_ITEM_SUCCESS',
|
|
10
|
+
GET_ITEM_ERROR: 'PERSONA_GET_ITEM_ERROR',
|
|
11
|
+
GET_ITEM_SUCCESS: 'PERSONA_GET_ITEM_SUCCESS',
|
|
12
|
+
GET_LIST_ERROR: 'PERSONA_GET_LIST_ERROR',
|
|
13
|
+
GET_LIST_SUCCESS: 'PERSONA_GET_LIST_SUCCESS',
|
|
14
|
+
UPDATE_ITEM_ERROR: 'PERSONA_UPDATE_ITEM_ERROR',
|
|
15
|
+
UPDATE_ITEM_SUCCESS: 'PERSONA_UPDATE_ITEM_SUCCESS'
|
|
16
|
+
};
|
|
17
|
+
export const initialPersonaState = {
|
|
18
|
+
error: undefined,
|
|
19
|
+
list: [],
|
|
20
|
+
listMap: {}
|
|
21
|
+
};
|
|
22
|
+
export const personaStore = (state = initialPersonaState, action = {}, _next = {})=>{
|
|
23
|
+
const { error, persona, personas, type = '' } = action;
|
|
24
|
+
switch(type){
|
|
25
|
+
case PERSONA_CONSTANTS.ADD_ITEM_SUCCESS:
|
|
26
|
+
case PERSONA_CONSTANTS.UPDATE_ITEM_SUCCESS:
|
|
27
|
+
case PERSONA_CONSTANTS.GET_ITEM_SUCCESS:
|
|
28
|
+
if (persona) {
|
|
29
|
+
const personaId = parseId(persona.personaId ?? '');
|
|
30
|
+
const list = [
|
|
31
|
+
...state.list
|
|
32
|
+
];
|
|
33
|
+
const listMap = {
|
|
34
|
+
...state.listMap
|
|
35
|
+
};
|
|
36
|
+
const index = list.findIndex((item)=>parseId(item.personaId ?? '') === personaId);
|
|
37
|
+
if (index >= 0) {
|
|
38
|
+
list[index] = {
|
|
39
|
+
...list[index],
|
|
40
|
+
...persona
|
|
41
|
+
};
|
|
42
|
+
} else {
|
|
43
|
+
list.push(persona);
|
|
44
|
+
}
|
|
45
|
+
listMap[personaId] = persona;
|
|
46
|
+
return {
|
|
47
|
+
...state,
|
|
48
|
+
error: undefined,
|
|
49
|
+
list,
|
|
50
|
+
listMap
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
return state;
|
|
54
|
+
case PERSONA_CONSTANTS.DELETE_ITEM_SUCCESS:
|
|
55
|
+
if (persona) {
|
|
56
|
+
const personaId = parseId(persona.personaId ?? '');
|
|
57
|
+
const list = state.list.filter((item)=>parseId(item.personaId ?? '') !== personaId);
|
|
58
|
+
const listMap = {
|
|
59
|
+
...state.listMap
|
|
60
|
+
};
|
|
61
|
+
delete listMap[personaId];
|
|
62
|
+
return {
|
|
63
|
+
...state,
|
|
64
|
+
error: undefined,
|
|
65
|
+
list,
|
|
66
|
+
listMap
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
return state;
|
|
70
|
+
case PERSONA_CONSTANTS.GET_LIST_SUCCESS:
|
|
71
|
+
if (personas?.length) {
|
|
72
|
+
const list = [
|
|
73
|
+
...state.list
|
|
74
|
+
];
|
|
75
|
+
const listMap = {
|
|
76
|
+
...state.listMap
|
|
77
|
+
};
|
|
78
|
+
personas.forEach((persona)=>{
|
|
79
|
+
const personaId = parseId(persona.personaId ?? '');
|
|
80
|
+
const index = list.findIndex((item)=>parseId(item.personaId ?? '') === personaId);
|
|
81
|
+
if (index >= 0) {
|
|
82
|
+
list[index] = {
|
|
83
|
+
...list[index],
|
|
84
|
+
...persona
|
|
85
|
+
};
|
|
86
|
+
} else {
|
|
87
|
+
list.push(persona);
|
|
88
|
+
}
|
|
89
|
+
listMap[personaId] = persona;
|
|
90
|
+
});
|
|
91
|
+
return {
|
|
92
|
+
...state,
|
|
93
|
+
error: undefined,
|
|
94
|
+
list,
|
|
95
|
+
listMap
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
return state;
|
|
99
|
+
case PERSONA_CONSTANTS.ADD_ITEM_ERROR:
|
|
100
|
+
case PERSONA_CONSTANTS.DELETE_ITEM_ERROR:
|
|
101
|
+
case PERSONA_CONSTANTS.GET_ITEM_ERROR:
|
|
102
|
+
case PERSONA_CONSTANTS.GET_LIST_ERROR:
|
|
103
|
+
case PERSONA_CONSTANTS.UPDATE_ITEM_ERROR:
|
|
104
|
+
return {
|
|
105
|
+
...state,
|
|
106
|
+
error
|
|
107
|
+
};
|
|
108
|
+
default:
|
|
109
|
+
return state;
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
export const personas = {
|
|
113
|
+
action: personaStore,
|
|
114
|
+
initialState: initialPersonaState,
|
|
115
|
+
name: 'persona'
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvc3RvcmVzL3BlcnNvbmFTdG9yZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyMy1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtwYXJzZUlkfSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuXG5pbXBvcnQgdHlwZSB7UGVyc29uYVR5cGV9IGZyb20gJy4uL2FkYXB0ZXJzL3BlcnNvbmFBZGFwdGVyL3BlcnNvbmFBZGFwdGVyLmpzJztcblxuZXhwb3J0IGNvbnN0IFBFUlNPTkFfQ09OU1RBTlRTID0ge1xuICBBRERfSVRFTV9FUlJPUjogJ1BFUlNPTkFfQUREX0lURU1fRVJST1InLFxuICBBRERfSVRFTV9TVUNDRVNTOiAnUEVSU09OQV9BRERfSVRFTV9TVUNDRVNTJyxcbiAgREVMRVRFX0lURU1fRVJST1I6ICdQRVJTT05BX0RFTEVURV9JVEVNX0VSUk9SJyxcbiAgREVMRVRFX0lURU1fU1VDQ0VTUzogJ1BFUlNPTkFfREVMRVRFX0lURU1fU1VDQ0VTUycsXG4gIEdFVF9JVEVNX0VSUk9SOiAnUEVSU09OQV9HRVRfSVRFTV9FUlJPUicsXG4gIEdFVF9JVEVNX1NVQ0NFU1M6ICdQRVJTT05BX0dFVF9JVEVNX1NVQ0NFU1MnLFxuICBHRVRfTElTVF9FUlJPUjogJ1BFUlNPTkFfR0VUX0xJU1RfRVJST1InLFxuICBHRVRfTElTVF9TVUNDRVNTOiAnUEVSU09OQV9HRVRfTElTVF9TVUNDRVNTJyxcbiAgVVBEQVRFX0lURU1fRVJST1I6ICdQRVJTT05BX1VQREFURV9JVEVNX0VSUk9SJyxcbiAgVVBEQVRFX0lURU1fU1VDQ0VTUzogJ1BFUlNPTkFfVVBEQVRFX0lURU1fU1VDQ0VTUydcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGVyc29uYVN0YXRlIHtcbiAgcmVhZG9ubHkgZXJyb3I/OiBFcnJvcjtcbiAgcmVhZG9ubHkgbGlzdDogUGVyc29uYVR5cGVbXTtcbiAgcmVhZG9ubHkgbGlzdE1hcDogUmVjb3JkPHN0cmluZywgUGVyc29uYVR5cGU+O1xufVxuXG5leHBvcnQgY29uc3QgaW5pdGlhbFBlcnNvbmFTdGF0ZTogUGVyc29uYVN0YXRlID0ge1xuICBlcnJvcjogdW5kZWZpbmVkLFxuICBsaXN0OiBbXSxcbiAgbGlzdE1hcDoge31cbn07XG5cbmV4cG9ydCBjb25zdCBwZXJzb25hU3RvcmUgPSAoc3RhdGUgPSBpbml0aWFsUGVyc29uYVN0YXRlLCBhY3Rpb24gPSB7fSwgX25leHQgPSB7fSk6IFBlcnNvbmFTdGF0ZSA9PiB7XG4gIGNvbnN0IHtlcnJvciwgcGVyc29uYSwgcGVyc29uYXMsIHR5cGUgPSAnJ30gPSBhY3Rpb24gYXMge1xuICAgIGVycm9yPzogRXJyb3I7XG4gICAgcGVyc29uYT86IFBlcnNvbmFUeXBlO1xuICAgIHBlcnNvbmFzPzogUGVyc29uYVR5cGVbXTtcbiAgICB0eXBlOiBzdHJpbmc7XG4gIH07XG5cbiAgc3dpdGNoKHR5cGUpIHtcbiAgICBjYXNlIFBFUlNPTkFfQ09OU1RBTlRTLkFERF9JVEVNX1NVQ0NFU1M6XG4gICAgY2FzZSBQRVJTT05BX0NPTlNUQU5UUy5VUERBVEVfSVRFTV9TVUNDRVNTOlxuICAgIGNhc2UgUEVSU09OQV9DT05TVEFOVFMuR0VUX0lURU1fU1VDQ0VTUzpcbiAgICAgIGlmKHBlcnNvbmEpIHtcbiAgICAgICAgY29uc3QgcGVyc29uYUlkID0gcGFyc2VJZChwZXJzb25hLnBlcnNvbmFJZCA/PyAnJyk7XG4gICAgICAgIGNvbnN0IGxpc3QgPSBbLi4uc3RhdGUubGlzdF07XG4gICAgICAgIGNvbnN0IGxpc3RNYXAgPSB7Li4uc3RhdGUubGlzdE1hcH07XG4gICAgICAgIGNvbnN0IGluZGV4ID0gbGlzdC5maW5kSW5kZXgoKGl0ZW0pID0+IHBhcnNlSWQoaXRlbS5wZXJzb25hSWQgPz8gJycpID09PSBwZXJzb25hSWQpO1xuXG4gICAgICAgIGlmKGluZGV4ID49IDApIHtcbiAgICAgICAgICBsaXN0W2luZGV4XSA9IHsuLi5saXN0W2luZGV4XSwgLi4ucGVyc29uYX07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbGlzdC5wdXNoKHBlcnNvbmEpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGlzdE1hcFtwZXJzb25hSWRdID0gcGVyc29uYTtcblxuICAgICAgICByZXR1cm4gey4uLnN0YXRlLCBlcnJvcjogdW5kZWZpbmVkLCBsaXN0LCBsaXN0TWFwfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdGF0ZTtcblxuICAgIGNhc2UgUEVSU09OQV9DT05TVEFOVFMuREVMRVRFX0lURU1fU1VDQ0VTUzpcbiAgICAgIGlmKHBlcnNvbmEpIHtcbiAgICAgICAgY29uc3QgcGVyc29uYUlkID0gcGFyc2VJZChwZXJzb25hLnBlcnNvbmFJZCA/PyAnJyk7XG4gICAgICAgIGNvbnN0IGxpc3QgPSBzdGF0ZS5saXN0LmZpbHRlcigoaXRlbSkgPT4gcGFyc2VJZChpdGVtLnBlcnNvbmFJZCA/PyAnJykgIT09IHBlcnNvbmFJZCk7XG4gICAgICAgIGNvbnN0IGxpc3RNYXAgPSB7Li4uc3RhdGUubGlzdE1hcH07XG4gICAgICAgIGRlbGV0ZSBsaXN0TWFwW3BlcnNvbmFJZF07XG5cbiAgICAgICAgcmV0dXJuIHsuLi5zdGF0ZSwgZXJyb3I6IHVuZGVmaW5lZCwgbGlzdCwgbGlzdE1hcH07XG4gICAgICB9XG4gICAgICByZXR1cm4gc3RhdGU7XG5cbiAgICBjYXNlIFBFUlNPTkFfQ09OU1RBTlRTLkdFVF9MSVNUX1NVQ0NFU1M6XG4gICAgICBpZihwZXJzb25hcz8ubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IGxpc3QgPSBbLi4uc3RhdGUubGlzdF07XG4gICAgICAgIGNvbnN0IGxpc3RNYXAgPSB7Li4uc3RhdGUubGlzdE1hcH07XG5cbiAgICAgICAgcGVyc29uYXMuZm9yRWFjaCgocGVyc29uYSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHBlcnNvbmFJZCA9IHBhcnNlSWQocGVyc29uYS5wZXJzb25hSWQgPz8gJycpO1xuICAgICAgICAgIGNvbnN0IGluZGV4ID0gbGlzdC5maW5kSW5kZXgoKGl0ZW0pID0+IHBhcnNlSWQoaXRlbS5wZXJzb25hSWQgPz8gJycpID09PSBwZXJzb25hSWQpO1xuXG4gICAgICAgICAgaWYoaW5kZXggPj0gMCkge1xuICAgICAgICAgICAgbGlzdFtpbmRleF0gPSB7Li4ubGlzdFtpbmRleF0sIC4uLnBlcnNvbmF9O1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBsaXN0LnB1c2gocGVyc29uYSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbGlzdE1hcFtwZXJzb25hSWRdID0gcGVyc29uYTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHsuLi5zdGF0ZSwgZXJyb3I6IHVuZGVmaW5lZCwgbGlzdCwgbGlzdE1hcH07XG4gICAgICB9XG4gICAgICByZXR1cm4gc3RhdGU7XG5cbiAgICBjYXNlIFBFUlNPTkFfQ09OU1RBTlRTLkFERF9JVEVNX0VSUk9SOlxuICAgIGNhc2UgUEVSU09OQV9DT05TVEFOVFMuREVMRVRFX0lURU1fRVJST1I6XG4gICAgY2FzZSBQRVJTT05BX0NPTlNUQU5UUy5HRVRfSVRFTV9FUlJPUjpcbiAgICBjYXNlIFBFUlNPTkFfQ09OU1RBTlRTLkdFVF9MSVNUX0VSUk9SOlxuICAgIGNhc2UgUEVSU09OQV9DT05TVEFOVFMuVVBEQVRFX0lURU1fRVJST1I6XG4gICAgICByZXR1cm4gey4uLnN0YXRlLCBlcnJvcn07XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHN0YXRlO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgcGVyc29uYXMgPSB7XG4gIGFjdGlvbjogcGVyc29uYVN0b3JlLFxuICBpbml0aWFsU3RhdGU6IGluaXRpYWxQZXJzb25hU3RhdGUsXG4gIG5hbWU6ICdwZXJzb25hJ1xufTtcbiJdLCJuYW1lcyI6WyJwYXJzZUlkIiwiUEVSU09OQV9DT05TVEFOVFMiLCJBRERfSVRFTV9FUlJPUiIsIkFERF9JVEVNX1NVQ0NFU1MiLCJERUxFVEVfSVRFTV9FUlJPUiIsIkRFTEVURV9JVEVNX1NVQ0NFU1MiLCJHRVRfSVRFTV9FUlJPUiIsIkdFVF9JVEVNX1NVQ0NFU1MiLCJHRVRfTElTVF9FUlJPUiIsIkdFVF9MSVNUX1NVQ0NFU1MiLCJVUERBVEVfSVRFTV9FUlJPUiIsIlVQREFURV9JVEVNX1NVQ0NFU1MiLCJpbml0aWFsUGVyc29uYVN0YXRlIiwiZXJyb3IiLCJ1bmRlZmluZWQiLCJsaXN0IiwibGlzdE1hcCIsInBlcnNvbmFTdG9yZSIsInN0YXRlIiwiYWN0aW9uIiwiX25leHQiLCJwZXJzb25hIiwicGVyc29uYXMiLCJ0eXBlIiwicGVyc29uYUlkIiwiaW5kZXgiLCJmaW5kSW5kZXgiLCJpdGVtIiwicHVzaCIsImZpbHRlciIsImxlbmd0aCIsImZvckVhY2giLCJpbml0aWFsU3RhdGUiLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0FDRCxTQUFRQSxPQUFPLFFBQU8sZUFBZTtBQUlyQyxPQUFPLE1BQU1DLG9CQUFvQjtJQUMvQkMsZ0JBQWdCO0lBQ2hCQyxrQkFBa0I7SUFDbEJDLG1CQUFtQjtJQUNuQkMscUJBQXFCO0lBQ3JCQyxnQkFBZ0I7SUFDaEJDLGtCQUFrQjtJQUNsQkMsZ0JBQWdCO0lBQ2hCQyxrQkFBa0I7SUFDbEJDLG1CQUFtQjtJQUNuQkMscUJBQXFCO0FBQ3ZCLEVBQUU7QUFRRixPQUFPLE1BQU1DLHNCQUFvQztJQUMvQ0MsT0FBT0M7SUFDUEMsTUFBTSxFQUFFO0lBQ1JDLFNBQVMsQ0FBQztBQUNaLEVBQUU7QUFFRixPQUFPLE1BQU1DLGVBQWUsQ0FBQ0MsUUFBUU4sbUJBQW1CLEVBQUVPLFNBQVMsQ0FBQyxDQUFDLEVBQUVDLFFBQVEsQ0FBQyxDQUFDO0lBQy9FLE1BQU0sRUFBQ1AsS0FB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
|