w-web-perm 1.0.18 → 1.0.20

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.
@@ -925,7 +925,7 @@
925
925
  <br class="clear">
926
926
 
927
927
  <footer>
928
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Tue Sep 24 2024 19:01:38 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
928
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Tue Sep 24 2024 20:19:15 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
929
929
  </footer>
930
930
 
931
931
  <script>prettyPrint();</script>
@@ -414,6 +414,7 @@ function WWebPerm(WOrm, url, db, getUserByToken, verifyBrowserUser, verifyAppUse
414
414
 
415
415
  //getTokenUser
416
416
  let getTokenUser = async(token) => {
417
+ //基於token查找使用者, 會基於外部getUserByToken以及perm內部users進行查找並比對
417
418
 
418
419
  //userSelf
419
420
  let userSelf = null
@@ -523,9 +524,24 @@ function WWebPerm(WOrm, url, db, getUserByToken, verifyBrowserUser, verifyAppUse
523
524
 
524
525
  //getAndVerifyAppTokenUser
525
526
  let getAndVerifyAppTokenUser = async (token, caller = '') => {
527
+ //基於token查找使用者, 會基於外部getUserByToken進行查找, 故只要getUserByToken提供使用者即可, 可支援getUserByToken給予針對應用程式所產生之虛擬使用者
526
528
 
527
- //getTokenUser
528
- let userSelf = await getTokenUser(token)
529
+ //userSelf
530
+ let userSelf = null
531
+ if (isestr(token)) {
532
+ userSelf = getUserByToken(token)
533
+ if (ispm(userSelf)) {
534
+ userSelf = await userSelf
535
+ }
536
+ }
537
+ // console.log('userSelf', userSelf)
538
+
539
+ //check
540
+ if (!iseobj(userSelf)) {
541
+ console.log(`token`, token)
542
+ console.log(`can not find the user from token`)
543
+ return Promise.reject(`can not find the user from token`)
544
+ }
529
545
 
530
546
  //verifyAppUser
531
547
  let b = verifyAppUser(userSelf, caller)
@@ -1160,7 +1176,7 @@ export default WWebPerm
1160
1176
  <br class="clear">
1161
1177
 
1162
1178
  <footer>
1163
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Tue Sep 24 2024 19:01:38 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
1179
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Tue Sep 24 2024 20:19:15 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
1164
1180
  </footer>
1165
1181
 
1166
1182
  <script>prettyPrint();</script>
package/docs/index.html CHANGED
@@ -71,7 +71,7 @@
71
71
  <br class="clear">
72
72
 
73
73
  <footer>
74
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Tue Sep 24 2024 19:01:38 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
74
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Tue Sep 24 2024 20:19:15 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
75
75
  </footer>
76
76
 
77
77
  <script>prettyPrint();</script>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "w-web-perm",
3
- "version": "1.0.18",
3
+ "version": "1.0.20",
4
4
  "main": "dist/w-web-perm.umd.js",
5
5
  "dependencies": {
6
6
  "@mdi/js": "^7.4.47",
@@ -367,6 +367,7 @@ function WWebPerm(WOrm, url, db, getUserByToken, verifyBrowserUser, verifyAppUse
367
367
 
368
368
  //getTokenUser
369
369
  let getTokenUser = async(token) => {
370
+ //基於token查找使用者, 會基於外部getUserByToken以及perm內部users進行查找並比對
370
371
 
371
372
  //userSelf
372
373
  let userSelf = null
@@ -476,9 +477,24 @@ function WWebPerm(WOrm, url, db, getUserByToken, verifyBrowserUser, verifyAppUse
476
477
 
477
478
  //getAndVerifyAppTokenUser
478
479
  let getAndVerifyAppTokenUser = async (token, caller = '') => {
480
+ //基於token查找使用者, 會基於外部getUserByToken進行查找, 故只要getUserByToken提供使用者即可, 可支援getUserByToken給予針對應用程式所產生之虛擬使用者
479
481
 
480
- //getTokenUser
481
- let userSelf = await getTokenUser(token)
482
+ //userSelf
483
+ let userSelf = null
484
+ if (isestr(token)) {
485
+ userSelf = getUserByToken(token)
486
+ if (ispm(userSelf)) {
487
+ userSelf = await userSelf
488
+ }
489
+ }
490
+ // console.log('userSelf', userSelf)
491
+
492
+ //check
493
+ if (!iseobj(userSelf)) {
494
+ console.log(`token`, token)
495
+ console.log(`can not find the user from token`)
496
+ return Promise.reject(`can not find the user from token`)
497
+ }
482
498
 
483
499
  //verifyAppUser
484
500
  let b = verifyAppUser(userSelf, caller)
package/src/perm.mjs CHANGED
@@ -12,6 +12,9 @@ function perm() {
12
12
 
13
13
  //pmd
14
14
  let pmd = null
15
+ let _user = {}
16
+ let _rules = []
17
+ let _kpRule = {}
15
18
 
16
19
  //conn
17
20
  let conn = (url, opt = {}) => {
@@ -43,6 +46,9 @@ function perm() {
43
46
  .then((res) => {
44
47
  // console.log('perm.getPerm then', res)
45
48
  pmd = res
49
+ genUser()
50
+ genRules()
51
+ genKpRule()
46
52
  if (isfun(permSuccess)) {
47
53
  permSuccess(pmd)
48
54
  }
@@ -59,48 +65,52 @@ function perm() {
59
65
  return pm
60
66
  }
61
67
 
62
- //user
63
- let user = get(pmd, `user`, {})
68
+ let genUser = () => {
69
+ _user = get(pmd, `user`, {})
70
+ }
64
71
 
65
- //rules
66
- let rules = get(pmd, `rules`, [])
72
+ let genRules = () => {
73
+ _rules = get(pmd, `rules`, [])
74
+ }
67
75
 
68
- //kpRule
69
- let kpRule = {}
70
- each(rules, (v) => {
76
+ let genKpRule = () => {
77
+ let kpRule = {}
78
+ each(_rules, (v) => {
71
79
 
72
- //name
73
- let name = get(v, 'name', '')
74
- if (!isestr(name)) {
75
- return true //跳出換下一個
76
- }
80
+ //name
81
+ let name = get(v, 'name', '')
82
+ if (!isestr(name)) {
83
+ return true //跳出換下一個
84
+ }
77
85
 
78
- //isActive
79
- let _isActive = get(v, 'isActive', '')
80
- let isActive = _isActive === 'y' ? 'y' : 'n'
86
+ //isActive
87
+ let _isActive = get(v, 'isActive', '')
88
+ let isActive = _isActive === 'y' ? 'y' : 'n'
81
89
 
82
- //save
83
- kpRule[name] = isActive
90
+ //save
91
+ kpRule[name] = isActive
84
92
 
85
- })
93
+ })
94
+ _kpRule = kpRule
95
+ }
86
96
 
87
97
  //kp
88
98
  let kp = {
89
99
  conn,
90
100
  getUser: () => {
91
- return user
101
+ return _user
92
102
  },
93
103
  getRules: () => {
94
- return rules
104
+ return _rules
95
105
  },
96
106
  getKpRule: () => {
97
- return kpRule
107
+ return _kpRule
98
108
  },
99
109
  // rule: (key) => {
100
- // return get(kpRule, key, '')
110
+ // return get(_kpRule, key, '')
101
111
  // },
102
112
  active: (key) => {
103
- let _isActive = get(kpRule, key, '')
113
+ let _isActive = get(_kpRule, key, '')
104
114
  let isActive = _isActive === 'y' ? 'y' : 'n'
105
115
  return isActive
106
116
  },