@izara_project/izara-market-library-service-schemas 1.0.4 → 1.0.6
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 +2 -2
- package/src/GenerateCodeLibs/index.js +2 -1
- package/src/GenerateCodeLibs/src/Consts.js +20 -5
- package/src/GenerateCodeLibs/src/GenerateCodeLibs.js +298 -12
- package/src/GenerateCodeLibs/src/TranslateIdsLibs.js +89 -0
- package/src/MainLibs/src/Utils.js +10 -0
- package/src/TemplateManager/src/CreateRelationship/createRelationship/functionYaml/HdrApi/data.js +119 -0
- package/src/TemplateManager/src/CreateRelationship/createRelationship/functionYaml/HdrDsq/data.js +133 -0
- package/src/TemplateManager/src/CreateRelationship/createRelationship/functionYaml/HdrInv/data.js +120 -0
- package/src/TemplateManager/src/CreateRelationship/createRelationship/functionYaml/HdrSqs/data.js +133 -0
- package/src/TemplateManager/src/CreateRelationship/createRelationship/mainFunction/data.js +59 -0
- package/src/TemplateManager/src/CreateRelationship/createRelationship/mainFunction/template.ejs +340 -0
- package/src/TemplateManager/src/CreateRelationship/createRelationship/perAction/HdrApi/data.js +58 -0
- package/src/TemplateManager/src/CreateRelationship/createRelationship/perAction/HdrApi/request.json +0 -0
- package/src/TemplateManager/src/CreateRelationship/createRelationship/perAction/HdrApi/template.ejs +120 -0
- package/src/TemplateManager/src/CreateRelationship/createRelationship/perAction/HdrDsq/data.js +59 -0
- package/src/TemplateManager/src/CreateRelationship/createRelationship/perAction/HdrDsq/request.json +0 -0
- package/src/TemplateManager/src/CreateRelationship/createRelationship/perAction/HdrDsq/template.ejs +167 -0
- package/src/TemplateManager/src/CreateRelationship/createRelationship/perAction/HdrInv/data.js +60 -0
- package/src/TemplateManager/src/CreateRelationship/createRelationship/perAction/HdrInv/request.json +0 -0
- package/src/TemplateManager/src/CreateRelationship/createRelationship/perAction/HdrInv/template.ejs +107 -0
- package/src/TemplateManager/src/CreateRelationship/createRelationship/perAction/HdrSqs/data.js +60 -0
- package/src/TemplateManager/src/CreateRelationship/createRelationship/perAction/HdrSqs/request.json +0 -0
- package/src/TemplateManager/src/CreateRelationship/createRelationship/perAction/HdrSqs/template.ejs +146 -0
- package/src/TemplateManager/src/CreateRelationship/createRelationship/perAction/request.json +30 -0
- package/src/TemplateManager/src/CreateRelationship/createRelationship/sns-in-sqs/data.js +78 -0
- package/src/TemplateManager/src/CreateRelationship/createRelationshipComplete/functionYaml/data.js +133 -0
- package/src/TemplateManager/src/CreateRelationship/createRelationshipComplete/functionYaml/request.json +0 -0
- package/src/TemplateManager/src/CreateRelationship/createRelationshipComplete/functionYaml/template.ejs +33 -0
- package/src/TemplateManager/src/CreateRelationship/createRelationshipComplete/handler/HdrSqs/data.js +61 -0
- package/src/TemplateManager/src/CreateRelationship/createRelationshipComplete/handler/HdrSqs/request.json +0 -0
- package/src/TemplateManager/src/CreateRelationship/createRelationshipComplete/handler/HdrSqs/template.ejs +125 -0
- package/src/TemplateManager/src/CreateRelationship/createRelationshipComplete/mainFunction/data.js +56 -0
- package/src/TemplateManager/src/CreateRelationship/createRelationshipComplete/mainFunction/request.json +0 -0
- package/src/TemplateManager/src/CreateRelationship/createRelationshipComplete/mainFunction/template.ejs +137 -0
- package/src/TemplateManager/src/CreateRelationship/createRelationshipComplete/sns-in-sqs/data.js +72 -0
- package/src/TemplateManager/src/CreateRelationship/createRelationshipComplete/sns-in-sqs/request.json +0 -0
- package/src/TemplateManager/src/CreateRelationship/createRelationshipComplete/sns-in-sqs/template.ejs +47 -0
- package/src/TemplateManager/src/CreateRelationship/createRelationshipComplete/sns-out/data.js +72 -0
- package/src/TemplateManager/src/CreateRelationship/createRelationshipComplete/sns-out/request.json +0 -0
- package/src/TemplateManager/src/FindData/FindDataYaml/data.js +188 -0
- package/src/TemplateManager/src/FindData/FindDataYaml/template.ejs +27 -0
- package/src/TemplateManager/src/FindData/GetByStorage/getByDynamo.ejs +53 -0
- package/src/TemplateManager/src/FindData/GetByStorage/getByGraph.ejs +99 -0
- package/src/TemplateManager/src/FindData/Handler/data.js +48 -0
- package/src/TemplateManager/src/FindData/Handler/template.ejs +140 -0
- package/src/TemplateManager/src/FindData/mainFunction/data.js +279 -0
- package/src/TemplateManager/src/FindData/mainFunction/template.ejs +155 -0
- package/src/TemplateManager/src/GenerateCode(Old).js +1 -1
- package/src/TemplateManager/src/GenerateCode.js +205 -45
- package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/functionYaml/data.js +98 -0
- package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/functionYaml/template.ejs +33 -0
- package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/handler/data.js +0 -0
- package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/handler/template.ejs +0 -0
- package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/mainFunction/createObjectComplete_main.js +172 -0
- package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/mainFunction/data.js +0 -0
- package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/mainFunction/template.ejs +0 -0
- package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/sns-in-sqs/data.js +0 -0
- package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/sns-in-sqs/template.ejs +0 -0
- package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/sns-out/data.js +0 -0
- package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/sns-out/template.ejs +0 -0
- package/src/TemplateManager/src/OutPerActionComplete/OutUpdateComplete/functionYaml/data.js +98 -0
- package/src/TemplateManager/src/OutPerActionComplete/OutUpdateComplete/functionYaml/template.ejs +33 -0
- package/src/TemplateManager/src/OutPerActionComplete/OutUpdateComplete/handler/data.js +59 -0
- package/src/TemplateManager/src/OutPerActionComplete/OutUpdateComplete/handler/template.ejs +129 -0
- package/src/TemplateManager/src/OutPerActionComplete/OutUpdateComplete/mainFunction/data.js +53 -0
- package/src/TemplateManager/src/OutPerActionComplete/OutUpdateComplete/mainFunction/template.ejs +126 -0
- package/src/TemplateManager/src/OutPerActionComplete/OutUpdateComplete/sns-out/data.js +62 -0
- package/src/TemplateManager/src/OutPerActionComplete/OutUpdateComplete/sqs-in-sns/data.js +58 -0
- package/src/TemplateManager/src/OutPerActionComplete/OutUpdateComplete/sqs-in-sns/template.ejs +47 -0
- package/src/TemplateManager/src/{FunctionYaml → PerActionEndpoint/FunctionYaml}/HdrApi/data.js +24 -20
- package/src/TemplateManager/src/{FunctionYaml → PerActionEndpoint/FunctionYaml}/HdrApi/template.ejs +2 -2
- package/src/TemplateManager/src/{FunctionYaml → PerActionEndpoint/FunctionYaml}/HdrDsq/data.js +27 -20
- package/src/TemplateManager/src/{FunctionYaml → PerActionEndpoint/FunctionYaml}/HdrInv/data.js +54 -22
- package/src/TemplateManager/src/{FunctionYaml → PerActionEndpoint/FunctionYaml}/HdrSqs/data.js +28 -23
- package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrSqs/template.ejs +30 -0
- package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrApi/data.js +6 -22
- package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrApi/getTemplate.ejs +76 -0
- package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrApi/updateTemplate.ejs +67 -0
- package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrDsq/data.js +47 -37
- package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrDsq/getTemplate.ejs +105 -0
- package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrDsq/updateTemplate.ejs +109 -0
- package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrInv/createTemplate.ejs +75 -0
- package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrInv/data.js +68 -33
- package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrInv/getTemplate.ejs +82 -0
- package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrInv/updateTemplate.ejs +75 -0
- package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrSqs/data.js +46 -30
- package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrSqs/getTemplate.ejs +124 -0
- package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrSqs/updateTemplate.ejs +133 -0
- package/src/TemplateManager/src/PerActionEndpoint/MainFunction/Create/CreateObject_main.js +760 -0
- package/src/TemplateManager/src/PerActionEndpoint/MainFunction/Create/data.js +67 -0
- package/src/TemplateManager/src/PerActionEndpoint/MainFunction/Create/request.json +0 -0
- package/src/TemplateManager/src/PerActionEndpoint/MainFunction/Create/template.ejs +581 -0
- package/src/TemplateManager/src/PerActionEndpoint/MainFunction/Get/data.js +0 -21
- package/src/TemplateManager/src/PerActionEndpoint/MainFunction/Get/template.ejs +34 -31
- package/src/TemplateManager/src/PerActionEndpoint/MainFunction/Get/testParam.json +5 -0
- package/src/TemplateManager/src/PerActionEndpoint/MainFunction/Update/data.js +61 -0
- package/src/TemplateManager/src/PerActionEndpoint/MainFunction/Update/request.json +0 -0
- package/src/TemplateManager/src/PerActionEndpoint/MainFunction/Update/template.ejs +267 -0
- package/src/TemplateManager/src/ProcessLogical/Handler/data.js +49 -0
- package/src/TemplateManager/src/ProcessLogical/Handler/template.ejs +129 -0
- package/src/TemplateManager/src/ProcessLogical/ProcessLogicalYaml/data.js +175 -0
- package/src/TemplateManager/src/ProcessLogical/ProcessLogicalYaml/template.ejs +25 -0
- package/src/TemplateManager/src/ProcessLogical/mainFunction/data.js +47 -0
- package/src/TemplateManager/src/ProcessLogical/mainFunction/template.ejs +421 -0
- package/src/TemplateManager/src/ProcessLogicalPagination/DsqYaml/data.js +50 -0
- package/src/TemplateManager/src/ProcessLogicalPagination/DsqYaml/template.ejs +32 -0
- package/src/TemplateManager/src/ProcessLogicalPagination/FunctionYaml/HdrDsq/data.js +167 -0
- package/src/TemplateManager/src/ProcessLogicalPagination/FunctionYaml/HdrDsq/template.ejs +25 -0
- package/src/TemplateManager/src/ProcessLogicalPagination/FunctionYaml/HdrSqs/data.js +169 -0
- package/src/TemplateManager/src/ProcessLogicalPagination/FunctionYaml/HdrSqs/template.ejs +25 -0
- package/src/TemplateManager/src/ProcessLogicalPagination/Handler/HdrDsq/data.js +48 -0
- package/src/TemplateManager/src/ProcessLogicalPagination/Handler/HdrDsq/template.ejs +163 -0
- package/src/TemplateManager/src/ProcessLogicalPagination/Handler/HdrSqs/data.js +48 -0
- package/src/TemplateManager/src/ProcessLogicalPagination/Handler/HdrSqs/template.ejs +146 -0
- package/src/TemplateManager/src/ProcessLogicalPagination/mainFunction/data.js +48 -0
- package/src/TemplateManager/src/ProcessLogicalPagination/mainFunction/template.ejs +212 -0
- package/src/TemplateManager/src/ResourceYaml/CreateSourceData.js +2 -2
- package/src/TemplateManager/src/ResourceYaml/dynamodb/awaitingMultipleStepData.js +5 -8
- package/src/TemplateManager/src/ResourceYaml/dynamodb/mainResourcePerObjectSchemaData.js +4 -26
- package/src/TemplateManager/src/ResourceYaml/dynamodb/processLogicalAndFindData.js +6 -10
- package/src/TemplateManager/src/ResourceYaml/sns-in-sqs/defaultSnsInSqsForFindDataAndProcessLogical.js +28 -16
- package/src/TemplateManager/src/ResourceYaml/sns-in-sqs/snsAndSqsPerActiondata.js +5 -5
- package/src/TemplateManager/src/ResourceYaml/sns-out/data.js +3 -3
- package/src/TemplateManager/src/ResourceYaml/sns-out/defaultSnsOutForFindDataAndProcessLogical.js +75 -0
- package/src/TemplateManager/src/TranslateIdReq/ProcessingTranslateIds/functionYaml/data.js +95 -0
- package/src/TemplateManager/src/{FunctionYaml/HdrSqs → TranslateIdReq/ProcessingTranslateIds/functionYaml}/template.ejs +1 -1
- package/src/TemplateManager/src/TranslateIdReq/ProcessingTranslateIds/handler/dataHdrDsq.js +52 -0
- package/src/TemplateManager/src/TranslateIdReq/ProcessingTranslateIds/handler/template.ejs +194 -0
- package/src/TemplateManager/src/TranslateIdReq/ProcessingTranslateIds/mainFunction/data.js +48 -0
- package/src/TemplateManager/src/TranslateIdReq/ProcessingTranslateIds/mainFunction/template.ejs +330 -0
- package/src/TemplateManager/src/TranslateIdReq/ProcessingTranslateIds/sns-out/data.js +47 -0
- package/src/TemplateManager/src/TranslateIdReq/ProcessingTranslateIds/sqs-sns/data.js +58 -0
- package/src/TemplateManager/src/TranslateIdReq/ProcessingTranslateIds/sqs-sns/template.ejs +43 -0
- package/src/TemplateManager/src/TranslateIdReq/TranslateIds/functionYaml/HdrDsq/data.js +116 -0
- package/src/TemplateManager/src/TranslateIdReq/TranslateIds/functionYaml/HdrSqs/data.js +116 -0
- package/src/TemplateManager/src/TranslateIdReq/TranslateIds/handler/HdrDsq/data.js +60 -0
- package/src/TemplateManager/src/TranslateIdReq/TranslateIds/handler/HdrDsq/template.ejs +157 -0
- package/src/TemplateManager/src/TranslateIdReq/TranslateIds/handler/HdrSqs/data.js +59 -0
- package/src/TemplateManager/src/TranslateIdReq/TranslateIds/handler/HdrSqs/template.ejs +175 -0
- package/src/TemplateManager/src/TranslateIdReq/TranslateIds/mainFunction/data.js +61 -0
- package/src/TemplateManager/src/TranslateIdReq/TranslateIds/mainFunction/template.ejs +155 -0
- package/src/TemplateManager/src/TranslateIdReq/TranslateIds/resourceYaml/dynamoDb/data.js +120 -0
- package/src/TemplateManager/src/TranslateIdReq/TranslateIds/resourceYaml/sns-sqs/data.js +75 -0
- package/src/TemplateManager/src/UpdateRelationshipSchema/updateRalationshipComplete/functionYaml/data.js +8 -24
- package/src/TemplateManager/src/UpdateRelationshipSchema/updateRalationshipComplete/handler/HdrSqs/data.js +7 -21
- package/src/TemplateManager/src/UpdateRelationshipSchema/updateRalationshipComplete/mainFunction/data.js +4 -3
- package/src/TemplateManager/src/UpdateRelationshipSchema/updateRalationshipComplete/mainFunction/template.ejs +1 -1
- package/src/TemplateManager/src/UpdateRelationshipSchema/updateRalationshipComplete/sns-in-sqs/data.js +10 -13
- package/src/TemplateManager/src/UpdateRelationshipSchema/updateRalationshipComplete/sns-in-sqs/template.ejs +1 -0
- package/src/TemplateManager/src/UpdateRelationshipSchema/updateRalationshipComplete/sns-out/data.js +6 -5
- package/src/TemplateManager/src/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrApi/data.js +13 -21
- package/src/TemplateManager/src/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrDsq/data.js +11 -29
- package/src/TemplateManager/src/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrInv/data.js +16 -21
- package/src/TemplateManager/src/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrSqs/data.js +12 -27
- package/src/TemplateManager/src/UpdateRelationshipSchema/updateRelationship/mainFunction/data.js +3 -18
- package/src/TemplateManager/src/UpdateRelationshipSchema/updateRelationship/mainFunction/template.ejs +18 -11
- package/src/TemplateManager/src/UpdateRelationshipSchema/updateRelationship/perAction/HdrApi/data.js +5 -18
- package/src/TemplateManager/src/UpdateRelationshipSchema/updateRelationship/perAction/HdrDsq/data.js +5 -19
- package/src/TemplateManager/src/UpdateRelationshipSchema/updateRelationship/perAction/HdrInv/data.js +7 -18
- package/src/TemplateManager/src/UpdateRelationshipSchema/updateRelationship/perAction/HdrSqs/data.js +6 -20
- package/src/TemplateManager/src/UpdateRelationshipSchema/updateRelationship/perAction/request.json +3 -4
- package/src/TemplateManager/src/UpdateRelationshipSchema/updateRelationship/sns-in-sqs/data.js +5 -6
- package/src/TemplateManager/src/UpdateRelationshipSchema/updateRelationship/sns-out/data.js +4 -4
- package/src/TemplateManager/src/externalService/LambdaRole/data.js +181 -59
- package/src/TemplateManager/src/externalService/LambdaRole/template.ejs +17 -15
- package/src/TemplateManager/src/externalService/SnsTopicSubscriotions/data.js +56 -44
- package/src/TemplateManager/src/externalService/SnsTopicSubscriotions/template.ejs +3 -4
- package/src/TemplateManager/src/libs/Consts.js +162 -13
- package/src/TemplateManager/src/PerActionEndpoint/Handler/testRequest.json +0 -5
- /package/src/TemplateManager/src/{FunctionYaml → PerActionEndpoint/FunctionYaml}/HdrApi/request.json +0 -0
- /package/src/TemplateManager/src/{FunctionYaml → PerActionEndpoint/FunctionYaml}/HdrDsq/request.json +0 -0
- /package/src/TemplateManager/src/{FunctionYaml → PerActionEndpoint/FunctionYaml}/HdrDsq/template.ejs +0 -0
- /package/src/TemplateManager/src/{FunctionYaml → PerActionEndpoint/FunctionYaml}/HdrInv/example req.js +0 -0
- /package/src/TemplateManager/src/{FunctionYaml → PerActionEndpoint/FunctionYaml}/HdrInv/request.json +0 -0
- /package/src/TemplateManager/src/{FunctionYaml → PerActionEndpoint/FunctionYaml}/HdrInv/template.ejs +0 -0
- /package/src/TemplateManager/src/{FunctionYaml → PerActionEndpoint/FunctionYaml}/HdrSqs/request.json +0 -0
package/src/TemplateManager/src/UpdateRelationshipSchema/updateRelationship/perAction/request.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"serviceTag": "GenerateCodeTemplateBas"
|
|
7
7
|
},
|
|
8
8
|
"identifiers": {
|
|
9
|
-
"personId": "
|
|
9
|
+
"personId": "TestUpdateNode1"
|
|
10
10
|
}
|
|
11
11
|
},
|
|
12
12
|
{
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"serviceTag": "GenerateCodeTemplateBas"
|
|
16
16
|
},
|
|
17
17
|
"identifiers": {
|
|
18
|
-
"personId": "
|
|
18
|
+
"personId": "TestUpdateNode2"
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
],
|
|
@@ -26,6 +26,5 @@
|
|
|
26
26
|
"relId": "aa-bb-cc",
|
|
27
27
|
"relationshipProperties": {
|
|
28
28
|
"name": "bas007"
|
|
29
|
-
}
|
|
30
|
-
"callingFlow": "basCallingFlow"
|
|
29
|
+
}
|
|
31
30
|
}
|
package/src/TemplateManager/src/UpdateRelationshipSchema/updateRelationship/sns-in-sqs/data.js
CHANGED
|
@@ -32,7 +32,7 @@ const STORAGE_TYPES = {
|
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase, firstLetterUpperCase } = require("../../../../../MainLibs/src/Utils")
|
|
35
|
-
const { DEFAULT_HANDLER_PER_ACTION, SOURCE_PATH } = require("../../../libs/Consts");
|
|
35
|
+
const { DEFAULT_HANDLER_PER_ACTION, SOURCE_PATH, SAVE_FILE_NAME, FUNCTION_NAME, HANDLER } = require("../../../libs/Consts");
|
|
36
36
|
const snsTemplatePath = path.join(__dirname, "../../../ResourceYaml/sns-in-sqs/snsTemplate.ejs")
|
|
37
37
|
const sqsTemplatePath = path.join(__dirname, "../../../ResourceYaml/sns-in-sqs/sqsTemplate.ejs")
|
|
38
38
|
|
|
@@ -50,10 +50,10 @@ function createDataForDefaultSnsInSqs(_izContext, srcPath) {
|
|
|
50
50
|
let resultsForCreateDefaultSnsInSqs = [];
|
|
51
51
|
const defaultSnsInSqsDataList = [
|
|
52
52
|
{
|
|
53
|
-
|
|
53
|
+
queueName: upperCase(FUNCTION_NAME.updateRel)
|
|
54
54
|
},
|
|
55
55
|
{
|
|
56
|
-
|
|
56
|
+
queueName: upperCase(FUNCTION_NAME.updateRel) + upperCase(HANDLER.hdrDsq)
|
|
57
57
|
}
|
|
58
58
|
]
|
|
59
59
|
|
|
@@ -65,7 +65,7 @@ function createDataForDefaultSnsInSqs(_izContext, srcPath) {
|
|
|
65
65
|
setting: {
|
|
66
66
|
initialData: "Resources:\n",
|
|
67
67
|
savePath: path.join(srcPath, SOURCE_PATH.resourceYaml),
|
|
68
|
-
saveFileName:
|
|
68
|
+
saveFileName: SAVE_FILE_NAME.snsInSqsYaml,
|
|
69
69
|
fileExtension: '.yml',
|
|
70
70
|
isAppend: true
|
|
71
71
|
}
|
|
@@ -77,14 +77,13 @@ function createDataForDefaultSnsInSqs(_izContext, srcPath) {
|
|
|
77
77
|
setting: {
|
|
78
78
|
initialData: "Resources:\n",
|
|
79
79
|
savePath: path.join(srcPath, SOURCE_PATH.resourceYaml),
|
|
80
|
-
saveFileName:
|
|
80
|
+
saveFileName: SAVE_FILE_NAME.snsInSqsYaml,
|
|
81
81
|
fileExtension: ".yml",
|
|
82
82
|
isAppend: true
|
|
83
83
|
}
|
|
84
84
|
})
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
|
-
// console.log("resultsForCreateDefaultSnsInSqs", resultsForCreateDefaultSnsInSqs);
|
|
88
87
|
return resultsForCreateDefaultSnsInSqs;
|
|
89
88
|
}
|
|
90
89
|
|
|
@@ -32,7 +32,7 @@ const STORAGE_TYPES = {
|
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase, firstLetterUpperCase } = require("../../../../../MainLibs/src/Utils")
|
|
35
|
-
const { DEFAULT_HANDLER_PER_ACTION, SOURCE_PATH } = require("../../../libs/Consts");
|
|
35
|
+
const { DEFAULT_HANDLER_PER_ACTION, SOURCE_PATH, SAVE_FILE_NAME, FUNCTION_NAME } = require("../../../libs/Consts");
|
|
36
36
|
const templatePath = path.join(__dirname, '../../../ResourceYaml/sns-out/template.ejs')
|
|
37
37
|
|
|
38
38
|
/**
|
|
@@ -51,16 +51,16 @@ function createDefaultSnsOut(_izContext, srcPath) {
|
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
function createParamsForCreateSource(_izContext, srcPath) {
|
|
54
|
-
let queueName =
|
|
54
|
+
let queueName = FUNCTION_NAME.updateRel
|
|
55
55
|
return {
|
|
56
56
|
templatePath: templatePath,
|
|
57
57
|
templateData: {
|
|
58
|
-
queueName
|
|
58
|
+
queueName: upperCase(queueName)
|
|
59
59
|
},
|
|
60
60
|
setting: {
|
|
61
61
|
initialData: 'Resources:\n',
|
|
62
62
|
savePath: path.join(srcPath, SOURCE_PATH.resourceYaml),
|
|
63
|
-
saveFileName:
|
|
63
|
+
saveFileName: SAVE_FILE_NAME.snsOutYaml,
|
|
64
64
|
fileExtension: '.yml',
|
|
65
65
|
isAppend: true
|
|
66
66
|
}
|
|
@@ -23,11 +23,16 @@ const { ACTIONS, HANDLER, STORAGE_TYPES } = require('@izara_project/izara-core-l
|
|
|
23
23
|
const { getGraphServiceNameFromGraphServerTagWithCache } = require('@izara_project/izara-core-library-service-schemas/src/ServiceConfig')
|
|
24
24
|
|
|
25
25
|
const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase } = require("../../../../MainLibs/src/Utils")
|
|
26
|
-
const {
|
|
26
|
+
const {
|
|
27
|
+
DEFAULT_HANDLER_PER_ACTION, createIamRole, resourceNames, RESOURCE_CLASSES, DEFAULT_LAMBDA_ROLE_PER_ACTION, SOURCE_PATH, externalResourceName, externalResourceSns, FUNCTION_NAME, getGraphServiceNameFromAllRelSchema, SAVE_FILE_NAME, getComplexFilterServiceTag,
|
|
28
|
+
LAMBDA_RESOURCE, SNS_RESOURCE, DYNAMO_RESOURCE, getGraphServiceNameFromObjectSchema } = require("../../libs/Consts");
|
|
29
|
+
// const templatePath = path.join(__dirname, "./template.ejs");
|
|
27
30
|
const templatePath = path.join(__dirname, "./template.ejs");
|
|
31
|
+
const { getAllLocalRelationshipSchemas } = require('@izara_project/izara-core-library-service-schemas/src/GetObjectSchema')
|
|
28
32
|
|
|
29
|
-
|
|
30
|
-
|
|
33
|
+
const createExternalLambdaRole = async (_izContext, allObjSchemas, allRelSchemas, srcPath) => {
|
|
34
|
+
const allRelationshipSchemas = getAllLocalRelationshipSchemas(_izContext, srcPath)
|
|
35
|
+
// console.log("allRelationshipSchemas", allRelationshipSchemas);
|
|
31
36
|
const externalLambdaIamRoleArray = [];
|
|
32
37
|
for (const objectSchema of allObjSchemas) {
|
|
33
38
|
|
|
@@ -49,24 +54,43 @@ async function dataForGenerateLambdaRole(_izContext, allObjSchemas, allRelSchema
|
|
|
49
54
|
|
|
50
55
|
}
|
|
51
56
|
|
|
57
|
+
// validate relationship in ObjectRelationship
|
|
58
|
+
if (allRelationshipSchemas.length) {
|
|
59
|
+
|
|
60
|
+
// updateRelationship external lambda role
|
|
61
|
+
for (const handler of Object.values(HANDLER)) {
|
|
62
|
+
if (handler !== HANDLER.hdrApi) {
|
|
63
|
+
const externalLambdaIamRoleUpdateRelationship = await externalLambdaIamRoleDataUpdateRelationshipSchema(_izContext, allRelSchemas, handler);
|
|
64
|
+
externalLambdaIamRoleUpdateRelationship && externalLambdaIamRoleArray.push(externalLambdaIamRoleUpdateRelationship)
|
|
52
65
|
|
|
53
|
-
|
|
54
|
-
for (const handler of Object.values(HANDLER)) {
|
|
55
|
-
if (handler !== HANDLER.hdrApi) {
|
|
56
|
-
const externalLambdaIamRoleUpdateRelationship = await externalLambdaIamRoleDataUpdateRelationshipSchema(_izContext, allRelSchemas, handler)
|
|
57
|
-
externalLambdaIamRoleUpdateRelationship && externalLambdaIamRoleArray.push(externalLambdaIamRoleUpdateRelationship)
|
|
66
|
+
}
|
|
58
67
|
}
|
|
59
|
-
}
|
|
60
68
|
|
|
69
|
+
// CreateRelationship external lambda role
|
|
70
|
+
for (const handler of Object.values(HANDLER)) {
|
|
71
|
+
if (handler !== HANDLER.hdrApi) {
|
|
72
|
+
const externalLambdaIamRoleCreateRelationship = await externalLambdaIamRoleDataCreateRelationshipSchema(_izContext, allRelSchemas, handler);
|
|
73
|
+
externalLambdaIamRoleCreateRelationship && externalLambdaIamRoleArray.push(externalLambdaIamRoleCreateRelationship)
|
|
74
|
+
}
|
|
75
|
+
}
|
|
61
76
|
|
|
62
|
-
|
|
77
|
+
// findData external lambda role
|
|
78
|
+
const externalLambdaIamRoleFindData = await externalLambdaIamRoleDataFindData(_izContext, allObjSchemas);
|
|
79
|
+
externalLambdaIamRoleFindData && externalLambdaIamRoleArray.push(externalLambdaIamRoleFindData)
|
|
80
|
+
// processLogical
|
|
63
81
|
|
|
64
|
-
// processLogical
|
|
65
82
|
|
|
83
|
+
// updateRelationshipComplete external lambda role
|
|
66
84
|
|
|
67
|
-
|
|
85
|
+
// ... another external lambda role data
|
|
68
86
|
|
|
69
|
-
|
|
87
|
+
// processTranslateId Request
|
|
88
|
+
const externalLambdaIamRoleTranslateId = await externalLambdaIamRoleDataTranslateId(_izContext, allRelSchemas, allObjSchemas)
|
|
89
|
+
externalLambdaIamRoleTranslateId && externalLambdaIamRoleArray.push(externalLambdaIamRoleTranslateId)
|
|
90
|
+
|
|
91
|
+
const externalLambdaIamRoleProcessLogical = await externalLambdaIamRoleDataProcessLogical(_izContext, allObjSchemas);
|
|
92
|
+
externalLambdaIamRoleProcessLogical && externalLambdaIamRoleArray.push(externalLambdaIamRoleProcessLogical)
|
|
93
|
+
}
|
|
70
94
|
|
|
71
95
|
|
|
72
96
|
console.log("createSourceArrayIamRole", JSON.stringify(externalLambdaIamRoleArray))
|
|
@@ -77,7 +101,7 @@ async function dataForGenerateLambdaRole(_izContext, allObjSchemas, allRelSchema
|
|
|
77
101
|
templateData: { datas: externalLambdaIamRoleArray },
|
|
78
102
|
setting: {
|
|
79
103
|
savePath: path.join(srcPath, SOURCE_PATH.externalService),
|
|
80
|
-
saveFileName:
|
|
104
|
+
saveFileName: SAVE_FILE_NAME.externalLambdaRole,
|
|
81
105
|
fileExtension: ".js",
|
|
82
106
|
isAppend: false
|
|
83
107
|
}
|
|
@@ -87,11 +111,9 @@ async function dataForGenerateLambdaRole(_izContext, allObjSchemas, allRelSchema
|
|
|
87
111
|
async function externalLambdaIamRoleDataPerAction(_izContext, objectSchema, action, handler) {
|
|
88
112
|
const objectType = objectSchema.objectType;
|
|
89
113
|
const additionalResourcePermission = [];
|
|
90
|
-
// let functionNameArray = [];
|
|
91
114
|
const graphServiceNames = [];
|
|
92
115
|
for (const storgaeResource of Object.values(objectSchema.storageResources)) {
|
|
93
116
|
if (storgaeResource.storageType === STORAGE_TYPES.graph) {
|
|
94
|
-
// console.log("graphServerTag", storgaeResource.graphServerTag)
|
|
95
117
|
let getGraphServiceName = await getGraphServiceNameFromGraphServerTagWithCache(_izContext, storgaeResource.graphServerTag)
|
|
96
118
|
if (!graphServiceNames.includes(getGraphServiceName)) {
|
|
97
119
|
graphServiceNames.push(getGraphServiceName)
|
|
@@ -107,28 +129,43 @@ async function externalLambdaIamRoleDataPerAction(_izContext, objectSchema, acti
|
|
|
107
129
|
// create additionalResourcePermission
|
|
108
130
|
additionalResourcePermission.push(
|
|
109
131
|
createIamRole(
|
|
110
|
-
{ [RESOURCE_CLASSES.lambda]: [
|
|
132
|
+
{ [RESOURCE_CLASSES.lambda]: [LAMBDA_RESOURCE.invokeFunction] },
|
|
111
133
|
graphServiceNames.map(graphServiceName =>
|
|
112
|
-
externalResourceName(RESOURCE_CLASSES.lambda, "
|
|
134
|
+
externalResourceName(RESOURCE_CLASSES.lambda, "GetNodeV2HdrInv", graphServiceName),
|
|
113
135
|
)
|
|
114
136
|
)
|
|
115
137
|
)
|
|
116
138
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
139
|
+
} else if (action === ACTIONS.update) {
|
|
140
|
+
additionalResourcePermission.push(
|
|
141
|
+
createIamRole(
|
|
142
|
+
{
|
|
143
|
+
[RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish]
|
|
144
|
+
},
|
|
145
|
+
graphServiceNames.map(graphServiceName =>
|
|
146
|
+
externalResourceSns("InUpdateNode", graphServiceName)
|
|
147
|
+
)
|
|
148
|
+
)
|
|
149
|
+
)
|
|
123
150
|
// } else if (action === ACTIONS.delete) {
|
|
124
151
|
|
|
125
|
-
} else {
|
|
152
|
+
} else if (action === ACTIONS.create) {
|
|
153
|
+
additionalResourcePermission.push(
|
|
154
|
+
createIamRole(
|
|
155
|
+
{
|
|
156
|
+
[RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish]
|
|
157
|
+
},
|
|
158
|
+
graphServiceNames.map(graphServiceName =>
|
|
159
|
+
externalResourceSns("InCreateNodeV2", graphServiceName)
|
|
160
|
+
)
|
|
161
|
+
)
|
|
162
|
+
)
|
|
163
|
+
|
|
126
164
|
return
|
|
127
165
|
// throw Error("invalid action")
|
|
128
166
|
}
|
|
129
167
|
|
|
130
|
-
|
|
131
|
-
console.log("additionalResourcePermissionInExternalRolePerAction", JSON.stringify(additionalResourcePermission))
|
|
168
|
+
|
|
132
169
|
return {
|
|
133
170
|
functionName: functionName,
|
|
134
171
|
action: action,
|
|
@@ -137,57 +174,142 @@ async function externalLambdaIamRoleDataPerAction(_izContext, objectSchema, acti
|
|
|
137
174
|
}
|
|
138
175
|
|
|
139
176
|
|
|
140
|
-
|
|
177
|
+
// update Relationship
|
|
141
178
|
async function externalLambdaIamRoleDataUpdateRelationshipSchema(_izContext, allRelSchemas, handler) {
|
|
142
|
-
const functionName =
|
|
179
|
+
const functionName = upperCase(FUNCTION_NAME.updateRel) + upperCase(handler);
|
|
143
180
|
const additionalResourcePermission = [];
|
|
144
|
-
const
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
for (const storageResource of Object.values(relationship.storageResources)) {
|
|
148
|
-
if (storageResource.storageType === STORAGE_TYPES.graph) {
|
|
149
|
-
let getGraphServiceTag = await getGraphServiceNameFromGraphServerTagWithCache(_izContext, storageResource.graphServerTag)
|
|
150
|
-
if (!graphServiceNames.includes(getGraphServiceTag)) {
|
|
151
|
-
graphServiceNames.push(getGraphServiceTag)
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
console.log("graphServiceNames", graphServiceNames)
|
|
181
|
+
const graphServiceNamesFromAllRelSchemas = await getGraphServiceNameFromAllRelSchema(_izContext, allRelSchemas);
|
|
182
|
+
|
|
183
|
+
|
|
158
184
|
additionalResourcePermission.push(
|
|
159
185
|
createIamRole(
|
|
160
186
|
{
|
|
161
|
-
[RESOURCE_CLASSES.sns]: [
|
|
187
|
+
[RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish]
|
|
162
188
|
},
|
|
163
|
-
|
|
189
|
+
graphServiceNamesFromAllRelSchemas.map(graphServiceName =>
|
|
164
190
|
externalResourceSns("InUpdateRelationship", graphServiceName)
|
|
165
191
|
)
|
|
166
192
|
)
|
|
167
193
|
)
|
|
168
194
|
|
|
169
|
-
console.log("additionalResourcePermissionInexternalLambdaIamRoleDataUpdateRelationshipSchema", JSON.stringify(additionalResourcePermission))
|
|
170
195
|
return {
|
|
171
196
|
functionName,
|
|
172
197
|
additionalResourcePermission
|
|
173
198
|
}
|
|
174
199
|
}
|
|
175
200
|
|
|
176
|
-
|
|
201
|
+
|
|
202
|
+
// create relationship
|
|
203
|
+
|
|
204
|
+
async function externalLambdaIamRoleDataCreateRelationshipSchema(_izContext, allRelSchemas, handler) {
|
|
205
|
+
const functionName = upperCase(FUNCTION_NAME.createRel) + upperCase(handler);
|
|
206
|
+
const additionalResourcePermission = [];
|
|
207
|
+
const graphServiceNamesFromAllRelSchemas = await getGraphServiceNameFromAllRelSchema(_izContext, allRelSchemas);
|
|
208
|
+
|
|
209
|
+
additionalResourcePermission.push(
|
|
210
|
+
createIamRole(
|
|
211
|
+
{
|
|
212
|
+
[RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish]
|
|
213
|
+
},
|
|
214
|
+
graphServiceNamesFromAllRelSchemas.map(graphServiceName =>
|
|
215
|
+
externalResourceSns("InCreateRelationshipV2", graphServiceName)
|
|
216
|
+
)
|
|
217
|
+
)
|
|
218
|
+
)
|
|
219
|
+
return {
|
|
220
|
+
functionName,
|
|
221
|
+
additionalResourcePermission
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
// Process TranslateIds Request
|
|
226
|
+
async function externalLambdaIamRoleDataTranslateId(_izContext, allRelSchemas, allObjSchemas) {
|
|
227
|
+
let functionName = upperCase(FUNCTION_NAME.translateIdsProcess) + upperCase(HANDLER.hdrDsq);
|
|
228
|
+
const additionalResourcePermission = [];
|
|
229
|
+
const graphServiceNamesFromAllRelSchemas = await getGraphServiceNameFromAllRelSchema(_izContext, allRelSchemas);
|
|
230
|
+
let complexFilterServiceTags = getComplexFilterServiceTag(allObjSchemas);
|
|
231
|
+
|
|
232
|
+
additionalResourcePermission.push(
|
|
233
|
+
createIamRole(
|
|
234
|
+
{
|
|
235
|
+
[RESOURCE_CLASSES.lambda]: [LAMBDA_RESOURCE.invokeFunction]
|
|
236
|
+
},
|
|
237
|
+
graphServiceNamesFromAllRelSchemas.map(graphServiceName => (
|
|
238
|
+
externalResourceName(RESOURCE_CLASSES.lambda, "GetNodeAndRelationshipsV2HdrInv", graphServiceName)
|
|
239
|
+
)
|
|
240
|
+
)
|
|
241
|
+
)
|
|
242
|
+
)
|
|
243
|
+
additionalResourcePermission.push(
|
|
244
|
+
createIamRole(
|
|
245
|
+
{
|
|
246
|
+
[RESOURCE_CLASSES.dynamoDbTable]: [DYNAMO_RESOURCE.query]
|
|
247
|
+
},
|
|
248
|
+
complexFilterServiceTags.map(complexFilterServiceTag => (
|
|
249
|
+
externalResourceName(RESOURCE_CLASSES.dynamoDbTable, "FilterData", complexFilterServiceTag)
|
|
250
|
+
)
|
|
251
|
+
)
|
|
252
|
+
)
|
|
253
|
+
)
|
|
254
|
+
return {
|
|
255
|
+
functionName,
|
|
256
|
+
additionalResourcePermission
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
async function externalLambdaIamRoleDataFindData(_izContext, allObjSchemas) {
|
|
261
|
+
let functionName = upperCase(FUNCTION_NAME.findData) + upperCase(HANDLER.hdrSqs);
|
|
262
|
+
let additionalResourcePermission = [];
|
|
263
|
+
let graphServiceNames = []
|
|
264
|
+
for (const objectSchema of allObjSchemas) {
|
|
265
|
+
for (const storgaeResource of Object.values(objectSchema.storageResources)) {
|
|
266
|
+
if (storgaeResource.storageType === STORAGE_TYPES.graph) {
|
|
267
|
+
let getGraphServiceName = await getGraphServiceNameFromGraphServerTagWithCache(_izContext, storgaeResource.graphServerTag)
|
|
268
|
+
if (!graphServiceNames.includes(getGraphServiceName)) {
|
|
269
|
+
graphServiceNames.push(getGraphServiceName)
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
}
|
|
177
274
|
|
|
178
275
|
|
|
276
|
+
additionalResourcePermission.push(
|
|
277
|
+
createIamRole(
|
|
278
|
+
{
|
|
279
|
+
[RESOURCE_CLASSES.lambda]: [LAMBDA_RESOURCE.invokeFunction]
|
|
280
|
+
},
|
|
281
|
+
graphServiceNames.map(graphServiceName => (
|
|
282
|
+
externalResourceName(RESOURCE_CLASSES.lambda, "GetNodeV2HdrInv", graphServiceName)
|
|
283
|
+
)
|
|
284
|
+
)
|
|
285
|
+
)
|
|
286
|
+
)
|
|
287
|
+
return {
|
|
288
|
+
functionName,
|
|
289
|
+
additionalResourcePermission
|
|
290
|
+
}
|
|
291
|
+
}
|
|
179
292
|
|
|
180
|
-
// for (const action of Object.values(ACTIONS)) {
|
|
181
|
-
// if (objectSchema.overWriteHandlers?.[action]) {
|
|
182
|
-
// // create template data
|
|
183
|
-
// // const createSourceParam = createParamForCreateSource(objectSchema, action, savePath)
|
|
184
|
-
// // createSourceArray.push(createSourceParam)
|
|
185
|
-
// } else {
|
|
186
|
-
// // if not have overWriteHander of action will use default handler
|
|
187
|
-
// const defaultHandler = DEFAULT_HANDLER_PER_ACTION[action]
|
|
188
293
|
|
|
189
|
-
|
|
190
|
-
|
|
294
|
+
async function externalLambdaIamRoleDataProcessLogical(_izContext, allObjectSchemas) {
|
|
295
|
+
let functionName = upperCase(FUNCTION_NAME.processLogical) + upperCase(HANDLER.hdrSqs);
|
|
296
|
+
let additionalResourcePermission = [];
|
|
297
|
+
let graphServiceNames = await getGraphServiceNameFromObjectSchema(_izContext, allObjectSchemas)
|
|
298
|
+
// console.log("graphServiceNameFromProcessLogical::", graphServiceNames)
|
|
299
|
+
additionalResourcePermission.push(
|
|
300
|
+
createIamRole(
|
|
301
|
+
{
|
|
302
|
+
[RESOURCE_CLASSES.lambda]: [LAMBDA_RESOURCE.invokeFunction]
|
|
303
|
+
},
|
|
304
|
+
graphServiceNames.map(graphServiceName => (
|
|
305
|
+
externalResourceName(RESOURCE_CLASSES.lambda, "GetNodeV2HdrInv", graphServiceName)
|
|
306
|
+
))
|
|
307
|
+
)
|
|
308
|
+
)
|
|
309
|
+
return {
|
|
310
|
+
functionName,
|
|
311
|
+
additionalResourcePermission
|
|
312
|
+
}
|
|
313
|
+
}
|
|
191
314
|
|
|
192
|
-
|
|
193
|
-
// }
|
|
315
|
+
module.exports = createExternalLambdaRole;
|
|
@@ -31,26 +31,28 @@ module.exports.generatedLambdaRole = async () => {
|
|
|
31
31
|
{
|
|
32
32
|
functionName: "<%- data.functionName %>",
|
|
33
33
|
statement: [
|
|
34
|
+
<%_ data.additionalResourcePermission.forEach((resourcePermission, resourceIdx) => { _%>
|
|
34
35
|
{
|
|
35
|
-
"Sid": "<%- data.functionName %>Test<%-
|
|
36
|
-
"Effect":
|
|
37
|
-
"
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
"Resource":
|
|
36
|
+
"Sid": "<%- data.functionName %>Test<%- resourceIdx %>",
|
|
37
|
+
"Effect": "<%- resourcePermission.effect %>",
|
|
38
|
+
"Action":
|
|
39
|
+
[
|
|
40
|
+
<%_ Object.keys(resourcePermission.action).forEach(resourcePerAction => { _%>
|
|
41
|
+
<%_ resourcePermission.action[resourcePerAction].forEach(permission => { _%>
|
|
42
|
+
"<%- resourcePerAction %>:<%- permission %>",
|
|
43
|
+
],
|
|
44
|
+
"Resource":
|
|
44
45
|
<%_ resourcePermission.resource.forEach(resource => { _%>
|
|
45
|
-
|
|
46
|
+
[
|
|
47
|
+
`<%- resource _%>`,
|
|
48
|
+
],
|
|
46
49
|
<%_ }) _%>
|
|
47
|
-
]
|
|
48
50
|
<%_ }) _%>
|
|
49
51
|
<%_ }) _%>
|
|
50
|
-
<%_ }
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
}<% if(resourceIdx < data.additionalResourcePermission.length-1) {_%>, <%_} %>
|
|
53
|
+
<%_ }) _%>
|
|
54
|
+
]
|
|
55
|
+
}, <%_ }) %>
|
|
54
56
|
]
|
|
55
57
|
return externalLambdaRole
|
|
56
58
|
}
|
|
@@ -22,75 +22,87 @@ const fs = require('fs');
|
|
|
22
22
|
const { ACTIONS, HANDLER, STORAGE_TYPES } = require('@izara_project/izara-core-library-service-schemas/src/Consts')
|
|
23
23
|
const { getGraphServiceNameFromGraphServerTagWithCache, getServiceNameWithCache } = require('@izara_project/izara-core-library-service-schemas/src/ServiceConfig')
|
|
24
24
|
const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase } = require("../../../../MainLibs/src/Utils")
|
|
25
|
-
const { DEFAULT_HANDLER_PER_ACTION, createIamRole, resourceNames, RESOURCE_CLASSES, DEFAULT_LAMBDA_ROLE_PER_ACTION, SOURCE_PATH, externalResourceName } = require("../../libs/Consts");
|
|
26
|
-
|
|
25
|
+
const { DEFAULT_HANDLER_PER_ACTION, createIamRole, resourceNames, RESOURCE_CLASSES, DEFAULT_LAMBDA_ROLE_PER_ACTION, SOURCE_PATH, externalResourceName, getGraphServiceNameFromAllRelSchema, FUNCTION_NAME, SAVE_FILE_NAME, getGraphServiceNameFromObjectSchema } = require("../../libs/Consts");
|
|
26
|
+
const {
|
|
27
|
+
TOPIC_NAME_GRAPH_HANDLER,
|
|
28
|
+
TOPIC_NAME_GENERATE_CODE
|
|
29
|
+
} = require('../../../../GenerateCodeLibs/src/Consts')
|
|
27
30
|
const templatePath = path.join(__dirname, "./template.ejs");
|
|
28
31
|
|
|
29
|
-
async function getGraphServiceTagFromRelSchema(_izContext, allRelSchemas) {
|
|
30
|
-
let graphServiceNames = [];
|
|
31
|
-
// for (const allRelSchema of Object.values(allRelSchemas)) {
|
|
32
|
-
// for (const relationship of Object.values(allRelSchema)) {
|
|
33
|
-
// for (const storageResource of Object.values(relationship.storageResources)) {
|
|
34
|
-
// if (storageResource.storageType === STORAGE_TYPES.graph) {
|
|
35
|
-
// let getGraphServiceTag = await getGraphServiceNameFromGraphServerTagWithCache(_izContext, storageResource.graphServerTag)
|
|
36
|
-
// if (!graphServiceNames.includes(getGraphServiceTag)) {
|
|
37
|
-
// graphServiceNames.push(getGraphServiceTag);
|
|
38
|
-
// }
|
|
39
|
-
// }
|
|
40
|
-
// }
|
|
41
|
-
// }
|
|
42
|
-
// }
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
await Promise.all(allRelSchemas.map(async relSchema => {
|
|
46
|
-
let relTag = Object.keys(relSchema)[0];
|
|
47
|
-
let relSchemaData = relSchema[relTag];
|
|
48
|
-
|
|
49
|
-
await Promise.all(Object.values(relSchemaData.storageResources).map(async storageResource => {
|
|
50
|
-
if (storageResource.storageType === STORAGE_TYPES.graph) {
|
|
51
|
-
let getGraphServiceTag = await getGraphServiceNameFromGraphServerTagWithCache(_izContext, storageResource.graphServerTag)
|
|
52
|
-
graphServiceNames.push(getGraphServiceTag);
|
|
53
|
-
}
|
|
54
|
-
}))
|
|
55
|
-
}));
|
|
56
|
-
|
|
57
|
-
return [...new Set(graphServiceNames)];
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
|
|
61
32
|
|
|
62
|
-
async
|
|
33
|
+
const createExternalSnsSubscriptions = async (_izContext, allRelSchemas, allObjSchemas, srcPath) => {
|
|
63
34
|
const snsServiceConfigArray = [];
|
|
64
|
-
|
|
35
|
+
|
|
36
|
+
const snsServiceConfigUpdateRelationshipComplete = await snsSubScriptionUpdateRelationshipComplete(_izContext, allRelSchemas)
|
|
65
37
|
snsServiceConfigUpdateRelationshipComplete && snsServiceConfigArray.push(snsServiceConfigUpdateRelationshipComplete)
|
|
66
38
|
|
|
39
|
+
const snsServiceConfigCreateRelationshipComplete = await snsSubscriptionCreateRelationshipComplete(_izContext, allRelSchemas)
|
|
40
|
+
snsServiceConfigCreateRelationshipComplete && snsServiceConfigArray.push(snsServiceConfigCreateRelationshipComplete)
|
|
41
|
+
|
|
42
|
+
const snsServiceConfigUpdateNodeComplete = await snsSubscriptionOutUpdateNodeComplete(_izContext, allObjSchemas)
|
|
43
|
+
snsServiceConfigUpdateNodeComplete && snsServiceConfigArray.push(snsServiceConfigUpdateNodeComplete)
|
|
44
|
+
|
|
45
|
+
const snsServiceConfigCreateNodeComplete = await snsSubscriptionCreateNodeComplete(_izContext, allObjSchemas)
|
|
46
|
+
snsServiceConfigCreateNodeComplete && snsServiceConfigArray.push(snsServiceConfigCreateNodeComplete);
|
|
67
47
|
|
|
68
48
|
return {
|
|
69
49
|
templatePath: templatePath,
|
|
70
50
|
templateData: { datas: snsServiceConfigArray },
|
|
71
51
|
setting: {
|
|
72
52
|
savePath: path.join(srcPath, SOURCE_PATH.externalService),
|
|
73
|
-
saveFileName:
|
|
53
|
+
saveFileName: SAVE_FILE_NAME.snsSubscription,
|
|
74
54
|
fileExtension: ".js",
|
|
75
|
-
isAppend:
|
|
55
|
+
isAppend: true
|
|
76
56
|
}
|
|
77
57
|
}
|
|
78
58
|
}
|
|
59
|
+
|
|
60
|
+
|
|
79
61
|
// update Relationship
|
|
80
|
-
async function
|
|
81
|
-
let serviceNames = await
|
|
62
|
+
async function snsSubScriptionUpdateRelationshipComplete(_izContext, allRelSchemas) {
|
|
63
|
+
let serviceNames = await getGraphServiceNameFromAllRelSchema(_izContext, allRelSchemas)
|
|
82
64
|
|
|
83
65
|
return {
|
|
84
66
|
serviceNames: serviceNames,
|
|
85
|
-
topicName:
|
|
86
|
-
sqsEndpoint:
|
|
67
|
+
topicName: TOPIC_NAME_GRAPH_HANDLER.outUpdateRel, // external service
|
|
68
|
+
sqsEndpoint: TOPIC_NAME_GENERATE_CODE.updateRelComplete // in service
|
|
87
69
|
}
|
|
88
70
|
}
|
|
89
71
|
|
|
90
|
-
|
|
91
72
|
// create Relationship
|
|
73
|
+
async function snsSubscriptionCreateRelationshipComplete(_izContext, allRelSchemas) {
|
|
74
|
+
let serviceNames = await getGraphServiceNameFromAllRelSchema(_izContext, allRelSchemas)
|
|
92
75
|
|
|
76
|
+
return {
|
|
77
|
+
serviceNames: serviceNames,
|
|
78
|
+
topicName: TOPIC_NAME_GRAPH_HANDLER.outCreateRel,
|
|
79
|
+
sqsEndpoint: TOPIC_NAME_GENERATE_CODE.createRelComplete
|
|
80
|
+
}
|
|
81
|
+
}
|
|
93
82
|
|
|
94
|
-
|
|
83
|
+
// topic not create yet will return error when initialSetup
|
|
84
|
+
// create topic for OutUpdateNodeComplete
|
|
85
|
+
async function snsSubscriptionOutUpdateNodeComplete(_izContext, allObjSchemas) {
|
|
86
|
+
let serviceNames = await getGraphServiceNameFromObjectSchema(_izContext, allObjSchemas)
|
|
87
|
+
|
|
88
|
+
return {
|
|
89
|
+
serviceNames: serviceNames,
|
|
90
|
+
topicName: TOPIC_NAME_GRAPH_HANDLER.outUpdateNode,
|
|
91
|
+
sqsEndpoint: TOPIC_NAME_GENERATE_CODE.updateNodeComplete
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
async function snsSubscriptionCreateNodeComplete(_izContext, allObjectSchemas) {
|
|
96
|
+
let serviceNames = await getGraphServiceNameFromObjectSchema(_izContext, allObjectSchemas)
|
|
97
|
+
|
|
98
|
+
return {
|
|
99
|
+
serviceNames: serviceNames,
|
|
100
|
+
topicName: TOPIC_NAME_GRAPH_HANDLER.outCreateNode,
|
|
101
|
+
sqsEndpoint: TOPIC_NAME_GENERATE_CODE.createNodeComplete
|
|
102
|
+
}
|
|
103
|
+
}
|
|
95
104
|
|
|
96
105
|
// not done yet wait for comfirmation
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
module.exports = createExternalSnsSubscriptions;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
module.exports.generatedSnsTopicSubscription = [ <% datas.forEach(data => { -%>
|
|
2
|
-
<% data.serviceNames.forEach(serviceName => {
|
|
2
|
+
<% data.serviceNames.forEach(serviceName => { -%>
|
|
3
3
|
{
|
|
4
4
|
serviceName: "<%- serviceName %>",
|
|
5
5
|
topicName: "<%- data.topicName %>",
|
|
6
6
|
sqsEndpoint: "<%- data.sqsEndpoint %>"
|
|
7
|
-
|
|
7
|
+
},
|
|
8
8
|
<% }) _%>
|
|
9
|
-
<% }) _%>
|
|
10
|
-
]
|
|
9
|
+
<% }) _%>]
|