@izara_project/izara-market-library-service-schemas 1.0.12 → 1.0.14
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/package.json +1 -1
- package/src/GenerateCodeLibs/src/GenerateCodeLibs.js +4 -4
- package/src/TemplateManager/src/GenerateCode.js +24 -47
- package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrDsq/template.ejs +2 -2
- package/src/TemplateManager/src/PerActionEndpoint/MainFunction/Update/data.js +1 -1
- package/src/TemplateManager/src/PerActionEndpoint/MainFunction/Update/template.ejs +3 -2
- package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrInv/data.js +2 -2
- package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/mainFunction/template.ejs +25 -17
- package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/perAction/HdrApi/template.ejs +39 -21
- package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/perAction/HdrDsq/template.ejs +38 -21
- package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/perAction/HdrInv/template.ejs +40 -22
- package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/perAction/HdrSqs/template.ejs +38 -22
- package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrApi/data.js +1 -1
- package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/mainFunction/template.ejs +21 -11
- package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/perAction/HdrApi/template.ejs +37 -20
- package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/perAction/HdrDsq/template.ejs +40 -23
- package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/perAction/HdrInv/template.ejs +40 -23
- package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/perAction/HdrSqs/template.ejs +40 -23
- package/src/TemplateManager/src/externalService/FunctionNameConfig/data.js +45 -12
- package/src/TemplateManager/src/externalService/FunctionNameConfig/templateIntTesting.ejs +31 -0
- package/src/TemplateManager/src/externalService/FunctionNameConfig/templateYaml.ejs +10 -0
- package/src/TemplateManager/src/externalService/LambdaRole/data.js +10 -46
- package/src/TemplateManager/src/libs/Consts.js +3 -3
- package/src/TemplateManager/src/libs/GenerateCodeUtils.js +57 -0
|
@@ -30,33 +30,46 @@ const <%- functionName %> = require('./<%- firstLetterUpperCase(functionName) %>
|
|
|
30
30
|
middleware.setValidatorSchema(recordHandlerSharedLib.baseValidatorSchema());
|
|
31
31
|
|
|
32
32
|
// validate event params in middleware before into function
|
|
33
|
-
let validatorSchema =
|
|
33
|
+
let validatorSchema = {
|
|
34
34
|
type: "object",
|
|
35
|
-
required: ["
|
|
35
|
+
required: ["firstObject","secondObject", "relType", "relationshipProperties","relationshipDirection"],
|
|
36
36
|
properties: {
|
|
37
|
-
|
|
38
|
-
type: "
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
required: ["serviceTag", "objectType"],
|
|
48
|
-
properties: {
|
|
49
|
-
serviceTag: izara.validatorSchema.stringNotEmpty(),
|
|
50
|
-
objectType: izara.validatorSchema.stringNotEmpty()
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
identifiers: {
|
|
54
|
-
type: "object",
|
|
55
|
-
minproperties: 1
|
|
37
|
+
firstObject: {
|
|
38
|
+
type: "object",
|
|
39
|
+
required: ["objType","identifiers"],
|
|
40
|
+
properties: {
|
|
41
|
+
objType: {
|
|
42
|
+
type: "object",
|
|
43
|
+
required: ["serviceTag","objectType"],
|
|
44
|
+
properties: {
|
|
45
|
+
serviceTag: izara.validatorSchema.stringNotEmpty(),
|
|
46
|
+
objectType: izara.validatorSchema.stringNotEmpty(),
|
|
56
47
|
}
|
|
48
|
+
},
|
|
49
|
+
identifiers: {
|
|
50
|
+
type: "object",
|
|
51
|
+
minProperties: 1
|
|
57
52
|
}
|
|
58
53
|
}
|
|
59
54
|
},
|
|
55
|
+
secondObject: {
|
|
56
|
+
type: "object",
|
|
57
|
+
required: ["objType","identifiers"],
|
|
58
|
+
properties: {
|
|
59
|
+
objType: {
|
|
60
|
+
type: "object",
|
|
61
|
+
required: ["serviceTag","objectType"],
|
|
62
|
+
properties: {
|
|
63
|
+
serviceTag: izara.validatorSchema.stringNotEmpty(),
|
|
64
|
+
objectType: izara.validatorSchema.stringNotEmpty(),
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
identifiers: {
|
|
68
|
+
type: "object",
|
|
69
|
+
minProperties: 1
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
},
|
|
60
73
|
relType: {
|
|
61
74
|
type: "object",
|
|
62
75
|
required: ["relationshipTag", "serviceTag"],
|
|
@@ -72,11 +85,14 @@ let validatorSchema = {
|
|
|
72
85
|
relationshipProperties: {
|
|
73
86
|
type: "object",
|
|
74
87
|
minProperties: 1
|
|
88
|
+
},
|
|
89
|
+
relationshipDirection: {
|
|
90
|
+
type: "string",
|
|
91
|
+
enum: ['from','to']
|
|
75
92
|
}
|
|
76
93
|
}
|
|
77
94
|
};
|
|
78
95
|
|
|
79
|
-
|
|
80
96
|
//(<globalVarible>
|
|
81
97
|
//</globalVarible>)
|
|
82
98
|
|
|
@@ -65,7 +65,7 @@ function createParamForCreateSource(srcPath) {
|
|
|
65
65
|
functionName,
|
|
66
66
|
handlerType,
|
|
67
67
|
additionalResourcePermission,
|
|
68
|
-
resourceLocation: SOURCE_PATH.
|
|
68
|
+
resourceLocation: SOURCE_PATH.resourceLocationRelationshipPerAction,
|
|
69
69
|
functionNameConfig: upperCase(SHORT_FUNCTION_NAME.updateRel) + upperCase(shortNameHandler(handlerType))
|
|
70
70
|
},
|
|
71
71
|
setting: {
|
|
@@ -67,7 +67,7 @@ const {
|
|
|
67
67
|
*
|
|
68
68
|
* @returns {object} description of return value
|
|
69
69
|
*/
|
|
70
|
-
module.exports
|
|
70
|
+
module.exports.updateRelationship = async (
|
|
71
71
|
_izContext,
|
|
72
72
|
requestParams,
|
|
73
73
|
callingFlowConfig = {},
|
|
@@ -83,10 +83,12 @@ module.exports.<%- functionName %> = async (
|
|
|
83
83
|
|
|
84
84
|
|
|
85
85
|
const {
|
|
86
|
-
|
|
86
|
+
firstObject,
|
|
87
|
+
secondObject,
|
|
87
88
|
relType,
|
|
88
89
|
relId,
|
|
89
|
-
relationshipProperties
|
|
90
|
+
relationshipProperties,
|
|
91
|
+
relationshipDirection
|
|
90
92
|
//(<requestparamUpdateRel>)
|
|
91
93
|
//(</requestparamUpdateRel>)
|
|
92
94
|
} = requestParams;
|
|
@@ -121,8 +123,8 @@ module.exports.<%- functionName %> = async (
|
|
|
121
123
|
}
|
|
122
124
|
}
|
|
123
125
|
|
|
124
|
-
await validateIdentifiersExists(_izContext,
|
|
125
|
-
await validateIdentifiersExists(_izContext,
|
|
126
|
+
await validateIdentifiersExists(_izContext, firstObject.objType, firstObject.identifiers);
|
|
127
|
+
await validateIdentifiersExists(_izContext, secondObject.objType, secondObject.identifiers);
|
|
126
128
|
// finished validate object and identifiers
|
|
127
129
|
|
|
128
130
|
//(<afterValidateUpdateRel>)
|
|
@@ -142,8 +144,8 @@ module.exports.<%- functionName %> = async (
|
|
|
142
144
|
const { serviceTag: fromServiceTag, objectType: fromObjectType } = from.objType
|
|
143
145
|
const { serviceTag: toServiceTag, objectType: toObjectType } = to.objType
|
|
144
146
|
|
|
145
|
-
const { serviceTag: firstServiceTag, objectType: firstObjectType } =
|
|
146
|
-
const { serviceTag: secondServiceTag, objectType: secondObjectType } =
|
|
147
|
+
const { serviceTag: firstServiceTag, objectType: firstObjectType } = firstObject.objType;
|
|
148
|
+
const { serviceTag: secondServiceTag, objectType: secondObjectType } = secondObject.objType;
|
|
147
149
|
|
|
148
150
|
// find exists link
|
|
149
151
|
if (
|
|
@@ -210,8 +212,11 @@ module.exports.<%- functionName %> = async (
|
|
|
210
212
|
if (errorsFound.length) {
|
|
211
213
|
|
|
212
214
|
let updateCompleteMsg = {
|
|
215
|
+
firstObject: firstObject,
|
|
216
|
+
secondObject: secondObject,
|
|
213
217
|
relId: relId,
|
|
214
218
|
relType: relType,
|
|
219
|
+
relationshipDirection,
|
|
215
220
|
status: 'error',
|
|
216
221
|
errorFounds: errorsFound
|
|
217
222
|
//(<inUpdateCompleteMsgUpdateRel>)
|
|
@@ -240,7 +245,7 @@ module.exports.<%- functionName %> = async (
|
|
|
240
245
|
|
|
241
246
|
|
|
242
247
|
// before create awaitingStepId per graph storageResource
|
|
243
|
-
const linkTypeId = createLinkTypeId(_izContext,
|
|
248
|
+
const linkTypeId = createLinkTypeId(_izContext, firstObject.objType, secondObject.objType, relType, relationshipDirection);
|
|
244
249
|
|
|
245
250
|
let usedGraphServiceTag = []; // collect used graph serviceName, use to check duplicate graph serviceName across graph serverTag
|
|
246
251
|
let targetGraphStorageResources = []; // collect used graph storageResources, filtered duplicate graphServiceTag from graphServerTag out
|
|
@@ -276,10 +281,12 @@ module.exports.<%- functionName %> = async (
|
|
|
276
281
|
|
|
277
282
|
// prepare message body
|
|
278
283
|
let updateRelMessageBody = {
|
|
279
|
-
|
|
284
|
+
firstObject,
|
|
285
|
+
secondObject,
|
|
280
286
|
relId,
|
|
281
287
|
relType: relType,
|
|
282
|
-
relationshipProperties
|
|
288
|
+
relationshipProperties,
|
|
289
|
+
relationshipDirection
|
|
283
290
|
//(<inUpdateRelMessageBodyUpdateRel>)
|
|
284
291
|
//(</inUpdateRelMessageBodyUpdateRel>)
|
|
285
292
|
}
|
|
@@ -318,9 +325,12 @@ module.exports.<%- functionName %> = async (
|
|
|
318
325
|
}
|
|
319
326
|
|
|
320
327
|
return {
|
|
328
|
+
firstObject,
|
|
329
|
+
secondObject,
|
|
321
330
|
relId: relId,
|
|
322
331
|
relType: relType,
|
|
323
|
-
|
|
332
|
+
relationshipDirection,
|
|
333
|
+
errorsFound
|
|
324
334
|
};
|
|
325
335
|
|
|
326
336
|
} catch (err) {
|
|
@@ -27,31 +27,44 @@ const <%- functionName %> = require('./<%- firstLetterUpperCase(functionName) %>
|
|
|
27
27
|
// validate event params in middleware before into function
|
|
28
28
|
let validatorSchema = {
|
|
29
29
|
type: "object",
|
|
30
|
-
required: ["
|
|
30
|
+
required: ["firstObject","secondObject", "relType", "relationshipProperties","relationshipDirection"],
|
|
31
31
|
properties: {
|
|
32
|
-
|
|
33
|
-
type: "
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
required: ["serviceTag", "objectType"],
|
|
43
|
-
properties: {
|
|
44
|
-
serviceTag: izara.validatorSchema.stringNotEmpty(),
|
|
45
|
-
objectType: izara.validatorSchema.stringNotEmpty()
|
|
46
|
-
}
|
|
47
|
-
},
|
|
48
|
-
identifiers: {
|
|
49
|
-
type: "object",
|
|
50
|
-
minproperties: 1
|
|
32
|
+
firstObject: {
|
|
33
|
+
type: "object",
|
|
34
|
+
required: ["objType","identifiers"],
|
|
35
|
+
properties: {
|
|
36
|
+
objType: {
|
|
37
|
+
type: "object",
|
|
38
|
+
required: ["serviceTag","objectType"],
|
|
39
|
+
properties: {
|
|
40
|
+
serviceTag: izara.validatorSchema.stringNotEmpty(),
|
|
41
|
+
objectType: izara.validatorSchema.stringNotEmpty(),
|
|
51
42
|
}
|
|
43
|
+
},
|
|
44
|
+
identifiers: {
|
|
45
|
+
type: "object",
|
|
46
|
+
minProperties: 1
|
|
52
47
|
}
|
|
53
48
|
}
|
|
54
49
|
},
|
|
50
|
+
secondObject: {
|
|
51
|
+
type: "object",
|
|
52
|
+
required: ["objType","identifiers"],
|
|
53
|
+
properties: {
|
|
54
|
+
objType: {
|
|
55
|
+
type: "object",
|
|
56
|
+
required: ["serviceTag","objectType"],
|
|
57
|
+
properties: {
|
|
58
|
+
serviceTag: izara.validatorSchema.stringNotEmpty(),
|
|
59
|
+
objectType: izara.validatorSchema.stringNotEmpty(),
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
identifiers: {
|
|
63
|
+
type: "object",
|
|
64
|
+
minProperties: 1
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
},
|
|
55
68
|
relType: {
|
|
56
69
|
type: "object",
|
|
57
70
|
required: ["relationshipTag", "serviceTag"],
|
|
@@ -68,6 +81,10 @@ let validatorSchema = {
|
|
|
68
81
|
relationshipProperties: {
|
|
69
82
|
type: "object",
|
|
70
83
|
minProperties: 1
|
|
84
|
+
},
|
|
85
|
+
relationshipDirection: {
|
|
86
|
+
type: "string",
|
|
87
|
+
enum: ['from','to']
|
|
71
88
|
}
|
|
72
89
|
}
|
|
73
90
|
};
|
|
@@ -47,31 +47,44 @@ middleware.setValidatorSchema(recordHandlerSharedLib.baseValidatorSchema(
|
|
|
47
47
|
// validate event params in middleware before into function
|
|
48
48
|
let validatorSchema = {
|
|
49
49
|
type: "object",
|
|
50
|
-
required: ["
|
|
50
|
+
required: ["firstObject","secondObject", "relType", "relationshipProperties","relationshipDirection"],
|
|
51
51
|
properties: {
|
|
52
|
-
|
|
53
|
-
type: "
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
required: ["serviceTag", "objectType"],
|
|
63
|
-
properties: {
|
|
64
|
-
serviceTag: izara.validatorSchema.stringNotEmpty(),
|
|
65
|
-
objectType: izara.validatorSchema.stringNotEmpty()
|
|
66
|
-
}
|
|
67
|
-
},
|
|
68
|
-
identifiers: {
|
|
69
|
-
type: "object",
|
|
70
|
-
minProperties: 1
|
|
52
|
+
firstObject: {
|
|
53
|
+
type: "object",
|
|
54
|
+
required: ["objType","identifiers"],
|
|
55
|
+
properties: {
|
|
56
|
+
objType: {
|
|
57
|
+
type: "object",
|
|
58
|
+
required: ["serviceTag","objectType"],
|
|
59
|
+
properties: {
|
|
60
|
+
serviceTag: izara.validatorSchema.stringNotEmpty(),
|
|
61
|
+
objectType: izara.validatorSchema.stringNotEmpty(),
|
|
71
62
|
}
|
|
63
|
+
},
|
|
64
|
+
identifiers: {
|
|
65
|
+
type: "object",
|
|
66
|
+
minProperties: 1
|
|
72
67
|
}
|
|
73
68
|
}
|
|
74
69
|
},
|
|
70
|
+
secondObject: {
|
|
71
|
+
type: "object",
|
|
72
|
+
required: ["objType","identifiers"],
|
|
73
|
+
properties: {
|
|
74
|
+
objType: {
|
|
75
|
+
type: "object",
|
|
76
|
+
required: ["serviceTag","objectType"],
|
|
77
|
+
properties: {
|
|
78
|
+
serviceTag: izara.validatorSchema.stringNotEmpty(),
|
|
79
|
+
objectType: izara.validatorSchema.stringNotEmpty(),
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
identifiers: {
|
|
83
|
+
type: "object",
|
|
84
|
+
minProperties: 1
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
},
|
|
75
88
|
relType: {
|
|
76
89
|
type: "object",
|
|
77
90
|
required: ["relationshipTag", "serviceTag"],
|
|
@@ -81,14 +94,18 @@ let validatorSchema = {
|
|
|
81
94
|
type: 'string',
|
|
82
95
|
pattern: "^[a-zA-Z0-9_-]+$",
|
|
83
96
|
enum: [process.env.iz_serviceTag]
|
|
84
|
-
}
|
|
97
|
+
}
|
|
85
98
|
}
|
|
86
99
|
},
|
|
87
100
|
relId: izara.validatorSchema.stringNotEmpty(),
|
|
88
101
|
relationshipProperties: {
|
|
89
|
-
type:
|
|
90
|
-
minProperties: 1
|
|
102
|
+
type: "object",
|
|
103
|
+
minProperties: 1
|
|
91
104
|
},
|
|
105
|
+
relationshipDirection: {
|
|
106
|
+
type: "string",
|
|
107
|
+
enum: ['from','to']
|
|
108
|
+
}
|
|
92
109
|
}
|
|
93
110
|
};
|
|
94
111
|
|
|
@@ -29,31 +29,44 @@ const <%- functionName %> = require('./<%- firstLetterUpperCase(functionName) %>
|
|
|
29
29
|
// validate event params in middlewware before into function.
|
|
30
30
|
let validatorSchema = {
|
|
31
31
|
type: "object",
|
|
32
|
-
required: ["
|
|
32
|
+
required: ["firstObject","secondObject", "relType", "relationshipProperties","relationshipDirection"],
|
|
33
33
|
properties: {
|
|
34
|
-
|
|
35
|
-
type: "
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
required: ["serviceTag", "objectType"],
|
|
45
|
-
properties: {
|
|
46
|
-
serviceTag: izara.validatorSchema.stringNotEmpty(),
|
|
47
|
-
objectType: izara.validatorSchema.stringNotEmpty()
|
|
48
|
-
}
|
|
49
|
-
},
|
|
50
|
-
identifiers: {
|
|
51
|
-
type: "object",
|
|
52
|
-
minProperties: 1
|
|
34
|
+
firstObject: {
|
|
35
|
+
type: "object",
|
|
36
|
+
required: ["objType","identifiers"],
|
|
37
|
+
properties: {
|
|
38
|
+
objType: {
|
|
39
|
+
type: "object",
|
|
40
|
+
required: ["serviceTag","objectType"],
|
|
41
|
+
properties: {
|
|
42
|
+
serviceTag: izara.validatorSchema.stringNotEmpty(),
|
|
43
|
+
objectType: izara.validatorSchema.stringNotEmpty(),
|
|
53
44
|
}
|
|
45
|
+
},
|
|
46
|
+
identifiers: {
|
|
47
|
+
type: "object",
|
|
48
|
+
minProperties: 1
|
|
54
49
|
}
|
|
55
50
|
}
|
|
56
51
|
},
|
|
52
|
+
secondObject: {
|
|
53
|
+
type: "object",
|
|
54
|
+
required: ["objType","identifiers"],
|
|
55
|
+
properties: {
|
|
56
|
+
objType: {
|
|
57
|
+
type: "object",
|
|
58
|
+
required: ["serviceTag","objectType"],
|
|
59
|
+
properties: {
|
|
60
|
+
serviceTag: izara.validatorSchema.stringNotEmpty(),
|
|
61
|
+
objectType: izara.validatorSchema.stringNotEmpty(),
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
identifiers: {
|
|
65
|
+
type: "object",
|
|
66
|
+
minProperties: 1
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
},
|
|
57
70
|
relType: {
|
|
58
71
|
type: "object",
|
|
59
72
|
required: ["relationshipTag", "serviceTag"],
|
|
@@ -63,14 +76,18 @@ let validatorSchema = {
|
|
|
63
76
|
type: 'string',
|
|
64
77
|
pattern: "^[a-zA-Z0-9_-]+$",
|
|
65
78
|
enum: [process.env.iz_serviceTag]
|
|
66
|
-
}
|
|
79
|
+
}
|
|
67
80
|
}
|
|
68
81
|
},
|
|
69
82
|
relId: izara.validatorSchema.stringNotEmpty(),
|
|
70
83
|
relationshipProperties: {
|
|
71
|
-
type:
|
|
72
|
-
minProperties: 1
|
|
84
|
+
type: "object",
|
|
85
|
+
minProperties: 1
|
|
73
86
|
},
|
|
87
|
+
relationshipDirection: {
|
|
88
|
+
type: "string",
|
|
89
|
+
enum: ['from','to']
|
|
90
|
+
}
|
|
74
91
|
}
|
|
75
92
|
};
|
|
76
93
|
|
|
@@ -32,31 +32,44 @@ middleware.setValidatorSchema(recordHandlerSharedLib.baseValidatorSchema());
|
|
|
32
32
|
// validate event params in middleware before into function
|
|
33
33
|
let validatorSchema = {
|
|
34
34
|
type: "object",
|
|
35
|
-
required: ["
|
|
35
|
+
required: ["firstObject","secondObject", "relType", "relationshipProperties","relationshipDirection"],
|
|
36
36
|
properties: {
|
|
37
|
-
|
|
38
|
-
type: "
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
required: ["serviceTag", "objectType"],
|
|
48
|
-
properties: {
|
|
49
|
-
serviceTag: izara.validatorSchema.stringNotEmpty(),
|
|
50
|
-
objectType: izara.validatorSchema.stringNotEmpty()
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
identifiers: {
|
|
54
|
-
type: "object",
|
|
55
|
-
minProperties: 1
|
|
37
|
+
firstObject: {
|
|
38
|
+
type: "object",
|
|
39
|
+
required: ["objType","identifiers"],
|
|
40
|
+
properties: {
|
|
41
|
+
objType: {
|
|
42
|
+
type: "object",
|
|
43
|
+
required: ["serviceTag","objectType"],
|
|
44
|
+
properties: {
|
|
45
|
+
serviceTag: izara.validatorSchema.stringNotEmpty(),
|
|
46
|
+
objectType: izara.validatorSchema.stringNotEmpty(),
|
|
56
47
|
}
|
|
48
|
+
},
|
|
49
|
+
identifiers: {
|
|
50
|
+
type: "object",
|
|
51
|
+
minProperties: 1
|
|
57
52
|
}
|
|
58
53
|
}
|
|
59
54
|
},
|
|
55
|
+
secondObject: {
|
|
56
|
+
type: "object",
|
|
57
|
+
required: ["objType","identifiers"],
|
|
58
|
+
properties: {
|
|
59
|
+
objType: {
|
|
60
|
+
type: "object",
|
|
61
|
+
required: ["serviceTag","objectType"],
|
|
62
|
+
properties: {
|
|
63
|
+
serviceTag: izara.validatorSchema.stringNotEmpty(),
|
|
64
|
+
objectType: izara.validatorSchema.stringNotEmpty(),
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
identifiers: {
|
|
68
|
+
type: "object",
|
|
69
|
+
minProperties: 1
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
},
|
|
60
73
|
relType: {
|
|
61
74
|
type: "object",
|
|
62
75
|
required: ["relationshipTag", "serviceTag"],
|
|
@@ -66,14 +79,18 @@ let validatorSchema = {
|
|
|
66
79
|
type: 'string',
|
|
67
80
|
pattern: "^[a-zA-Z0-9_-]+$",
|
|
68
81
|
enum: [process.env.iz_serviceTag]
|
|
69
|
-
}
|
|
82
|
+
}
|
|
70
83
|
}
|
|
71
84
|
},
|
|
72
85
|
relId: izara.validatorSchema.stringNotEmpty(),
|
|
73
86
|
relationshipProperties: {
|
|
74
|
-
type:
|
|
75
|
-
minProperties: 1
|
|
87
|
+
type: "object",
|
|
88
|
+
minProperties: 1
|
|
76
89
|
},
|
|
90
|
+
relationshipDirection: {
|
|
91
|
+
type: "string",
|
|
92
|
+
enum: ['from','to']
|
|
93
|
+
}
|
|
77
94
|
}
|
|
78
95
|
};
|
|
79
96
|
|
|
@@ -21,30 +21,63 @@ const fs = require('fs');
|
|
|
21
21
|
|
|
22
22
|
const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase } = require("../../../../MainLibs/src/Utils");
|
|
23
23
|
const { SOURCE_PATH } = require('../../libs/Consts');
|
|
24
|
-
const
|
|
24
|
+
const templateYamlPath = path.join(__dirname, "./templateYaml.ejs");
|
|
25
|
+
const templatePathIntTestPath = path.join(__dirname, "./templateIntTesting.ejs");
|
|
25
26
|
|
|
26
27
|
|
|
27
28
|
function data(_izContext, createSourceParams, srcPath) {
|
|
28
29
|
// console.log("createSourceParams in Data", createSourceParams);
|
|
29
30
|
const functionNameConfigs = new Set();
|
|
31
|
+
let createFunctionNameConfig = []
|
|
30
32
|
for (let { templatePath, templateData, setting } of createSourceParams) {
|
|
31
33
|
if (templateData.functionNameConfig !== undefined) {
|
|
32
34
|
functionNameConfigs.add(templateData.functionNameConfig)
|
|
33
35
|
}
|
|
34
36
|
}
|
|
37
|
+
let createFunctionNameConfigYaml = createFunctionNameConfigFileYaml(functionNameConfigs, srcPath);
|
|
38
|
+
let createFunctionNameConfigJs = createFunctionNameConfigFileJs(functionNameConfigs, srcPath);
|
|
39
|
+
createFunctionNameConfig.push(...createFunctionNameConfigYaml, ...createFunctionNameConfigJs)
|
|
40
|
+
return createFunctionNameConfig
|
|
35
41
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function createFunctionNameConfigFileYaml(functionNameConfigs, srcPath) {
|
|
45
|
+
let createFunctionNameConfigYaml = []
|
|
46
|
+
createFunctionNameConfigYaml.push(
|
|
47
|
+
{
|
|
48
|
+
templatePath: templateYamlPath,
|
|
49
|
+
templateData: {
|
|
50
|
+
functionNameConfigs: functionNameConfigs
|
|
51
|
+
},
|
|
52
|
+
setting: {
|
|
53
|
+
savePath: path.join(srcPath, SOURCE_PATH.appYaml),
|
|
54
|
+
saveFileName: "FunctionNameConfig",
|
|
55
|
+
fileExtension: ".yml",
|
|
56
|
+
isAppend: true
|
|
57
|
+
}
|
|
46
58
|
}
|
|
47
|
-
|
|
59
|
+
)
|
|
60
|
+
return createFunctionNameConfigYaml
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
function createFunctionNameConfigFileJs(functionNameConfigs, srcPath) {
|
|
64
|
+
let createFunctionNameConfigJs = []
|
|
65
|
+
createFunctionNameConfigJs.push(
|
|
66
|
+
{
|
|
67
|
+
templatePath: templatePathIntTestPath,
|
|
68
|
+
templateData: {
|
|
69
|
+
functionNameConfigs: functionNameConfigs
|
|
70
|
+
},
|
|
71
|
+
setting: {
|
|
72
|
+
savePath: path.join(srcPath, SOURCE_PATH.externalService),
|
|
73
|
+
saveFileName: "FunctionNameConfig",
|
|
74
|
+
fileExtension: ".js",
|
|
75
|
+
isAppend: true
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
)
|
|
79
|
+
|
|
80
|
+
return createFunctionNameConfigJs
|
|
48
81
|
}
|
|
49
82
|
|
|
50
83
|
module.exports = data;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Copyright (C) 2020 Sven Mason <http://izara.io>
|
|
3
|
+
|
|
4
|
+
This program is free software: you can redistribute it and/or modify
|
|
5
|
+
it under the terms of the GNU Affero General Public License as
|
|
6
|
+
published by the Free Software Foundation, either version 3 of the
|
|
7
|
+
License, or (at your option) any later version.
|
|
8
|
+
|
|
9
|
+
This program is distributed in the hope that it will be useful,
|
|
10
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
12
|
+
GNU Affero General Public License for more details.
|
|
13
|
+
|
|
14
|
+
You should have received a copy of the GNU Affero General Public License
|
|
15
|
+
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
'use strict';
|
|
19
|
+
|
|
20
|
+
module.exports.generatedIntTestFunctionNameConfig = () => {
|
|
21
|
+
let functionNameConfigIntTest = [
|
|
22
|
+
<% functionNameConfigs.forEach(functionNameConfig => { _%>
|
|
23
|
+
"<%- firstLetterUpperCase(functionNameConfig) %>",
|
|
24
|
+
<% }) _%>
|
|
25
|
+
]
|
|
26
|
+
return functionNameConfigIntTest
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
<%_function firstLetterUpperCase(text) {
|
|
30
|
+
return text.charAt(0).toUpperCase() + text.slice(1)
|
|
31
|
+
} %>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# for createIamRole
|
|
2
|
+
|
|
3
|
+
<% functionNameConfigs.forEach(functionNameConfig => { _%>
|
|
4
|
+
- ${self:custom.iz_prefixIamRole}<%- firstLetterUpperCase(functionNameConfig) %>${self:custom.iz_suffixIamRole}
|
|
5
|
+
<% }) _%>
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
<%_function firstLetterUpperCase(text) {
|
|
9
|
+
return text.charAt(0).toUpperCase() + text.slice(1)
|
|
10
|
+
} %>
|