k2hr3-api 1.0.37 → 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 +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/policy.js
CHANGED
|
@@ -70,12 +70,10 @@ router.post('/', function(req, res, next) // eslint-disable-line no-unused-v
|
|
|
70
70
|
!apiutil.isSafeEntity(req.body) ||
|
|
71
71
|
!apiutil.isSafeEntity(req.body.policy) )
|
|
72
72
|
{
|
|
73
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
74
73
|
result = {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
74
|
+
result: false,
|
|
75
|
+
message: 'POST body does not have policy data'
|
|
76
|
+
};
|
|
79
77
|
|
|
80
78
|
r3logger.elog(result.message);
|
|
81
79
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -99,12 +97,10 @@ router.post('/', function(req, res, next) // eslint-disable-line no-unused-v
|
|
|
99
97
|
// check arguments
|
|
100
98
|
//------------------------------
|
|
101
99
|
if(!apiutil.isSafeString(req.body.policy.name)){
|
|
102
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
103
100
|
result = {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
101
|
+
result: false,
|
|
102
|
+
message: 'policy:name field is wrong : ' + JSON.stringify(req.body.policy.name)
|
|
103
|
+
};
|
|
108
104
|
|
|
109
105
|
r3logger.elog(result.message);
|
|
110
106
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -122,12 +118,10 @@ router.post('/', function(req, res, next) // eslint-disable-line no-unused-v
|
|
|
122
118
|
// check token's tenant(if same tenant, name is not full yrn)
|
|
123
119
|
nameptn = new RegExp('^' + keys.NO_TENANT_KEY); // regex = /^yrn:yahoo:/
|
|
124
120
|
if(name.match(nameptn)){
|
|
125
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
126
121
|
result = {
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
122
|
+
result: false,
|
|
123
|
+
message: 'POST request url has wrong yrn full path to policy'
|
|
124
|
+
};
|
|
131
125
|
|
|
132
126
|
r3logger.elog(result.message);
|
|
133
127
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -144,12 +138,10 @@ router.post('/', function(req, res, next) // eslint-disable-line no-unused-v
|
|
|
144
138
|
}else if(apiutil.compareCaseString(req.body.policy.effect, keys.VALUE_DENY)){
|
|
145
139
|
effect = false; // = deny
|
|
146
140
|
}else{
|
|
147
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
148
141
|
result = {
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
142
|
+
result: false,
|
|
143
|
+
message: 'policy:effect field is wrong : ' + JSON.stringify(req.body.policy.effect)
|
|
144
|
+
};
|
|
153
145
|
|
|
154
146
|
r3logger.elog(result.message);
|
|
155
147
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -159,12 +151,10 @@ router.post('/', function(req, res, next) // eslint-disable-line no-unused-v
|
|
|
159
151
|
var actptns = [keys.ACTION_READ_KEY, keys.ACTION_WRITE_KEY]; // allow string as read/write yrn full path
|
|
160
152
|
var actpram = apiutil.getNormalizeParameter(req.body.policy.action, null, actptns);
|
|
161
153
|
if(false === actpram.result){
|
|
162
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
163
154
|
result = {
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
155
|
+
result: false,
|
|
156
|
+
message: 'policy:action field is wrong : ' + JSON.stringify(req.body.policy.action)
|
|
157
|
+
};
|
|
168
158
|
|
|
169
159
|
r3logger.elog(result.message);
|
|
170
160
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -175,12 +165,10 @@ router.post('/', function(req, res, next) // eslint-disable-line no-unused-v
|
|
|
175
165
|
var resptn = new RegExp('^' + keys.RESOURCE_TOP_KEY + ':(.*)'); // regex = /^yrn:yahoo:<service>::<tenant>:resource:(.*)/
|
|
176
166
|
var respram = apiutil.getNormalizeParameter(req.body.policy.resource, resptn, null);
|
|
177
167
|
if(false === respram.result){
|
|
178
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
179
168
|
result = {
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
169
|
+
result: false,
|
|
170
|
+
message: 'policy:resource field is wrong : ' + JSON.stringify(req.body.policy.resource)
|
|
171
|
+
};
|
|
184
172
|
|
|
185
173
|
r3logger.elog(result.message);
|
|
186
174
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -192,12 +180,10 @@ router.post('/', function(req, res, next) // eslint-disable-line no-unused-v
|
|
|
192
180
|
if(!apiutil.isSafeEntity(req.body.policy.condition) || '' === req.body.policy.condition){
|
|
193
181
|
condition = null; // now reserved this field
|
|
194
182
|
}else{
|
|
195
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
196
183
|
result = {
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
184
|
+
result: false,
|
|
185
|
+
message: 'policy:condition field is wrong : ' + JSON.stringify(req.body.policy.condition)
|
|
186
|
+
};
|
|
201
187
|
|
|
202
188
|
r3logger.elog(result.message);
|
|
203
189
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -207,12 +193,10 @@ router.post('/', function(req, res, next) // eslint-disable-line no-unused-v
|
|
|
207
193
|
var aliasptn = new RegExp('^' + keys.POLICY_TOP_KEY + ':(.*)'); // regex = /^yrn:yahoo:<service>::<tenant>:policy:(.*)/
|
|
208
194
|
var aliaspram = apiutil.getNormalizeParameter(req.body.policy.alias, aliasptn, null);
|
|
209
195
|
if(false === aliaspram.result){
|
|
210
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
211
196
|
result = {
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
197
|
+
result: false,
|
|
198
|
+
message: 'policy:alias field is wrong : ' + JSON.stringify(req.body.policy.alias)
|
|
199
|
+
};
|
|
216
200
|
|
|
217
201
|
r3logger.elog(result.message);
|
|
218
202
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -226,12 +210,10 @@ router.post('/', function(req, res, next) // eslint-disable-line no-unused-v
|
|
|
226
210
|
result = k2hr3.setPolicyAll(token_info.user, token_info.tenant, name, effect, actions, resources, condition, aliases);
|
|
227
211
|
if(!apiutil.isSafeEntity(result) || !apiutil.isSafeEntity(result.result) || false === result.result){
|
|
228
212
|
if(!apiutil.isSafeEntity(result)){
|
|
229
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
230
213
|
result = {
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
214
|
+
result: false,
|
|
215
|
+
message: 'Could not get response from setPolicyAll'
|
|
216
|
+
};
|
|
235
217
|
}else{
|
|
236
218
|
if(!apiutil.isSafeEntity(result.result)){
|
|
237
219
|
result.result = false;
|
|
@@ -282,12 +264,10 @@ router.put('/', function(req, res, next) // eslint-disable-line no-unused-va
|
|
|
282
264
|
if( !apiutil.isSafeEntity(req) ||
|
|
283
265
|
!apiutil.isSafeEntity(req.query) )
|
|
284
266
|
{
|
|
285
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
286
267
|
result = {
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
268
|
+
result: false,
|
|
269
|
+
message: 'PUT argument does not have any data'
|
|
270
|
+
};
|
|
291
271
|
|
|
292
272
|
r3logger.elog(result.message);
|
|
293
273
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -312,12 +292,10 @@ router.put('/', function(req, res, next) // eslint-disable-line no-unused-va
|
|
|
312
292
|
// check arguments
|
|
313
293
|
//------------------------------
|
|
314
294
|
if(!apiutil.isSafeString(req.query.name)){
|
|
315
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
316
295
|
result = {
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
296
|
+
result: false,
|
|
297
|
+
message: 'policy:name field is wrong : ' + JSON.stringify(req.query.name)
|
|
298
|
+
};
|
|
321
299
|
|
|
322
300
|
r3logger.elog(result.message);
|
|
323
301
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -336,12 +314,10 @@ router.put('/', function(req, res, next) // eslint-disable-line no-unused-va
|
|
|
336
314
|
// check token's tenant(if same tenant, name is not full yrn)
|
|
337
315
|
nameptn = new RegExp('^' + keys.NO_TENANT_KEY); // regex = /^yrn:yahoo:/
|
|
338
316
|
if(name.match(nameptn)){
|
|
339
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
340
317
|
result = {
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
318
|
+
result: false,
|
|
319
|
+
message: 'PUT request url has wrong yrn full path to policy'
|
|
320
|
+
};
|
|
345
321
|
|
|
346
322
|
r3logger.elog(result.message);
|
|
347
323
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -358,12 +334,10 @@ router.put('/', function(req, res, next) // eslint-disable-line no-unused-va
|
|
|
358
334
|
}else if(apiutil.compareCaseString(req.query.effect, keys.VALUE_DENY)){
|
|
359
335
|
effect = false; // = deny
|
|
360
336
|
}else{
|
|
361
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
362
337
|
result = {
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
338
|
+
result: false,
|
|
339
|
+
message: 'policy:effect field is wrong : ' + JSON.stringify(req.query.effect)
|
|
340
|
+
};
|
|
367
341
|
|
|
368
342
|
r3logger.elog(result.message);
|
|
369
343
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -373,12 +347,10 @@ router.put('/', function(req, res, next) // eslint-disable-line no-unused-va
|
|
|
373
347
|
var actptns = [keys.ACTION_READ_KEY, keys.ACTION_WRITE_KEY]; // allow string as read/write yrn full path
|
|
374
348
|
var actpram = apiutil.getNormalizeParameter(req.query.action, null, actptns);
|
|
375
349
|
if(false === actpram.result){
|
|
376
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
377
350
|
result = {
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
351
|
+
result: false,
|
|
352
|
+
message: 'policy:action field is wrong : ' + JSON.stringify(req.query.action)
|
|
353
|
+
};
|
|
382
354
|
|
|
383
355
|
r3logger.elog(result.message);
|
|
384
356
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -389,12 +361,10 @@ router.put('/', function(req, res, next) // eslint-disable-line no-unused-va
|
|
|
389
361
|
var resptn = new RegExp('^' + keys.RESOURCE_TOP_KEY + ':(.*)'); // regex = /^yrn:yahoo:<service>::<tenant>:resource:(.*)/
|
|
390
362
|
var respram = apiutil.getNormalizeParameter(req.query.resource, resptn, null);
|
|
391
363
|
if(false === respram.result){
|
|
392
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
393
364
|
result = {
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
365
|
+
result: false,
|
|
366
|
+
message: 'policy:resource field is wrong : ' + JSON.stringify(req.query.resource)
|
|
367
|
+
};
|
|
398
368
|
|
|
399
369
|
r3logger.elog(result.message);
|
|
400
370
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -406,12 +376,10 @@ router.put('/', function(req, res, next) // eslint-disable-line no-unused-va
|
|
|
406
376
|
if(!apiutil.isSafeEntity(req.query.condition) || '' === req.query.condition){
|
|
407
377
|
condition = null; // now reserved this field
|
|
408
378
|
}else{
|
|
409
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
410
379
|
result = {
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
380
|
+
result: false,
|
|
381
|
+
message: 'policy:condition field is wrong : ' + JSON.stringify(req.query.condition)
|
|
382
|
+
};
|
|
415
383
|
|
|
416
384
|
r3logger.elog(result.message);
|
|
417
385
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -421,12 +389,10 @@ router.put('/', function(req, res, next) // eslint-disable-line no-unused-va
|
|
|
421
389
|
var aliasptn = new RegExp('^' + keys.POLICY_TOP_KEY + ':(.*)'); // regex = /^yrn:yahoo:<service>::<tenant>:policy:(.*)/
|
|
422
390
|
var aliaspram = apiutil.getNormalizeParameter(req.query.alias, aliasptn, null);
|
|
423
391
|
if(false === aliaspram.result){
|
|
424
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
425
392
|
result = {
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
393
|
+
result: false,
|
|
394
|
+
message: 'policy:alias field is wrong : ' + JSON.stringify(req.query.alias)
|
|
395
|
+
};
|
|
430
396
|
|
|
431
397
|
r3logger.elog(result.message);
|
|
432
398
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -440,12 +406,10 @@ router.put('/', function(req, res, next) // eslint-disable-line no-unused-va
|
|
|
440
406
|
result = k2hr3.setPolicyAll(token_info.user, token_info.tenant, name, effect, actions, resources, condition, aliases);
|
|
441
407
|
if(!apiutil.isSafeEntity(result) || !apiutil.isSafeEntity(result.result) || false === result.result){
|
|
442
408
|
if(!apiutil.isSafeEntity(result)){
|
|
443
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
444
409
|
result = {
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
410
|
+
result: false,
|
|
411
|
+
message: 'Could not get response from setPolicyAll'
|
|
412
|
+
};
|
|
449
413
|
}else{
|
|
450
414
|
if(!apiutil.isSafeEntity(result.result)){
|
|
451
415
|
result.result = false;
|
|
@@ -494,12 +458,10 @@ router.get('/', function(req, res, next)
|
|
|
494
458
|
if( !apiutil.isSafeEntity(req) ||
|
|
495
459
|
!apiutil.isSafeEntity(req.baseUrl) )
|
|
496
460
|
{
|
|
497
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
498
461
|
result = {
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
462
|
+
result: false,
|
|
463
|
+
message: 'GET request or url is wrong'
|
|
464
|
+
};
|
|
503
465
|
|
|
504
466
|
r3logger.elog(result.message);
|
|
505
467
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -534,12 +496,10 @@ router.get('/', function(req, res, next)
|
|
|
534
496
|
var requestptn = new RegExp('^/v1/policy/(.*)'); // regex = /^\/v1\/policy\/(.*)/
|
|
535
497
|
var reqmatchs = decodeURI(req.baseUrl).match(requestptn);
|
|
536
498
|
if(apiutil.isEmptyArray(reqmatchs) || reqmatchs.length < 2 || '' === apiutil.getSafeString(reqmatchs[1])){
|
|
537
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
538
499
|
result = {
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
500
|
+
result: false,
|
|
501
|
+
message: 'GET request url does not have policy name'
|
|
502
|
+
};
|
|
543
503
|
|
|
544
504
|
r3logger.elog(result.message);
|
|
545
505
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -606,12 +566,10 @@ router.get('/', function(req, res, next)
|
|
|
606
566
|
result = k2hr3.getPolicyAll(token_info.user, token_info.tenant, service, name);
|
|
607
567
|
if(!apiutil.isSafeEntity(result) || !apiutil.isSafeEntity(result.result) || false === result.result){
|
|
608
568
|
if(!apiutil.isSafeEntity(result)){
|
|
609
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
610
569
|
result = {
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
570
|
+
result: false,
|
|
571
|
+
message: 'Could not get response from getPolicyAll'
|
|
572
|
+
};
|
|
615
573
|
}else{
|
|
616
574
|
if(!apiutil.isSafeEntity(result.result)){
|
|
617
575
|
result.result = false;
|
|
@@ -841,12 +799,10 @@ router.delete('/', function(req, res, next) // eslint-disable-line no-unused
|
|
|
841
799
|
var requestptn = new RegExp('^/v1/policy/(.*)'); // regex = /^\/v1\/policy\/(.*)/
|
|
842
800
|
var reqmatchs = decodeURI(req.baseUrl).match(requestptn);
|
|
843
801
|
if(apiutil.isEmptyArray(reqmatchs) || reqmatchs.length < 2 || '' === apiutil.getSafeString(reqmatchs[1])){
|
|
844
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
845
802
|
result = {
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
803
|
+
result: false,
|
|
804
|
+
message: 'GET request url does not have policy name'
|
|
805
|
+
};
|
|
850
806
|
|
|
851
807
|
r3logger.elog(result.message);
|
|
852
808
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -864,12 +820,10 @@ router.delete('/', function(req, res, next) // eslint-disable-line no-unused
|
|
|
864
820
|
// check yrn full path(it is NG)
|
|
865
821
|
nameptn = new RegExp('^' + keys.NO_TENANT_KEY); // regex = /^yrn:yahoo:/
|
|
866
822
|
if(name.match(nameptn)){
|
|
867
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
868
823
|
result = {
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
824
|
+
result: false,
|
|
825
|
+
message: 'DELETE request url has wrong yrn full path to policy'
|
|
826
|
+
};
|
|
873
827
|
|
|
874
828
|
r3logger.elog(result.message);
|
|
875
829
|
resutil.errResponse(req, res, 400, result); // 400: Bad Request
|
|
@@ -882,12 +836,10 @@ router.delete('/', function(req, res, next) // eslint-disable-line no-unused
|
|
|
882
836
|
result = k2hr3.removePolicy(token_info.user, token_info.tenant, name);
|
|
883
837
|
if(!apiutil.isSafeEntity(result) || !apiutil.isSafeEntity(result.result) || false === result.result){
|
|
884
838
|
if(!apiutil.isSafeEntity(result)){
|
|
885
|
-
/* eslint-disable indent, no-mixed-spaces-and-tabs */
|
|
886
839
|
result = {
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
/* eslint-enable indent, no-mixed-spaces-and-tabs */
|
|
840
|
+
result: false,
|
|
841
|
+
message: 'Could not get response from removePolicy'
|
|
842
|
+
};
|
|
891
843
|
}else{
|
|
892
844
|
if(!apiutil.isSafeEntity(result.result)){
|
|
893
845
|
result.result = false;
|