@izara_project/izara-market-library-service-schemas 1.0.18 → 1.0.20

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 (179) hide show
  1. package/package.json +2 -2
  2. package/src/GenerateCodeLibs/src/Consts.js +32 -2
  3. package/src/GenerateCodeLibs/src/GenerateCodeLibs.js +3 -61
  4. package/src/SourceManager/src/Utils.js +40 -1
  5. package/src/TemplateManager/src/FindData/FindDataYaml/data.js +4 -1
  6. package/src/TemplateManager/src/FindData/FindDataYaml/template.ejs +1 -14
  7. package/src/TemplateManager/src/GenerateCode.js +152 -46
  8. package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/functionYaml/data.js +23 -3
  9. package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/functionYaml/template.ejs +1 -14
  10. package/src/TemplateManager/src/OutPerActionComplete/OutDeleteComplete/functionYaml/data.js +22 -3
  11. package/src/TemplateManager/src/OutPerActionComplete/OutDeleteComplete/functionYaml/template.ejs +1 -14
  12. package/src/TemplateManager/src/OutPerActionComplete/OutGetComplete/functionYaml/data.js +23 -3
  13. package/src/TemplateManager/src/OutPerActionComplete/OutGetComplete/functionYaml/template.ejs +1 -14
  14. package/src/TemplateManager/src/OutPerActionComplete/OutUpdateComplete/functionYaml/data.js +23 -3
  15. package/src/TemplateManager/src/OutPerActionComplete/OutUpdateComplete/functionYaml/template.ejs +1 -14
  16. package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrApi/data.js +6 -6
  17. package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrApi/template.ejs +1 -14
  18. package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrDsq/data.js +2 -1
  19. package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrDsq/template.ejs +1 -14
  20. package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrInv/data.js +1 -1
  21. package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrInv/template.ejs +1 -14
  22. package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrSqs/data.js +3 -1
  23. package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrSqs/template.ejs +1 -14
  24. package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrWbs/data.js +1 -1
  25. package/src/TemplateManager/src/PerActionEndpoint/MainFunction/Create/template.ejs +65 -26
  26. package/src/TemplateManager/src/PerActionEndpoint/MainFunction/Delete/template.ejs +0 -1
  27. package/src/TemplateManager/src/PerActionEndpoint/MainFunction/Get/template.ejs +13 -11
  28. package/src/TemplateManager/src/PerActionEndpoint/MainFunction/Update/template.ejs +34 -18
  29. package/src/TemplateManager/src/{flowTag/webSocket/websocketHandler/mainFunction → PerActionEndpoint/libs}/data.js +12 -23
  30. package/src/TemplateManager/src/PerActionEndpoint/libs/template.ejs +46 -0
  31. package/src/TemplateManager/src/ProcessLogical/ProcessLogicalYaml/data.js +18 -2
  32. package/src/TemplateManager/src/ProcessLogical/ProcessLogicalYaml/template.ejs +1 -14
  33. package/src/TemplateManager/src/ProcessLogicalPagination/FunctionYaml/HdrDsq/data.js +20 -3
  34. package/src/TemplateManager/src/ProcessLogicalPagination/FunctionYaml/HdrDsq/template.ejs +1 -14
  35. package/src/TemplateManager/src/ProcessLogicalPagination/FunctionYaml/HdrSqs/data.js +21 -3
  36. package/src/TemplateManager/src/ProcessLogicalPagination/FunctionYaml/HdrSqs/template.ejs +1 -14
  37. package/src/TemplateManager/src/ProcessLogicalPagination/mainFunction/template.ejs +1 -1
  38. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrApi/data.js +16 -2
  39. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrApi/template.ejs +1 -14
  40. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrDsq/data.js +17 -2
  41. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrDsq/template.ejs +1 -14
  42. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrInv/data.js +16 -2
  43. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrInv/template.ejs +1 -14
  44. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrSqs/data.js +18 -3
  45. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrSqs/template.ejs +1 -14
  46. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationshipComplete/functionYaml/data.js +18 -3
  47. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationshipComplete/functionYaml/template.ejs +1 -14
  48. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrApi/data.js +15 -2
  49. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrApi/template.ejs +1 -14
  50. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrDsq/data.js +17 -2
  51. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrDsq/template.ejs +1 -14
  52. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrInv/data.js +16 -2
  53. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrInv/template.ejs +1 -14
  54. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrSqs/data.js +18 -3
  55. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrSqs/template.ejs +1 -14
  56. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationshipComplete/functionYaml/data.js +18 -3
  57. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationshipComplete/functionYaml/template.ejs +1 -14
  58. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRalationshipComplete/functionYaml/data.js +19 -4
  59. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRalationshipComplete/functionYaml/template.ejs +1 -14
  60. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrApi/data.js +19 -2
  61. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrApi/template.ejs +1 -14
  62. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrDsq/data.js +19 -2
  63. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrDsq/template.ejs +1 -14
  64. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrInv/data.js +20 -2
  65. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrInv/template.ejs +1 -14
  66. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrSqs/data.js +20 -2
  67. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrSqs/template.ejs +1 -14
  68. package/src/TemplateManager/src/Role/createSharedResource.js +270 -0
  69. package/src/TemplateManager/src/Role/sharedResourceTemplate.ejs +58 -0
  70. package/src/TemplateManager/src/TranslateIdReq/TranslateIds/functionYaml/HdrDsq/data.js +1 -1
  71. package/src/TemplateManager/src/TranslateIdReq/TranslateIds/functionYaml/HdrSqs/data.js +1 -1
  72. package/src/TemplateManager/src/externalService/LambdaRole/data.js +119 -9
  73. package/src/TemplateManager/src/externalService/LambdaRole/template.ejs +3 -4
  74. package/src/TemplateManager/src/externalService/SnsTopicSubscriotions/data.js +31 -6
  75. package/src/TemplateManager/src/flowSchema/DefaultWebSocketResource/dynamoDb/ReservedTableData.js +65 -0
  76. package/src/TemplateManager/src/{flowTag/webSocket → flowSchema/DefaultWebSocketResource}/webSocketConnect/functionYaml/data.js +3 -2
  77. package/src/TemplateManager/src/{flowTag/webSocket → flowSchema/DefaultWebSocketResource}/webSocketConnect/handler/data.js +1 -1
  78. package/src/TemplateManager/src/flowSchema/FlowSchemaEndpoint/InProcessFlowSchema/functionYaml/data.js +77 -0
  79. package/src/TemplateManager/src/{flowTag/webSocket/websocketHandler → flowSchema/FlowSchemaEndpoint/InProcessFlowSchema}/functionYaml/template.ejs +9 -3
  80. package/src/TemplateManager/src/flowSchema/FlowSchemaEndpoint/InProcessFlowSchema/handler/data.js +47 -0
  81. package/src/TemplateManager/src/{flowTag/webSocket/websocketHandler → flowSchema/FlowSchemaEndpoint/InProcessFlowSchema}/handler/template.ejs +25 -52
  82. package/src/TemplateManager/src/flowSchema/FlowSchemaEndpoint/InProcessFlowSchema/mainFunction/data.js +46 -0
  83. package/src/TemplateManager/src/flowSchema/FlowSchemaEndpoint/InProcessFlowSchema/mainFunction/template.ejs +0 -0
  84. package/src/TemplateManager/src/flowSchema/FlowSchemaEndpoint/InProcessFlowSchema/sns-sqs/data.js +36 -0
  85. package/src/TemplateManager/src/flowSchema/FlowSchemaEndpoint/InProcessFlowSchema/sns-sqs/template.ejs +0 -0
  86. package/src/TemplateManager/src/flowSchema/FlowSchemaEndpoint/OutComplete/functionYaml/data.js +35 -0
  87. package/src/TemplateManager/src/flowSchema/FlowSchemaEndpoint/OutComplete/functionYaml/template.ejs +0 -0
  88. package/src/TemplateManager/src/flowSchema/FlowSchemaEndpoint/OutComplete/handler/data.js +35 -0
  89. package/src/TemplateManager/src/flowSchema/FlowSchemaEndpoint/OutComplete/handler/template.ejs +0 -0
  90. package/src/TemplateManager/src/flowSchema/FlowSchemaEndpoint/OutComplete/mainFunction/data.js +35 -0
  91. package/src/TemplateManager/src/flowSchema/FlowSchemaEndpoint/OutComplete/mainFunction/template.ejs +0 -0
  92. package/src/TemplateManager/src/flowSchema/FlowSchemaEndpoint/OutComplete/sns-sqs/data.js +35 -0
  93. package/src/TemplateManager/src/flowSchema/FlowSchemaEndpoint/OutComplete/sns-sqs/template.ejs +0 -0
  94. package/src/TemplateManager/src/flowSchema/UploadS3Case/confirmReservedAfterUpload/functionYaml/data.js +102 -0
  95. package/src/TemplateManager/src/flowSchema/UploadS3Case/confirmReservedAfterUpload/functionYaml/template.ejs +30 -0
  96. package/src/TemplateManager/src/flowSchema/UploadS3Case/confirmReservedAfterUpload/handler/data.js +58 -0
  97. package/src/TemplateManager/src/flowSchema/UploadS3Case/confirmReservedAfterUpload/handler/template.ejs +126 -0
  98. package/src/TemplateManager/src/flowSchema/UploadS3Case/confirmReservedAfterUpload/mainFunction/data.js +51 -0
  99. package/src/TemplateManager/src/flowSchema/UploadS3Case/confirmReservedAfterUpload/mainFunction/template.ejs +121 -0
  100. package/src/TemplateManager/src/flowSchema/UploadS3Case/confirmReservedAfterUpload/queue/data.js +64 -0
  101. package/src/TemplateManager/src/flowSchema/UploadS3Case/confirmReservedAfterUpload/queue/template.ejs +45 -0
  102. package/src/TemplateManager/src/{flowTag/webSocket/websocketHandler → flowSchema/UploadS3Case/createObject}/functionYaml/data.js +42 -13
  103. package/src/TemplateManager/src/flowSchema/UploadS3Case/createObject/functionYaml/template.ejs +37 -0
  104. package/src/TemplateManager/src/flowSchema/UploadS3Case/createObject/handler/data.js +75 -0
  105. package/src/TemplateManager/src/flowSchema/UploadS3Case/createObject/handler/template.ejs +120 -0
  106. package/src/TemplateManager/src/{flowTag/webSocket/websocketHandler/handler → flowSchema/UploadS3Case/createObject/mainFunction}/data.js +11 -15
  107. package/src/TemplateManager/src/{flowTag/webSocket/websocketHandler → flowSchema/UploadS3Case/createObject}/mainFunction/template.ejs +4 -4
  108. package/src/TemplateManager/src/{flowTag/webSocket/webSocketComplete → flowSchema/UploadS3Case/createObjectComplete}/functionYaml/data.js +6 -4
  109. package/src/TemplateManager/src/flowSchema/UploadS3Case/createObjectComplete/functionYaml/template.ejs +30 -0
  110. package/src/TemplateManager/src/{flowTag/webSocket/webSocketComplete → flowSchema/UploadS3Case/createObjectComplete}/handler/data.js +1 -1
  111. package/src/TemplateManager/src/{flowTag/webSocket/webSocketComplete → flowSchema/UploadS3Case/createObjectComplete}/handler/template.ejs +10 -10
  112. package/src/TemplateManager/src/{flowTag/webSocket/webSocketComplete → flowSchema/UploadS3Case/createObjectComplete}/mainFunction/data.js +3 -4
  113. package/src/TemplateManager/src/flowSchema/UploadS3Case/createObjectComplete/mainFunction/template.ejs +86 -0
  114. package/src/TemplateManager/src/{flowTag/webSocket/webSocketComplete → flowSchema/UploadS3Case/createObjectComplete}/sns-sqs/data.js +4 -2
  115. package/src/TemplateManager/src/flowSchema/UploadS3Case/createObjectComplete/sns-sqs/template.ejs +49 -0
  116. package/src/TemplateManager/src/flowSchema/UploadS3Case/createPresignUrl/getsignUrlsAcc/functionYaml/data.js +85 -0
  117. package/src/TemplateManager/src/{flowTag/webSocket/webSocketComplete → flowSchema/UploadS3Case/createPresignUrl/getsignUrlsAcc}/functionYaml/template.ejs +1 -1
  118. package/src/TemplateManager/src/flowSchema/UploadS3Case/createPresignUrl/getsignUrlsAcc/handler/data.js +57 -0
  119. package/src/TemplateManager/src/flowSchema/UploadS3Case/createPresignUrl/getsignUrlsAcc/handler/template.ejs +120 -0
  120. package/src/TemplateManager/src/flowSchema/UploadS3Case/createPresignUrl/getsignUrlsAcc/mainFunction/data.js +51 -0
  121. package/src/TemplateManager/src/flowSchema/UploadS3Case/createPresignUrl/getsignUrlsAcc/mainFunction/template.ejs +164 -0
  122. package/src/TemplateManager/src/flowSchema/UploadS3Case/createPresignUrl/getsignUrlsAcc/sqs/data.js +65 -0
  123. package/src/TemplateManager/src/flowSchema/UploadS3Case/createPresignUrl/getsignUrlsAcc/sqs/template.ejs +53 -0
  124. package/src/TemplateManager/src/flowSchema/UploadS3Case/createPresignUrl/reservedLimitComplete/functionYaml/data.js +112 -0
  125. package/src/TemplateManager/src/flowSchema/UploadS3Case/createPresignUrl/reservedLimitComplete/functionYaml/template.ejs +30 -0
  126. package/src/TemplateManager/src/flowSchema/UploadS3Case/createPresignUrl/reservedLimitComplete/handler/data.js +57 -0
  127. package/src/TemplateManager/src/flowSchema/UploadS3Case/createPresignUrl/reservedLimitComplete/handler/template.ejs +126 -0
  128. package/src/TemplateManager/src/flowSchema/UploadS3Case/createPresignUrl/reservedLimitComplete/mainFunction/data.js +54 -0
  129. package/src/TemplateManager/src/flowSchema/UploadS3Case/createPresignUrl/reservedLimitComplete/mainFunction/template.ejs +254 -0
  130. package/src/TemplateManager/src/flowSchema/UploadS3Case/createPresignUrl/reservedLimitComplete/queue/data.js +64 -0
  131. package/src/TemplateManager/src/flowSchema/UploadS3Case/createPresignUrl/reservedLimitComplete/queue/template.ejs +45 -0
  132. package/src/TemplateManager/src/flowSchema/UploadS3Case/hookCode/handler/data.js +94 -0
  133. package/src/TemplateManager/src/flowSchema/UploadS3Case/hookCode/handler/templateAsyncHandler.ejs +110 -0
  134. package/src/TemplateManager/src/flowSchema/UploadS3Case/hookCode/handler/templateSyncHandler.ejs +49 -0
  135. package/src/TemplateManager/src/flowSchema/UploadS3Case/hookCode/hookLogic/data.js +44 -0
  136. package/src/TemplateManager/src/flowSchema/UploadS3Case/hookCode/mainFunction/data.js +66 -0
  137. package/src/TemplateManager/src/flowSchema/UploadS3Case/hookCode/mainFunction/template.ejs +7 -0
  138. package/src/TemplateManager/src/flowSchema/UploadS3Case/hookCode/queue/data.js +73 -0
  139. package/src/TemplateManager/src/flowSchema/UploadS3Case/hookCode/queue/snsTemplate.ejs +59 -0
  140. package/src/TemplateManager/src/flowSchema/UploadS3Case/hookCode/queue/sqsTemplate.ejs +43 -0
  141. package/src/TemplateManager/src/flowSchema/UploadS3Case/hookCode(old)/functionYaml/data.js +102 -0
  142. package/src/TemplateManager/src/flowSchema/UploadS3Case/hookCode(old)/functionYaml/template.ejs +43 -0
  143. package/src/TemplateManager/src/flowSchema/UploadS3Case/hookCode(old)/handler/data.js +94 -0
  144. package/src/TemplateManager/src/flowSchema/UploadS3Case/hookCode(old)/handler/templateAsyncHandler.ejs +110 -0
  145. package/src/TemplateManager/src/flowSchema/UploadS3Case/hookCode(old)/handler/templateSyncHandler.ejs +49 -0
  146. package/src/TemplateManager/src/flowSchema/UploadS3Case/hookCode(old)/hookLogic/data.js +65 -0
  147. package/src/TemplateManager/src/flowSchema/UploadS3Case/hookCode(old)/mainFunction/data.js +67 -0
  148. package/src/TemplateManager/src/flowSchema/UploadS3Case/hookCode(old)/mainFunction/template.ejs +30 -0
  149. package/src/TemplateManager/src/flowSchema/UploadS3Case/hookCode(old)/queue/data.js +125 -0
  150. package/src/TemplateManager/src/flowSchema/UploadS3Case/hookCode(old)/queue/snsTemplate.ejs +59 -0
  151. package/src/TemplateManager/src/flowSchema/UploadS3Case/processFileS3AfterUpload/functionYml/HdrDsq/data.js +87 -0
  152. package/src/TemplateManager/src/flowSchema/UploadS3Case/processFileS3AfterUpload/functionYml/HdrDsq/template.ejs +30 -0
  153. package/src/TemplateManager/src/flowSchema/UploadS3Case/processFileS3AfterUpload/functionYml/HdrS3/data.js +112 -0
  154. package/src/TemplateManager/src/flowSchema/UploadS3Case/processFileS3AfterUpload/functionYml/HdrS3/template.ejs +38 -0
  155. package/src/TemplateManager/src/flowSchema/UploadS3Case/processFileS3AfterUpload/handler/handlerDsq/data.js +45 -0
  156. package/src/TemplateManager/src/flowSchema/UploadS3Case/processFileS3AfterUpload/handler/handlerDsq/template.ejs +151 -0
  157. package/src/TemplateManager/src/flowSchema/UploadS3Case/processFileS3AfterUpload/handler/handlerS3/data.js +43 -0
  158. package/src/TemplateManager/src/flowSchema/UploadS3Case/processFileS3AfterUpload/handler/handlerS3/template.ejs +68 -0
  159. package/src/TemplateManager/src/flowSchema/UploadS3Case/processFileS3AfterUpload/mainFunction/data.js +43 -0
  160. package/src/TemplateManager/src/flowSchema/UploadS3Case/processFileS3AfterUpload/mainFunction/template.ejs +392 -0
  161. package/src/TemplateManager/src/flowSchema/UploadS3Case/processFileS3AfterUpload/queue/data.js +77 -0
  162. package/src/TemplateManager/src/flowSchema/UploadS3Case/processFileS3AfterUpload/queue/dsqTemplatePath.ejs +32 -0
  163. package/src/TemplateManager/src/flowSchema/UploadS3Case/processFileS3AfterUpload/queue/s3Template.ejs +59 -0
  164. package/src/TemplateManager/src/flowSchema/UploadS3Case/relate/S3/data.js +51 -0
  165. package/src/TemplateManager/src/flowSchema/UploadS3Case/relate/S3/template.ejs +13 -0
  166. package/src/TemplateManager/src/flowSchema/UploadS3Case/relate/libs/data.js +42 -0
  167. package/src/TemplateManager/src/flowSchema/UploadS3Case/relate/libs/template.ejs +137 -0
  168. package/src/TemplateManager/src/libs/Consts.js +89 -34
  169. package/src/TemplateManager/src/reStructureExample/GenerateCodeTest.js +31 -0
  170. package/src/TemplateManager/src/reStructureExample/TemplateConfig.js +11 -0
  171. package/src/TemplateManager/src/reStructureExample/TemplateData/perAction/data.js +0 -0
  172. package/src/TemplateManager/src/reStructureExample/TemplateData/perAction/generateCodeShared.js +1 -0
  173. package/src/TemplateManager/src/reStructureExample/TemplateData/perAction/generatePerAction.js +5 -0
  174. package/src/TemplateManager/src/reStructureExample/TemplateData/perAction/template.ejs +0 -0
  175. package/src/TemplateManager/src/flowTag/webSocket/webSocketComplete/mainFunction/template.ejs +0 -180
  176. /package/src/TemplateManager/src/{flowTag/resources/dynamoDb/data.js → flowSchema/DefaultWebSocketResource/dynamoDb/WebSocketTaskData.js} +0 -0
  177. /package/src/TemplateManager/src/{flowTag/webSocket → flowSchema/DefaultWebSocketResource}/webSocketConnect/functionYaml/template.ejs +0 -0
  178. /package/src/TemplateManager/src/{flowTag/webSocket → flowSchema/DefaultWebSocketResource}/webSocketConnect/handler/template.ejs +0 -0
  179. /package/src/TemplateManager/src/{flowTag/webSocket/webSocketComplete/sns-sqs/template.ejs → flowSchema/UploadS3Case/hookCode(old)/queue/sqsTemplate.ejs} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@izara_project/izara-market-library-service-schemas",
