@tapni/auth 1.0.23 → 1.0.25

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.
Files changed (38) hide show
  1. package/dist/.vite/manifest.json +12 -12
  2. package/dist/{Apps-CDylX6XF.js → Apps-DRn32wko.js} +1 -1
  3. package/dist/{Billing-C7NEN6ly.js → Billing-DXzUPyml.js} +1 -1
  4. package/dist/{CustomApp-Bn5jb23U.js → CustomApp-BwG147po.js} +1 -1
  5. package/dist/{General-8V7ImNYJ.js → General-gY3lasGl.js} +1 -1
  6. package/dist/{QR-CAm_0ybY.js → QR-BX90Rc07.js} +1 -1
  7. package/dist/TapniAuth.es.js +1 -1
  8. package/dist/TapniAuth.umd.js +23 -23
  9. package/dist/{install-D44Xv90L.js → install-0j3SGM_o.js} +3425 -3646
  10. package/dist/style.css +1 -1
  11. package/package.json +2 -2
  12. package/src/App.vue +7 -8
  13. package/src/mixins/global.mixin.js +1 -1
  14. package/src/mixins/microsoft.mixin.js +1 -1
  15. package/src/mixins/okta.mixin.js +1 -1
  16. package/src/mixins/saml.mixin.js +2 -9
  17. package/src/services/UtilService.js +15 -15
  18. package/src/store/auth.js +390 -390
  19. package/src/store/locales/cn.js +33 -1
  20. package/src/store/locales/de.js +39 -1
  21. package/src/store/locales/es.js +34 -1
  22. package/src/store/locales/fr.js +34 -1
  23. package/src/store/locales/it.js +34 -1
  24. package/src/store/locales/kr.js +34 -1
  25. package/src/store/locales/sr.js +37 -1
  26. package/src/store/locales/tr.js +40 -1
  27. package/src/views/Account.vue +0 -2
  28. package/src/views/Security.vue +0 -1
  29. package/src/views/Welcome.vue +2 -7
  30. package/dist/blank.html +0 -31
  31. package/src/assets/index.css +0 -199
  32. package/src/components/DELETE_Language.vue +0 -168
  33. package/src/components/DELETE_LinkIcon.vue +0 -237
  34. package/src/components/DELETE_ModalOverlay.vue +0 -68
  35. package/src/components/DELETE_OTP.vue +0 -105
  36. package/src/components/DELETE_SSO.vue +0 -120
  37. package/src/components/DELETE_SSOPick.vue +0 -111
  38. package/src/mixins/DELETE_mfa-auth.mixin.js +0 -53
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,425 @@ 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
+ if (state.refreshing) {
269
+ return null;
270
+ }
241
271
 
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
- }
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] });
303
282
 
304
- dispatch('loginSuccess', { ...response, isModal: data.isModal });
283
+ setTimeout(() => {
284
+ return location.reload();
285
+ }, 1500)
286
+ }
305
287
 
306
- return true;
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');
307
302
  }
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
303
 
319
- return router.push('/account');
304
+ dispatch('loginSuccess', { ...response, isModal: data.isModal });
320
305
 
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} });
306
+ return true;
307
+ }
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
+ }
337
318
 
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
- ]);
319
+ return router.push('/account');
347
320
 
348
- if (response.isModal) {
349
- dispatch('successSnack', state.ssoLang[getters.appLanguage].success_login);
350
- setTimeout(() => {
351
- location.reload();
352
- }, 1500);
353
- }
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 } });
354
337
 
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,
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,
420
345
  },
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
- }
346
+ ]);
446
347
 
447
- if (state.$storex) {
448
- state.$storex.username = '';
449
- state.$storex.UserId = '';
450
- state.$storex.localUser = '';
451
- commit('setToken', '');
348
+ if (response.isModal) {
349
+ dispatch('successSnack', state.ssoLang[getters.appLanguage].success_login);
350
+ setTimeout(() => {
351
+ location.reload();
352
+ }, 1500);
452
353
  }
453
- commit('setLoggedInUserId', '');
454
354
 
455
- const remainingRefreshTokens = await dispatch('unsetRefreshToken', refreshToken);
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,
420
+ },
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
+ }
456
446
 
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);
447
+ if (state.$storex) {
448
+ state.$storex.username = '';
449
+ state.$storex.UserId = '';
450
+ state.$storex.localUser = '';
451
+ commit('setToken', '');
452
+ }
453
+ commit('setLoggedInUserId', '');
454
+
455
+ const remainingRefreshTokens = await dispatch('unsetRefreshToken', refreshToken);
456
+
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
+ });
497
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" });
498
477
  }
499
- },
500
- async loginUsingQR({ commit, dispatch }, data) {
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) {
501
491
  const [err, response] = await to(
502
- UserService.loginUsingQR(data)
492
+ AuthService.getLoggedInAccounts({ refreshTokens: getters.refreshTokens })
503
493
  );
504
494
  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;
495
+ if (response && response.data && response.data.success) {
496
+ dispatch('setLoggedInAccounts', response.data.accounts);
497
+ }
498
+ }
499
+ },
500
+ async loginUsingQR({ commit, dispatch }, data) {
501
+ const [err, response] = await to(
502
+ UserService.loginUsingQR(data)
503
+ );
504
+ 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;
519
519
 
520
- // Remove the specified refresh token from the list
521
- refreshTokens = refreshTokens?.filter((t) => t !== refreshToken);
520
+ // Remove the specified refresh token from the list
521
+ refreshTokens = refreshTokens?.filter((t) => t !== refreshToken);
522
522
 
523
- // Update the refresh tokens in the state
524
- commit('setRefreshTokens', refreshTokens.join(","));
523
+ // Update the refresh tokens in the state
524
+ commit('setRefreshTokens', refreshTokens.join(","));
525
525
 
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
- },
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
+ },
552
552
  },
553
553
  getters: {
554
554
  isLoggedIn: state => {
@@ -556,7 +556,7 @@ export default {
556
556
  },
557
557
  renderView: (state, getters, rootState) => {
558
558
  if (state.display !== "npm") {
559
- return rootState.route?.name;
559
+ return rootState.route?.name;
560
560
  } else return state.view;
561
561
  },
562
562
  appRealm: state => {
@@ -572,7 +572,7 @@ export default {
572
572
  return state.$storex.refreshTokens.split(',')
573
573
  },
574
574
  apiRoot: state => {
575
- return state.apiRoot;
575
+ return state.apiRoot;
576
576
  }
577
577
  }
578
578
  };