@tapni/auth 1.0.22 → 1.0.24

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/src/store/auth.js CHANGED
@@ -14,7 +14,7 @@ import sr from "../store/locales/sr.js";
14
14
  import tr from "../store/locales/tr.js";
15
15
  import cn from "../store/locales/cn.js";
16
16
  import kr from "../store/locales/kr.js";
17
- import {EventBus} from "@/store/event-bus.js";
17
+ import { EventBus } from "@/store/event-bus.js";
18
18
  import router from '../router/index.js';
19
19
  export default {
20
20
  namespaced: true,
@@ -96,7 +96,7 @@ export default {
96
96
  state.$storex.refreshTokens = refreshTokens;
97
97
  },
98
98
  setRefreshToken(state, token) {
99
- if(!token) return;
99
+ if (!token) return;
100
100
  let refreshTokens = state.$storex.refreshTokens ? state.$storex.refreshTokens.split(",") : [];
101
101
  refreshTokens = [token, ...refreshTokens.filter(t => t !== token)];
102
102
  state.$storex.refreshTokens = refreshTokens.join(",");
@@ -130,425 +130,426 @@ export default {
130
130
  },
131
131
  },
132
132
  actions: {
133
- async getAccountSettings({ state, commit, dispatch }) {
134
- const [err, response] = await to(
135
- AuthService.getAccountSettings()
136
- );
137
- if (err) return dispatch('errorHandler', err);
138
- if (response.data.success) {
139
- commit('setAccountSettings', response.data.data);
133
+ async getAccountSettings({ state, commit, dispatch }) {
134
+ const [err, response] = await to(
135
+ AuthService.getAccountSettings()
136
+ );
137
+ if (err) return dispatch('errorHandler', err);
138
+ if (response.data.success) {
139
+ commit('setAccountSettings', response.data.data);
140
+ }
141
+ },
142
+ setStorageItem({ commit }, item) {
143
+ commit('setStorageItem', item);
144
+ },
145
+ setStorage({ commit }, storage) {
146
+ commit('setStorage', storage);
147
+ },
148
+ errorHandler({ dispatch }, error) {
149
+ if (
150
+ error &&
151
+ error.response &&
152
+ error.response.data &&
153
+ error.response.data.error
154
+ ) {
155
+ if (error.response.data.error === "ACCESS_DENIED") {
156
+ return dispatch('logout');
140
157
  }
141
- },
142
- setStorageItem({ commit }, item) {
143
- commit('setStorageItem', item);
144
- },
145
- setStorage({ commit }, storage) {
146
- commit('setStorage', storage);
147
- },
148
- errorHandler({ dispatch }, error) {
149
- if (
150
- error &&
151
- error.response &&
152
- error.response.data &&
153
- error.response.data.error
154
- ) {
155
- if (error.response.data.error === "ACCESS_DENIED") {
156
- return dispatch('logout');
157
- }
158
158
 
159
- if (error.response.data.error === 'OTP_REQUIRED') {
160
- return EventBus.$emit('toggleOTPField', true);
161
- }
159
+ if (error.response.data.error === 'OTP_REQUIRED') {
160
+ return EventBus.$emit('toggleOTPField', true);
161
+ }
162
162
 
163
- // Link click network error bug fix
164
- if (
165
- !error.response.data.error.includes("Network Error") &&
166
- !error.response.data.error.includes("TOKEN_EXPIRED") &&
167
- !error.response.data.error.includes("Cannot read properties")
168
- ) {
169
- dispatch('errorSnack', error.response.data.error);
170
- }
163
+ // Link click network error bug fix
164
+ if (
165
+ !error.response.data.error.includes("Network Error") &&
166
+ !error.response.data.error.includes("TOKEN_EXPIRED") &&
167
+ !error.response.data.error.includes("Cannot read properties")
168
+ ) {
169
+ dispatch('errorSnack', error.response.data.error);
170
+ }
171
+ }
172
+ return error;
173
+ },
174
+ errorSnack({ commit }, message) {
175
+ let snackbar = document.getElementById("snackbar");
176
+ let errMessage = document.getElementById("errorMessage");
177
+ let errorSnack = document.getElementById("errorSnack");
178
+ errMessage.innerHTML = message;
179
+ snackbar.classList.add("show-snack");
180
+ errorSnack.classList.add("active-snack");
181
+ setTimeout(function () {
182
+ errorSnack.classList.remove("active-snack");
183
+ snackbar.classList.remove("show-snack");
184
+ }, 3000);
185
+ },
186
+ successSnack({ commit }, message) {
187
+ let snackbar = document.getElementById("snackbar");
188
+ let successMessage = document.getElementById("successMessage");
189
+ let successSnack = document.getElementById("successSnack");
190
+ successMessage.innerHTML = message;
191
+ snackbar.classList.add("show-snack");
192
+ successSnack.classList.add("active-snack");
193
+ setTimeout(function () {
194
+ successSnack.classList.remove("active-snack");
195
+ snackbar.classList.remove("show-snack");
196
+ }, 3000);
197
+ },
198
+ closeSnacks({ commit }) {
199
+ document.getElementById("snackbar").classList.remove("show-snack");
200
+ document.getElementById("successSnack").classList.remove("active-snack");
201
+ document.getElementById("errorSnack").classList.remove("active-snack");
202
+ },
203
+ async eventLog({ commit, dispatch }, data) {
204
+ const [err, response] = await to(
205
+ UserService.eventLog(data)
206
+ );
207
+ if (err) return dispatch('errorHandler', err);
208
+ return response;
209
+ },
210
+ async maintenance({ commit }) {
211
+ const [err, response] = await to(
212
+ axios.get("https://status.tapni.co/data/maintenance.json")
213
+ );
214
+ if (err) return console.error(err);
215
+ if (response) {
216
+ let maintenanceState = response.data;
217
+ if (typeof response.data === "string") {
218
+ maintenanceState = JSON.parse(response.data);
171
219
  }
172
- return error;
173
- },
174
- errorSnack({ commit }, message) {
175
- let snackbar = document.getElementById("snackbar");
176
- let errMessage = document.getElementById("errorMessage");
177
- let errorSnack = document.getElementById("errorSnack");
178
- errMessage.innerHTML = message;
179
- snackbar.classList.add("show-snack");
180
- errorSnack.classList.add("active-snack");
181
- setTimeout(function () {
182
- errorSnack.classList.remove("active-snack");
183
- snackbar.classList.remove("show-snack");
184
- }, 3000);
185
- },
186
- successSnack({ commit }, message) {
187
- let snackbar = document.getElementById("snackbar");
188
- let successMessage = document.getElementById("successMessage");
189
- let successSnack = document.getElementById("successSnack");
190
- successMessage.innerHTML = message;
191
- snackbar.classList.add("show-snack");
192
- successSnack.classList.add("active-snack");
193
- setTimeout(function () {
194
- successSnack.classList.remove("active-snack");
195
- snackbar.classList.remove("show-snack");
196
- }, 3000);
197
- },
198
- closeSnacks({ commit }) {
199
- document.getElementById("snackbar").classList.remove("show-snack");
200
- document.getElementById("successSnack").classList.remove("active-snack");
201
- document.getElementById("errorSnack").classList.remove("active-snack");
202
- },
203
- async eventLog({ commit, dispatch }, data) {
204
- const [err, response] = await to(
205
- UserService.eventLog(data)
206
- );
207
- if (err) return dispatch('errorHandler', err);
208
- return response;
209
- },
210
- async maintenance({ commit }) {
211
- const [err, response] = await to(
212
- axios.get("https://status.tapni.co/data/maintenance.json")
213
- );
214
- if (err) return console.error(err);
215
- if (response) {
216
- let maintenanceState = response.data;
217
- if (typeof response.data === "string") {
218
- maintenanceState = JSON.parse(response.data);
219
- }
220
220
 
221
- if (maintenanceState.api && maintenanceState.api.maintenanceActive) {
222
- location.href =
223
- "https://t.link/maintenance?msg=" + maintenanceState.api.msg;
224
- }
221
+ if (maintenanceState.api && maintenanceState.api.maintenanceActive) {
222
+ location.href =
223
+ "https://t.link/maintenance?msg=" + maintenanceState.api.msg;
225
224
  }
226
- },
227
- async loginSetup({ commit, dispatch }, response) {
228
- // Save Refresh Token
229
- if (response.data.refreshToken) commit('setRefreshToken', response.data.refreshToken);
225
+ }
226
+ },
227
+ async loginSetup({ commit, dispatch }, response) {
228
+ // Save Refresh Token
229
+ if (response.data.refreshToken) commit('setRefreshToken', response.data.refreshToken);
230
230
 
231
- // Save Access Token
232
- if (response.data.token) commit('setToken', response.data.token);
231
+ // Save Access Token
232
+ if (response.data.token) commit('setToken', response.data.token);
233
233
 
234
- commit('setLoggedInUserId', response.data.data.id);
234
+ commit('setLoggedInUserId', response.data.data.id);
235
235
 
236
- commit('setStorage', {
237
- UserId: response.data.data.id,
236
+ commit('setStorage', {
237
+ UserId: response.data.data.id,
238
+ username: response.data.data.username,
239
+ localUser: response.data.data
240
+ })
241
+
242
+ if (response.isModal === true) {
243
+ dispatch('setLoggedInAccounts', [
244
+ {
245
+ id: response.data.data.id,
238
246
  username: response.data.data.username,
239
- localUser: response.data.data
247
+ name: response.data.data.name,
248
+ refreshToken: response.data.refreshToken,
249
+ photo: response.data.data.photo,
250
+ },
251
+ ]);
252
+ }
253
+ },
254
+ async switchAccount({ commit, dispatch, state }, username) {
255
+ if (state.loggedInAccounts[username]) {
256
+ commit('setStorage', {
257
+ username: username,
258
+ UserId: state.loggedInAccounts[username].id,
259
+ localUser: state.loggedInAccounts[username]
240
260
  })
261
+ commit('setLoggedInUserId', state.loggedInAccounts[username].id);
262
+ commit('setRefreshToken', state.loggedInAccounts[username].refreshToken);
263
+ await dispatch('refreshTokenAction', state.loggedInAccounts[username]);
264
+ }
265
+ EventBus.$emit("ssoEvent", { name: "switchAccount", data: { username }, });
266
+ },
267
+ async refreshTokenAction({ dispatch, commit, state, getters }, data) {
268
+ console.log("refreshTokenAction", data);
269
+ if (state.refreshing) {
270
+ return null;
271
+ }
241
272
 
242
- if (response.isModal === true) {
243
- dispatch('setLoggedInAccounts', [
244
- {
245
- id: response.data.data.id,
246
- username: response.data.data.username,
247
- name: response.data.data.name,
248
- refreshToken: response.data.refreshToken,
249
- photo: response.data.data.photo,
250
- },
251
- ]);
252
- }
253
- },
254
- async switchAccount({ commit, dispatch, state }, username) {
255
- if (state.loggedInAccounts[username]) {
256
- commit('setStorage', {
257
- username: username,
258
- UserId: state.loggedInAccounts[username].id,
259
- localUser: state.loggedInAccounts[username]
260
- })
261
- commit('setLoggedInUserId', state.loggedInAccounts[username].id);
262
- commit('setRefreshToken', state.loggedInAccounts[username].refreshToken);
263
- await dispatch('refreshTokenAction', state.loggedInAccounts[username]);
264
- }
265
- EventBus.$emit("ssoEvent", { name: "switchAccount", data: { username }, });
266
- },
267
- async refreshTokenAction({ dispatch, commit, state, getters }, data) {
268
- if (state.refreshing) {
269
- return null;
270
- }
271
-
272
- state.refreshing = true;
273
- const [err, response] = await to(
274
- AuthService.refreshToken({
275
- id: data.id,
276
- refreshToken: getters.refreshTokens[0],
277
- refreshTokenAction: true
278
- })
279
- );
280
- if (err && err.response && err.response.data.error === "ACCESS_DENIED") {
281
- dispatch('logout', { refreshToken: getters.refreshTokens[0] });
282
-
283
- setTimeout(() => {
284
- return location.reload();
285
- }, 1500)
286
- }
287
-
288
- // Set new access token
289
- if (response && response.data) {
290
- commit('setToken', response.data.token);
291
- EventBus.$emit("ssoEvent", { name: "setStorage", data: state.$storex });
292
- }
293
- state.refreshing = false;
294
- },
295
- async login({ commit, state, dispatch }, data) {
296
- const [err, response] = await to(AuthService.login(data));
297
- if (err) return dispatch('errorHandler', err);
298
- if (response.data.success) {
299
- if (state.display !== 'popup') {
300
- dispatch('loginSetup', { ...response, isModal: data.isModal });
301
- await dispatch('getLoggedInAccounts');
302
- }
273
+ state.refreshing = true;
274
+ const [err, response] = await to(
275
+ AuthService.refreshToken({
276
+ id: data.id,
277
+ refreshToken: getters.refreshTokens[0],
278
+ refreshTokenAction: true
279
+ })
280
+ );
281
+ if (err && err.response && err.response.data.error === "ACCESS_DENIED") {
282
+ dispatch('logout', { refreshToken: getters.refreshTokens[0] });
303
283
 
304
- dispatch('loginSuccess', { ...response, isModal: data.isModal });
284
+ setTimeout(() => {
285
+ return location.reload();
286
+ }, 1500)
287
+ }
305
288
 
306
- return true;
289
+ // Set new access token
290
+ if (response && response.data) {
291
+ commit('setToken', response.data.token);
292
+ EventBus.$emit("ssoEvent", { name: "setStorage", data: state.$storex });
293
+ }
294
+ state.refreshing = false;
295
+ },
296
+ async login({ commit, state, dispatch }, data) {
297
+ const [err, response] = await to(AuthService.login(data));
298
+ if (err) return dispatch('errorHandler', err);
299
+ if (response.data.success) {
300
+ if (state.display !== 'popup') {
301
+ dispatch('loginSetup', { ...response, isModal: data.isModal });
302
+ await dispatch('getLoggedInAccounts');
307
303
  }
308
- },
309
- loginSuccess({ commit, state, dispatch, getters }, response) {
310
- if (state.display === "redirect") {
311
- if (state.redirect_uri &&
312
- !state.allowedOriginsAuth.some((domain) =>
313
- state.redirect_uri.startsWith(domain)
314
- )
315
- ) {
316
- return console.error("Redirect URI not allowed");
317
- }
318
304
 
319
- return router.push('/account');
305
+ dispatch('loginSuccess', { ...response, isModal: data.isModal });
320
306
 
321
- location.href = state.redirect_uri +
322
- "?code=" +
323
- response.data.auth_code +
324
- "&state=" +
325
- state.state;
326
- } else if (state.display === "popup") {
327
- state.allowedOriginsAuth.forEach((domain) => {
328
- window.parent?.postMessage(
329
- { code: response.data.auth_code, state: state.state },
330
- domain
331
- );
332
- });
333
- } else if (state.display === 'npm') {
334
- EventBus.$emit('ssoEvent', {name: 'setLoading', data: true})
335
- EventBus.$emit("ssoEvent", { name: "setStorage", data: state.$storex });
336
- EventBus.$emit("ssoEvent", { name: "getUser", data: {username: response.data.data.username} });
307
+ return true;
308
+ }
309
+ },
310
+ loginSuccess({ commit, state, dispatch, getters }, response) {
311
+ if (state.display === "redirect") {
312
+ if (state.redirect_uri &&
313
+ !state.allowedOriginsAuth.some((domain) =>
314
+ state.redirect_uri.startsWith(domain)
315
+ )
316
+ ) {
317
+ return console.error("Redirect URI not allowed");
318
+ }
337
319
 
338
- dispatch('setLoggedInAccounts', [
339
- {
340
- id: response.data.data.id,
341
- username: response.data.data.username,
342
- name: response.data.data.name,
343
- refreshToken: response.data.refreshToken,
344
- photo: response.data.data.photo,
345
- },
346
- ]);
320
+ return router.push('/account');
347
321
 
348
- if (response.isModal) {
349
- dispatch('successSnack', state.ssoLang[getters.appLanguage].success_login);
350
- setTimeout(() => {
351
- location.reload();
352
- }, 1500);
353
- }
322
+ location.href = state.redirect_uri +
323
+ "?code=" +
324
+ response.data.auth_code +
325
+ "&state=" +
326
+ state.state;
327
+ } else if (state.display === "popup") {
328
+ state.allowedOriginsAuth.forEach((domain) => {
329
+ window.parent?.postMessage(
330
+ { code: response.data.auth_code, state: state.state },
331
+ domain
332
+ );
333
+ });
334
+ } else if (state.display === 'npm') {
335
+ EventBus.$emit('ssoEvent', { name: 'setLoading', data: true })
336
+ EventBus.$emit("ssoEvent", { name: "setStorage", data: state.$storex });
337
+ EventBus.$emit("ssoEvent", { name: "getUser", data: { username: response.data.data.username } });
354
338
 
355
- EventBus.$emit("ssoEvent", { name: "redirect", data: "/" + response.data.data.username + "#edit" });
356
- }
357
- },
358
- async register({ commit, dispatch }, data) {
359
- const [err, response] = await to(
360
- AuthService.register(data)
361
- );
362
- if (err) return dispatch('errorHandler', err);
363
- return response;
364
- },
365
- async verify({ commit, dispatch }, data) {
366
- const [err, response] = await to(AuthService.verify(data));
367
- if (err) return dispatch('errorHandler', err);
368
- return response;
369
- },
370
- async reset({ commit, state, getters, dispatch }, data) {
371
- const [err, response] = await to(
372
- AuthService.sendResetEmail(data)
373
- );
374
- if (err) return dispatch('errorHandler', err);
375
- if (response.data.success) {
376
- dispatch('successSnack', state.ssoLang[getters.appLanguage].password_reset_success);
377
- }
378
- },
379
- async exchangeAuthCode({ commit, dispatch }, data) {
380
- const [err, response] = await to(AuthService.exchangeAuthCode(data));
381
- if (err) return dispatch('errorHandler', err);
382
- await dispatch('loginSetup', response);
383
- await dispatch('getLoggedInAccounts');
384
- dispatch('loginSuccess', response);
385
- },
386
- async changePassword({ commit, dispatch }, data) {
387
- const [err, response] = await to(
388
- AuthService.changePassword(data)
389
- );
390
- if (err) return dispatch('errorHandler', err);
391
- return response.data.success;
392
- },
393
- async newPassword({ commit, dispatch }, data) {
394
- const [err, response] = await to(
395
- UserService.newPassword(data)
396
- );
397
- if (err) return dispatch('errorHandler', err);
398
- return response.data.success;
399
- },
400
- async deleteAccount({ commit, dispatch }, data) {
401
- const [err, response] = await to(
402
- UserService.deleteAccount(data)
403
- );
404
- if (err) return dispatch('errorHandler', err);
405
- return response.data.success;
406
- },
407
- async registerDevice({ commit, dispatch }) {
408
- const deviceID = await Device.getId();
409
- const deviceInfo = await Device.getInfo();
410
- let deviceData = {
411
- device_id: deviceID.uuid,
412
- platform: deviceInfo.platform,
413
- device_info: {
414
- model: deviceInfo.model,
415
- manufacturer: deviceInfo.manufacturer,
416
- operatingSystem: deviceInfo.operatingSystem,
417
- osVersion: deviceInfo.osVersion,
418
- isVirtual: deviceInfo.isVirtual,
419
- webViewVersion: deviceInfo.webViewVersion,
339
+ dispatch('setLoggedInAccounts', [
340
+ {
341
+ id: response.data.data.id,
342
+ username: response.data.data.username,
343
+ name: response.data.data.name,
344
+ refreshToken: response.data.refreshToken,
345
+ photo: response.data.data.photo,
420
346
  },
421
- };
422
- const [err, response] = await to(
423
- DeviceService.registerDevice(deviceData)
424
- );
425
- if (err) return dispatch('errorHandler', err);
426
- return response;
427
- },
428
- async addFcmToken({ commit, dispatch }, data) {
429
- const [err, response] = await to(
430
- DeviceService.addFcmToken(data)
431
- );
432
- if (err) return dispatch('errorHandler', err);
433
- return response;
434
- },
435
- async acceptCompanyInvitation({ commit, dispatch }, code) {
436
- const [err, response] = await to(
437
- CompanyService.acceptCompanyInvitation(code)
438
- );
439
- if (err) return dispatch('errorHandler', err);
440
- return response;
441
- },
442
- async logout({ commit, dispatch, state }, { refreshToken, sendRequest = true }) {
443
- if (sendRequest && refreshToken) {
444
- AuthService.logout({ token: refreshToken });
445
- }
347
+ ]);
446
348
 
447
- if (state.$storex) {
448
- state.$storex.username = '';
449
- state.$storex.UserId = '';
450
- state.$storex.localUser = '';
451
- commit('setToken', '');
349
+ if (response.isModal) {
350
+ dispatch('successSnack', state.ssoLang[getters.appLanguage].success_login);
351
+ setTimeout(() => {
352
+ location.reload();
353
+ }, 1500);
452
354
  }
453
- commit('setLoggedInUserId', '');
454
355
 
455
- const remainingRefreshTokens = await dispatch('unsetRefreshToken', refreshToken);
356
+ EventBus.$emit("ssoEvent", { name: "redirect", data: "/" + response.data.data.username + "#edit" });
357
+ }
358
+ },
359
+ async register({ commit, dispatch }, data) {
360
+ const [err, response] = await to(
361
+ AuthService.register(data)
362
+ );
363
+ if (err) return dispatch('errorHandler', err);
364
+ return response;
365
+ },
366
+ async verify({ commit, dispatch }, data) {
367
+ const [err, response] = await to(AuthService.verify(data));
368
+ if (err) return dispatch('errorHandler', err);
369
+ return response;
370
+ },
371
+ async reset({ commit, state, getters, dispatch }, data) {
372
+ const [err, response] = await to(
373
+ AuthService.sendResetEmail(data)
374
+ );
375
+ if (err) return dispatch('errorHandler', err);
376
+ if (response.data.success) {
377
+ dispatch('successSnack', state.ssoLang[getters.appLanguage].password_reset_success);
378
+ }
379
+ },
380
+ async exchangeAuthCode({ commit, dispatch }, data) {
381
+ const [err, response] = await to(AuthService.exchangeAuthCode(data));
382
+ if (err) return dispatch('errorHandler', err);
383
+ await dispatch('loginSetup', response);
384
+ await dispatch('getLoggedInAccounts');
385
+ dispatch('loginSuccess', response);
386
+ },
387
+ async changePassword({ commit, dispatch }, data) {
388
+ const [err, response] = await to(
389
+ AuthService.changePassword(data)
390
+ );
391
+ if (err) return dispatch('errorHandler', err);
392
+ return response.data.success;
393
+ },
394
+ async newPassword({ commit, dispatch }, data) {
395
+ const [err, response] = await to(
396
+ UserService.newPassword(data)
397
+ );
398
+ if (err) return dispatch('errorHandler', err);
399
+ return response.data.success;
400
+ },
401
+ async deleteAccount({ commit, dispatch }, data) {
402
+ const [err, response] = await to(
403
+ UserService.deleteAccount(data)
404
+ );
405
+ if (err) return dispatch('errorHandler', err);
406
+ return response.data.success;
407
+ },
408
+ async registerDevice({ commit, dispatch }) {
409
+ const deviceID = await Device.getId();
410
+ const deviceInfo = await Device.getInfo();
411
+ let deviceData = {
412
+ device_id: deviceID.uuid,
413
+ platform: deviceInfo.platform,
414
+ device_info: {
415
+ model: deviceInfo.model,
416
+ manufacturer: deviceInfo.manufacturer,
417
+ operatingSystem: deviceInfo.operatingSystem,
418
+ osVersion: deviceInfo.osVersion,
419
+ isVirtual: deviceInfo.isVirtual,
420
+ webViewVersion: deviceInfo.webViewVersion,
421
+ },
422
+ };
423
+ const [err, response] = await to(
424
+ DeviceService.registerDevice(deviceData)
425
+ );
426
+ if (err) return dispatch('errorHandler', err);
427
+ return response;
428
+ },
429
+ async addFcmToken({ commit, dispatch }, data) {
430
+ const [err, response] = await to(
431
+ DeviceService.addFcmToken(data)
432
+ );
433
+ if (err) return dispatch('errorHandler', err);
434
+ return response;
435
+ },
436
+ async acceptCompanyInvitation({ commit, dispatch }, code) {
437
+ const [err, response] = await to(
438
+ CompanyService.acceptCompanyInvitation(code)
439
+ );
440
+ if (err) return dispatch('errorHandler', err);
441
+ return response;
442
+ },
443
+ async logout({ commit, dispatch, state }, { refreshToken, sendRequest = true }) {
444
+ if (sendRequest && refreshToken) {
445
+ AuthService.logout({ token: refreshToken });
446
+ }
456
447
 
457
- if (remainingRefreshTokens.length >= 1) {
458
- Object.keys(state.loggedInAccounts).forEach((username) => {
459
- if (state.loggedInAccounts[username].refreshToken === remainingRefreshTokens[0]) {
460
- commit('setStorage', {
461
- username: username,
462
- UserId: state.loggedInAccounts[username].id,
463
- localUser: state.loggedInAccounts[username]
464
- })
465
- commit('setRefreshToken', remainingRefreshTokens[0]);
466
- commit('setLoggedInUserId', state.loggedInAccounts[username].id);
467
- dispatch('refreshTokenAction', state.loggedInAccounts[username]).then(() => {
468
- EventBus.$emit("ssoEvent", { name: "switchAccount", data: { username }, });
469
- });
470
- }
471
- });
472
- } else {
473
- if (state.display === "redirect") {
474
- return router.push('/welcome');
475
- } else if (state.display === "npm") {
476
- EventBus.$emit("ssoEvent", { name: "redirect", data: "/welcome" });
477
- }
478
- }
479
- },
480
- async getCompanyBySSOEmail({ commit, dispatch }, data) {
481
- const [err, response] = await to(
482
- CompanyService.getBySSOEmail(data.email)
483
- );
484
- if (err) return dispatch('errorHandler', err);
485
- if (response.data.success) {
486
- return response.data;
487
- }
488
- },
489
- async getLoggedInAccounts({ getters, dispatch }) {
490
- if (getters.refreshTokens && getters.refreshTokens.length >= 1) {
491
- const [err, response] = await to(
492
- AuthService.getLoggedInAccounts({ refreshTokens: getters.refreshTokens })
493
- );
494
- if (err) return dispatch('errorHandler', err);
495
- if (response && response.data && response.data.success) {
496
- dispatch('setLoggedInAccounts', response.data.accounts);
448
+ if (state.$storex) {
449
+ state.$storex.username = '';
450
+ state.$storex.UserId = '';
451
+ state.$storex.localUser = '';
452
+ commit('setToken', '');
453
+ }
454
+ commit('setLoggedInUserId', '');
455
+
456
+ const remainingRefreshTokens = await dispatch('unsetRefreshToken', refreshToken);
457
+
458
+ if (remainingRefreshTokens.length >= 1) {
459
+ Object.keys(state.loggedInAccounts).forEach((username) => {
460
+ if (state.loggedInAccounts[username].refreshToken === remainingRefreshTokens[0]) {
461
+ commit('setStorage', {
462
+ username: username,
463
+ UserId: state.loggedInAccounts[username].id,
464
+ localUser: state.loggedInAccounts[username]
465
+ })
466
+ commit('setRefreshToken', remainingRefreshTokens[0]);
467
+ commit('setLoggedInUserId', state.loggedInAccounts[username].id);
468
+ dispatch('refreshTokenAction', state.loggedInAccounts[username]).then(() => {
469
+ EventBus.$emit("ssoEvent", { name: "switchAccount", data: { username }, });
470
+ });
497
471
  }
472
+ });
473
+ } else {
474
+ if (state.display === "redirect") {
475
+ return router.push('/welcome');
476
+ } else if (state.display === "npm") {
477
+ EventBus.$emit("ssoEvent", { name: "redirect", data: "/welcome" });
498
478
  }
499
- },
500
- async loginUsingQR({ commit, dispatch }, data) {
479
+ }
480
+ },
481
+ async getCompanyBySSOEmail({ commit, dispatch }, data) {
482
+ const [err, response] = await to(
483
+ CompanyService.getBySSOEmail(data.email)
484
+ );
485
+ if (err) return dispatch('errorHandler', err);
486
+ if (response.data.success) {
487
+ return response.data;
488
+ }
489
+ },
490
+ async getLoggedInAccounts({ getters, dispatch }) {
491
+ if (getters.refreshTokens && getters.refreshTokens.length >= 1) {
501
492
  const [err, response] = await to(
502
- UserService.loginUsingQR(data)
493
+ AuthService.getLoggedInAccounts({ refreshTokens: getters.refreshTokens })
503
494
  );
504
495
  if (err) return dispatch('errorHandler', err);
505
- return response.data.success;
506
- },
507
- setLoggedInAccounts({ commit }, accounts) {
508
- commit('setLoggedInAccounts', accounts);
509
- EventBus.$emit("ssoEvent", { name: "setLoggedInAccounts", data: accounts });
510
- },
511
- setLoggedInUserId({ commit }, id) {
512
- commit('setLoggedInUserId', id);
513
- },
514
- setRefreshToken({ commit }, token) {
515
- commit('setRefreshToken', token);
516
- },
517
- async unsetRefreshToken({ commit, state, dispatch, getters }, refreshToken) {
518
- let refreshTokens = getters.refreshTokens;
496
+ if (response && response.data && response.data.success) {
497
+ dispatch('setLoggedInAccounts', response.data.accounts);
498
+ }
499
+ }
500
+ },
501
+ async loginUsingQR({ commit, dispatch }, data) {
502
+ const [err, response] = await to(
503
+ UserService.loginUsingQR(data)
504
+ );
505
+ if (err) return dispatch('errorHandler', err);
506
+ return response.data.success;
507
+ },
508
+ setLoggedInAccounts({ commit }, accounts) {
509
+ commit('setLoggedInAccounts', accounts);
510
+ EventBus.$emit("ssoEvent", { name: "setLoggedInAccounts", data: accounts });
511
+ },
512
+ setLoggedInUserId({ commit }, id) {
513
+ commit('setLoggedInUserId', id);
514
+ },
515
+ setRefreshToken({ commit }, token) {
516
+ commit('setRefreshToken', token);
517
+ },
518
+ async unsetRefreshToken({ commit, state, dispatch, getters }, refreshToken) {
519
+ let refreshTokens = getters.refreshTokens;
519
520
 
520
- // Remove the specified refresh token from the list
521
- refreshTokens = refreshTokens?.filter((t) => t !== refreshToken);
521
+ // Remove the specified refresh token from the list
522
+ refreshTokens = refreshTokens?.filter((t) => t !== refreshToken);
522
523
 
523
- // Update the refresh tokens in the state
524
- commit('setRefreshTokens', refreshTokens.join(","));
524
+ // Update the refresh tokens in the state
525
+ commit('setRefreshTokens', refreshTokens.join(","));
525
526
 
526
- return refreshTokens;
527
- },
528
- setToken({ commit }, token) {
529
- commit('setToken', token);
530
- },
531
- updateLang({ commit }, lang) {
532
- commit('updateLang', lang);
533
- },
534
- setView({ commit }, view) {
535
- commit('setView', view);
536
- },
537
- setRedirectUri({ commit }, uri) {
538
- commit('setRedirectUri', uri);
539
- },
540
- setDisplay({ commit }, display) {
541
- commit('setDisplay', display);
542
- },
543
- setState({ commit }, stateValue) {
544
- commit('setState', stateValue);
545
- },
546
- setResponseType({ commit }, responseType) {
547
- commit('setResponseType', responseType);
548
- },
549
- setRealm({ commit }, realm) {
550
- commit('setRealm', realm);
551
- },
527
+ return refreshTokens;
528
+ },
529
+ setToken({ commit }, token) {
530
+ commit('setToken', token);
531
+ },
532
+ updateLang({ commit }, lang) {
533
+ commit('updateLang', lang);
534
+ },
535
+ setView({ commit }, view) {
536
+ commit('setView', view);
537
+ },
538
+ setRedirectUri({ commit }, uri) {
539
+ commit('setRedirectUri', uri);
540
+ },
541
+ setDisplay({ commit }, display) {
542
+ commit('setDisplay', display);
543
+ },
544
+ setState({ commit }, stateValue) {
545
+ commit('setState', stateValue);
546
+ },
547
+ setResponseType({ commit }, responseType) {
548
+ commit('setResponseType', responseType);
549
+ },
550
+ setRealm({ commit }, realm) {
551
+ commit('setRealm', realm);
552
+ },
552
553
  },
553
554
  getters: {
554
555
  isLoggedIn: state => {
@@ -556,7 +557,7 @@ export default {
556
557
  },
557
558
  renderView: (state, getters, rootState) => {
558
559
  if (state.display !== "npm") {
559
- return rootState.route?.name;
560
+ return rootState.route?.name;
560
561
  } else return state.view;
561
562
  },
562
563
  appRealm: state => {
@@ -572,7 +573,7 @@ export default {
572
573
  return state.$storex.refreshTokens.split(',')
573
574
  },
574
575
  apiRoot: state => {
575
- return state.apiRoot;
576
+ return state.apiRoot;
576
577
  }
577
578
  }
578
579
  };