k2hr3-api 1.0.38 → 1.0.39
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/ChangeLog +6 -0
- package/README.md +31 -31
- package/app.js +6 -10
- package/bin/run.sh +21 -21
- package/bin/www +1 -1
- package/config/k2hr3-init.sh.templ +5 -5
- package/eslint.config.mjs +68 -0
- package/lib/cacerts.js +8 -7
- package/lib/dummyuserapi.js +1 -1
- package/lib/ipwatch.js +1 -1
- package/lib/k2hr3acrutil.js +12 -14
- package/lib/k2hr3apiutil.js +5 -5
- package/lib/k2hr3cryptutil.js +2 -0
- package/lib/k2hr3dkc.js +25 -28
- package/lib/k2hr3template.js +54 -52
- package/lib/k2hr3tokens.js +4 -4
- package/lib/k8soidc.js +3 -3
- package/lib/openstackapiv2.js +51 -52
- package/lib/openstackapiv3.js +86 -87
- package/lib/openstackep.js +46 -46
- package/package.json +8 -8
- package/routes/acr.js +66 -110
- package/routes/debugVerify.js +12 -14
- package/routes/extdata.js +24 -40
- package/routes/list.js +24 -36
- package/routes/policy.js +72 -120
- package/routes/resource.js +110 -165
- package/routes/role.js +177 -295
- package/routes/service.js +54 -90
- package/routes/userTokens.js +1 -1
- package/routes/userdata.js +12 -20
- package/routes/version.js +39 -23
- package/tests/auto_control_subprocess.sh +9 -9
- package/tests/auto_init_config_json.sh +3 -3
- package/tests/auto_resource.js +417 -478
- package/tests/auto_role.js +55 -71
- package/tests/auto_template.sh +4 -4
- package/tests/auto_version.js +39 -23
- package/tests/k2hdkc_test_load.sh +9 -9
- package/tests/k2hr3template_test.sh +12 -12
- package/tests/k2hr3template_test_vars.js +60 -62
- package/tests/manual_acr_delete.js +11 -12
- package/tests/manual_acr_get.js +9 -10
- package/tests/manual_acr_postput.js +12 -13
- package/tests/manual_extdata_get.js +5 -6
- package/tests/manual_list_gethead.js +12 -13
- package/tests/manual_policy_delete.js +12 -13
- package/tests/manual_policy_gethead.js +27 -27
- package/tests/manual_policy_postput.js +21 -23
- package/tests/manual_resource_delete.js +11 -15
- package/tests/manual_resource_gethead.js +11 -14
- package/tests/manual_resource_postput.js +18 -21
- package/tests/manual_role_delete.js +22 -28
- package/tests/manual_role_gethead.js +53 -53
- package/tests/manual_role_postput.js +28 -31
- package/tests/manual_service_delete.js +11 -13
- package/tests/manual_service_gethead.js +13 -15
- package/tests/manual_service_postput.js +10 -11
- package/tests/manual_test.sh +10 -10
- package/tests/manual_userdata_get.js +14 -15
- package/tests/manual_usertoken_gethead.js +12 -14
- package/tests/manual_usertoken_postput.js +23 -26
- package/tests/manual_version_get.js +12 -13
- package/tests/run_local_test_k2hdkc.sh +4 -4
- package/tests/test.sh +12 -12
package/routes/resource.js
CHANGED
|
@@ -63,21 +63,26 @@ var r3logger = require('../lib/dbglogging');
|
|
|
63
63
|
//
|
|
64
64
|
function rawParseBaseParamRequestAPI(req, is_allow_service, default_resource_name)
|
|
65
65
|
{
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
66
|
+
var res_obj = {
|
|
67
|
+
result: true,
|
|
68
|
+
message: null
|
|
69
|
+
};
|
|
70
|
+
var result = {
|
|
71
|
+
res_obj: res_obj,
|
|
72
|
+
res_code: 200
|
|
73
|
+
};
|
|
74
|
+
var parameters = {
|
|
75
|
+
token_type: null,
|
|
76
|
+
token_str: null,
|
|
77
|
+
token_info: null,
|
|
78
|
+
user_name: null,
|
|
79
|
+
tenant_name: null,
|
|
80
|
+
keys: null,
|
|
81
|
+
res_yrn: null,
|
|
82
|
+
res_name: null,
|
|
83
|
+
res_tenant: null,
|
|
84
|
+
res_service: null
|
|
85
|
+
};
|
|
81
86
|
|
|
82
87
|
//
|
|
83
88
|
// check token for API mode
|
|
@@ -284,12 +289,10 @@ router.post('/', function(req, res, next) // eslint-disable-line no-unused-v
|
|
|
284
289
|
!apiutil.isSafeEntity(req.body) ||
|
|
285
290
|
!apiutil.isSafeEntity(req.body.resource) )
|
|
286
291
|
{
|
|
287
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
288
292
|
result = {
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
293
|
+
result: false,
|
|
294
|
+
message: 'POST body does not have resource data'
|
|
295
|
+
};
|
|
293
296
|
|
|
294
297
|
r3logger.elog(result.message);
|
|
295
298
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -324,12 +327,10 @@ router.post('/', function(req, res, next) // eslint-disable-line no-unused-v
|
|
|
324
327
|
if(apiutil.isSafeString(req.body.resource.type)){
|
|
325
328
|
type = apiutil.getSafeString(req.body.resource.type);
|
|
326
329
|
if(!apiutil.compareCaseString('string', type) && !apiutil.compareCaseString('object', type)){
|
|
327
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
328
330
|
result = {
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
331
|
+
result: false,
|
|
332
|
+
message: 'POST resource:type field is wrong : ' + JSON.stringify(req.body.resource.type)
|
|
333
|
+
};
|
|
333
334
|
|
|
334
335
|
r3logger.elog(result.message);
|
|
335
336
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -368,12 +369,10 @@ router.post('/', function(req, res, next) // eslint-disable-line no-unused-v
|
|
|
368
369
|
resource_keys = JSON.parse(resource_keys);
|
|
369
370
|
}
|
|
370
371
|
}else{
|
|
371
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
372
372
|
result = {
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
373
|
+
result: false,
|
|
374
|
+
message: 'POST resource:keys field is wrong : ' + JSON.stringify(req.body.resource.keys)
|
|
375
|
+
};
|
|
377
376
|
|
|
378
377
|
r3logger.elog(result.message);
|
|
379
378
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -383,12 +382,10 @@ router.post('/', function(req, res, next) // eslint-disable-line no-unused-v
|
|
|
383
382
|
|
|
384
383
|
// alias
|
|
385
384
|
if('user' !== comparam.token_type && apiutil.isSafeEntity(req.body.resource.alias)){
|
|
386
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
387
385
|
result = {
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
386
|
+
result: false,
|
|
387
|
+
message: 'POST resource:alias field is specified, but it is not allowed by not user token : ' + JSON.stringify(req.body.resource.alias)
|
|
388
|
+
};
|
|
392
389
|
|
|
393
390
|
r3logger.elog(result.message);
|
|
394
391
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -399,12 +396,10 @@ router.post('/', function(req, res, next) // eslint-disable-line no-unused-v
|
|
|
399
396
|
var aliasptn = new RegExp('^' + comparam.keys.RESOURCE_TOP_KEY + ':(.*)'); // regex = /^yrn:yahoo:<service>::<tenant>:resource:(.*)/
|
|
400
397
|
var aliaspram = apiutil.getNormalizeParameter(req.body.resource.alias, aliasptn, null);
|
|
401
398
|
if(false === aliaspram.result){
|
|
402
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
403
399
|
result = {
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
400
|
+
result: false,
|
|
401
|
+
message: 'POST resource:alias field is wrong : ' + JSON.stringify(req.body.resource.alias)
|
|
402
|
+
};
|
|
408
403
|
|
|
409
404
|
r3logger.elog(result.message);
|
|
410
405
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -419,12 +414,10 @@ router.post('/', function(req, res, next) // eslint-disable-line no-unused-v
|
|
|
419
414
|
var cuk = null;
|
|
420
415
|
var role_yrn = null;
|
|
421
416
|
if(null !== comparam.token_type && (apiutil.isSafeEntity(req.body.resource.port) || apiutil.isSafeEntity(req.body.resource.cuk) || apiutil.isSafeEntity(req.body.resource.role))){
|
|
422
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
423
417
|
result = {
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
418
|
+
result: false,
|
|
419
|
+
message: 'POST resource:port/cuk/role field is specified, but it is not allowed by no token : port=' + JSON.stringify(req.body.resource.port) + ', cuk=' + JSON.stringify(req.body.resource.cuk) + ', role=' + JSON.stringify(req.body.resource.role)
|
|
420
|
+
};
|
|
428
421
|
|
|
429
422
|
r3logger.elog(result.message);
|
|
430
423
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -433,12 +426,10 @@ router.post('/', function(req, res, next) // eslint-disable-line no-unused-v
|
|
|
433
426
|
if(null === comparam.token_type){
|
|
434
427
|
// role
|
|
435
428
|
if(!apiutil.isSafeString(req.body.resource.role)){
|
|
436
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
437
429
|
result = {
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
430
|
+
result: false,
|
|
431
|
+
message: 'POST request does not have role yrn in post data.'
|
|
432
|
+
};
|
|
442
433
|
|
|
443
434
|
r3logger.elog(result.message);
|
|
444
435
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -451,12 +442,10 @@ router.post('/', function(req, res, next) // eslint-disable-line no-unused-v
|
|
|
451
442
|
// ip
|
|
452
443
|
clientip = apiutil.getClientIpAddress(req);
|
|
453
444
|
if(!apiutil.isSafeString(clientip)){
|
|
454
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
455
445
|
result = {
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
446
|
+
result: false,
|
|
447
|
+
message: 'POST request does not have ip address for client.'
|
|
448
|
+
};
|
|
460
449
|
|
|
461
450
|
r3logger.elog(result.message);
|
|
462
451
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -487,12 +476,10 @@ router.post('/', function(req, res, next) // eslint-disable-line no-unused-v
|
|
|
487
476
|
result = k2hr3.setResourceAllByIP(clientip, port, cuk, role_yrn, comparam.res_name, type, data, resource_keys);
|
|
488
477
|
}else{
|
|
489
478
|
// broken token
|
|
490
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
491
479
|
result = {
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
480
|
+
result: false,
|
|
481
|
+
message: 'POST request is failure by internal error(token data broken).'
|
|
482
|
+
};
|
|
496
483
|
|
|
497
484
|
r3logger.elog(result.message);
|
|
498
485
|
resutil.errResponse(req, res, 500, result); // 500: Internal Error
|
|
@@ -500,12 +487,10 @@ router.post('/', function(req, res, next) // eslint-disable-line no-unused-v
|
|
|
500
487
|
}
|
|
501
488
|
if(!apiutil.isSafeEntity(result) || !apiutil.isSafeEntity(result.result) || false === result.result){
|
|
502
489
|
if(!apiutil.isSafeEntity(result)){
|
|
503
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
504
490
|
result = {
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
491
|
+
result: false,
|
|
492
|
+
message: 'POST Could not get response from setResourceAll'
|
|
493
|
+
};
|
|
509
494
|
}else{
|
|
510
495
|
if(!apiutil.isSafeEntity(result.result)){
|
|
511
496
|
result.result = false;
|
|
@@ -593,12 +578,10 @@ router.put('/', function(req, res, next) // eslint-disable-line no-unused-va
|
|
|
593
578
|
if( !apiutil.isSafeEntity(req) ||
|
|
594
579
|
!apiutil.isSafeEntity(req.query) )
|
|
595
580
|
{
|
|
596
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
597
581
|
result = {
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
582
|
+
result: false,
|
|
583
|
+
message: 'PUT argument does not have any data'
|
|
584
|
+
};
|
|
602
585
|
|
|
603
586
|
r3logger.elog(result.message);
|
|
604
587
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -633,12 +616,10 @@ router.put('/', function(req, res, next) // eslint-disable-line no-unused-va
|
|
|
633
616
|
if(apiutil.isSafeString(req.query.type)){
|
|
634
617
|
type = apiutil.getSafeString(req.query.type);
|
|
635
618
|
if(!apiutil.compareCaseString('string', type) && !apiutil.compareCaseString('object', type)){
|
|
636
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
637
619
|
result = {
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
620
|
+
result: false,
|
|
621
|
+
message: 'PUT resource:type field is wrong : ' + JSON.stringify(req.query.type)
|
|
622
|
+
};
|
|
642
623
|
|
|
643
624
|
r3logger.elog(result.message);
|
|
644
625
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -683,12 +664,10 @@ router.put('/', function(req, res, next) // eslint-disable-line no-unused-va
|
|
|
683
664
|
|
|
684
665
|
// alias
|
|
685
666
|
if('user' !== comparam.token_type && apiutil.isSafeEntity(req.query.alias)){
|
|
686
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
687
667
|
result = {
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
668
|
+
result: false,
|
|
669
|
+
message: 'PUT resource:alias field is specified, but it is not allowed by not user token : ' + JSON.stringify(req.query.alias)
|
|
670
|
+
};
|
|
692
671
|
|
|
693
672
|
r3logger.elog(result.message);
|
|
694
673
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -708,12 +687,10 @@ router.put('/', function(req, res, next) // eslint-disable-line no-unused-va
|
|
|
708
687
|
var aliasptn = new RegExp('^' + comparam.keys.RESOURCE_TOP_KEY + ':(.*)'); // regex = /^yrn:yahoo:<service>::<tenant>:resource:(.*)/
|
|
709
688
|
var aliaspram = apiutil.getNormalizeParameter(tmpaliases, aliasptn, null);
|
|
710
689
|
if(false === aliaspram.result){
|
|
711
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
712
690
|
result = {
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
691
|
+
result: false,
|
|
692
|
+
message: 'PUT resource:alias field is wrong : ' + req.query.alias
|
|
693
|
+
};
|
|
717
694
|
|
|
718
695
|
r3logger.elog(result.message);
|
|
719
696
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -729,12 +706,10 @@ router.put('/', function(req, res, next) // eslint-disable-line no-unused-va
|
|
|
729
706
|
var cuk = null;
|
|
730
707
|
var role_yrn = null;
|
|
731
708
|
if(null !== comparam.token_type && (apiutil.isSafeEntity(req.query.port) || apiutil.isSafeEntity(req.query.cuk) || apiutil.isSafeEntity(req.query.role))){
|
|
732
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
733
709
|
result = {
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
710
|
+
result: false,
|
|
711
|
+
message: 'PUT resource:port/cuk/role field is specified, but it is not allowed by no token : port=' + JSON.stringify(req.query.port) + ', cuk=' + JSON.stringify(req.query.cuk) + ', role=' + JSON.stringify(req.query.role)
|
|
712
|
+
};
|
|
738
713
|
|
|
739
714
|
r3logger.elog(result.message);
|
|
740
715
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -743,12 +718,10 @@ router.put('/', function(req, res, next) // eslint-disable-line no-unused-va
|
|
|
743
718
|
if(null === comparam.token_type){
|
|
744
719
|
// role
|
|
745
720
|
if(!apiutil.isSafeString(req.query.role)){
|
|
746
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
747
721
|
result = {
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
722
|
+
result: false,
|
|
723
|
+
message: 'PUT request does not have role yrn in post data.'
|
|
724
|
+
};
|
|
752
725
|
|
|
753
726
|
r3logger.elog(result.message);
|
|
754
727
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -761,12 +734,10 @@ router.put('/', function(req, res, next) // eslint-disable-line no-unused-va
|
|
|
761
734
|
// ip
|
|
762
735
|
clientip = apiutil.getClientIpAddress(req);
|
|
763
736
|
if(!apiutil.isSafeString(clientip)){
|
|
764
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
765
737
|
result = {
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
738
|
+
result: false,
|
|
739
|
+
message: 'PUT request does not have ip address for client.'
|
|
740
|
+
};
|
|
770
741
|
|
|
771
742
|
r3logger.elog(result.message);
|
|
772
743
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -797,12 +768,10 @@ router.put('/', function(req, res, next) // eslint-disable-line no-unused-va
|
|
|
797
768
|
result = k2hr3.setResourceAllByIP(clientip, port, cuk, role_yrn, comparam.res_name, type, data, resource_keys);
|
|
798
769
|
}else{
|
|
799
770
|
// broken token
|
|
800
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
801
771
|
result = {
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
772
|
+
result: false,
|
|
773
|
+
message: 'PUT request is failure by internal error(token data broken).'
|
|
774
|
+
};
|
|
806
775
|
|
|
807
776
|
r3logger.elog(result.message);
|
|
808
777
|
resutil.errResponse(req, res, 500, result); // 500: Internal Error
|
|
@@ -810,12 +779,10 @@ router.put('/', function(req, res, next) // eslint-disable-line no-unused-va
|
|
|
810
779
|
}
|
|
811
780
|
if(!apiutil.isSafeEntity(result) || !apiutil.isSafeEntity(result.result) || false === result.result){
|
|
812
781
|
if(!apiutil.isSafeEntity(result)){
|
|
813
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
814
782
|
result = {
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
783
|
+
result: false,
|
|
784
|
+
message: 'PUT Could not get response from setResourceAll'
|
|
785
|
+
};
|
|
819
786
|
}else{
|
|
820
787
|
if(!apiutil.isSafeEntity(result.result)){
|
|
821
788
|
result.result = false;
|
|
@@ -897,12 +864,10 @@ router.get('/', function(req, res, next)
|
|
|
897
864
|
if( !apiutil.isSafeEntity(req) ||
|
|
898
865
|
!apiutil.isSafeEntity(req.baseUrl) )
|
|
899
866
|
{
|
|
900
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
901
867
|
result = {
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
868
|
+
result: false,
|
|
869
|
+
message: 'GET request or url is wrong'
|
|
870
|
+
};
|
|
906
871
|
|
|
907
872
|
r3logger.elog(result.message);
|
|
908
873
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -932,12 +897,10 @@ router.get('/', function(req, res, next)
|
|
|
932
897
|
}else if(apiutil.compareCaseString(comparam.keys.VALUE_FALSE, req.query.expand)){
|
|
933
898
|
is_expand = false;
|
|
934
899
|
}else{
|
|
935
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
936
900
|
result = {
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
901
|
+
result: false,
|
|
902
|
+
message: 'GET expand url argument parameter(' + JSON.stringify(req.query.expand) + ') is wrong, it must be ' + comparam.keys.VALUE_TRUE + ' or ' + comparam.keys.VALUE_FALSE + '.'
|
|
903
|
+
};
|
|
941
904
|
|
|
942
905
|
r3logger.elog(result.message);
|
|
943
906
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -962,12 +925,10 @@ router.get('/', function(req, res, next)
|
|
|
962
925
|
restype = comparam.keys.VALUE_KEYS_TYPE;
|
|
963
926
|
// key name
|
|
964
927
|
if(!apiutil.isSafeEntity(req.query) || !apiutil.isSafeString(req.query.keyname)){
|
|
965
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
966
928
|
result = {
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
929
|
+
result: false,
|
|
930
|
+
message: 'GET request type=keys, but keyname(' + req.query.keyname + ') parameter is empty.'
|
|
931
|
+
};
|
|
971
932
|
|
|
972
933
|
r3logger.elog(result.message);
|
|
973
934
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -975,12 +936,10 @@ router.get('/', function(req, res, next)
|
|
|
975
936
|
}
|
|
976
937
|
reskeyname = req.query.keyname;
|
|
977
938
|
}else{
|
|
978
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
979
939
|
result = {
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
940
|
+
result: false,
|
|
941
|
+
message: 'GET request type(' + req.query.type + ') parameter is wrong.'
|
|
942
|
+
};
|
|
984
943
|
|
|
985
944
|
r3logger.elog(result.message);
|
|
986
945
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -994,12 +953,10 @@ router.get('/', function(req, res, next)
|
|
|
994
953
|
var cuk = null;
|
|
995
954
|
var role_yrn = null;
|
|
996
955
|
if(null !== comparam.token_type && (apiutil.isSafeEntity(req.query.port) || apiutil.isSafeEntity(req.query.cuk) || apiutil.isSafeEntity(req.query.role))){
|
|
997
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
998
956
|
result = {
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
957
|
+
result: false,
|
|
958
|
+
message: 'GET resource:port/cuk/role field is specified, but it is not allowed by no token : port=' + JSON.stringify(req.query.port) + ', cuk=' + JSON.stringify(req.query.cuk) + ', role=' + JSON.stringify(req.query.role)
|
|
959
|
+
};
|
|
1003
960
|
|
|
1004
961
|
r3logger.elog(result.message);
|
|
1005
962
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -1008,12 +965,10 @@ router.get('/', function(req, res, next)
|
|
|
1008
965
|
if(null === comparam.token_type){
|
|
1009
966
|
// role
|
|
1010
967
|
if(!apiutil.isSafeString(req.query.role)){
|
|
1011
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
1012
968
|
result = {
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
969
|
+
result: false,
|
|
970
|
+
message: 'GET request does not have role yrn in post data.'
|
|
971
|
+
};
|
|
1017
972
|
|
|
1018
973
|
r3logger.elog(result.message);
|
|
1019
974
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -1026,12 +981,10 @@ router.get('/', function(req, res, next)
|
|
|
1026
981
|
// ip
|
|
1027
982
|
clientip = apiutil.getClientIpAddress(req);
|
|
1028
983
|
if(!apiutil.isSafeString(clientip)){
|
|
1029
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
1030
984
|
result = {
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
985
|
+
result: false,
|
|
986
|
+
message: 'GET request does not have ip address for client.'
|
|
987
|
+
};
|
|
1035
988
|
|
|
1036
989
|
r3logger.elog(result.message);
|
|
1037
990
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -1072,12 +1025,10 @@ router.get('/', function(req, res, next)
|
|
|
1072
1025
|
|
|
1073
1026
|
}else{
|
|
1074
1027
|
// broken token
|
|
1075
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
1076
1028
|
result = {
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
1029
|
+
result: false,
|
|
1030
|
+
message: 'GET request is failure by internal error(token data broken).'
|
|
1031
|
+
};
|
|
1081
1032
|
|
|
1082
1033
|
r3logger.elog(result.message);
|
|
1083
1034
|
resutil.errResponse(req, res, 500, result); // 500: Internal Error
|
|
@@ -1085,12 +1036,10 @@ router.get('/', function(req, res, next)
|
|
|
1085
1036
|
}
|
|
1086
1037
|
if(!apiutil.isSafeEntity(result) || !apiutil.isSafeEntity(result.result) || false === result.result){
|
|
1087
1038
|
if(!apiutil.isSafeEntity(result)){
|
|
1088
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
1089
1039
|
result = {
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
1040
|
+
result: false,
|
|
1041
|
+
message: 'GET Could not get response from getResource'
|
|
1042
|
+
};
|
|
1094
1043
|
}else{
|
|
1095
1044
|
if(!apiutil.isSafeEntity(result.result)){
|
|
1096
1045
|
result.result = false;
|
|
@@ -1258,12 +1207,10 @@ router.head('/', function(req, res, next)
|
|
|
1258
1207
|
}
|
|
1259
1208
|
if(!apiutil.isSafeEntity(result) || !apiutil.isSafeEntity(result.result) || false === result.result){
|
|
1260
1209
|
if(!apiutil.isSafeEntity(result)){
|
|
1261
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
1262
1210
|
result = {
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
1211
|
+
result: false,
|
|
1212
|
+
message: 'HEAD Could not get response from checkResource'
|
|
1213
|
+
};
|
|
1267
1214
|
}else{
|
|
1268
1215
|
if(!apiutil.isSafeEntity(result.result)){
|
|
1269
1216
|
result.result = false;
|
|
@@ -1461,12 +1408,10 @@ router.delete('/', function(req, res, next) // eslint-disable-line no-unused
|
|
|
1461
1408
|
}
|
|
1462
1409
|
if(!apiutil.isSafeEntity(result) || !apiutil.isSafeEntity(result.result) || false === result.result){
|
|
1463
1410
|
if(!apiutil.isSafeEntity(result)){
|
|
1464
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
1465
1411
|
result = {
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
1412
|
+
result: false,
|
|
1413
|
+
message: 'DELETE Could not get response from removeResource'
|
|
1414
|
+
};
|
|
1470
1415
|
}else{
|
|
1471
1416
|
if(!apiutil.isSafeEntity(result.result)){
|
|
1472
1417
|
result.result = false;
|