3
- "version": "1.0.18",
3
+ "version": "1.0.20",
4
4
  "description": "Schemas for Izara Market project",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -22,7 +22,7 @@
22
22
  "dependencies": {
23
23
  "@izara_project/izara-core-library-core": "^1.0.14",
24
24
  "@izara_project/izara-core-library-external-request": "^1.0.17",
25
- "@izara_project/izara-core-library-service-schemas": "^1.0.35",
25
+ "@izara_project/izara-core-library-service-schemas": "^1.0.37",
26
26
  "@izara_project/izara-shared": "^1.0.116",
27
27
  "ejs": "^3.1.10",
28
28
  "js-beautify": "^1.15.1",
@@ -56,17 +56,47 @@ const TOPIC_NAME_GENERATE_CODE = {
56
56
  deleteNodeComplete: "DeleteNodeComplete",
57
57
  outDeleteNodeComplete: "OutDeleteNodeComplete",
58
58
  getNodeComplete: "GetNodeComplete",
59
- outGetNodeComplete: "OutGetNodeComplete"
59
+ outGetNodeComplete: "OutGetNodeComplete",
60
+ reservedLimitComplete: "ReservedLimitComplete"
60
61
  }
61
62
 
62
63
  const GRAPH_HANDLER_SERVICE_NAME = {
63
64
  graphHandler: "GraphHandler"
64
65
  }
65
66
 
67
+ const ACCOUNTLIMIT_TAG = {
68
+ staticLimit: "staticLimit",
69
+ reservedDynamic: "reservedDynamic"
70
+ }
71
+
72
+ const LIMIT_TAG = {
73
+ uploadImage: "uploadImageS3",
74
+ uploadData: "uploadDataS3"
75
+ }
76
+
77
+ const RBAC_TYPE = {
78
+ appLevel: "AppLevel",
79
+ userLevel: "UserLevel"
80
+ }
81
+
82
+ const TOPIC_NAME_EXTERNAL_SERVICE = {
83
+ staticLimitProcessComplete: "OutStaticLimitProcessComplete",
84
+ reservedDynamicUsageComplete: "OutReservedDynamicUsageComplete"
85
+ }
86
+
87
+ const EXTERNAL_SERVICE_NAME = {
88
+ accountLimits: "AccountLimits"
89
+ }
90
+
66
91
 
67
92
  module.exports = {
68
93
  TOPIC_NAME_GENERATE_CODE,
69
94
  TOPIC_NAME_GRAPH_HANDLER,
70
95
  PREFIX,
71
- GRAPH_HANDLER_SERVICE_NAME
96
+ GRAPH_HANDLER_SERVICE_NAME,
97
+ ACCOUNTLIMIT_TAG,
98
+ LIMIT_TAG,
99
+ RBAC_TYPE,
100
+ TOPIC_NAME_EXTERNAL_SERVICE,
101
+ EXTERNAL_SERVICE_NAME
72
102
  }
@@ -20,7 +20,6 @@ along with this program.If not, see < http://www.gnu.org/licenses/>.
20
20
  const lodash = require('lodash');
21
21
  const hash = require("object-hash")
22
22
 
23
-
24
23
  const sqsSharedLib = require('@izara_project/izara-shared/src/SqsSharedLib');
25
24
  const snsSharedLib = require('@izara_project/izara-shared/src/SnsSharedLib');
26
25
  const inMemoryCacheLib = require('@izara_project/izara-shared/src/InMemoryCacheLib');
@@ -803,60 +802,6 @@ async function createDataDetailsLib(
803
802
  for (let [keyFieldName, settingFieldName] of Object.entries(objectSchemas.fieldNames)) {
804
803
  // _izContext.logger.debug("Loop fieldNamesObjectSchemas", { keyFieldName });
805
804
 
806
- // check field is identifier
807
- if (objectSchemas.identifierFieldNames.includes(keyFieldName)) {
808
-
809
- if (Object.keys(objectSchemas.fieldNames).length == 1) {
810
-
811
- for (const storageIdentifiers of settingFieldName.storageResourceTags) {
812
- // _izContext.logger.debug("case only 1 fieldNames identifiers in ObjectSchema")
813
- if (storageResources[storageIdentifiers].storageType === consts.STORAGE_TYPES.dynamoDB) {
814
- if (createDataDetails.hasOwnProperty(storageIdentifiers)) {
815
- // _izContext.logger.debug("same table")
816
- createDataDetails[storageIdentifiers].fieldNames.push(keyFieldName);
817
- } else {
818
- // _izContext.logger.debug("new table")
819
- Object.assign(createDataDetails, {
820
- [storageResources[storageIdentifiers]]: {
821
- storageType: consts.STORAGE_TYPES.dynamoDB,
822
- tableName: storageResources[storageIdentifiers].tableName,
823
- fieldNames: [keyFieldName]
824
- }
825
- })
826
- if (storageResources[storageIdentifiers].hasOwnProperty("groupByPartitionKeyField")) {
827
- Object.assign(createDataDetails[storageIdentifiers], {
828
- groupByPartitionKeyField: storageResources[storageIdentifiers].groupByPartitionKeyField
829
- })
830
- }
831
- }
832
- } else if (storageResources[storageIdentifiers].storageType === consts.STORAGE_TYPES.graph) {
833
- let getGraphServerTag = await serviceConfig.getGraphServiceTag(
834
- _izContext,
835
- storageResources[storageIdentifiers].graphServerTag
836
- );
837
- if (getGraphServerTag) {
838
- if (createDataDetails.hasOwnProperty(getGraphServerTag)) {
839
- createDataDetails[getGraphServerTag].fieldNames.push(keyFieldName)
840
- } else {
841
- Object.assign(createDataDetails, {
842
- [getGraphServerTag]: {
843
- storageType: consts.STORAGE_TYPES.graph,
844
- fieldNames: [keyFieldName]
845
- }
846
- })
847
- }
848
- }
849
- }
850
- }
851
- } else {
852
- continue
853
- }
854
- continue
855
- };
856
- // _izContext.logger.debug("case multiple fieldName");
857
- // validate storageResourceTags.
858
- // _izContext.logger.debug("storageResourceTags is", settingFieldName.storageResourceTags);
859
-
860
805
  for (let eachStorageResourceTag of settingFieldName.storageResourceTags) {
861
806
  // _izContext.logger.debug("Loop eachStorageResourceTags", eachStorageResourceTag);
862
807
 
@@ -886,7 +831,7 @@ async function createDataDetailsLib(
886
831
  }
887
832
 
888
833
  } else if (storageResources[eachStorageResourceTag].storageType == consts.STORAGE_TYPES.graph) {
889
- let checkGraphServerTags = await serviceConfig.getGraphServiceTag(
834
+ let checkGraphServerTags = await serviceConfig.getGraphServiceTagWithCache(
890
835
  _izContext,
891
836
  storageResources[eachStorageResourceTag].graphServerTag
892
837
  );
@@ -910,7 +855,6 @@ async function createDataDetailsLib(
910
855
  }; // end loop storageResourceTags
911
856
 
912
857
  }; // end loop
913
- _izContext.logger.debug("_______All createDataDetails_____", createDataDetails);
914
858
  return createDataDetails;
915
859
  };
916
860
 
@@ -961,7 +905,7 @@ async function createDeleteDataDetail(_izContext, objectSchema) {
961
905
  }
962
906
 
963
907
  function createFieldForUpdateDynamoDb(_izContext, objectSchema, dynamoDataDetail, fields) {
964
- console.log("createFieldForUpdateDynamoDb", {
908
+ _izContext.logger.debug("createFieldForUpdateDynamoDb", {
965
909
  objectSchema,
966
910
  dynamoDataDetail,
967
911
  fields
@@ -974,14 +918,12 @@ function createFieldForUpdateDynamoDb(_izContext, objectSchema, dynamoDataDetail
974
918
  if (dynamoDataDetail.fieldNames.includes(fieldName)) {
975
919
  if (fields[fieldName]) {
976
920
  if (!fieldsForUpdateDynamo.hasOwnProperty(fields[fieldName])) {
977
- console.log(fields[fieldName])
921
+ _izContext.logger.debug("assign new fieldName", (fields[fieldName]))
978
922
  Object.assign(fieldsForUpdateDynamo, {
979
923
  [fieldName]: fields[fieldName]
980
924
  }
981
925
  )
982
926
  }
983
- } else {
984
- fieldsForUpdateDynamo = {}
985
927
  }
986
928
  }
987
929
  }
@@ -19,6 +19,8 @@ along with this program.If not, see < http://www.gnu.org/licenses/>.
19
19
 
20
20
 
21
21
  const fs = require('fs');
22
+ const path = require('path');
23
+ const { firstLetterUpperCase: upperCase } = require('../../MainLibs/src/Utils');
22
24
  // const { unlink, readdir } = require('node:fs/promises');
23
25
 
24
26
 
@@ -47,9 +49,46 @@ function deleteFile(filePath) {
47
49
  }
48
50
  }
49
51
 
52
+
53
+ async function createHookFunction(_izContext, sourcePath, setting = { fileExtension, isAppend, saveFileName, destinationPath }) {
54
+ _izContext.logger.debug("createHookFunction", { sourcePath, setting });
55
+
56
+ let absSourcePath = path.resolve("src/schemas/flowSchema", sourcePath);
57
+ let absDestinationPath = path.resolve(setting.destinationPath, upperCase(setting.saveFileName) + (setting?.fileExtension || ".js"));
58
+
59
+ _izContext.logger.debug("Source:", absSourcePath);
60
+ _izContext.logger.debug("Destination:", absDestinationPath);
61
+
62
+ if (!fs.existsSync(absSourcePath)) {
63
+ _izContext.logger.debug("Source file does not exist:");
64
+ return;
65
+ }
66
+
67
+ const destDir = path.dirname(absDestinationPath);
68
+ if (!fs.existsSync(destDir)) {
69
+ _izContext.logger.debug("Destination directory missing. Creating...");
70
+ fs.mkdirSync(destDir, { recursive: true });
71
+ }
72
+
73
+ try {
74
+ await fs.promises.copyFile(absSourcePath, absDestinationPath);
75
+ _izContext.logger.debug("File copied successfully!");
76
+
77
+ if (fs.existsSync(absDestinationPath)) {
78
+ _izContext.logger.debug("File exists after copying:", absDestinationPath);
79
+ } else {
80
+ _izContext.logger.debug("File still missing after copying: ", absDestinationPath);
81
+ }
82
+ } catch (err) {
83
+ _izContext.logger.debug("Error copying file:", err);
84
+ }
85
+ }
86
+
87
+
50
88
  module.exports = {
51
89
  deleteFileInDir,
52
- deleteFile
90
+ deleteFile,
91
+ createHookFunction
53
92
  }
54
93
 
55
94
 
@@ -28,6 +28,8 @@ const { createIamRole, resourceNames, RESOURCE_CLASSES, DEFAULT_LAMBDA_ROLE_PER_
28
28
  const serviceSchemas = require('@izara_project/izara-core-library-service-schemas');
29
29
  const serviceConfig = serviceSchemas.serviceConfig;
30
30
 
31
+ const { SOURCE_GENERATE_IAM_ROLE } = require("../../libs/Consts")
32
+
31
33
  function defaultIamRolePerAction() {
32
34
 
33
35
  let defaultIamRole = [];
@@ -166,7 +168,8 @@ async function data(_izContext, objectSchemas, srcPath) {
166
168
  resourceLocation: SOURCE_PATH.resourceLocationFindData,
167
169
  handlerType: HANDLER.hdrSqs,
168
170
  additionalResourcePermission,
169
- functionNameConfig: upperCase(functionName) + upperCase(shortNameHandler(HANDLER.hdrSqs))
171
+ functionNameConfig: upperCase(functionName) + upperCase(shortNameHandler(HANDLER.hdrSqs)),
172
+ roleName: SOURCE_GENERATE_IAM_ROLE.ProcessFindDataRole
170
173
  },
171
174
  setting: {
172
175
  savePath: path.join(srcPath, SOURCE_PATH.appYaml),
@@ -6,20 +6,7 @@
6
6
  - sqs:
7
7
  arn: arn:aws:sqs:${self:custom.iz_region}:${self:custom.iz_accountId}:${self:custom.iz_resourcePrefix}<%- functionName %><%- firstLetterUpperCase(handlerType) %>
8
8
  batchSize: 10
9
- iamRoleStatements:
10
- <%_ additionalResourcePermission.forEach(resourcePermission => { _%>
11
- - Effect: <%- resourcePermission.effect %>
12
- Action:
13
- <%_ Object.keys(resourcePermission.action).forEach(resourcePerAction => { _%>
14
- <%_ resourcePermission.action[resourcePerAction].forEach(permission => { _%>
15
- - <%- resourcePerAction %>:<%- permission %>
16
- <%_ }) _%>
17
- <%_ }) _%>
18
- Resource:
19
- <%_ resourcePermission.resource.forEach(resource => { _%>
20
- - "<%- resource %>"
21
- <%_ }) _%>
22
- <%_}) _%>
9
+ role: <%- roleName %>Role
23
10
  #<#<%- functionName %><%- handlerType %>IamRole#>
24
11
  #<#/<%- functionName %><%- handlerType %>IamRole#>
25
12
  <%_ function firstLetterUpperCase(text){
@@ -31,8 +31,10 @@ const {
31
31
  getGraphServiceNameFromGraphServerTagWithCache
32
32
  } = require('@izara_project/izara-core-library-service-schemas/src/ServiceConfig');
33
33
 
34
+ const { SOURCE_PATH } = require('./libs/Consts')
35
+
34
36
  const { createSource } = require("../../SourceManager/src/CreateSource");
35
- const { deleteFileInDir } = require("../../SourceManager/src/Utils");
37
+ const { deleteFileInDir, createHookFunction } = require("../../SourceManager/src/Utils");
36
38
  // create Get handler per ObjectType
37
39
  const perActionGetHdrInvData = require("./PerActionEndpoint/Handler/HdrInv/data");
38
40
  const perActionGetHdrApiData = require("./PerActionEndpoint/Handler/HdrApi/data");
@@ -51,6 +53,7 @@ const functionYamlDataHdrApi = require('./PerActionEndpoint/FunctionYaml/HdrApi/
51
53
  const functionYamlDataHdrSqs = require('./PerActionEndpoint/FunctionYaml/HdrSqs/data');
52
54
  const functionYamlDataHdrDsq = require('./PerActionEndpoint/FunctionYaml/HdrDsq/data');
53
55
 
56
+ const createGenerateCodeLibs = require('./PerActionEndpoint/libs/data');
54
57
  // out updateNode Complete
55
58
  const functionYamlOutUpdateComplete = require('./OutPerActionComplete/OutUpdateComplete/functionYaml/data');
56
59
  const outUpdateCompleteHandler = require('./OutPerActionComplete/OutUpdateComplete/handler/data');
@@ -177,26 +180,53 @@ const createProcessLogicalPaginateMainFunction = require('./ProcessLogicalPagina
177
180
  const createProcessLogicalPaginateFunctionYamlHdrDsq = require('./ProcessLogicalPagination/FunctionYaml/HdrDsq/data')
178
181
  const createProcessLogicalPaginateFunctionYamlHdrSqs = require('./ProcessLogicalPagination/FunctionYaml/HdrSqs/data')
179
182
 
180
- // getNode complete
181
- // const createGetNodeCompleteFunctionYaml = require('./OutPerActionComplete/OutGetComplete/functionYaml/data');
182
- // const createGetNodeCompleteHandler = require('./OutPerActionComplete/OutGetComplete/handler/data');
183
- // const createGetNodeCompleteMainFunction = require('./OutPerActionComplete/OutGetComplete/mainFunction/data');
184
- // const createGetNodeSnsInSqs = require('./OutPerActionComplete/OutGetComplete/sqs-in-sns/data');
183
+ // OutGetNodeComplete Topic
185
184
  const createGetNodeSnsOut = require('./OutPerActionComplete/OutGetComplete/sns-out/data');
186
-
187
- const createWebSocketDynamoDb = require('./flowTag/resources/dynamoDb/data');
188
- const createWebSocketConnectYaml = require('./flowTag/webSocket/webSocketConnect/functionYaml/data');
189
- const createWebSocketConnectHandler = require('./flowTag/webSocket/webSocketConnect/handler/data');
190
- const createWebSocketHandlerYaml = require('./flowTag/webSocket/websocketHandler/functionYaml/data');
191
- const createWebSocketHandler = require('./flowTag/webSocket/websocketHandler/handler/data');
192
- const createWebSocketMainFunction = require('./flowTag/webSocket/websocketHandler/mainFunction/data');
193
- const createWebSocketCompleteFunctionYaml = require('./flowTag/webSocket/webSocketComplete/functionYaml/data');
194
- const createWebSocketCompleteSqs = require('./flowTag/webSocket/webSocketComplete/sns-sqs/data');
195
- const createWebSocketCompleteHandler = require('./flowTag/webSocket/webSocketComplete/handler/data');
196
- const createWebSocketCompleteMainFunction = require('./flowTag/webSocket/webSocketComplete/mainFunction/data')
197
-
185
+ // webSocket uploadData
186
+ const createWebSocketDynamoDb = require('./flowSchema/DefaultWebSocketResource/dynamoDb/WebSocketTaskData');
187
+ const createReservecDataMainTable = require('./flowSchema/DefaultWebSocketResource/dynamoDb/ReservedTableData');
188
+
189
+ const createFunctionYamlCreateObjectWebSocket = require('./flowSchema/UploadS3Case/createObject/functionYaml/data');
190
+ const createHandlerCreateObjectWebSocket = require('./flowSchema/UploadS3Case/createObject/handler/data');
191
+ const createMainFunctionCreateObjectWebSocket = require('./flowSchema/UploadS3Case/createObject/mainFunction/data');
192
+ const createWebSocketCreateObjectCompleteFunctionYaml = require('./flowSchema/UploadS3Case/createObjectComplete/functionYaml/data');
193
+ const createWebSocketCreateObjectCompleteQueue = require('./flowSchema/UploadS3Case/createObjectComplete/sns-sqs/data');
194
+ const createWebSocketCreateObjectCompleteHandler = require('./flowSchema/UploadS3Case/createObjectComplete/handler/data');
195
+ const createWebSocketCreateObjectCompleteMainFunction = require('./flowSchema/UploadS3Case/createObjectComplete/mainFunction/data');
196
+ const createWebSocketGenerateCodeLibs = require('./flowSchema/UploadS3Case/relate/libs/data')
197
+
198
+ const createGetPresignUrlFunctionYaml = require('./flowSchema/UploadS3Case/createPresignUrl/getsignUrlsAcc/functionYaml/data');
199
+ const createGetPresignUrlHandler = require('./flowSchema/UploadS3Case/createPresignUrl/getsignUrlsAcc/handler/data');
200
+ const createGetPresignUrlMainFunction = require('./flowSchema/UploadS3Case/createPresignUrl/getsignUrlsAcc/mainFunction/data');
201
+ const createGetPresignUrlQueueName = require('./flowSchema/UploadS3Case/createPresignUrl/getsignUrlsAcc/sqs/data')
202
+
203
+ const createReservedLimitFunctionYaml = require('./flowSchema/UploadS3Case/createPresignUrl/reservedLimitComplete/functionYaml/data');
204
+ const createReservedLimitHandler = require('./flowSchema/UploadS3Case/createPresignUrl/reservedLimitComplete/handler/data');
205
+ const createReservedLimitMainFunction = require('./flowSchema/UploadS3Case/createPresignUrl/reservedLimitComplete/mainFunction/data');
206
+ const createReservedLimitQueueName = require('./flowSchema/UploadS3Case/createPresignUrl/reservedLimitComplete/queue/data');
207
+
208
+ const createBucketS3 = require('./flowSchema/UploadS3Case/relate/S3/data')
209
+ const createProcessAfterUploadS3FunctionYmlS3 = require('./flowSchema/UploadS3Case/processFileS3AfterUpload/functionYml/HdrS3/data');
210
+ const createProcessAfterUploadS3Queue = require('./flowSchema/UploadS3Case/processFileS3AfterUpload/queue/data');
211
+ const createProcessAfterUploadS3HandlerS3 = require('./flowSchema/UploadS3Case/processFileS3AfterUpload/handler/handlerS3/data');
212
+ const createProcessAfterUploadS3MainFunction = require('./flowSchema/UploadS3Case/processFileS3AfterUpload/mainFunction/data');
213
+
214
+ const createConfirmAfterUploadS3FunctionYaml = require('./flowSchema/UploadS3Case/confirmReservedAfterUpload/functionYaml/data');
215
+ const createConfirmAfterUploadS3Handler = require('./flowSchema/UploadS3Case/confirmReservedAfterUpload/handler/data');
216
+ const createConfirmAfterUploadS3MainFunction = require('./flowSchema/UploadS3Case/confirmReservedAfterUpload/mainFunction/data');
217
+ const createConfirmAfterUploadS3Queue = require('./flowSchema/UploadS3Case/confirmReservedAfterUpload/queue/data');
218
+
219
+ // const createHookFunctionFunctionYaml = require('./flowSchema/UploadS3Case/hookCode(old)/functionYaml/data');
220
+ // const createHookFunctionMainFunction = require('./flowSchema/UploadS3Case/hookCode(old)/mainFunction/data');
221
+ // const createHookFunctionHandler = require('./flowSchema/UploadS3Case/hookCode(old)/handler/data');
222
+ // const createHookFunctionQueue = require('./flowSchema/UploadS3Case/hookCode(old)/queue/data');
223
+
224
+ // const createHookFunction = require('./flowSchema/UploadS3Case/hookCode(old)/hookLogic/data');
198
225
  //get functionNameConfig
199
226
  const functionNameConfigYamldata = require('./externalService/FunctionNameConfig/data');
227
+ // create shared resource
228
+ const { createSharedResource } = require('./Role/createSharedResource');
229
+
200
230
 
201
231
  //lib of generateCode
202
232
  const { checkValidTableYaml,
@@ -225,14 +255,13 @@ async function generateCodeWithTemplate(_izContext, objSchemaPath) {
225
255
 
226
256
  // define path for store yml file
227
257
  const GENERATECODE_SOURCE_PATH = {
228
- appYaml: join(saveFilePath, `../sls_yaml/generatedCode/source/`),
229
- resourceYaml: join(saveFilePath, `../../resource/sls_yaml/generatedCode/source/`),
230
- lambdaPerAction: join(saveFilePath, '../src/generatedCode/ObjectTypePerActionEndpoint/source/'),
231
- externalService: join(saveFilePath, '../initial_setup/generatedCode/source/'),
232
- resourceLocation: join(saveFilePath, 'src/generatedCode/perAction/source/'),
233
- lamdaPerCombindActionPath: join(saveFilePath, `/generatedCode/lamdaPerCombindAction/source/`), // test
234
- lambdaPerObjectTypePath: join(saveFilePath, `/generatedCode/lambdaPerObjectType/source/`), // test
235
- updateRelationship: join(saveFilePath, `../src/generatedCode/RelationshipPerAction/source/`),
258
+ appYaml: join(saveFilePath, SOURCE_PATH.appYaml),
259
+ resourceYaml: join(saveFilePath, SOURCE_PATH.resourceYaml),
260
+ lambdaPerAction: join(saveFilePath, SOURCE_PATH.lambdaPerAction),
261
+ externalService: join(saveFilePath, SOURCE_PATH.externalService),
262
+ relationshipPerAction: join(saveFilePath, SOURCE_PATH.relationshipPerAction),
263
+ webSocketEndpoint: join(saveFilePath, SOURCE_PATH.webSocket),
264
+ generateCodeLib: join(saveFilePath, SOURCE_PATH.generateCodeLib)
236
265
  };
237
266
 
238
267
  let createSourceParams = [];
@@ -252,30 +281,102 @@ async function generateCodeWithTemplate(_izContext, objSchemaPath) {
252
281
  // _izContext.logger.debug("allObjectRelationships::", allObjectRelationships);
253
282
 
254
283
  const allLocalFlowSchemas = await getAllLocalFlowSchemas(_izContext, objSchemaPath);
255
- // _izContext.logger.debug("allLocalFlowSchemas::", allLocalFlowSchemas)
256
- for (const flowSchema of allLocalFlowSchemas.records) {
284
+ // console.log("allLocalFlowSchemas::", allLocalFlowSchemas)
257
285
 
258
- }
286
+ // default webSocket setting
259
287
  const webSocketTaskTable = createWebSocketDynamoDb(_izContext, saveFilePath);
260
- const webSocketConnectYaml = createWebSocketConnectYaml(_izContext, saveFilePath);
261
- const webSocketConnectHandler = createWebSocketConnectHandler(_izContext, saveFilePath);
262
- const webSocketHandlerYaml = createWebSocketHandlerYaml(_izContext, saveFilePath);
263
- const webSocketHandler = createWebSocketHandler(_izContext, saveFilePath);
264
- const webSocketMainFunction = createWebSocketMainFunction(_izContext, saveFilePath);
265
- const webSocketCompleteFunctionYaml = createWebSocketCompleteFunctionYaml(_izContext, saveFilePath);
266
- const webSocketCompleteQueue = createWebSocketCompleteSqs(_izContext, saveFilePath);
267
- const webSocketCompleteHandler = createWebSocketCompleteHandler(_izContext, saveFilePath);
268
- const webSocketCompleteMainFunction = createWebSocketCompleteMainFunction(_izContext, saveFilePath);
269
- // const webSocketHandler
270
-
271
- const webSocketResource = [...webSocketTaskTable, ...webSocketConnectYaml, ...webSocketConnectHandler, ...webSocketHandler, ...webSocketHandlerYaml,
272
- ...webSocketMainFunction, ...webSocketCompleteQueue, ...webSocketCompleteFunctionYaml, ...webSocketCompleteHandler, ...webSocketCompleteMainFunction]
288
+ // const webSocketConnectYaml = createWebSocketConnectYaml(_izContext, saveFilePath);
289
+ // const webSocketConnectHandler = createWebSocketConnectHandler(_izContext, saveFilePath);
290
+
291
+
292
+ const webSocketResource = [...webSocketTaskTable
293
+ // ...webSocketConnectYaml, ...webSocketConnectHandler,
294
+ ]
273
295
  if (allLocalFlowSchemas.records.length) {
274
296
  createSourceParams.push(
275
297
  ...webSocketResource
276
298
  )
277
299
  }
278
300
 
301
+ for (const flowSchema of allLocalFlowSchemas.records) {
302
+ // console.log("flowSchema::", flowSchema)
303
+ const reservedDataTable = createReservecDataMainTable(_izContext, saveFilePath);
304
+ const bucketS3 = createBucketS3(_izContext, flowSchema, saveFilePath)
305
+
306
+ const functionYamlCreateObjectWebSocket = createFunctionYamlCreateObjectWebSocket(_izContext, flowSchema, saveFilePath);
307
+ const handlerCreateObjectWebSocket = createHandlerCreateObjectWebSocket(_izContext, flowSchema, saveFilePath);
308
+ const mainFunctionCreateObjectWebSocket = await createMainFunctionCreateObjectWebSocket(_izContext, flowSchema, saveFilePath);
309
+ const webSocketCreateObjectCompleteFunctionYaml = createWebSocketCreateObjectCompleteFunctionYaml(_izContext, saveFilePath);
310
+ const webSocketCreateObjectCompleteQueue = createWebSocketCreateObjectCompleteQueue(_izContext, saveFilePath);
311
+ const webSocketCreateObjectCompleteMainFunction = createWebSocketCreateObjectCompleteMainFunction(_izContext, saveFilePath)
312
+ const webSocketCreateObjectCompleteHandler = createWebSocketCreateObjectCompleteHandler(_izContext, saveFilePath);
313
+
314
+ const webSoketFunction = [...functionYamlCreateObjectWebSocket, ...handlerCreateObjectWebSocket,
315
+ ...mainFunctionCreateObjectWebSocket, ...webSocketCreateObjectCompleteFunctionYaml,
316
+ ...webSocketCreateObjectCompleteQueue, ...webSocketCreateObjectCompleteMainFunction,
317
+ ...webSocketCreateObjectCompleteHandler]
318
+
319
+ // const webSocketCreateObjectStordCache = createWebSocketCreateObjectStoredCache(_izContext, saveFilePath);
320
+ const webSocketGenerateCodeLibs = createWebSocketGenerateCodeLibs(_izContext, saveFilePath)
321
+
322
+ const getPresignUrlFunctionYaml = createGetPresignUrlFunctionYaml(_izContext, saveFilePath);
323
+ const getPresignUrlHandler = createGetPresignUrlHandler(_izContext, saveFilePath);
324
+ const getPresignUrlMainFunction = createGetPresignUrlMainFunction(_izContext, saveFilePath);
325
+ const getPresignUrlQueue = createGetPresignUrlQueueName(_izContext, saveFilePath);
326
+
327
+ const getPresignUrlResource = [...getPresignUrlFunctionYaml, ...getPresignUrlHandler, ...getPresignUrlMainFunction, ...getPresignUrlQueue]
328
+
329
+ const reservedLimitCompleteFunctionYaml = createReservedLimitFunctionYaml(_izContext, saveFilePath);
330
+ const reservedLimitCompleteMainFunction = createReservedLimitMainFunction(_izContext, flowSchema, saveFilePath);
331
+ const reservedLimitCompleteHandler = createReservedLimitHandler(_izContext, saveFilePath);
332
+ const reservedLimitCompleteQueue = createReservedLimitQueueName(_izContext, saveFilePath);
333
+
334
+ const reservedLimitComplete = [...reservedLimitCompleteFunctionYaml, ...reservedLimitCompleteHandler, ...reservedLimitCompleteMainFunction, ...reservedLimitCompleteQueue]
335
+
336
+ const processAfterUploadFunctionYmlS3 = createProcessAfterUploadS3FunctionYmlS3(_izContext, flowSchema, saveFilePath);
337
+ // const processAfterUploadFunctionYamlHdrDsq = createProcessAfterUploadS3FunctionYmlDsq(_izContext, saveFilePath);
338
+ const processAfterUploadSqs = createProcessAfterUploadS3Queue(_izContext, saveFilePath);
339
+ const processAfterUploadHandlerS3 = createProcessAfterUploadS3HandlerS3(_izContext, saveFilePath);
340
+ // const processAfterUploadHandlerDsq = createProcessAfterUploadS3HandlerDsq(_izContext, saveFilePath);
341
+ const processAfterUploadMainFunction = createProcessAfterUploadS3MainFunction(_izContext, saveFilePath);
342
+
343
+ const processAfterUploadS3Resource = [...processAfterUploadFunctionYmlS3, ...processAfterUploadSqs,
344
+ ...processAfterUploadHandlerS3,
345
+ ...processAfterUploadMainFunction
346
+ //...processAfterUploadHandlerDsq, ...processAfterUploadFunctionYamlHdrDsq,
347
+ ]
348
+
349
+ const confirmReservedAfterUploadFunctionYaml = createConfirmAfterUploadS3FunctionYaml(_izContext, saveFilePath);
350
+ const confirmReservedAfterUploadHandler = createConfirmAfterUploadS3Handler(_izContext, saveFilePath);
351
+ const confirmReservedAfterUploadMainFunction = createConfirmAfterUploadS3MainFunction(_izContext, saveFilePath);
352
+ const confirmReservedAfterUploadQueue = createConfirmAfterUploadS3Queue(_izContext, saveFilePath);
353
+
354
+ const confirmAfterUploadS3Resource = [...confirmReservedAfterUploadFunctionYaml, ...confirmReservedAfterUploadHandler, ...confirmReservedAfterUploadMainFunction, ...confirmReservedAfterUploadQueue]
355
+ if (flowSchema.hasOwnProperty("uploadS3") && flowSchema.uploadS3 === true) {
356
+
357
+ const webSocketUploadS3Resource = [...webSoketFunction, ...webSocketGenerateCodeLibs, ...reservedDataTable]
358
+ createSourceParams.push(...webSocketUploadS3Resource, ...getPresignUrlResource, ...reservedLimitComplete, ...bucketS3, ...processAfterUploadS3Resource, ...confirmAfterUploadS3Resource)
359
+ }
360
+
361
+
362
+
363
+ if (flowSchema.hasOwnProperty("initializeRequest") && flowSchema.hasOwnProperty("response")) {
364
+ const webSocketEndpointResource = []
365
+ createSourceParams.push(...webSocketEndpointResource)
366
+ }
367
+
368
+ // const hookFunctionFunctionYaml = createHookFunctionFunctionYaml(_izContext, flowSchema, saveFilePath);
369
+ // const hookFunctionMainFunction = createHookFunctionMainFunction(_izContext, flowSchema, saveFilePath);
370
+ // const hookFunctionHandler = createHookFunctionHandler(_izContext, flowSchema, saveFilePath);
371
+ // const hookFunctionQueue = createHookFunctionQueue(_izContext, flowSchema, saveFilePath);
372
+
373
+ // const createHookResource = [...hookFunctionFunctionYaml, ...hookFunctionMainFunction, ...hookFunctionHandler, ...hookFunctionQueue];
374
+
375
+ // createSourceParams.push(...createHookResource)
376
+
377
+ }
378
+
379
+
279
380
 
280
381
  /*
281
382
  Should we generateCode with objectSchema that not in hierarchy or not?
@@ -297,8 +398,8 @@ async function generateCodeWithTemplate(_izContext, objSchemaPath) {
297
398
 
298
399
 
299
400
  // create External service
300
- const createFunctionIamRole = await createExternalLambdaRole(_izContext, allObjSchemas.records, allObjectRelationships, saveFilePath);
301
- const createSnsSubscription = await createExternalSnsSubscriptions(_izContext, allObjSchemas.records, allObjectRelationships, saveFilePath);
401
+ const createFunctionIamRole = await createExternalLambdaRole(_izContext, allObjSchemas.records, allObjectRelationships, allLocalFlowSchemas.records, saveFilePath);
402
+ const createSnsSubscription = await createExternalSnsSubscriptions(_izContext, allObjSchemas.records, allObjectRelationships, allLocalFlowSchemas.records, saveFilePath);
302
403
  for (let objectSchema of allObjSchemas.records) {
303
404
 
304
405
  // generate handler perAction
@@ -508,8 +609,8 @@ async function generateCodeWithTemplate(_izContext, objSchemaPath) {
508
609
  // const getNodeCompleteMainFunction = createGetNodeCompleteMainFunction(_izContext, saveFilePath);
509
610
  // const getNodeCompleteSnsInSqs = createGetNodeSnsInSqs(_izContext, saveFilePath);
510
611
  const getNodeCompleteSnsOut = createGetNodeSnsOut(_izContext, saveFilePath);
511
-
512
- const getNodeCompleteResource = [...getNodeCompleteSnsOut]
612
+ const generateCodeLib = createGenerateCodeLibs(_izContext, saveFilePath);
613
+ const getNodeCompleteResource = [...getNodeCompleteSnsOut, ...generateCodeLib]
513
614
  createSourceParams.push(...createMainResourceDefault,
514
615
  createSnsSubscription,
515
616
  createFunctionIamRole,
@@ -534,11 +635,16 @@ async function generateCodeWithTemplate(_izContext, objSchemaPath) {
534
635
  const createFunctionNameConfig = functionNameConfigYamldata(_izContext, createSourceParams, saveFilePath);
535
636
  createSourceParams = createSourceParams.concat(...createFunctionNameConfig);
536
637
 
638
+ const createSharedResourceIamRole = createSharedResource(_izContext, createSourceParams, saveFilePath);
639
+ createSourceParams.push(createSharedResourceIamRole)
537
640
  // delete file .yml before start to prevent confilct of data
538
641
  for (let folderPathToEmpty of Object.keys(GENERATECODE_SOURCE_PATH)) {
539
642
  await deleteFileInDir(GENERATECODE_SOURCE_PATH[folderPathToEmpty]);
540
643
  }
541
644
 
645
+ // for (const flowSchema of allLocalFlowSchemas.records) {
646
+ // await createHookFunction(_izContext, flowSchema, saveFilePath);
647
+ // }
542
648
  // console.log(""createSourceParams": ", createSourceParams)
543
649
  // start create source
544
650
  for (let { templatePath, templateData, setting } of createSourceParams) {
@@ -22,7 +22,26 @@ 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, getGraphServiceNameFromAllRelSchema, FUNCTION_NAME, SAVE_FILE_NAME, getGraphServiceNameFromObjectSchema, defaultIamRolePerAction, SQS_RESOURCE, SNS_RESOURCE, DYNAMO_RESOURCE, awaitingMultipleStepsRole, SHORT_FUNCTION_NAME } = require("../../../libs/Consts");
25
+ const {
26
+ DEFAULT_HANDLER_PER_ACTION,
27
+ createIamRole,
28
+ resourceNames,
29
+ RESOURCE_CLASSES,
30
+ DEFAULT_LAMBDA_ROLE_PER_ACTION,
31
+ SOURCE_PATH,
32
+ externalResourceName,
33
+ getGraphServiceNameFromAllRelSchema,
34
+ FUNCTION_NAME,
35
+ SAVE_FILE_NAME,
36
+ getGraphServiceNameFromObjectSchema,
37
+ defaultIamRolePerAction,
38
+ SQS_RESOURCE,
39
+ SNS_RESOURCE,
40
+ DYNAMO_RESOURCE,
41
+ awaitingMultipleStepsRole,
42
+ SHORT_FUNCTION_NAME,
43
+ SOURCE_GENERATE_IAM_ROLE
44
+ } = require("../../../libs/Consts");
26
45
 
27
46
  const templatePath = path.join(__dirname, './template.ejs');
28
47
 
@@ -49,7 +68,7 @@ function createFunctionYamlOutUpdateComplete(_izContext, srcPath) {
49
68
  ],
50
69
  [RESOURCE_CLASSES.sns]: [
51
70
  SNS_RESOURCE.publish,
52
- SNS_RESOURCE.subscription
71
+ SNS_RESOURCE.subscribe
53
72
  ]
54
73
  },
55
74
  [
@@ -71,7 +90,8 @@ function createFunctionYamlOutUpdateComplete(_izContext, srcPath) {
71
90
  handlerType,
72
91
  additionalResourcePermission,
73
92
  resourceLocation: SOURCE_PATH.resourceLocationOutPerActionComplete,
74
- functionNameConfig
93
+ functionNameConfig,
94
+ roleName: SOURCE_GENERATE_IAM_ROLE.ObjectCompleteRole
75
95
  },
76
96
  setting: {
77
97
  savePath: path.join(srcPath, SOURCE_PATH.appYaml),
@@ -9,20 +9,7 @@
9
9
  filterPatterns: #**** need to update serverless framwork upper v.2.69.1
10
10
  - body: {"MessageAttributes":{"callingFlow":{"Value":["${self:custom.iz_resourcePrefix}<%-firstLetterUpperCase(functionName) %>"]}}} # functionName of callingFlow
11
11
  - body: {"MessageAttributes":{"callingFlow":{"Value":[{"exists":false}]}}}
12
- iamRoleStatements:
13
- <%_ additionalResourcePermission.forEach(resourcePermission => { _%>
14
- - Effect: <%- resourcePermission.effect %>
15
- Action:
16
- <%_ Object.keys(resourcePermission.action).forEach(resourcePerAction => { _%>
17
- <%_ resourcePermission.action[resourcePerAction].forEach(permission => { _%>
18
- - <%- resourcePerAction %>:<%- permission %>
19
- <%_}) _%>
20
- <%_ }) _%>
21
- Resource:
22
- <%_ resourcePermission.resource.forEach(resource => { _%>
23
- - <%- resource %>
24
- <%_ }) _%>
25
- <%_}) _%>
12
+ role: <%- roleName %>Role
26
13
  #<#<%- functionName %><%- handlerType %>IamRole#>
27
14
  #<#/<%- functionName %><%- handlerType %>IamRole#>
28
15
  <%_ function firstLetterUpperCase(text){