@nitra/vite-boot 3.3.1 → 3.4.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nitra/vite-boot",
3
- "version": "3.3.1",
3
+ "version": "3.4.0",
4
4
  "description": "Vite boot",
5
5
  "type": "module",
6
6
  "exports": {
package/src/login.js CHANGED
@@ -1,4 +1,4 @@
1
- import { checkToken, getToken } from './token.js'
1
+ import { getToken, checkToken } from './token.js'
2
2
  import { setUser } from './user.js'
3
3
  // import { router } from './router.js'
4
4
  // Використовуємо глобальну версію
@@ -6,28 +6,30 @@ import { router } from '@nitra/vite-boot/router'
6
6
 
7
7
  /**
8
8
  * Автоматичний вхід користувача
9
- *
10
- * @param {String} token
11
9
  */
12
- export async function autoLogin(token) {
13
- if (token) {
14
- const check = checkToken(token)
15
- if (check.result === 'ok') {
16
- await defaultLogin(check.decoded)
17
- }
10
+ export async function autoLogin() {
11
+ const token = getToken()
12
+ if (!token) {
13
+ return
14
+ }
15
+
16
+ const check = checkToken(token)
17
+ if (check.result !== 'ok') {
18
+ return
18
19
  }
20
+
21
+ return defaultLogin(check.decoded, token)
19
22
  }
20
23
 
21
24
  /**
22
25
  * Вхід аоб на попередню або на кореневу сторінку
23
26
  *
24
27
  * @param {Object} decoded
28
+ * @param {String} raw? - необов'язково, але потрібно якщо використовується localStorage
25
29
  */
26
- export async function defaultLogin(decoded) {
30
+ export async function defaultLogin(decoded, raw) {
27
31
  // Якщо задано що токен з localStorage
28
- if (import.meta.env.VITE_TOKEN_STORAGE) {
29
- return localStorage.setItem(import.meta.env.TOKEN_STORAGE, getToken())
30
- }
32
+ localStorage.setItem('__session', raw)
31
33
 
32
34
  setUser(decoded)
33
35
  const route = sessionStorage.getItem('url-before-logout') || '/'
package/src/token.js CHANGED
@@ -38,16 +38,15 @@ export function checkToken(token) {
38
38
  * Токен з кукі
39
39
  */
40
40
  export function getToken() {
41
- // Якщо задано що токен беремо з localStorage
42
- if (import.meta.env.VITE_TOKEN_STORAGE) {
43
- return localStorage.getItem(import.meta.env.TOKEN_STORAGE)
44
- }
45
-
46
41
  // інакше з кукі
47
42
  const cookieObj = new URLSearchParams(document.cookie.replaceAll('; ', '&')) // eslint-disable-line
48
43
  const token = cookieObj.get('__session')
44
+ if (token) {
45
+ return token
46
+ }
49
47
 
50
- return token
48
+ // Якщо задано що токен беремо з localStorage
49
+ return localStorage.getItem('__session')
51
50
  }
52
51
 
53
52
  /**
@@ -56,11 +55,8 @@ export function getToken() {
56
55
  export function cleanToken() {
57
56
  unsetUser()
58
57
 
59
- // Якщо задано що токен беремо з localStorage
60
- // то й видаляємо з localStorage
61
- if (import.meta.env.VITE_TOKEN_STORAGE) {
62
- return localStorage.removeItem(import.meta.env.TOKEN_STORAGE)
63
- }
58
+ // видаляємо з localStorage
59
+ localStorage.removeItem('__session')
64
60
 
65
61
  document.cookie = `__session=; Max-Age=0; path=/; domain=${import.meta.env.VITE_DOMAIN}` // eslint-disable-line
66
62
  }
@@ -101,7 +97,7 @@ export async function refreshToken() {
101
97
  // перезавантажуємо щоб він вступив в дію
102
98
  wsClient.restart()
103
99
  } else {
104
- await defaultLogin(check.decoded)
100
+ await defaultLogin(check.decoded, result.token)
105
101
  }
106
102
  }
107
103
  }