w-web-api 1.0.40 → 1.0.42
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/dist/w-web-api.umd.js +2 -2
- package/dist/w-web-api.umd.js.map +1 -1
- package/docs/WWebApi.html +1 -1
- package/docs/WWebApi.mjs.html +38 -22
- package/docs/index.html +1 -1
- package/package.json +1 -1
- package/server/WWebApi.mjs +37 -21
- package/server/provideApis.mjs +15 -12
package/docs/WWebApi.html
CHANGED
|
@@ -885,7 +885,7 @@
|
|
|
885
885
|
<br class="clear">
|
|
886
886
|
|
|
887
887
|
<footer>
|
|
888
|
-
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Mon Jul 14 2025
|
|
888
|
+
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Mon Jul 14 2025 20:34:11 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
|
|
889
889
|
</footer>
|
|
890
890
|
|
|
891
891
|
<script>prettyPrint();</script>
|
package/docs/WWebApi.mjs.html
CHANGED
|
@@ -363,49 +363,65 @@ function WWebApi(WOrm, url, db, getUserByToken, verifyClientUser, verifyAppUser,
|
|
|
363
363
|
}
|
|
364
364
|
|
|
365
365
|
|
|
366
|
-
//
|
|
367
|
-
let
|
|
366
|
+
//getAndVerifyClientUser
|
|
367
|
+
let getAndVerifyClientUser = async (token, from = '') => {
|
|
368
|
+
//基於token查找client使用者, 會基於外部getUserByToken以及perm內部users進行查找並比對
|
|
368
369
|
|
|
369
370
|
//getTokenUser
|
|
370
|
-
let
|
|
371
|
+
let user = await getTokenUser(token)
|
|
371
372
|
|
|
372
373
|
//verifyClientUser
|
|
373
|
-
let b = verifyClientUser(
|
|
374
|
+
let b = verifyClientUser(user, from)
|
|
374
375
|
if (ispm(b)) {
|
|
375
376
|
b = await b
|
|
376
377
|
}
|
|
377
378
|
|
|
378
379
|
//check
|
|
379
380
|
if (!b) {
|
|
380
|
-
console.log('
|
|
381
|
+
console.log('user', user)
|
|
381
382
|
console.log(`user does not have permission`)
|
|
382
383
|
return Promise.reject(`user does not have permission`)
|
|
383
384
|
}
|
|
384
385
|
|
|
385
|
-
return
|
|
386
|
+
return user
|
|
386
387
|
}
|
|
387
388
|
|
|
388
389
|
|
|
389
|
-
//
|
|
390
|
-
let
|
|
390
|
+
//getAndVerifyAppUser
|
|
391
|
+
let getAndVerifyAppUser = async (token, from = '') => {
|
|
392
|
+
//基於token查找app使用者, 會基於外部getUserByToken進行查找, 故只要getUserByToken提供使用者即可, 可支援getUserByToken給予針對應用程式所產生之虛擬使用者
|
|
391
393
|
|
|
392
|
-
//
|
|
393
|
-
let
|
|
394
|
+
//user
|
|
395
|
+
let user = null
|
|
396
|
+
if (isestr(token)) {
|
|
397
|
+
user = getUserByToken(token)
|
|
398
|
+
if (ispm(user)) {
|
|
399
|
+
user = await user
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
// console.log('user', user)
|
|
403
|
+
|
|
404
|
+
//check
|
|
405
|
+
if (!iseobj(user)) {
|
|
406
|
+
console.log(`token`, token)
|
|
407
|
+
console.log(`can not find the user from token`)
|
|
408
|
+
return Promise.reject(`can not find the user from token`)
|
|
409
|
+
}
|
|
394
410
|
|
|
395
411
|
//verifyAppUser
|
|
396
|
-
let b = verifyAppUser(
|
|
412
|
+
let b = verifyAppUser(user, from)
|
|
397
413
|
if (ispm(b)) {
|
|
398
414
|
b = await b
|
|
399
415
|
}
|
|
400
416
|
|
|
401
417
|
//check
|
|
402
418
|
if (!b) {
|
|
403
|
-
console.log('
|
|
419
|
+
console.log('user', user)
|
|
404
420
|
console.log(`user does not have permission`)
|
|
405
421
|
return Promise.reject(`user does not have permission`)
|
|
406
422
|
}
|
|
407
423
|
|
|
408
|
-
return
|
|
424
|
+
return user
|
|
409
425
|
}
|
|
410
426
|
|
|
411
427
|
|
|
@@ -596,8 +612,8 @@ function WWebApi(WOrm, url, db, getUserByToken, verifyClientUser, verifyAppUser,
|
|
|
596
612
|
//token
|
|
597
613
|
let token = get(req, 'query.token', '')
|
|
598
614
|
|
|
599
|
-
//
|
|
600
|
-
let user = await
|
|
615
|
+
//getAndVerifyClientUser
|
|
616
|
+
let user = await getAndVerifyClientUser(token, 'getUserByToken')
|
|
601
617
|
|
|
602
618
|
//check
|
|
603
619
|
if (!iseobj(user)) {
|
|
@@ -631,8 +647,8 @@ function WWebApi(WOrm, url, db, getUserByToken, verifyClientUser, verifyAppUser,
|
|
|
631
647
|
//token
|
|
632
648
|
let token = get(req, 'query.token', '')
|
|
633
649
|
|
|
634
|
-
//
|
|
635
|
-
let user = await
|
|
650
|
+
//getAndVerifyClientUser
|
|
651
|
+
let user = await getAndVerifyClientUser(token, 'getAPIsList')
|
|
636
652
|
|
|
637
653
|
//check
|
|
638
654
|
if (!iseobj(user)) {
|
|
@@ -670,8 +686,8 @@ function WWebApi(WOrm, url, db, getUserByToken, verifyClientUser, verifyAppUser,
|
|
|
670
686
|
//token
|
|
671
687
|
let token = get(req, 'query.token', '')
|
|
672
688
|
|
|
673
|
-
//
|
|
674
|
-
let user = await
|
|
689
|
+
//getAndVerifyClientUser
|
|
690
|
+
let user = await getAndVerifyClientUser(token, 'updateAPIs')
|
|
675
691
|
|
|
676
692
|
//check
|
|
677
693
|
if (!iseobj(user)) {
|
|
@@ -712,8 +728,8 @@ function WWebApi(WOrm, url, db, getUserByToken, verifyClientUser, verifyAppUser,
|
|
|
712
728
|
//token
|
|
713
729
|
let token = get(req, 'query.token', '')
|
|
714
730
|
|
|
715
|
-
//
|
|
716
|
-
let user = await
|
|
731
|
+
//getAndVerifyAppUser
|
|
732
|
+
let user = await getAndVerifyAppUser(token, 'syncAndReplaceApis')
|
|
717
733
|
|
|
718
734
|
//check
|
|
719
735
|
if (!iseobj(user)) {
|
|
@@ -835,7 +851,7 @@ export default WWebApi
|
|
|
835
851
|
<br class="clear">
|
|
836
852
|
|
|
837
853
|
<footer>
|
|
838
|
-
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Mon Jul 14 2025
|
|
854
|
+
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Mon Jul 14 2025 20:34:11 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
|
|
839
855
|
</footer>
|
|
840
856
|
|
|
841
857
|
<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 Mon Jul 14 2025
|
|
74
|
+
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Mon Jul 14 2025 20:34:11 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
package/server/WWebApi.mjs
CHANGED
|
@@ -316,49 +316,65 @@ function WWebApi(WOrm, url, db, getUserByToken, verifyClientUser, verifyAppUser,
|
|
|
316
316
|
}
|
|
317
317
|
|
|
318
318
|
|
|
319
|
-
//
|
|
320
|
-
let
|
|
319
|
+
//getAndVerifyClientUser
|
|
320
|
+
let getAndVerifyClientUser = async (token, from = '') => {
|
|
321
|
+
//基於token查找client使用者, 會基於外部getUserByToken以及perm內部users進行查找並比對
|
|
321
322
|
|
|
322
323
|
//getTokenUser
|
|
323
|
-
let
|
|
324
|
+
let user = await getTokenUser(token)
|
|
324
325
|
|
|
325
326
|
//verifyClientUser
|
|
326
|
-
let b = verifyClientUser(
|
|
327
|
+
let b = verifyClientUser(user, from)
|
|
327
328
|
if (ispm(b)) {
|
|
328
329
|
b = await b
|
|
329
330
|
}
|
|
330
331
|
|
|
331
332
|
//check
|
|
332
333
|
if (!b) {
|
|
333
|
-
console.log('
|
|
334
|
+
console.log('user', user)
|
|
334
335
|
console.log(`user does not have permission`)
|
|
335
336
|
return Promise.reject(`user does not have permission`)
|
|
336
337
|
}
|
|
337
338
|
|
|
338
|
-
return
|
|
339
|
+
return user
|
|
339
340
|
}
|
|
340
341
|
|
|
341
342
|
|
|
342
|
-
//
|
|
343
|
-
let
|
|
343
|
+
//getAndVerifyAppUser
|
|
344
|
+
let getAndVerifyAppUser = async (token, from = '') => {
|
|
345
|
+
//基於token查找app使用者, 會基於外部getUserByToken進行查找, 故只要getUserByToken提供使用者即可, 可支援getUserByToken給予針對應用程式所產生之虛擬使用者
|
|
344
346
|
|
|
345
|
-
//
|
|
346
|
-
let
|
|
347
|
+
//user
|
|
348
|
+
let user = null
|
|
349
|
+
if (isestr(token)) {
|
|
350
|
+
user = getUserByToken(token)
|
|
351
|
+
if (ispm(user)) {
|
|
352
|
+
user = await user
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
// console.log('user', user)
|
|
356
|
+
|
|
357
|
+
//check
|
|
358
|
+
if (!iseobj(user)) {
|
|
359
|
+
console.log(`token`, token)
|
|
360
|
+
console.log(`can not find the user from token`)
|
|
361
|
+
return Promise.reject(`can not find the user from token`)
|
|
362
|
+
}
|
|
347
363
|
|
|
348
364
|
//verifyAppUser
|
|
349
|
-
let b = verifyAppUser(
|
|
365
|
+
let b = verifyAppUser(user, from)
|
|
350
366
|
if (ispm(b)) {
|
|
351
367
|
b = await b
|
|
352
368
|
}
|
|
353
369
|
|
|
354
370
|
//check
|
|
355
371
|
if (!b) {
|
|
356
|
-
console.log('
|
|
372
|
+
console.log('user', user)
|
|
357
373
|
console.log(`user does not have permission`)
|
|
358
374
|
return Promise.reject(`user does not have permission`)
|
|
359
375
|
}
|
|
360
376
|
|
|
361
|
-
return
|
|
377
|
+
return user
|
|
362
378
|
}
|
|
363
379
|
|
|
364
380
|
|
|
@@ -549,8 +565,8 @@ function WWebApi(WOrm, url, db, getUserByToken, verifyClientUser, verifyAppUser,
|
|
|
549
565
|
//token
|
|
550
566
|
let token = get(req, 'query.token', '')
|
|
551
567
|
|
|
552
|
-
//
|
|
553
|
-
let user = await
|
|
568
|
+
//getAndVerifyClientUser
|
|
569
|
+
let user = await getAndVerifyClientUser(token, 'getUserByToken')
|
|
554
570
|
|
|
555
571
|
//check
|
|
556
572
|
if (!iseobj(user)) {
|
|
@@ -584,8 +600,8 @@ function WWebApi(WOrm, url, db, getUserByToken, verifyClientUser, verifyAppUser,
|
|
|
584
600
|
//token
|
|
585
601
|
let token = get(req, 'query.token', '')
|
|
586
602
|
|
|
587
|
-
//
|
|
588
|
-
let user = await
|
|
603
|
+
//getAndVerifyClientUser
|
|
604
|
+
let user = await getAndVerifyClientUser(token, 'getAPIsList')
|
|
589
605
|
|
|
590
606
|
//check
|
|
591
607
|
if (!iseobj(user)) {
|
|
@@ -623,8 +639,8 @@ function WWebApi(WOrm, url, db, getUserByToken, verifyClientUser, verifyAppUser,
|
|
|
623
639
|
//token
|
|
624
640
|
let token = get(req, 'query.token', '')
|
|
625
641
|
|
|
626
|
-
//
|
|
627
|
-
let user = await
|
|
642
|
+
//getAndVerifyClientUser
|
|
643
|
+
let user = await getAndVerifyClientUser(token, 'updateAPIs')
|
|
628
644
|
|
|
629
645
|
//check
|
|
630
646
|
if (!iseobj(user)) {
|
|
@@ -665,8 +681,8 @@ function WWebApi(WOrm, url, db, getUserByToken, verifyClientUser, verifyAppUser,
|
|
|
665
681
|
//token
|
|
666
682
|
let token = get(req, 'query.token', '')
|
|
667
683
|
|
|
668
|
-
//
|
|
669
|
-
let user = await
|
|
684
|
+
//getAndVerifyAppUser
|
|
685
|
+
let user = await getAndVerifyAppUser(token, 'syncAndReplaceApis')
|
|
670
686
|
|
|
671
687
|
//check
|
|
672
688
|
if (!iseobj(user)) {
|
package/server/provideApis.mjs
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import axios from 'axios'
|
|
2
|
+
import get from 'lodash-es/get.js'
|
|
2
3
|
import ltdtpick from 'wsemi/src/ltdtpick.mjs'
|
|
3
4
|
import genPm from 'wsemi/src/genPm.mjs'
|
|
4
5
|
|
|
@@ -32,13 +33,14 @@ async function provideApis(url, group, apis) {
|
|
|
32
33
|
|
|
33
34
|
//ltdtpick
|
|
34
35
|
apis = ltdtpick(apis, ks)
|
|
36
|
+
// console.log('apis', apis)
|
|
35
37
|
|
|
36
38
|
//rin
|
|
37
39
|
let rin = {
|
|
38
40
|
group,
|
|
39
41
|
apis,
|
|
40
42
|
}
|
|
41
|
-
//
|
|
43
|
+
// console.log('rin', rin)
|
|
42
44
|
|
|
43
45
|
//axios
|
|
44
46
|
await axios({
|
|
@@ -48,20 +50,21 @@ async function provideApis(url, group, apis) {
|
|
|
48
50
|
data: rin,
|
|
49
51
|
})
|
|
50
52
|
.then((res) => {
|
|
51
|
-
// console.log(res)
|
|
52
|
-
let
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
// console.log('then', res)
|
|
54
|
+
let data = get(res, 'data')
|
|
55
|
+
let state = get(data, 'state')
|
|
56
|
+
let msg = get(data, 'msg', '')
|
|
57
|
+
if (state === 'success') {
|
|
58
|
+
pm.resolve(msg)
|
|
55
59
|
}
|
|
56
|
-
|
|
60
|
+
else {
|
|
61
|
+
pm.reject(msg)
|
|
62
|
+
}
|
|
63
|
+
|
|
57
64
|
})
|
|
58
65
|
.catch((err) => {
|
|
59
|
-
// console.log(err)
|
|
60
|
-
|
|
61
|
-
msg: '無法傳輸API清單',
|
|
62
|
-
res: err,
|
|
63
|
-
}
|
|
64
|
-
pm.reject(r)
|
|
66
|
+
// console.log('catch', err)
|
|
67
|
+
pm.reject(err)
|
|
65
68
|
})
|
|
66
69
|
|
|
67
70
|
return pm
|