@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.
Files changed (177) hide show
  1. package/package.json +2 -2
  2. package/src/GenerateCodeLibs/index.js +2 -1
  3. package/src/GenerateCodeLibs/src/Consts.js +20 -5
  4. package/src/GenerateCodeLibs/src/GenerateCodeLibs.js +298 -12
  5. package/src/GenerateCodeLibs/src/TranslateIdsLibs.js +89 -0
  6. package/src/MainLibs/src/Utils.js +10 -0
  7. package/src/TemplateManager/src/CreateRelationship/createRelationship/functionYaml/HdrApi/data.js +119 -0
  8. package/src/TemplateManager/src/CreateRelationship/createRelationship/functionYaml/HdrDsq/data.js +133 -0
  9. package/src/TemplateManager/src/CreateRelationship/createRelationship/functionYaml/HdrInv/data.js +120 -0
  10. package/src/TemplateManager/src/CreateRelationship/createRelationship/functionYaml/HdrSqs/data.js +133 -0
  11. package/src/TemplateManager/src/CreateRelationship/createRelationship/mainFunction/data.js +59 -0
  12. package/src/TemplateManager/src/CreateRelationship/createRelationship/mainFunction/template.ejs +340 -0
  13. package/src/TemplateManager/src/CreateRelationship/createRelationship/perAction/HdrApi/data.js +58 -0
  14. package/src/TemplateManager/src/CreateRelationship/createRelationship/perAction/HdrApi/request.json +0 -0
  15. package/src/TemplateManager/src/CreateRelationship/createRelationship/perAction/HdrApi/template.ejs +120 -0
  16. package/src/TemplateManager/src/CreateRelationship/createRelationship/perAction/HdrDsq/data.js +59 -0
  17. package/src/TemplateManager/src/CreateRelationship/createRelationship/perAction/HdrDsq/request.json +0 -0
  18. package/src/TemplateManager/src/CreateRelationship/createRelationship/perAction/HdrDsq/template.ejs +167 -0
  19. package/src/TemplateManager/src/CreateRelationship/createRelationship/perAction/HdrInv/data.js +60 -0
  20. package/src/TemplateManager/src/CreateRelationship/createRelationship/perAction/HdrInv/request.json +0 -0
  21. package/src/TemplateManager/src/CreateRelationship/createRelationship/perAction/HdrInv/template.ejs +107 -0
  22. package/src/TemplateManager/src/CreateRelationship/createRelationship/perAction/HdrSqs/data.js +60 -0
  23. package/src/TemplateManager/src/CreateRelationship/createRelationship/perAction/HdrSqs/request.json +0 -0
  24. package/src/TemplateManager/src/CreateRelationship/createRelationship/perAction/HdrSqs/template.ejs +146 -0
  25. package/src/TemplateManager/src/CreateRelationship/createRelationship/perAction/request.json +30 -0
  26. package/src/TemplateManager/src/CreateRelationship/createRelationship/sns-in-sqs/data.js +78 -0
  27. package/src/TemplateManager/src/CreateRelationship/createRelationshipComplete/functionYaml/data.js +133 -0
  28. package/src/TemplateManager/src/CreateRelationship/createRelationshipComplete/functionYaml/request.json +0 -0
  29. package/src/TemplateManager/src/CreateRelationship/createRelationshipComplete/functionYaml/template.ejs +33 -0
  30. package/src/TemplateManager/src/CreateRelationship/createRelationshipComplete/handler/HdrSqs/data.js +61 -0
  31. package/src/TemplateManager/src/CreateRelationship/createRelationshipComplete/handler/HdrSqs/request.json +0 -0
  32. package/src/TemplateManager/src/CreateRelationship/createRelationshipComplete/handler/HdrSqs/template.ejs +125 -0
  33. package/src/TemplateManager/src/CreateRelationship/createRelationshipComplete/mainFunction/data.js +56 -0
  34. package/src/TemplateManager/src/CreateRelationship/createRelationshipComplete/mainFunction/request.json +0 -0
  35. package/src/TemplateManager/src/CreateRelationship/createRelationshipComplete/mainFunction/template.ejs +137 -0
  36. package/src/TemplateManager/src/CreateRelationship/createRelationshipComplete/sns-in-sqs/data.js +72 -0
  37. package/src/TemplateManager/src/CreateRelationship/createRelationshipComplete/sns-in-sqs/request.json +0 -0
  38. package/src/TemplateManager/src/CreateRelationship/createRelationshipComplete/sns-in-sqs/template.ejs +47 -0
  39. package/src/TemplateManager/src/CreateRelationship/createRelationshipComplete/sns-out/data.js +72 -0
  40. package/src/TemplateManager/src/CreateRelationship/createRelationshipComplete/sns-out/request.json +0 -0
  41. package/src/TemplateManager/src/FindData/FindDataYaml/data.js +188 -0
  42. package/src/TemplateManager/src/FindData/FindDataYaml/template.ejs +27 -0
  43. package/src/TemplateManager/src/FindData/GetByStorage/getByDynamo.ejs +53 -0
  44. package/src/TemplateManager/src/FindData/GetByStorage/getByGraph.ejs +99 -0
  45. package/src/TemplateManager/src/FindData/Handler/data.js +48 -0
  46. package/src/TemplateManager/src/FindData/Handler/template.ejs +140 -0
  47. package/src/TemplateManager/src/FindData/mainFunction/data.js +279 -0
  48. package/src/TemplateManager/src/FindData/mainFunction/template.ejs +155 -0
  49. package/src/TemplateManager/src/GenerateCode(Old).js +1 -1
  50. package/src/TemplateManager/src/GenerateCode.js +205 -45
  51. package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/functionYaml/data.js +98 -0
  52. package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/functionYaml/template.ejs +33 -0
  53. package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/handler/data.js +0 -0
  54. package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/handler/template.ejs +0 -0
  55. package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/mainFunction/createObjectComplete_main.js +172 -0
  56. package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/mainFunction/data.js +0 -0
  57. package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/mainFunction/template.ejs +0 -0
  58. package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/sns-in-sqs/data.js +0 -0
  59. package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/sns-in-sqs/template.ejs +0 -0
  60. package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/sns-out/data.js +0 -0
  61. package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/sns-out/template.ejs +0 -0
  62. package/src/TemplateManager/src/OutPerActionComplete/OutUpdateComplete/functionYaml/data.js +98 -0
  63. package/src/TemplateManager/src/OutPerActionComplete/OutUpdateComplete/functionYaml/template.ejs +33 -0
  64. package/src/TemplateManager/src/OutPerActionComplete/OutUpdateComplete/handler/data.js +59 -0
  65. package/src/TemplateManager/src/OutPerActionComplete/OutUpdateComplete/handler/template.ejs +129 -0
  66. package/src/TemplateManager/src/OutPerActionComplete/OutUpdateComplete/mainFunction/data.js +53 -0
  67. package/src/TemplateManager/src/OutPerActionComplete/OutUpdateComplete/mainFunction/template.ejs +126 -0
  68. package/src/TemplateManager/src/OutPerActionComplete/OutUpdateComplete/sns-out/data.js +62 -0
  69. package/src/TemplateManager/src/OutPerActionComplete/OutUpdateComplete/sqs-in-sns/data.js +58 -0
  70. package/src/TemplateManager/src/OutPerActionComplete/OutUpdateComplete/sqs-in-sns/template.ejs +47 -0
  71. package/src/TemplateManager/src/{FunctionYaml → PerActionEndpoint/FunctionYaml}/HdrApi/data.js +24 -20
  72. package/src/TemplateManager/src/{FunctionYaml → PerActionEndpoint/FunctionYaml}/HdrApi/template.ejs +2 -2
  73. package/src/TemplateManager/src/{FunctionYaml → PerActionEndpoint/FunctionYaml}/HdrDsq/data.js +27 -20
  74. package/src/TemplateManager/src/{FunctionYaml → PerActionEndpoint/FunctionYaml}/HdrInv/data.js +54 -22
  75. package/src/TemplateManager/src/{FunctionYaml → PerActionEndpoint/FunctionYaml}/HdrSqs/data.js +28 -23
  76. package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrSqs/template.ejs +30 -0
  77. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrApi/data.js +6 -22
  78. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrApi/getTemplate.ejs +76 -0
  79. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrApi/updateTemplate.ejs +67 -0
  80. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrDsq/data.js +47 -37
  81. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrDsq/getTemplate.ejs +105 -0
  82. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrDsq/updateTemplate.ejs +109 -0
  83. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrInv/createTemplate.ejs +75 -0
  84. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrInv/data.js +68 -33
  85. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrInv/getTemplate.ejs +82 -0
  86. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrInv/updateTemplate.ejs +75 -0
  87. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrSqs/data.js +46 -30
  88. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrSqs/getTemplate.ejs +124 -0
  89. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrSqs/updateTemplate.ejs +133 -0
  90. package/src/TemplateManager/src/PerActionEndpoint/MainFunction/Create/CreateObject_main.js +760 -0
  91. package/src/TemplateManager/src/PerActionEndpoint/MainFunction/Create/data.js +67 -0
  92. package/src/TemplateManager/src/PerActionEndpoint/MainFunction/Create/request.json +0 -0
  93. package/src/TemplateManager/src/PerActionEndpoint/MainFunction/Create/template.ejs +581 -0
  94. package/src/TemplateManager/src/PerActionEndpoint/MainFunction/Get/data.js +0 -21
  95. package/src/TemplateManager/src/PerActionEndpoint/MainFunction/Get/template.ejs +34 -31
  96. package/src/TemplateManager/src/PerActionEndpoint/MainFunction/Get/testParam.json +5 -0
  97. package/src/TemplateManager/src/PerActionEndpoint/MainFunction/Update/data.js +61 -0
  98. package/src/TemplateManager/src/PerActionEndpoint/MainFunction/Update/request.json +0 -0
  99. package/src/TemplateManager/src/PerActionEndpoint/MainFunction/Update/template.ejs +267 -0
  100. package/src/TemplateManager/src/ProcessLogical/Handler/data.js +49 -0
  101. package/src/TemplateManager/src/ProcessLogical/Handler/template.ejs +129 -0
  102. package/src/TemplateManager/src/ProcessLogical/ProcessLogicalYaml/data.js +175 -0
  103. package/src/TemplateManager/src/ProcessLogical/ProcessLogicalYaml/template.ejs +25 -0
  104. package/src/TemplateManager/src/ProcessLogical/mainFunction/data.js +47 -0
  105. package/src/TemplateManager/src/ProcessLogical/mainFunction/template.ejs +421 -0
  106. package/src/TemplateManager/src/ProcessLogicalPagination/DsqYaml/data.js +50 -0
  107. package/src/TemplateManager/src/ProcessLogicalPagination/DsqYaml/template.ejs +32 -0
  108. package/src/TemplateManager/src/ProcessLogicalPagination/FunctionYaml/HdrDsq/data.js +167 -0
  109. package/src/TemplateManager/src/ProcessLogicalPagination/FunctionYaml/HdrDsq/template.ejs +25 -0
  110. package/src/TemplateManager/src/ProcessLogicalPagination/FunctionYaml/HdrSqs/data.js +169 -0
  111. package/src/TemplateManager/src/ProcessLogicalPagination/FunctionYaml/HdrSqs/template.ejs +25 -0
  112. package/src/TemplateManager/src/ProcessLogicalPagination/Handler/HdrDsq/data.js +48 -0
  113. package/src/TemplateManager/src/ProcessLogicalPagination/Handler/HdrDsq/template.ejs +163 -0
  114. package/src/TemplateManager/src/ProcessLogicalPagination/Handler/HdrSqs/data.js +48 -0
  115. package/src/TemplateManager/src/ProcessLogicalPagination/Handler/HdrSqs/template.ejs +146 -0
  116. package/src/TemplateManager/src/ProcessLogicalPagination/mainFunction/data.js +48 -0
  117. package/src/TemplateManager/src/ProcessLogicalPagination/mainFunction/template.ejs +212 -0
  118. package/src/TemplateManager/src/ResourceYaml/CreateSourceData.js +2 -2
  119. package/src/TemplateManager/src/ResourceYaml/dynamodb/awaitingMultipleStepData.js +5 -8
  120. package/src/TemplateManager/src/ResourceYaml/dynamodb/mainResourcePerObjectSchemaData.js +4 -26
  121. package/src/TemplateManager/src/ResourceYaml/dynamodb/processLogicalAndFindData.js +6 -10
  122. package/src/TemplateManager/src/ResourceYaml/sns-in-sqs/defaultSnsInSqsForFindDataAndProcessLogical.js +28 -16
  123. package/src/TemplateManager/src/ResourceYaml/sns-in-sqs/snsAndSqsPerActiondata.js +5 -5
  124. package/src/TemplateManager/src/ResourceYaml/sns-out/data.js +3 -3
  125. package/src/TemplateManager/src/ResourceYaml/sns-out/defaultSnsOutForFindDataAndProcessLogical.js +75 -0
  126. package/src/TemplateManager/src/TranslateIdReq/ProcessingTranslateIds/functionYaml/data.js +95 -0
  127. package/src/TemplateManager/src/{FunctionYaml/HdrSqs → TranslateIdReq/ProcessingTranslateIds/functionYaml}/template.ejs +1 -1
  128. package/src/TemplateManager/src/TranslateIdReq/ProcessingTranslateIds/handler/dataHdrDsq.js +52 -0
  129. package/src/TemplateManager/src/TranslateIdReq/ProcessingTranslateIds/handler/template.ejs +194 -0
  130. package/src/TemplateManager/src/TranslateIdReq/ProcessingTranslateIds/mainFunction/data.js +48 -0
  131. package/src/TemplateManager/src/TranslateIdReq/ProcessingTranslateIds/mainFunction/template.ejs +330 -0
  132. package/src/TemplateManager/src/TranslateIdReq/ProcessingTranslateIds/sns-out/data.js +47 -0
  133. package/src/TemplateManager/src/TranslateIdReq/ProcessingTranslateIds/sqs-sns/data.js +58 -0
  134. package/src/TemplateManager/src/TranslateIdReq/ProcessingTranslateIds/sqs-sns/template.ejs +43 -0
  135. package/src/TemplateManager/src/TranslateIdReq/TranslateIds/functionYaml/HdrDsq/data.js +116 -0
  136. package/src/TemplateManager/src/TranslateIdReq/TranslateIds/functionYaml/HdrSqs/data.js +116 -0
  137. package/src/TemplateManager/src/TranslateIdReq/TranslateIds/handler/HdrDsq/data.js +60 -0
  138. package/src/TemplateManager/src/TranslateIdReq/TranslateIds/handler/HdrDsq/template.ejs +157 -0
  139. package/src/TemplateManager/src/TranslateIdReq/TranslateIds/handler/HdrSqs/data.js +59 -0
  140. package/src/TemplateManager/src/TranslateIdReq/TranslateIds/handler/HdrSqs/template.ejs +175 -0
  141. package/src/TemplateManager/src/TranslateIdReq/TranslateIds/mainFunction/data.js +61 -0
  142. package/src/TemplateManager/src/TranslateIdReq/TranslateIds/mainFunction/template.ejs +155 -0
  143. package/src/TemplateManager/src/TranslateIdReq/TranslateIds/resourceYaml/dynamoDb/data.js +120 -0
  144. package/src/TemplateManager/src/TranslateIdReq/TranslateIds/resourceYaml/sns-sqs/data.js +75 -0
  145. package/src/TemplateManager/src/UpdateRelationshipSchema/updateRalationshipComplete/functionYaml/data.js +8 -24
  146. package/src/TemplateManager/src/UpdateRelationshipSchema/updateRalationshipComplete/handler/HdrSqs/data.js +7 -21
  147. package/src/TemplateManager/src/UpdateRelationshipSchema/updateRalationshipComplete/mainFunction/data.js +4 -3
  148. package/src/TemplateManager/src/UpdateRelationshipSchema/updateRalationshipComplete/mainFunction/template.ejs +1 -1
  149. package/src/TemplateManager/src/UpdateRelationshipSchema/updateRalationshipComplete/sns-in-sqs/data.js +10 -13
  150. package/src/TemplateManager/src/UpdateRelationshipSchema/updateRalationshipComplete/sns-in-sqs/template.ejs +1 -0
  151. package/src/TemplateManager/src/UpdateRelationshipSchema/updateRalationshipComplete/sns-out/data.js +6 -5
  152. package/src/TemplateManager/src/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrApi/data.js +13 -21
  153. package/src/TemplateManager/src/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrDsq/data.js +11 -29
  154. package/src/TemplateManager/src/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrInv/data.js +16 -21
  155. package/src/TemplateManager/src/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrSqs/data.js +12 -27
  156. package/src/TemplateManager/src/UpdateRelationshipSchema/updateRelationship/mainFunction/data.js +3 -18
  157. package/src/TemplateManager/src/UpdateRelationshipSchema/updateRelationship/mainFunction/template.ejs +18 -11
  158. package/src/TemplateManager/src/UpdateRelationshipSchema/updateRelationship/perAction/HdrApi/data.js +5 -18
  159. package/src/TemplateManager/src/UpdateRelationshipSchema/updateRelationship/perAction/HdrDsq/data.js +5 -19
  160. package/src/TemplateManager/src/UpdateRelationshipSchema/updateRelationship/perAction/HdrInv/data.js +7 -18
  161. package/src/TemplateManager/src/UpdateRelationshipSchema/updateRelationship/perAction/HdrSqs/data.js +6 -20
  162. package/src/TemplateManager/src/UpdateRelationshipSchema/updateRelationship/perAction/request.json +3 -4
  163. package/src/TemplateManager/src/UpdateRelationshipSchema/updateRelationship/sns-in-sqs/data.js +5 -6
  164. package/src/TemplateManager/src/UpdateRelationshipSchema/updateRelationship/sns-out/data.js +4 -4
  165. package/src/TemplateManager/src/externalService/LambdaRole/data.js +181 -59
  166. package/src/TemplateManager/src/externalService/LambdaRole/template.ejs +17 -15
  167. package/src/TemplateManager/src/externalService/SnsTopicSubscriotions/data.js +56 -44
  168. package/src/TemplateManager/src/externalService/SnsTopicSubscriotions/template.ejs +3 -4
  169. package/src/TemplateManager/src/libs/Consts.js +162 -13
  170. package/src/TemplateManager/src/PerActionEndpoint/Handler/testRequest.json +0 -5
  171. /package/src/TemplateManager/src/{FunctionYaml → PerActionEndpoint/FunctionYaml}/HdrApi/request.json +0 -0
  172. /package/src/TemplateManager/src/{FunctionYaml → PerActionEndpoint/FunctionYaml}/HdrDsq/request.json +0 -0
  173. /package/src/TemplateManager/src/{FunctionYaml → PerActionEndpoint/FunctionYaml}/HdrDsq/template.ejs +0 -0
  174. /package/src/TemplateManager/src/{FunctionYaml → PerActionEndpoint/FunctionYaml}/HdrInv/example req.js +0 -0
  175. /package/src/TemplateManager/src/{FunctionYaml → PerActionEndpoint/FunctionYaml}/HdrInv/request.json +0 -0
  176. /package/src/TemplateManager/src/{FunctionYaml → PerActionEndpoint/FunctionYaml}/HdrInv/template.ejs +0 -0
  177. /package/src/TemplateManager/src/{FunctionYaml → PerActionEndpoint/FunctionYaml}/HdrSqs/request.json +0 -0
