k2hr3-api 1.0.38 → 1.0.40
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 +12 -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/role.js
CHANGED
|
@@ -81,12 +81,10 @@ router.post('/', function(req, res, next)
|
|
|
81
81
|
if( !apiutil.isSafeEntity(req) ||
|
|
82
82
|
!apiutil.isSafeEntity(req.baseUrl) )
|
|
83
83
|
{
|
|
84
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
85
84
|
result = {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
85
|
+
result: false,
|
|
86
|
+
message: 'POST request or url or query is wrong'
|
|
87
|
+
};
|
|
90
88
|
|
|
91
89
|
r3logger.elog(result.message);
|
|
92
90
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -106,12 +104,10 @@ router.post('/', function(req, res, next)
|
|
|
106
104
|
var requestptn = new RegExp(keys.MATCH_URI_GET_ROLE_DATA); // regex = /^\/v1\/role\/(.*)/
|
|
107
105
|
var reqmatchs = decodeURI(req.baseUrl).match(requestptn);
|
|
108
106
|
if(apiutil.isEmptyArray(reqmatchs) || reqmatchs.length < 2 || '' === apiutil.getSafeString(reqmatchs[1])){
|
|
109
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
110
107
|
result = {
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
108
|
+
result: false,
|
|
109
|
+
message: 'POST request url does not have role name'
|
|
110
|
+
};
|
|
115
111
|
|
|
116
112
|
r3logger.elog(result.message);
|
|
117
113
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -149,12 +145,10 @@ router.put('/', function(req, res, next)
|
|
|
149
145
|
if( !apiutil.isSafeEntity(req) ||
|
|
150
146
|
!apiutil.isSafeEntity(req.baseUrl) )
|
|
151
147
|
{
|
|
152
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
153
148
|
result = {
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
149
|
+
result: false,
|
|
150
|
+
message: 'PUT request or url or query is wrong'
|
|
151
|
+
};
|
|
158
152
|
|
|
159
153
|
r3logger.elog(result.message);
|
|
160
154
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -174,12 +168,10 @@ router.put('/', function(req, res, next)
|
|
|
174
168
|
var requestptn = new RegExp(keys.MATCH_URI_GET_ROLE_DATA); // regex = /^\/v1\/role\/(.*)/
|
|
175
169
|
var reqmatchs = decodeURI(req.baseUrl).match(requestptn);
|
|
176
170
|
if(apiutil.isEmptyArray(reqmatchs) || reqmatchs.length < 2 || '' === apiutil.getSafeString(reqmatchs[1])){
|
|
177
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
178
171
|
result = {
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
172
|
+
result: false,
|
|
173
|
+
message: 'POST request url does not have role name'
|
|
174
|
+
};
|
|
183
175
|
|
|
184
176
|
r3logger.elog(result.message);
|
|
185
177
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -231,12 +223,10 @@ function postRole(req, res, next) // eslint-disable-line no-unused-vars
|
|
|
231
223
|
!apiutil.isSafeEntity(req.body) ||
|
|
232
224
|
!apiutil.isSafeEntity(req.body.role) )
|
|
233
225
|
{
|
|
234
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
235
226
|
result = {
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
227
|
+
result: false,
|
|
228
|
+
message: 'POST body does not have role data'
|
|
229
|
+
};
|
|
240
230
|
|
|
241
231
|
r3logger.elog(result.message);
|
|
242
232
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -261,12 +251,10 @@ function postRole(req, res, next) // eslint-disable-line no-unused-vars
|
|
|
261
251
|
//------------------------------
|
|
262
252
|
// name
|
|
263
253
|
if(!apiutil.isSafeString(req.body.role.name)){
|
|
264
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
265
254
|
result = {
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
255
|
+
result: false,
|
|
256
|
+
message: 'role:name field is wrong : ' + JSON.stringify(req.body.role.name)
|
|
257
|
+
};
|
|
270
258
|
|
|
271
259
|
r3logger.elog(result.message);
|
|
272
260
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -294,12 +282,10 @@ function postRole(req, res, next) // eslint-disable-line no-unused-vars
|
|
|
294
282
|
var policiesptn = new RegExp('^' + keys.POLICY_TOP_KEY + ':(.*)'); // regex = /^yrn:yahoo:<service>::<tenant>:policy:(.*)/
|
|
295
283
|
var policiespram= apiutil.getNormalizeParameter(req.body.role.policies, policiesptn, null);
|
|
296
284
|
if(false === policiespram.result){
|
|
297
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
298
285
|
result = {
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
286
|
+
result: false,
|
|
287
|
+
message: 'role:policies field is wrong : ' + JSON.stringify(req.body.role.policies)
|
|
288
|
+
};
|
|
303
289
|
|
|
304
290
|
r3logger.elog(result.message);
|
|
305
291
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -311,12 +297,10 @@ function postRole(req, res, next) // eslint-disable-line no-unused-vars
|
|
|
311
297
|
var aliasptn = new RegExp('^' + keys.MATCH_ANY_TENANT_ROLE); // regex = /^yrn:yahoo:(.*)::(.*):role:(.*)/
|
|
312
298
|
var aliaspram = apiutil.getNormalizeParameter(req.body.role.alias, aliasptn, null);
|
|
313
299
|
if(false === aliaspram.result){
|
|
314
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
315
300
|
result = {
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
301
|
+
result: false,
|
|
302
|
+
message: 'role:alias field is wrong : ' + JSON.stringify(req.body.role.alias)
|
|
303
|
+
};
|
|
320
304
|
|
|
321
305
|
r3logger.elog(result.message);
|
|
322
306
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -330,12 +314,10 @@ function postRole(req, res, next) // eslint-disable-line no-unused-vars
|
|
|
330
314
|
result = k2hr3.setRoleAll(token_info.user, token_info.tenant, name, policies, aliases, null, false, null, false);
|
|
331
315
|
if(!apiutil.isSafeEntity(result) || !apiutil.isSafeEntity(result.result) || false === result.result){
|
|
332
316
|
if(!apiutil.isSafeEntity(result)){
|
|
333
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
334
317
|
result = {
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
318
|
+
result: false,
|
|
319
|
+
message: 'Could not get response from setRoleAll'
|
|
320
|
+
};
|
|
339
321
|
}else{
|
|
340
322
|
if(!apiutil.isSafeEntity(result.result)){
|
|
341
323
|
result.result = false;
|
|
@@ -387,12 +369,10 @@ function putRole(req, res, next) // eslint-disable-line no-unused-vars
|
|
|
387
369
|
if( !apiutil.isSafeEntity(req) ||
|
|
388
370
|
!apiutil.isSafeEntity(req.query) )
|
|
389
371
|
{
|
|
390
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
391
372
|
result = {
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
373
|
+
result: false,
|
|
374
|
+
message: 'PUT argument does not have any data'
|
|
375
|
+
};
|
|
396
376
|
|
|
397
377
|
r3logger.elog(result.message);
|
|
398
378
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -417,12 +397,10 @@ function putRole(req, res, next) // eslint-disable-line no-unused-vars
|
|
|
417
397
|
//------------------------------
|
|
418
398
|
// name
|
|
419
399
|
if(!apiutil.isSafeString(req.query.name)){
|
|
420
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
421
400
|
result = {
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
401
|
+
result: false,
|
|
402
|
+
message: 'role:name field is wrong : ' + JSON.stringify(req.query.name)
|
|
403
|
+
};
|
|
426
404
|
|
|
427
405
|
r3logger.elog(result.message);
|
|
428
406
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -441,12 +419,10 @@ function putRole(req, res, next) // eslint-disable-line no-unused-vars
|
|
|
441
419
|
// check name which is not full yrn
|
|
442
420
|
nameptn = new RegExp('^' + keys.NO_TENANT_KEY); // regex = /^yrn:yahoo:/
|
|
443
421
|
if(name.match(nameptn)){
|
|
444
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
445
422
|
result = {
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
423
|
+
result: false,
|
|
424
|
+
message: 'PUT request query has wrong yrn full path to role'
|
|
425
|
+
};
|
|
450
426
|
|
|
451
427
|
r3logger.elog(result.message);
|
|
452
428
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -467,12 +443,10 @@ function putRole(req, res, next) // eslint-disable-line no-unused-vars
|
|
|
467
443
|
var policiesptn = new RegExp('^' + keys.POLICY_TOP_KEY + ':(.*)'); // regex = /^yrn:yahoo:<service>::<tenant>:policy:(.*)/
|
|
468
444
|
var policiespram= apiutil.getNormalizeParameter(tmppolicies, policiesptn, null);
|
|
469
445
|
if(false === policiespram.result){
|
|
470
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
471
446
|
result = {
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
447
|
+
result: false,
|
|
448
|
+
message: 'role:policies field is wrong : ' + req.query.policies
|
|
449
|
+
};
|
|
476
450
|
|
|
477
451
|
r3logger.elog(result.message);
|
|
478
452
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -495,12 +469,10 @@ function putRole(req, res, next) // eslint-disable-line no-unused-vars
|
|
|
495
469
|
var aliasptn = new RegExp('^' + keys.MATCH_ANY_TENANT_ROLE); // regex = /^yrn:yahoo:(.*)::(.*):role:(.*)/
|
|
496
470
|
var aliaspram = apiutil.getNormalizeParameter(tmpaliases, aliasptn, null);
|
|
497
471
|
if(false === aliaspram.result){
|
|
498
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
499
472
|
result = {
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
473
|
+
result: false,
|
|
474
|
+
message: 'role:alias field is wrong : ' + req.query.alias
|
|
475
|
+
};
|
|
504
476
|
|
|
505
477
|
r3logger.elog(result.message);
|
|
506
478
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -515,12 +487,10 @@ function putRole(req, res, next) // eslint-disable-line no-unused-vars
|
|
|
515
487
|
result = k2hr3.setRoleAll(token_info.user, token_info.tenant, name, policies, aliases, null, false, null, false);
|
|
516
488
|
if(!apiutil.isSafeEntity(result) || !apiutil.isSafeEntity(result.result) || false === result.result){
|
|
517
489
|
if(!apiutil.isSafeEntity(result)){
|
|
518
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
519
490
|
result = {
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
491
|
+
result: false,
|
|
492
|
+
message: 'Could not get response from setRoleAll'
|
|
493
|
+
};
|
|
524
494
|
}else{
|
|
525
495
|
if(!apiutil.isSafeEntity(result.result)){
|
|
526
496
|
result.result = false;
|
|
@@ -619,12 +589,10 @@ function postRoleHost(role, req, res, next) // eslint-disable-line no-unu
|
|
|
619
589
|
!apiutil.isSafeEntity(req.body) ||
|
|
620
590
|
!apiutil.isSafeEntity(req.body.host) )
|
|
621
591
|
{
|
|
622
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
623
592
|
result = {
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
593
|
+
result: false,
|
|
594
|
+
message: 'POST body does not have host data'
|
|
595
|
+
};
|
|
628
596
|
|
|
629
597
|
r3logger.elog(result.message);
|
|
630
598
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -661,12 +629,10 @@ function postRoleHost(role, req, res, next) // eslint-disable-line no-unu
|
|
|
661
629
|
// role name is not full yrn, then check other yrn path
|
|
662
630
|
nameptn = new RegExp('^' + keys.NO_TENANT_KEY); // regex = /^yrn:yahoo:/
|
|
663
631
|
if(name.match(nameptn)){
|
|
664
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
665
632
|
result = {
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
633
|
+
result: false,
|
|
634
|
+
message: 'POST request url has wrong yrn full path to role'
|
|
635
|
+
};
|
|
670
636
|
|
|
671
637
|
r3logger.elog(result.message);
|
|
672
638
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -698,12 +664,10 @@ function postRoleHost(role, req, res, next) // eslint-disable-line no-unu
|
|
|
698
664
|
var ipArray = [];
|
|
699
665
|
for(var cnt = 0; cnt < hostArray.length; ++cnt){
|
|
700
666
|
if(!apiutil.isSafeString(hostArray[cnt].host)){
|
|
701
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
702
667
|
result = {
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
668
|
+
result: false,
|
|
669
|
+
message: 'host is not specified.'
|
|
670
|
+
};
|
|
707
671
|
|
|
708
672
|
r3logger.elog(result.message);
|
|
709
673
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -724,12 +688,10 @@ function postRoleHost(role, req, res, next) // eslint-disable-line no-unu
|
|
|
724
688
|
port = 0; // default any
|
|
725
689
|
if(apiutil.isSafeEntity(hostArray[cnt].port)){
|
|
726
690
|
if(isNaN(hostArray[cnt].port)){
|
|
727
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
728
691
|
result = {
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
692
|
+
result: false,
|
|
693
|
+
message: 'POST request has port which is not number: ' + JSON.stringify(hostArray[cnt].port)
|
|
694
|
+
};
|
|
733
695
|
|
|
734
696
|
r3logger.elog(result.message);
|
|
735
697
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -780,12 +742,10 @@ function postRoleHost(role, req, res, next) // eslint-disable-line no-unu
|
|
|
780
742
|
// set optional keys
|
|
781
743
|
if(apiutil.isSafeString(hostArray[cnt].inboundip)){
|
|
782
744
|
if(!apiutil.isIpAddressString(hostArray[cnt].inboundip)){
|
|
783
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
784
745
|
result = {
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
746
|
+
result: false,
|
|
747
|
+
message: 'POST request has inbound ip address which is not ignore ip address string: ' + JSON.stringify(hostArray[cnt].inboundip)
|
|
748
|
+
};
|
|
789
749
|
r3logger.elog(result.message);
|
|
790
750
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
791
751
|
return;
|
|
@@ -795,12 +755,10 @@ function postRoleHost(role, req, res, next) // eslint-disable-line no-unu
|
|
|
795
755
|
|
|
796
756
|
if(apiutil.isSafeString(hostArray[cnt].outboundip)){
|
|
797
757
|
if(!apiutil.isIpAddressString(hostArray[cnt].outboundip)){
|
|
798
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
799
758
|
result = {
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
759
|
+
result: false,
|
|
760
|
+
message: 'POST request has outbound ip address which is not ignore ip address string: ' + JSON.stringify(hostArray[cnt].outboundip)
|
|
761
|
+
};
|
|
804
762
|
r3logger.elog(result.message);
|
|
805
763
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
806
764
|
return;
|
|
@@ -844,12 +802,10 @@ function postRoleHost(role, req, res, next) // eslint-disable-line no-unu
|
|
|
844
802
|
// get ip address
|
|
845
803
|
var ip = apiutil.getClientIpAddress(req);
|
|
846
804
|
if(!apiutil.isSafeString(ip)){
|
|
847
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
848
805
|
result = {
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
806
|
+
result: false,
|
|
807
|
+
message: 'Could not get ip address from request.'
|
|
808
|
+
};
|
|
853
809
|
|
|
854
810
|
r3logger.elog(result.message);
|
|
855
811
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -860,12 +816,10 @@ function postRoleHost(role, req, res, next) // eslint-disable-line no-unu
|
|
|
860
816
|
port = 0; // default any
|
|
861
817
|
if(apiutil.isSafeEntity(req.body.host.port)){
|
|
862
818
|
if(isNaN(req.body.host.port)){
|
|
863
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
864
819
|
result = {
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
820
|
+
result: false,
|
|
821
|
+
message: 'POST request has port which is not number: ' + JSON.stringify(req.body.host.port)
|
|
822
|
+
};
|
|
869
823
|
|
|
870
824
|
r3logger.elog(result.message);
|
|
871
825
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -902,12 +856,10 @@ function postRoleHost(role, req, res, next) // eslint-disable-line no-unu
|
|
|
902
856
|
var inboundip = null;
|
|
903
857
|
if(apiutil.isSafeString(req.body.host.inboundip)){
|
|
904
858
|
if(!apiutil.isIpAddressString(req.body.host.inboundip)){
|
|
905
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
906
859
|
result = {
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
860
|
+
result: false,
|
|
861
|
+
message: 'POST request has inbound ip address which is not ignore ip address string: ' + JSON.stringify(req.body.host.inboundip)
|
|
862
|
+
};
|
|
911
863
|
r3logger.elog(result.message);
|
|
912
864
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
913
865
|
return;
|
|
@@ -919,12 +871,10 @@ function postRoleHost(role, req, res, next) // eslint-disable-line no-unu
|
|
|
919
871
|
var outboundip = null;
|
|
920
872
|
if(apiutil.isSafeString(req.body.host.outboundip)){
|
|
921
873
|
if(!apiutil.isIpAddressString(req.body.host.outboundip)){
|
|
922
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
923
874
|
result = {
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
875
|
+
result: false,
|
|
876
|
+
message: 'POST request has outbound ip address which is not ignore ip address string: ' + JSON.stringify(req.body.host.outboundip)
|
|
877
|
+
};
|
|
928
878
|
r3logger.elog(result.message);
|
|
929
879
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
930
880
|
return;
|
|
@@ -943,12 +893,10 @@ function postRoleHost(role, req, res, next) // eslint-disable-line no-unu
|
|
|
943
893
|
//------------------------------
|
|
944
894
|
if(!apiutil.isSafeEntity(result) || !apiutil.isSafeEntity(result.result) || false === result.result){
|
|
945
895
|
if(!apiutil.isSafeEntity(result)){
|
|
946
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
947
896
|
result = {
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
897
|
+
result: false,
|
|
898
|
+
message: 'Could not get response from addHost'
|
|
899
|
+
};
|
|
952
900
|
}else{
|
|
953
901
|
if(!apiutil.isSafeEntity(result.result)){
|
|
954
902
|
result.result = false;
|
|
@@ -1026,12 +974,10 @@ function putRoleHost(role, req, res, next) // eslint-disable-line no-unus
|
|
|
1026
974
|
if( !apiutil.isSafeEntity(req) ||
|
|
1027
975
|
!apiutil.isSafeEntity(req.query) )
|
|
1028
976
|
{
|
|
1029
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
1030
977
|
result = {
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
978
|
+
result: false,
|
|
979
|
+
message: 'PUT argument does not have any data'
|
|
980
|
+
};
|
|
1035
981
|
|
|
1036
982
|
r3logger.elog(result.message);
|
|
1037
983
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -1068,12 +1014,10 @@ function putRoleHost(role, req, res, next) // eslint-disable-line no-unus
|
|
|
1068
1014
|
// role name is not full yrn, then check other yrn path
|
|
1069
1015
|
nameptn = new RegExp('^' + keys.NO_TENANT_KEY); // regex = /^yrn:yahoo:/
|
|
1070
1016
|
if(name.match(nameptn)){
|
|
1071
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
1072
1017
|
result = {
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
1018
|
+
result: false,
|
|
1019
|
+
message: 'POST request url has wrong yrn full path to role'
|
|
1020
|
+
};
|
|
1077
1021
|
|
|
1078
1022
|
r3logger.elog(result.message);
|
|
1079
1023
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -1086,12 +1030,10 @@ function putRoleHost(role, req, res, next) // eslint-disable-line no-unus
|
|
|
1086
1030
|
var ip = null;
|
|
1087
1031
|
if(!is_host_req){
|
|
1088
1032
|
if(!apiutil.isSafeString(req.query.host)){
|
|
1089
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
1090
1033
|
result = {
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
1034
|
+
result: false,
|
|
1035
|
+
message: 'host is not specified.'
|
|
1036
|
+
};
|
|
1095
1037
|
|
|
1096
1038
|
r3logger.elog(result.message);
|
|
1097
1039
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -1107,12 +1049,10 @@ function putRoleHost(role, req, res, next) // eslint-disable-line no-unus
|
|
|
1107
1049
|
// get ip address
|
|
1108
1050
|
ip = apiutil.getClientIpAddress(req);
|
|
1109
1051
|
if(!apiutil.isSafeString(ip)){
|
|
1110
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
1111
1052
|
result = {
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
1053
|
+
result: false,
|
|
1054
|
+
message: 'Could not get ip address from request.'
|
|
1055
|
+
};
|
|
1116
1056
|
|
|
1117
1057
|
r3logger.elog(result.message);
|
|
1118
1058
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -1124,12 +1064,10 @@ function putRoleHost(role, req, res, next) // eslint-disable-line no-unus
|
|
|
1124
1064
|
var port;
|
|
1125
1065
|
if(apiutil.isSafeString(req.query.port)){
|
|
1126
1066
|
if(isNaN(req.query.port)){
|
|
1127
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
1128
1067
|
result = {
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
1068
|
+
result: false,
|
|
1069
|
+
message: 'PUT request has port which is not number: ' + JSON.stringify(req.query.port)
|
|
1070
|
+
};
|
|
1133
1071
|
|
|
1134
1072
|
r3logger.elog(result.message);
|
|
1135
1073
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -1177,12 +1115,10 @@ function putRoleHost(role, req, res, next) // eslint-disable-line no-unus
|
|
|
1177
1115
|
var inboundip = null;
|
|
1178
1116
|
if(apiutil.isSafeString(req.query.inboundip)){
|
|
1179
1117
|
if(!apiutil.isIpAddressString(req.query.inboundip)){
|
|
1180
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
1181
1118
|
result = {
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
1119
|
+
result: false,
|
|
1120
|
+
message: 'PUT request has inbound ip address which is not ignore ip address string: ' + JSON.stringify(req.query.inboundip)
|
|
1121
|
+
};
|
|
1186
1122
|
r3logger.elog(result.message);
|
|
1187
1123
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
1188
1124
|
return;
|
|
@@ -1195,12 +1131,10 @@ function putRoleHost(role, req, res, next) // eslint-disable-line no-unus
|
|
|
1195
1131
|
var outboundip = null;
|
|
1196
1132
|
if(apiutil.isSafeString(req.query.outboundip)){
|
|
1197
1133
|
if(!apiutil.isIpAddressString(req.query.outboundip)){
|
|
1198
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
1199
1134
|
result = {
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
1135
|
+
result: false,
|
|
1136
|
+
message: 'PUT request has outbound ip address which is not ignore ip address string: ' + JSON.stringify(req.query.outboundip)
|
|
1137
|
+
};
|
|
1204
1138
|
r3logger.elog(result.message);
|
|
1205
1139
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
1206
1140
|
return;
|
|
@@ -1225,12 +1159,10 @@ function putRoleHost(role, req, res, next) // eslint-disable-line no-unus
|
|
|
1225
1159
|
}
|
|
1226
1160
|
if(!apiutil.isSafeEntity(result) || !apiutil.isSafeEntity(result.result) || false === result.result){
|
|
1227
1161
|
if(!apiutil.isSafeEntity(result)){
|
|
1228
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
1229
1162
|
result = {
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
1163
|
+
result: false,
|
|
1164
|
+
message: 'Could not get response from addHost'
|
|
1165
|
+
};
|
|
1234
1166
|
}else{
|
|
1235
1167
|
if(!apiutil.isSafeEntity(result.result)){
|
|
1236
1168
|
result.result = false;
|
|
@@ -1335,12 +1267,10 @@ router.get('/', function(req, res, next)
|
|
|
1335
1267
|
if( !apiutil.isSafeEntity(req) ||
|
|
1336
1268
|
!apiutil.isSafeEntity(req.baseUrl) )
|
|
1337
1269
|
{
|
|
1338
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
1339
1270
|
result = {
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
1271
|
+
result: false,
|
|
1272
|
+
message: 'GET request or url is wrong'
|
|
1273
|
+
};
|
|
1344
1274
|
|
|
1345
1275
|
r3logger.elog(result.message);
|
|
1346
1276
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -1392,12 +1322,10 @@ router.get('/', function(req, res, next)
|
|
|
1392
1322
|
requestptn = new RegExp(keys.MATCH_URI_GET_ROLE_DATA); // regex = /^\/v1\/role\/(.*)/
|
|
1393
1323
|
reqmatchs = decodeURI(req.baseUrl).match(requestptn);
|
|
1394
1324
|
if(apiutil.isEmptyArray(reqmatchs) || reqmatchs.length < 2 || '' === apiutil.getSafeString(reqmatchs[1])){
|
|
1395
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
1396
1325
|
result = {
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
1326
|
+
result: false,
|
|
1327
|
+
message: 'GET request url does not have role name'
|
|
1328
|
+
};
|
|
1401
1329
|
|
|
1402
1330
|
r3logger.elog(result.message);
|
|
1403
1331
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -1417,12 +1345,10 @@ router.get('/', function(req, res, next)
|
|
|
1417
1345
|
//
|
|
1418
1346
|
nameptn = new RegExp('^' + keys.NO_TENANT_KEY); // regex = /^yrn:yahoo:/
|
|
1419
1347
|
if(name.match(nameptn)){
|
|
1420
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
1421
1348
|
result = {
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
1349
|
+
result: false,
|
|
1350
|
+
message: 'GET request query has wrong yrn full path to role'
|
|
1351
|
+
};
|
|
1426
1352
|
|
|
1427
1353
|
r3logger.elog(result.message);
|
|
1428
1354
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -1430,12 +1356,10 @@ router.get('/', function(req, res, next)
|
|
|
1430
1356
|
}
|
|
1431
1357
|
// role name is not full yrn, we need tenant name
|
|
1432
1358
|
if(!apiutil.isSafeEntity(keys.ROLE_TOP_KEY)){
|
|
1433
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
1434
1359
|
result = {
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
1360
|
+
result: false,
|
|
1361
|
+
message: 'GET request role name which is not full yrn, and not token. role name must be full yrn, if token is not specified.'
|
|
1362
|
+
};
|
|
1439
1363
|
|
|
1440
1364
|
r3logger.elog(result.message);
|
|
1441
1365
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -1450,12 +1374,10 @@ router.get('/', function(req, res, next)
|
|
|
1450
1374
|
// need to check tenant name when token is specified.
|
|
1451
1375
|
//
|
|
1452
1376
|
if(null !== token_type && (!apiutil.isSafeEntity(token_info) || !apiutil.isSafeString(token_info.tenant) || !apiutil.compareCaseString(namematchs[2], token_info.tenant))){
|
|
1453
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
1454
1377
|
result = {
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
1378
|
+
result: false,
|
|
1379
|
+
message: 'GET request query has wrong tenant yrn full path(tenant=' + namematchs[2] + ') or not specify tenant.'
|
|
1380
|
+
};
|
|
1459
1381
|
|
|
1460
1382
|
r3logger.elog(result.message);
|
|
1461
1383
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -1481,12 +1403,10 @@ router.get('/', function(req, res, next)
|
|
|
1481
1403
|
if('user' === apiutil.getSafeString(token_type)){
|
|
1482
1404
|
getListRoleTokens(name, token_info, req, res);
|
|
1483
1405
|
}else{
|
|
1484
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
1485
1406
|
result = {
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
1407
|
+
result: false,
|
|
1408
|
+
message: 'GET request without UserToken for getting list of role(' + name + ') tokens, need User Token.'
|
|
1409
|
+
};
|
|
1490
1410
|
|
|
1491
1411
|
r3logger.elog(result.message);
|
|
1492
1412
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -1500,12 +1420,10 @@ router.get('/', function(req, res, next)
|
|
|
1500
1420
|
if('user' === apiutil.getSafeString(token_type)){
|
|
1501
1421
|
getRole(name, token_info, req, res);
|
|
1502
1422
|
}else{
|
|
1503
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
1504
1423
|
result = {
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
1424
|
+
result: false,
|
|
1425
|
+
message: 'GET request without UserToken for getting role(' + name + '), need User Token.'
|
|
1426
|
+
};
|
|
1509
1427
|
|
|
1510
1428
|
r3logger.elog(result.message);
|
|
1511
1429
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -1553,12 +1471,10 @@ function getRole(role, token_info, req, res)
|
|
|
1553
1471
|
if( !apiutil.isSafeEntity(req) ||
|
|
1554
1472
|
!apiutil.isSafeEntity(req.query) )
|
|
1555
1473
|
{
|
|
1556
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
1557
1474
|
result = {
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
1475
|
+
result: false,
|
|
1476
|
+
message: 'GET request query is wrong'
|
|
1477
|
+
};
|
|
1562
1478
|
|
|
1563
1479
|
r3logger.elog(result.message);
|
|
1564
1480
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -1569,12 +1485,10 @@ function getRole(role, token_info, req, res)
|
|
|
1569
1485
|
!apiutil.isSafeString(token_info.user) ||
|
|
1570
1486
|
!apiutil.isSafeString(token_info.tenant))
|
|
1571
1487
|
{
|
|
1572
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
1573
1488
|
result = {
|
|
1574
|
-
|
|
1575
|
-
|
|
1576
|
-
|
|
1577
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
1489
|
+
result: false,
|
|
1490
|
+
message: 'GET request is failure by internal error.'
|
|
1491
|
+
};
|
|
1578
1492
|
|
|
1579
1493
|
r3logger.elog(result.message);
|
|
1580
1494
|
resutil.errResponse(req, res, 500, result); // 500: Internal Error
|
|
@@ -1594,12 +1508,10 @@ function getRole(role, token_info, req, res)
|
|
|
1594
1508
|
}else if(apiutil.compareCaseString(keys.VALUE_FALSE, req.query.expand)){
|
|
1595
1509
|
is_expand = false;
|
|
1596
1510
|
}else{
|
|
1597
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
1598
1511
|
result = {
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
|
|
1602
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
1512
|
+
result: false,
|
|
1513
|
+
message: 'GET expand url argument parameter(' + JSON.stringify(req.query.expand) + ') is wrong, it must be ' + keys.VALUE_TRUE + ' or ' + keys.VALUE_FALSE + '.'
|
|
1514
|
+
};
|
|
1603
1515
|
|
|
1604
1516
|
r3logger.elog(result.message);
|
|
1605
1517
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -1613,12 +1525,10 @@ function getRole(role, token_info, req, res)
|
|
|
1613
1525
|
result = k2hr3.getRole(role, is_expand);
|
|
1614
1526
|
if(!apiutil.isSafeEntity(result) || !apiutil.isSafeEntity(result.result) || false === result.result){
|
|
1615
1527
|
if(!apiutil.isSafeEntity(result)){
|
|
1616
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
1617
1528
|
result = {
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
1529
|
+
result: false,
|
|
1530
|
+
message: 'Could not get response from getRole'
|
|
1531
|
+
};
|
|
1622
1532
|
}else{
|
|
1623
1533
|
if(!apiutil.isSafeEntity(result.result)){
|
|
1624
1534
|
result.result = false;
|
|
@@ -1662,12 +1572,10 @@ function getRoleToken(role, token_info, token_type, token_str, req, res)
|
|
|
1662
1572
|
|
|
1663
1573
|
var result;
|
|
1664
1574
|
if(!apiutil.isSafeString(role)){
|
|
1665
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
1666
1575
|
result = {
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
1576
|
+
result: false,
|
|
1577
|
+
message: 'GET request is failure by internal error.'
|
|
1578
|
+
};
|
|
1671
1579
|
|
|
1672
1580
|
r3logger.elog(result.message);
|
|
1673
1581
|
resutil.errResponse(req, res, 500, result); // 500: Internal Error
|
|
@@ -1685,12 +1593,10 @@ function getRoleToken(role, token_info, token_type, token_str, req, res)
|
|
|
1685
1593
|
var namematchs = role.match(nameptn);
|
|
1686
1594
|
if(apiutil.isEmptyArray(namematchs) || namematchs.length < 4){
|
|
1687
1595
|
// role is not full yrn
|
|
1688
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
1689
1596
|
result = {
|
|
1690
|
-
|
|
1691
|
-
|
|
1692
|
-
|
|
1693
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
1597
|
+
result: false,
|
|
1598
|
+
message: 'GET request is failure by internal error(role yrn path is broken).'
|
|
1599
|
+
};
|
|
1694
1600
|
|
|
1695
1601
|
r3logger.elog(result.message);
|
|
1696
1602
|
resutil.errResponse(req, res, 500, result); // 500: Internal Error
|
|
@@ -1704,12 +1610,10 @@ function getRoleToken(role, token_info, token_type, token_str, req, res)
|
|
|
1704
1610
|
// client ip
|
|
1705
1611
|
var clientip = apiutil.getClientIpAddress(req);
|
|
1706
1612
|
if(!apiutil.isSafeString(clientip)){
|
|
1707
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
1708
1613
|
result = {
|
|
1709
|
-
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
1614
|
+
result: false,
|
|
1615
|
+
message: 'GET request does not have ip address for client.'
|
|
1616
|
+
};
|
|
1713
1617
|
|
|
1714
1618
|
r3logger.elog(result.message);
|
|
1715
1619
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -1727,12 +1631,10 @@ function getRoleToken(role, token_info, token_type, token_str, req, res)
|
|
|
1727
1631
|
var port;
|
|
1728
1632
|
if(apiutil.isSafeString(req.query.port)){
|
|
1729
1633
|
if(isNaN(req.query.port)){
|
|
1730
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
1731
1634
|
result = {
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
1635
|
+
result: false,
|
|
1636
|
+
message: 'GET request has port which is not number: ' + JSON.stringify(req.query.port)
|
|
1637
|
+
};
|
|
1736
1638
|
|
|
1737
1639
|
r3logger.elog(result.message);
|
|
1738
1640
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -1757,12 +1659,10 @@ function getRoleToken(role, token_info, token_type, token_str, req, res)
|
|
|
1757
1659
|
// role token
|
|
1758
1660
|
if(!apiutil.compareRequestIpAddress(req, token_info.ip)){
|
|
1759
1661
|
// wrong ip address in token
|
|
1760
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
1761
1662
|
result = {
|
|
1762
|
-
|
|
1763
|
-
|
|
1764
|
-
|
|
1765
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
1663
|
+
result: false,
|
|
1664
|
+
message: 'GET request ip address and role token are not same.'
|
|
1665
|
+
};
|
|
1766
1666
|
|
|
1767
1667
|
r3logger.elog(result.message);
|
|
1768
1668
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -1792,12 +1692,10 @@ function getRoleToken(role, token_info, token_type, token_str, req, res)
|
|
|
1792
1692
|
// expire
|
|
1793
1693
|
if(apiutil.isSafeString(req.query.expire)){
|
|
1794
1694
|
if(isNaN(req.query.expire)){
|
|
1795
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
1796
1695
|
result = {
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
1696
|
+
result: false,
|
|
1697
|
+
message: 'GET request has expire which is not number: ' + JSON.stringify(req.query.expire)
|
|
1698
|
+
};
|
|
1801
1699
|
|
|
1802
1700
|
r3logger.elog(result.message);
|
|
1803
1701
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -1815,12 +1713,10 @@ function getRoleToken(role, token_info, token_type, token_str, req, res)
|
|
|
1815
1713
|
|
|
1816
1714
|
}else{
|
|
1817
1715
|
// broken token
|
|
1818
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
1819
1716
|
result = {
|
|
1820
|
-
|
|
1821
|
-
|
|
1822
|
-
|
|
1823
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
1717
|
+
result: false,
|
|
1718
|
+
message: 'GET request is failure by internal error(token data broken).'
|
|
1719
|
+
};
|
|
1824
1720
|
|
|
1825
1721
|
r3logger.elog(result.message);
|
|
1826
1722
|
resutil.errResponse(req, res, 500, result); // 500: Internal Error
|
|
@@ -1830,12 +1726,10 @@ function getRoleToken(role, token_info, token_type, token_str, req, res)
|
|
|
1830
1726
|
// check result
|
|
1831
1727
|
if(!apiutil.isSafeEntity(result) || !apiutil.isSafeEntity(result.result) || false === result.result){
|
|
1832
1728
|
if(!apiutil.isSafeEntity(result)){
|
|
1833
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
1834
1729
|
result = {
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
1730
|
+
result: false,
|
|
1731
|
+
message: 'Could not get role token.'
|
|
1732
|
+
};
|
|
1839
1733
|
}else{
|
|
1840
1734
|
if(!apiutil.isSafeEntity(result.result)){
|
|
1841
1735
|
result.result = false;
|
|
@@ -1851,21 +1745,17 @@ function getRoleToken(role, token_info, token_type, token_str, req, res)
|
|
|
1851
1745
|
|
|
1852
1746
|
// create url parameter(path) for registering role member
|
|
1853
1747
|
//
|
|
1854
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
1855
1748
|
var regparamobj = {
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
|
|
1859
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
1749
|
+
role: role,
|
|
1750
|
+
token: result.token
|
|
1751
|
+
};
|
|
1860
1752
|
var udproc = new r3userdata.userdataProcess;
|
|
1861
1753
|
var regparamstr = udproc.encryptRoleInfo(regparamobj);
|
|
1862
1754
|
if(!apiutil.isSafeString(regparamstr)){
|
|
1863
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
1864
1755
|
result = {
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
1756
|
+
result: false,
|
|
1757
|
+
message: 'Could not create register url parameter with role token.'
|
|
1758
|
+
};
|
|
1869
1759
|
r3logger.elog(result.message);
|
|
1870
1760
|
resutil.errResponse(req, res, 404, result); // 404: Not Found
|
|
1871
1761
|
return;
|
|
@@ -1926,12 +1816,10 @@ function getListRoleTokens(role, token_info, req, res)
|
|
|
1926
1816
|
if( !apiutil.isSafeEntity(req) ||
|
|
1927
1817
|
!apiutil.isSafeEntity(req.query) )
|
|
1928
1818
|
{
|
|
1929
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
1930
1819
|
result = {
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
1820
|
+
result: false,
|
|
1821
|
+
message: 'GET request query is wrong'
|
|
1822
|
+
};
|
|
1935
1823
|
|
|
1936
1824
|
r3logger.elog(result.message);
|
|
1937
1825
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -1949,12 +1837,10 @@ function getListRoleTokens(role, token_info, req, res)
|
|
|
1949
1837
|
}else if(apiutil.compareCaseString(keys.VALUE_FALSE, req.query.expand)){
|
|
1950
1838
|
expand = false;
|
|
1951
1839
|
}else{
|
|
1952
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
1953
1840
|
result = {
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
|
|
1957
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
1841
|
+
result: false,
|
|
1842
|
+
message: 'GET expand url argument parameter(' + JSON.stringify(req.query.expand) + ') is wrong, it must be ' + keys.VALUE_TRUE + ' or ' + keys.VALUE_FALSE + '.'
|
|
1843
|
+
};
|
|
1958
1844
|
|
|
1959
1845
|
r3logger.elog(result.message);
|
|
1960
1846
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -1968,12 +1854,10 @@ function getListRoleTokens(role, token_info, req, res)
|
|
|
1968
1854
|
!apiutil.isSafeString(token_info.user) ||
|
|
1969
1855
|
!apiutil.isSafeString(token_info.tenant))
|
|
1970
1856
|
{
|
|
1971
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
1972
1857
|
result = {
|
|
1973
|
-
|
|
1974
|
-
|
|
1975
|
-
|
|
1976
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
1858
|
+
result: false,
|
|
1859
|
+
message: 'GET request is failure by internal error.'
|
|
1860
|
+
};
|
|
1977
1861
|
|
|
1978
1862
|
r3logger.elog(result.message);
|
|
1979
1863
|
resutil.errResponse(req, res, 500, result); // 500: Internal Error
|
|
@@ -1988,12 +1872,10 @@ function getListRoleTokens(role, token_info, req, res)
|
|
|
1988
1872
|
// check result
|
|
1989
1873
|
if(!apiutil.isSafeEntity(result) || !apiutil.isSafeEntity(result.result) || false === result.result){
|
|
1990
1874
|
if(!apiutil.isSafeEntity(result)){
|
|
1991
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
1992
1875
|
result = {
|
|
1993
|
-
|
|
1994
|
-
|
|
1995
|
-
|
|
1996
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
1876
|
+
result: false,
|
|
1877
|
+
message: 'Could not get role token list.'
|
|
1878
|
+
};
|
|
1997
1879
|
}else{
|
|
1998
1880
|
if(!apiutil.isSafeEntity(result.result)){
|
|
1999
1881
|
result.result = false;
|