@thzero/library_client_vue3_store_pinia 0.16.20 → 0.16.22
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/openSource.js +53 -0
- package/package.json +3 -3
- package/service/store/index.js +1 -1
- package/store/index.js +121 -8
- package/store/user/index.js +40 -38
package/openSource.js
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
export default () => {
|
|
2
|
+
return [
|
|
3
|
+
{
|
|
4
|
+
category: 'client',
|
|
5
|
+
name: '@thzero/library_client',
|
|
6
|
+
url: 'https://github.com/thzero/library_client',
|
|
7
|
+
licenseName: 'MIT',
|
|
8
|
+
licenseUrl: 'https://github.com/thzero/library_client/blob/master/license.md'
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
category: 'client',
|
|
12
|
+
name: '@thzero/library_client_vue3',
|
|
13
|
+
url: 'https://github.com/thzero/library_client_vue3',
|
|
14
|
+
licenseName: 'MIT',
|
|
15
|
+
licenseUrl: 'https://github.com/thzero/library_client_vue3/blob/master/license.md'
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
category: 'client',
|
|
19
|
+
name: '@thzero/library_client_vue3_store_pinia',
|
|
20
|
+
url: 'https://github.com/thzero/library_client_vue3_store_pinia',
|
|
21
|
+
licenseName: 'MIT',
|
|
22
|
+
licenseUrl: 'https://github.com/thzero/library_client_vue3_store_pinia/blob/master/license.md'
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
category: 'client',
|
|
26
|
+
name: '@thzero/library_common',
|
|
27
|
+
url: 'https://github.com/thzero/library_common',
|
|
28
|
+
licenseName: 'MIT',
|
|
29
|
+
licenseUrl: 'https://github.com/thzero/library_common/blob/master/license.md'
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
category: 'client',
|
|
33
|
+
name: 'pinia',
|
|
34
|
+
url: 'https://github.com/vuejs/pinia',
|
|
35
|
+
licenseName: 'MIT',
|
|
36
|
+
licenseUrl: 'https://github.com/vuejs/pinia/blob/v2/LICENSE'
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
category: 'client',
|
|
40
|
+
name: 'pinia-plugin-persistedstate-2',
|
|
41
|
+
url: 'https://github.com/iendeavor/pinia-plugin-persistedstate-2',
|
|
42
|
+
licenseName: 'MIT',
|
|
43
|
+
licenseUrl: 'https://github.com/iendeavor/pinia-plugin-persistedstate-2/blob/main/LICENSE'
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
category: 'client',
|
|
47
|
+
name: 'vue',
|
|
48
|
+
url: 'https://github.com/vuejs/vue',
|
|
49
|
+
licenseName: 'MIT',
|
|
50
|
+
licenseUrl: 'https://github.com/vuejs/vue/blob/dev/LICENSE'
|
|
51
|
+
}
|
|
52
|
+
];
|
|
53
|
+
}
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thzero/library_client_vue3_store_pinia",
|
|
3
|
-
"version": "0.16.
|
|
3
|
+
"version": "0.16.22",
|
|
4
4
|
"version_major": 0,
|
|
5
5
|
"version_minor": 16,
|
|
6
|
-
"version_patch":
|
|
7
|
-
"version_date": "12/
|
|
6
|
+
"version_patch": 22,
|
|
7
|
+
"version_date": "12/20/2022",
|
|
8
8
|
"description": "An opinionated library for vue3 with pinia store for the library_client_vue3 using the https://prazdevs.github.io/pinia-plugin-persistedstate library.",
|
|
9
9
|
"author": "thZero",
|
|
10
10
|
"license": "MIT",
|
package/service/store/index.js
CHANGED
package/store/index.js
CHANGED
|
@@ -6,6 +6,8 @@ import LibraryConstants from '@thzero/library_client/constants';
|
|
|
6
6
|
|
|
7
7
|
import GlobalUtility from '@thzero/library_client/utility/global';
|
|
8
8
|
|
|
9
|
+
import Response from '@thzero/library_common/response';
|
|
10
|
+
|
|
9
11
|
import NotImplementedError from '@thzero/library_common/errors/notImplemented';
|
|
10
12
|
|
|
11
13
|
// import adminNews from './admin/news/pinia';
|
|
@@ -25,11 +27,24 @@ class BaseStore {
|
|
|
25
27
|
|
|
26
28
|
setup() {
|
|
27
29
|
const logger = GlobalUtility.$injector.getService(LibraryConstants.InjectorKeys.SERVICE_LOGGER);
|
|
30
|
+
|
|
31
|
+
const initialStoreConfig = this._initStoreConfigBase();
|
|
32
|
+
const appStoreConfig = this._initStoreConfig();
|
|
33
|
+
initialStoreConfig.actions = Object.assign(initialStoreConfig.actions, appStoreConfig.actions);
|
|
34
|
+
initialStoreConfig.dispatcher = Object.assign(initialStoreConfig.dispatcher, appStoreConfig.dispatcher);
|
|
35
|
+
initialStoreConfig.getters = Object.assign(initialStoreConfig.getters, appStoreConfig.getters);
|
|
36
|
+
|
|
37
|
+
const initialState = initialStoreConfig.state();
|
|
38
|
+
const appState = appStoreConfig.state();
|
|
39
|
+
const state = Object.assign(initialState, appState);
|
|
40
|
+
initialStoreConfig.state = () => state;
|
|
41
|
+
|
|
28
42
|
return {
|
|
29
43
|
func: {
|
|
30
44
|
install(app, options) {
|
|
31
45
|
const storeConfig = options.storeConfig;
|
|
32
46
|
|
|
47
|
+
options.actionGetters = storeConfig.getters;
|
|
33
48
|
options.actionDispatcher = storeConfig.dispatcher;
|
|
34
49
|
if (!options.actionDispatcher)
|
|
35
50
|
options.actionDispatcher = {};
|
|
@@ -43,14 +58,16 @@ class BaseStore {
|
|
|
43
58
|
|
|
44
59
|
// options.addModule('adminNews', adminNews, options.actionDispatcher, options.pluginPersistType(), options.pluginPersistConfig, options.pinia, logger);
|
|
45
60
|
// options.addModule('adminUsers', adminUsers, options.actionDispatcher, options.pluginPersistType(), options.pluginPersistConfig, options.pinia, logger);
|
|
46
|
-
options.addModule('news', news, options.actionDispatcher, options.pluginPersistType(), options.pluginPersistSetup, options.pluginPersistConfig, options.pluginPersistSetupOverride, options.pinia, logger);
|
|
47
|
-
options.addModule('user', user, options.actionDispatcher, options.pluginPersistType(), options.pluginPersistSetup, options.pluginPersistConfig, options.pluginPersistSetupOverride, options.pinia, logger);
|
|
61
|
+
options.addModule('news', news, options.actionDispatcher, options.actionGetters, options.pluginPersistType(), options.pluginPersistSetup, options.pluginPersistConfig, options.pluginPersistSetupOverride, options.pinia, logger);
|
|
62
|
+
options.addModule('user', user, options.actionDispatcher, options.actionGetters, options.pluginPersistType(), options.pluginPersistSetup, options.pluginPersistConfig, options.pluginPersistSetupOverride, options.pinia, logger);
|
|
48
63
|
options.initModules();
|
|
49
64
|
GlobalUtility.$store.dispatcher = options.actionDispatcher;
|
|
65
|
+
GlobalUtility.$store.getters = options.actionGetters;
|
|
50
66
|
}
|
|
51
67
|
},
|
|
52
68
|
options: {
|
|
53
69
|
actionDispatcher: this.actionDispatcher,
|
|
70
|
+
actionGetters: this.actionGetters,
|
|
54
71
|
addModule: this._addModule,
|
|
55
72
|
initModules: this._initModules,
|
|
56
73
|
logger: logger,
|
|
@@ -59,25 +76,23 @@ class BaseStore {
|
|
|
59
76
|
pluginPersistSetupOverride: this._initPluginPersistConfigSetupOverride,
|
|
60
77
|
pluginPersistSetup: this._initPluginPersistConfigSetup,
|
|
61
78
|
pluginPersistType: this._initPluginPersistType,
|
|
62
|
-
storeConfig:
|
|
79
|
+
storeConfig: initialStoreConfig
|
|
63
80
|
}
|
|
64
81
|
};
|
|
65
82
|
}
|
|
66
83
|
|
|
67
|
-
_addModule(key, storeConfig, actionDispatcher, pluginPersistType, pluginPersistSetup, pluginPersistConfig, pluginPersistSetupOverride, pinia, logger) {
|
|
84
|
+
_addModule(key, storeConfig, actionDispatcher, actionGetters, pluginPersistType, pluginPersistSetup, pluginPersistConfig, pluginPersistSetupOverride, pinia, logger) {
|
|
68
85
|
if (pluginPersistType && pluginPersistSetup && pluginPersistConfig && pluginPersistConfig[key])
|
|
69
86
|
pluginPersistSetup(pluginPersistType, storeConfig, pluginPersistConfig['root'], pluginPersistSetupOverride);
|
|
70
87
|
actionDispatcher[key] = storeConfig.dispatcher;
|
|
71
88
|
delete storeConfig.dispatcher;
|
|
89
|
+
actionGetters[key] = storeConfig.getters;
|
|
90
|
+
delete storeConfig.getters;
|
|
72
91
|
const storeFunc = defineStore(key, storeConfig);
|
|
73
92
|
GlobalUtility.$store[key] = storeFunc(pinia);
|
|
74
93
|
GlobalUtility.$store[key].$logger = logger;
|
|
75
94
|
}
|
|
76
95
|
|
|
77
|
-
_init() {
|
|
78
|
-
throw new NotImplementedError();
|
|
79
|
-
}
|
|
80
|
-
|
|
81
96
|
_initModules() {
|
|
82
97
|
throw new NotImplementedError();
|
|
83
98
|
}
|
|
@@ -137,6 +152,104 @@ class BaseStore {
|
|
|
137
152
|
_initPluginPersistConfigSetupOverride(storeConfig, persistConfig) {
|
|
138
153
|
}
|
|
139
154
|
|
|
155
|
+
_initStoreConfig() {
|
|
156
|
+
throw new NotImplementedError();
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
_initStoreConfigBase() {
|
|
160
|
+
return {
|
|
161
|
+
state: () => ({
|
|
162
|
+
checksumLastUpdate: [],
|
|
163
|
+
openSource: [],
|
|
164
|
+
plans: [],
|
|
165
|
+
version: null
|
|
166
|
+
}),
|
|
167
|
+
actions: {
|
|
168
|
+
async requestOpenSource(correlationId) {
|
|
169
|
+
const openSourceCheck = GlobalUtility.$store.openSource;
|
|
170
|
+
if (openSourceCheck && Array.isArray(openSourceCheck) && openSourceCheck.length > 0)
|
|
171
|
+
return Response.success(openSourceCheck);
|
|
172
|
+
|
|
173
|
+
const service = GlobalUtility.$injector.getService(LibraryConstants.InjectorKeys.SERVICE_UTILITY);
|
|
174
|
+
const response = await service.openSource(correlationId);
|
|
175
|
+
this.$logger.debug('store', 'requestOpenSource', 'response', response, correlationId);
|
|
176
|
+
const openSource = response.results ? response.results : null;
|
|
177
|
+
if (Response.hasFailed(response))
|
|
178
|
+
return response;
|
|
179
|
+
this.setOpenSource(correlationId, openSource);
|
|
180
|
+
return Response.success(correlationId, openSource);
|
|
181
|
+
},
|
|
182
|
+
async requestPlans(correlationId) {
|
|
183
|
+
const service = GlobalUtility.$injector.getService(LibraryConstants.InjectorKeys.SERVICE_PLANS);
|
|
184
|
+
const response = await service.plans(correlationId);
|
|
185
|
+
this.$logger.debug('store', 'requestPlans', 'response', response, correlationId);
|
|
186
|
+
const plans = response.results ? response.results.data : [];
|
|
187
|
+
if (Response.hasFailed(response))
|
|
188
|
+
return response;
|
|
189
|
+
this.setPlans(correlationId, plans);
|
|
190
|
+
return Response.success(plans);
|
|
191
|
+
},
|
|
192
|
+
async initialize(correlationId) {
|
|
193
|
+
const service = GlobalUtility.$injector.getService(LibraryConstants.InjectorKeys.SERVICE_UTILITY);
|
|
194
|
+
const response = await service.initialize(correlationId);
|
|
195
|
+
if (Response.hasSucceeded(response)) {
|
|
196
|
+
this.setPlans(correlationId, response.results.plans);
|
|
197
|
+
this.setVersion(correlationId, response.results.version);
|
|
198
|
+
if (this._initialize)
|
|
199
|
+
this._intialize(correlationId, response.results);
|
|
200
|
+
}
|
|
201
|
+
},
|
|
202
|
+
async requestVersion(correlationId) {
|
|
203
|
+
const service = GlobalUtility.$injector.getService(LibraryConstants.InjectorKeys.SERVICE_VERSION);
|
|
204
|
+
const version = await service.version(correlationId);
|
|
205
|
+
this.setVersion(correlationId, version);
|
|
206
|
+
},
|
|
207
|
+
async setOpenSource(correlationId, openSource) {
|
|
208
|
+
this.$logger.debug('store', 'setOpenSource', 'openSource.a', openSource, correlationId);
|
|
209
|
+
this.$logger.debug('store', 'setOpenSource', 'openSource.b', this.openSource, correlationId);
|
|
210
|
+
this.openSource = openSource;
|
|
211
|
+
this.$logger.debug('store', 'setOpenSource', 'openSource.c', this.openSource, correlationId);
|
|
212
|
+
},
|
|
213
|
+
async setPlans(correlationId, plans) {
|
|
214
|
+
this.$logger.debug('store', 'setPlans', 'plans.a', plans, correlationId);
|
|
215
|
+
this.$logger.debug('store', 'setPlans', 'plans.b', this.plans, correlationId);
|
|
216
|
+
this.plans = plans;
|
|
217
|
+
this.$logger.debug('store', 'setPlans', 'plans.c', this.plans, correlationId);
|
|
218
|
+
},
|
|
219
|
+
async setVersion(correlationId, version) {
|
|
220
|
+
// this.$logger.debug('store', 'getVersion', 'version', version, correlationId);
|
|
221
|
+
// commit('setVersion', { correlationId: correlationId, version: version });
|
|
222
|
+
this.$logger.debug('store', 'setVersion', 'version', version, correlationId);
|
|
223
|
+
this.version = version;
|
|
224
|
+
}
|
|
225
|
+
},
|
|
226
|
+
getters: {
|
|
227
|
+
getOpenSource(correlationId) {
|
|
228
|
+
return GlobalUtility.$store.openSource;
|
|
229
|
+
},
|
|
230
|
+
getPlan(correlationId, id) {
|
|
231
|
+
if (GlobalUtility.$store.plans == null)
|
|
232
|
+
return null;
|
|
233
|
+
return GlobalUtility.$store.plans.find(plan => plan.id === id);
|
|
234
|
+
}
|
|
235
|
+
},
|
|
236
|
+
dispatcher: {
|
|
237
|
+
async requestOpenSource(correlationId) {
|
|
238
|
+
return await GlobalUtility.$store.requestOpenSource(correlationId);
|
|
239
|
+
},
|
|
240
|
+
async requestPlans(correlationId) {
|
|
241
|
+
return await GlobalUtility.$store.requestPlans(correlationId);
|
|
242
|
+
},
|
|
243
|
+
async requestVersion(correlationId) {
|
|
244
|
+
await GlobalUtility.$store.requestVersion(correlationId);
|
|
245
|
+
},
|
|
246
|
+
async initialize(correlationId) {
|
|
247
|
+
await GlobalUtility.$store.initialize(correlationId);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
|
|
140
253
|
static PersistanceTypeOverride = 'override';
|
|
141
254
|
static PersistanceTypePersist = 'persist';
|
|
142
255
|
static PersistanceTypePersist2 = 'persist2';
|
package/store/user/index.js
CHANGED
|
@@ -42,32 +42,28 @@ const store = {
|
|
|
42
42
|
async setUserLoggedIn(correlationId, isLoggedIn) {
|
|
43
43
|
this.isLoggedIn = isLoggedIn;
|
|
44
44
|
},
|
|
45
|
+
// async setUserSettings(correlationId, settings) {
|
|
46
|
+
// const service = GlobalUtility.$injector.getService(LibraryConstants.InjectorKeys.SERVICE_USER);
|
|
47
|
+
// settings = VueUtility.settings().mergeUser(correlationId, settings);
|
|
48
|
+
// const response = await service.updateSettings(correlationId, this.user, settings);
|
|
49
|
+
// this.$logger.debug('store.user', 'setUserSettings', 'response', response);
|
|
50
|
+
// if (Response.hasSucceeded(response) && response.results)
|
|
51
|
+
// this.setUser(correlationId, response.results);
|
|
52
|
+
// return response;
|
|
53
|
+
// },
|
|
45
54
|
async setUserSettings(correlationId, settings) {
|
|
46
55
|
const service = GlobalUtility.$injector.getService(LibraryConstants.InjectorKeys.SERVICE_USER);
|
|
47
|
-
settings = VueUtility.settings().mergeUser(
|
|
48
|
-
const response = await service.updateSettings(
|
|
56
|
+
settings = VueUtility.settings().mergeUser(correlationId, settings);
|
|
57
|
+
const response = await service.updateSettings(correlationId, this.user, settings);
|
|
49
58
|
this.$logger.debug('store.user', 'setUserSettings', 'response', response);
|
|
50
59
|
if (Response.hasSucceeded(response) && response.results)
|
|
51
|
-
this.
|
|
60
|
+
this.user = response.results;
|
|
52
61
|
return response;
|
|
53
62
|
},
|
|
54
|
-
async
|
|
55
|
-
const service = GlobalUtility.$injector.getService(LibraryConstants.InjectorKeys.SERVICE_USER);
|
|
56
|
-
settings = VueUtility.settings().mergeUser(params.correlationId, settings);
|
|
57
|
-
const response = await service.updateSettings(params.correlationId, this.user, settings);
|
|
58
|
-
this.$logger.debug('store.user', 'setUserSettings', 'response', response);
|
|
59
|
-
if (Response.hasSucceeded(response) && response.results) {
|
|
60
|
-
// commit('setUserSettings', { correlationId: params.correlationId, user: response.results });
|
|
61
|
-
const user = response.results;
|
|
62
|
-
user.settings = VueUtility.settings().mergeUser(correlationId, user.settings);
|
|
63
|
-
this.user = user;
|
|
64
|
-
}
|
|
65
|
-
return response;
|
|
66
|
-
},
|
|
67
|
-
async setTheme(correlationId, isLoggedIn) {
|
|
63
|
+
async setUserTheme(correlationId, isLoggedIn) {
|
|
68
64
|
this.theme = theme;
|
|
69
65
|
},
|
|
70
|
-
async
|
|
66
|
+
async setUserTokenResult(correlationId, tokenResult) {
|
|
71
67
|
this.$patch({
|
|
72
68
|
tokenResult: null,
|
|
73
69
|
token: tokenResult ? tokenResult.token : null
|
|
@@ -79,42 +75,48 @@ const store = {
|
|
|
79
75
|
this.user = user;
|
|
80
76
|
}
|
|
81
77
|
},
|
|
78
|
+
getters: {
|
|
79
|
+
getUser (correlationId) {
|
|
80
|
+
return GlobalUtility.$store.user.user;
|
|
81
|
+
},
|
|
82
|
+
getUserTheme (correlationId) {
|
|
83
|
+
return GlobalUtility.$store.theme;
|
|
84
|
+
},
|
|
85
|
+
getUserSettings(correlationId) {
|
|
86
|
+
if (GlobalUtility.$store.user.user && GlobalUtility.$store.user.user.settings)
|
|
87
|
+
return GlobalUtility.$store.user.user.settings;
|
|
88
|
+
|
|
89
|
+
const service = GlobalUtility.$injector.getService(LibraryConstants.InjectorKeys.SERVICE_USER);
|
|
90
|
+
return service.initializeSettings();
|
|
91
|
+
}
|
|
92
|
+
},
|
|
82
93
|
dispatcher: {
|
|
83
94
|
async refreshUserSettings(correlationId) {
|
|
84
|
-
|
|
85
|
-
await GlobalUtility.$store.user.refreshUserSettings(correlationId);
|
|
95
|
+
return await GlobalUtility.$store.user.refreshUserSettings(correlationId);
|
|
86
96
|
},
|
|
87
97
|
async resetUser(correlationId) {
|
|
88
|
-
// await GlobalUtility.$store.dispatch('resetUser', correlationId);
|
|
89
98
|
await GlobalUtility.$store.user.resetUser(correlationId);
|
|
90
99
|
},
|
|
91
|
-
async
|
|
92
|
-
// await GlobalUtility.$store.dispatch('setUserAuthCompleted', { correlationId: correlationId, authCompleted: authCompleted });
|
|
100
|
+
async setUserAuthCompleted(correlationId, authCompleted) {
|
|
93
101
|
await GlobalUtility.$store.user.setUserAuthCompleted(correlationId, authCompleted);
|
|
94
102
|
},
|
|
95
|
-
async
|
|
96
|
-
// await GlobalUtility.$store.dispatch('setUserClaims', { correlationId: correlationId, authCompleted: claims });
|
|
103
|
+
async setUserClaims(correlationId, claims) {
|
|
97
104
|
await GlobalUtility.$store.user.setUserClaims(correlationId, claims);
|
|
98
105
|
},
|
|
99
|
-
async
|
|
100
|
-
// await GlobalUtility.$store.dispatch('setUserLoggedIn', { correlationId: correlationId, isLoggedIn: isLoggedIn });
|
|
106
|
+
async setUserLoggedIn(correlationId, isLoggedIn) {
|
|
101
107
|
await GlobalUtility.$store.user.setUserLoggedIn(correlationId, isLoggedIn);
|
|
102
108
|
},
|
|
103
|
-
async
|
|
104
|
-
|
|
105
|
-
|
|
109
|
+
async setUserSettings(correlationId, settings) {
|
|
110
|
+
return await GlobalUtility.$store.user.setUserSettings(correlationId, settings);
|
|
111
|
+
},
|
|
112
|
+
async setUserTheme(correlationId, theme) {
|
|
113
|
+
await GlobalUtility.$store.user.setUserTheme(correlationId, theme);
|
|
106
114
|
},
|
|
107
|
-
async
|
|
108
|
-
|
|
109
|
-
await GlobalUtility.$store.user.setTokenResult(correlationId, tokenResult);
|
|
115
|
+
async setUserTokenResult(correlationId, tokenResult) {
|
|
116
|
+
await GlobalUtility.$store.user.setUserTokenResult(correlationId, tokenResult);
|
|
110
117
|
},
|
|
111
118
|
async setUser(correlationId, user) {
|
|
112
|
-
// await GlobalUtility.$store.dispatch('setUser', { correlationId: correlationId, user: user });
|
|
113
119
|
await GlobalUtility.$store.user.setUser(correlationId, user);
|
|
114
|
-
},
|
|
115
|
-
async setUserSettings(correlationId, settings) {
|
|
116
|
-
// return await GlobalUtility.$store.dispatch('setUserSettings', { correlationId: correlationId, settings: settings });
|
|
117
|
-
await GlobalUtility.$store.user.setUserSettings(correlationId, settings);
|
|
118
120
|
}
|
|
119
121
|
}
|
|
120
122
|
};
|