@@ -6,7 +6,7 @@
6
6
  "serviceTag": "GenerateCodeTemplateBas"
7
7
  },
8
8
  "identifiers": {
9
- "personId": "Node1"
9
+ "personId": "TestUpdateNode1"
10
10
  }
11
11
  },
12
12
  {
@@ -15,7 +15,7 @@
15
15
  "serviceTag": "GenerateCodeTemplateBas"
16
16
  },
17
17
  "identifiers": {
18
- "personId": "Node2"
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
  }
@@ -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
- "queueName": "UpdateRelationship"
53
+ queueName: upperCase(FUNCTION_NAME.updateRel)
54
54
  },
55
55
  {
56
- "queueName": "UpdateRelationshipHdrDsq"
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: 'generated-sns-in-sqs',
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: "generated-sns-in-sqs",
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 = "updateRelationshipSchema"
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: "generated-sns-out",
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 { DEFAULT_HANDLER_PER_ACTION, createIamRole, resourceNames, RESOURCE_CLASSES, DEFAULT_LAMBDA_ROLE_PER_ACTION, SOURCE_PATH, externalResourceName, externalResourceSns, } = require("../../libs/Consts");
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
- async function dataForGenerateLambdaRole(_izContext, allObjSchemas, allRelSchemas, srcPath) {
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
- // updateRelationship external lambda role
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
- // findData external lambda role
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
- // updateRelationshipComplete external lambda role
85
+ // ... another external lambda role data
68
86
 
69
- // ... another external lambda role data
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: "generatedLambdaRoleServiceConfig",
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]: ["InvokeFunction"] },
132
+ { [RESOURCE_CLASSES.lambda]: [LAMBDA_RESOURCE.invokeFunction] },
111
133
  graphServiceNames.map(graphServiceName =>
112
- externalResourceName(RESOURCE_CLASSES.lambda, "GetNodeHdrInv", graphServiceName)
134
+ externalResourceName(RESOURCE_CLASSES.lambda, "GetNodeV2HdrInv", graphServiceName),
113
135
  )
114
136
  )
115
137
  )
116
138
 
117
- // }else if (action === ACTIONS.create) {
118
-
119
-
120
- // } else if (action === ACTIONS.update) {
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
- // console.log("additionalResourcePermissionExtraLambdaRole:", JSON.stringify(additionalResourcePermission))
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 = "UpdateRelationship" + upperCase(handler);
179
+ const functionName = upperCase(FUNCTION_NAME.updateRel) + upperCase(handler);
143
180
  const additionalResourcePermission = [];
144
- const graphServiceNames = [];
145
- for (const allRelSchema of Object.values(allRelSchemas)) {
146
- for (const relationship of Object.values(allRelSchema)) {
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]: ["Publish"]
187
+ [RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish]
162
188
  },
163
- graphServiceNames.map(graphServiceName =>
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
- module.exports = dataForGenerateLambdaRole;
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
- // // const createSourceParam = createParamForCreateSource(objectSchema, action, savePath)
190
- // // createSourceArray.push(createSourceParam)
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<%- dataIndex %>",
36
- "Effect": <%_ data.additionalResourcePermission.forEach(resourcePermission => { _%>
37
- "<%- resourcePermission.effect %>",
38
- "Action": <%_ Object.keys(resourcePermission.action).forEach(resourcePerAction => { _%>
39
- <%_ resourcePermission.action[resourcePerAction].forEach(permission => { _%>
40
- [
41
- "<%- resourcePerAction %>:<%- permission %>",
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
- `<%- resource _%>`,
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 function createExternalSnsSubscriptions(_izContext, allRelSchemas, srcPath) {
33
+ const createExternalSnsSubscriptions = async (_izContext, allRelSchemas, allObjSchemas, srcPath) => {
63
34
  const snsServiceConfigArray = [];
64
- const snsServiceConfigUpdateRelationshipComplete = await snsSubScriptionUpdateRelationship(_izContext, allRelSchemas)
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: "generatedSnsServiceConfig",
53
+ saveFileName: SAVE_FILE_NAME.snsSubscription,
74
54
  fileExtension: ".js",
75
- isAppend: false
55
+ isAppend: true
76
56
  }
77
57
  }
78
58
  }
59
+
60
+
79
61
  // update Relationship
80
- async function snsSubScriptionUpdateRelationship(_izContext, allRelSchemas) {
81
- let serviceNames = await getGraphServiceTagFromRelSchema(_izContext, allRelSchemas)
62
+ async function snsSubScriptionUpdateRelationshipComplete(_izContext, allRelSchemas) {
63
+ let serviceNames = await getGraphServiceNameFromAllRelSchema(_izContext, allRelSchemas)
82
64
 
83
65
  return {
84
66
  serviceNames: serviceNames,
85
- topicName: "OutUpdateRelationship",
86
- sqsEndpoint: "OutUpdateRelationshipComplete"
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
- module.exports = createExternalSnsSubscriptions
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
+ <% }) _%>]