@izara_project/izara-core-generate-service-code 1.0.2 → 1.0.4

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 (393) hide show
  1. package/index.js +0 -2
  2. package/package.json +3 -3
  3. package/src/GenerateCode.js +5 -4
  4. package/src/GenerateResources.js +4 -3
  5. package/src/GenerateTests.js +6 -7
  6. package/src/TemplateConfig.js +18 -18
  7. package/src/TemplateData/EndpointPerService/generateTemplateData.js +1 -1
  8. package/src/TemplateData/EndpointPerService/mainFunction/create/template.ejs +37 -39
  9. package/src/TemplateData/EndpointPerService/mainFunction/delete/template.ejs +7 -12
  10. package/src/TemplateData/EndpointPerService/mainFunction/get/template.ejs +7 -10
  11. package/src/TemplateData/EndpointPerService/mainFunction/update/template.ejs +24 -31
  12. package/src/TemplateData/IntTest/generateResources/generateResources.js +4 -3
  13. package/src/TemplateData/IntTest/generateTests/events/data.js +3 -1
  14. package/src/TemplateData/IntTest/generateTests/generateTemplate.js +4 -2
  15. package/src/TemplateData/IntTest/generateTests/pathIntTest/data.js +2 -2
  16. package/src/TemplateData/IntTest/generateTests/tests/data.js +9 -8
  17. package/src/TemplateData/IntTest/libs/libs.js +4 -35
  18. package/src/TemplateData/IntTest/upload/uploadIntTest.js +4 -3
  19. package/src/TemplateData/externalService/lambdaRole/template.ejs +1 -3
  20. package/src/TemplateData/externalService/snsTopicSubscriptions/template.ejs +0 -2
  21. package/src/TemplateData/findData/findDataYaml/data.js +2 -1
  22. package/src/TemplateData/findData/mainFunction/data.js +1 -1
  23. package/src/TemplateData/flowSchema/CreateRecordComplete/functionYaml/data.js +9 -5
  24. package/src/TemplateData/flowSchema/CreateRecordComplete/handler/data.js +3 -3
  25. package/src/TemplateData/flowSchema/CreateRecordComplete/mainFunction/data.js +3 -3
  26. package/src/TemplateData/flowSchema/CreateRecordComplete/queue/data.js +3 -3
  27. package/src/TemplateData/flowSchema/components/upload/confirmReserved/functionYaml/data.js +11 -8
  28. package/src/TemplateData/flowSchema/components/upload/confirmReserved/handler/data.js +3 -3
  29. package/src/TemplateData/flowSchema/components/upload/confirmReserved/mainFunction/data.js +1 -1
  30. package/src/TemplateData/flowSchema/components/upload/confirmReserved/mainFunction/template.ejs +1 -1
  31. package/src/TemplateData/flowSchema/components/upload/confirmReserved/queue/data.js +3 -2
  32. package/src/TemplateData/flowSchema/components/upload/createObject/functionYaml/data.js +11 -7
  33. package/src/TemplateData/flowSchema/components/upload/createObject/handler/data.js +3 -3
  34. package/src/TemplateData/flowSchema/components/upload/createObject/mainFunction/data.js +4 -3
  35. package/src/TemplateData/flowSchema/components/upload/createObject/mainFunction/template.ejs +2 -2
  36. package/src/TemplateData/flowSchema/components/upload/createObjectComplete/functionYaml/data.js +9 -7
  37. package/src/TemplateData/flowSchema/components/upload/createObjectComplete/handler/data.js +3 -3
  38. package/src/TemplateData/flowSchema/components/upload/createObjectComplete/mainFunction/data.js +3 -3
  39. package/src/TemplateData/flowSchema/components/upload/createObjectComplete/sns-sqs/data.js +3 -3
  40. package/src/TemplateData/flowSchema/components/upload/preSignUrl/createPresignUrl/functionYaml/data.js +11 -7
  41. package/src/TemplateData/flowSchema/components/upload/preSignUrl/createPresignUrl/handler/data.js +3 -3
  42. package/src/TemplateData/flowSchema/components/upload/preSignUrl/createPresignUrl/mainFunction/data.js +3 -3
  43. package/src/TemplateData/flowSchema/components/upload/preSignUrl/createPresignUrl/mainFunction/template.ejs +2 -2
  44. package/src/TemplateData/flowSchema/components/upload/preSignUrl/createPresignUrl/queue/data.js +2 -4
  45. package/src/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/functionYaml/data.js +15 -9
  46. package/src/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/handler/data.js +3 -3
  47. package/src/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/mainFunction/data.js +2 -1
  48. package/src/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/mainFunction/template.ejs +1 -1
  49. package/src/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/sqs/data.js +3 -5
  50. package/src/TemplateData/flowSchema/components/upload/processFile/functionYml/HdrS3/data.js +10 -5
  51. package/src/TemplateData/flowSchema/components/upload/processFile/handler/handlerS3/data.js +2 -1
  52. package/src/TemplateData/flowSchema/components/upload/processFile/mainFunction/data.js +2 -1
  53. package/src/TemplateData/flowSchema/components/upload/processFile/mainFunction/template.ejs +0 -2
  54. package/src/TemplateData/flowSchema/components/upload/processFile/queue/data.js +1 -1
  55. package/src/TemplateData/flowSchema/components/upload/relate/S3/data.js +1 -1
  56. package/src/TemplateData/flowSchema/components/upload/relate/libs/data.js +1 -1
  57. package/src/TemplateData/flowSchema/components/upload/relate/sns-out/data.js +2 -1
  58. package/src/TemplateData/flowSchema/components/websocket/connect/functionYaml/data.js +9 -4
  59. package/src/TemplateData/flowSchema/components/websocket/connect/handler/data.js +1 -1
  60. package/src/TemplateData/flowSchema/components/websocket/dynamoDb/ReservedTableData.js +1 -2
  61. package/src/TemplateData/flowSchema/components/websocket/dynamoDb/WebSocketTaskData.js +1 -1
  62. package/src/TemplateData/flowSchema/components/websocket/dynamoDb/userUploadRecords.js +1 -1
  63. package/src/TemplateData/flowSchema/dynamoDb/data.js +2 -1
  64. package/src/TemplateData/flowSchema/eventBridge/functionYaml/data.js +9 -4
  65. package/src/TemplateData/flowSchema/eventBridge/handler/inv/data.js +2 -1
  66. package/src/TemplateData/flowSchema/eventBridge/mainFunction/data.js +2 -1
  67. package/src/TemplateData/flowSchema/externalTopic/Complete/functionYaml/data.js +9 -6
  68. package/src/TemplateData/flowSchema/externalTopic/Complete/handler/data.js +2 -19
  69. package/src/TemplateData/flowSchema/externalTopic/Complete/mainFunction/data.js +3 -1
  70. package/src/TemplateData/flowSchema/externalTopic/Process/functionYaml/data.js +12 -5
  71. package/src/TemplateData/flowSchema/externalTopic/Process/handler/data.js +4 -1
  72. package/src/TemplateData/flowSchema/externalTopic/sns-in-sqs/data.js +3 -1
  73. package/src/TemplateData/flowSchema/externalTopic/sns-out/data.js +5 -6
  74. package/src/TemplateData/flowSchema/flowSchemaMainFunction/data.js +5 -9
  75. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComplete/functionYaml/data.js +10 -5
  76. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComplete/handler/data.js +3 -3
  77. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComplete/mainFunction/data.js +3 -3
  78. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComponent/functionYaml/data.js +65 -58
  79. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComponent/functionYaml/template.ejs +0 -4
  80. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComponent/handler/DsqHandlerTemplate.ejs +91 -0
  81. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComponent/handler/data.js +31 -16
  82. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/FlowSchemaComponent/functionYaml/data.js +10 -5
  83. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/FlowSchemaComponent/handler/data.js +4 -3
  84. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/FlowSchemaComponent/handler/template.ejs +5 -6
  85. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/FlowSchemaComponent/mainFunction/data.js +3 -1
  86. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/FlowSchemaComponent/mainFunction/template.ejs +3 -3
  87. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/sns-in/data.js +3 -3
  88. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/sns-out/data.js +3 -3
  89. package/src/TemplateData/flowSchema/flowStep/functionYaml/data.js +13 -8
  90. package/src/TemplateData/flowSchema/flowStep/handler/data.js +3 -3
  91. package/src/TemplateData/flowSchema/flowStep/mainFunction/data.js +2 -1
  92. package/src/TemplateData/flowSchema/flowStep/sns-in/data.js +3 -3
  93. package/src/TemplateData/flowSchema/generateTemplateData.js +1 -6
  94. package/src/TemplateData/flowSchema/lambdaSync/Api/functionYaml/data.js +10 -3
  95. package/src/TemplateData/flowSchema/lambdaSync/Api/handler/data.js +3 -1
  96. package/src/TemplateData/flowSchema/lambdaSync/Inv/functionYaml/data.js +9 -3
  97. package/src/TemplateData/flowSchema/lambdaSync/Inv/handler/data.js +2 -1
  98. package/src/TemplateData/flowSchema/register/complete/functionYaml/data.js +11 -5
  99. package/src/TemplateData/flowSchema/register/complete/handler/data.js +2 -1
  100. package/src/TemplateData/flowSchema/register/complete/mainFunction/data.js +2 -1
  101. package/src/TemplateData/flowSchema/register/dynamoDB/register.js +2 -4
  102. package/src/TemplateData/flowSchema/register/sns-in/data.js +3 -4
  103. package/src/TemplateData/flowSchema/register/subscriptionOutAll/data.js +3 -3
  104. package/src/TemplateData/flowSchema/register/wbs/functionYaml/data.js +10 -5
  105. package/src/TemplateData/flowSchema/register/wbs/handler/data.js +2 -1
  106. package/src/TemplateData/flowSchema/register/wbs/mainFunction/data.js +2 -1
  107. package/src/TemplateData/flowSchema/statusFieldComponent/FunctionYaml/data.js +14 -6
  108. package/src/TemplateData/flowSchema/statusFieldComponent/Handler/data.js +4 -7
  109. package/src/TemplateData/flowSchema/statusFieldComponent/MainFunction/data.js +4 -3
  110. package/src/TemplateData/flowSchema/statusFieldComponent/sns/data.js +3 -3
  111. package/src/TemplateData/flowSchema/triggerCacheComponent/checkTriggerCacheComplete/functionYaml/data.js +12 -8
  112. package/src/TemplateData/flowSchema/triggerCacheComponent/checkTriggerCacheComplete/handler/data.js +3 -3
  113. package/src/TemplateData/flowSchema/triggerCacheComponent/checkTriggerCacheComplete/mainFunction/data.js +3 -3
  114. package/src/TemplateData/flowSchema/triggerCacheComponent/processTriggerCache/functionYaml/data.js +12 -6
  115. package/src/TemplateData/flowSchema/triggerCacheComponent/processTriggerCache/handler/data.js +2 -1
  116. package/src/TemplateData/flowSchema/triggerCacheComponent/processTriggerCache/mainFunction/data.js +2 -1
  117. package/src/TemplateData/flowSchema/triggerCacheComponent/triggerCacheComplete/functionYaml/data.js +11 -8
  118. package/src/TemplateData/flowSchema/triggerCacheComponent/triggerCacheComplete/handler/data.js +2 -1
  119. package/src/TemplateData/flowSchema/triggerCacheComponent/triggerCacheComplete/mainFunction/data.js +3 -3
  120. package/src/TemplateData/flowSchema/triggerCacheComponent/triggerCacheComplete/mainFunction/template.ejs +10 -4
  121. package/src/TemplateData/flowSchema/triggerCacheComponent/triggerCacheQueue/data.js +4 -11
  122. package/src/TemplateData/flowSchema/webSocketComplete/functionYaml/data.js +11 -8
  123. package/src/TemplateData/flowSchema/webSocketComplete/handler/data.js +2 -1
  124. package/src/TemplateData/flowSchema/webSocketComplete/mainFunction/data.js +1 -1
  125. package/src/TemplateData/flowSchema/webSocketComplete/sqs/data.js +3 -3
  126. package/src/TemplateData/generateRole/data.js +7 -2
  127. package/src/TemplateData/perActionComplete/create/handler/data.js +3 -3
  128. package/src/TemplateData/perActionComplete/create/mainFunction/data.js +3 -3
  129. package/src/TemplateData/perActionComplete/create/mainFunction/template.ejs +2 -2
  130. package/src/TemplateData/perActionComplete/create/sns-in-sqs/data.js +3 -3
  131. package/src/TemplateData/perActionComplete/create/sns-out/data.js +3 -3
  132. package/src/TemplateData/perActionComplete/create/yaml/data.js +11 -7
  133. package/src/TemplateData/perActionComplete/delete/handler/data.js +3 -3
  134. package/src/TemplateData/perActionComplete/delete/mainFunction/data.js +4 -3
  135. package/src/TemplateData/perActionComplete/delete/mainFunction/template.ejs +3 -4
  136. package/src/TemplateData/perActionComplete/delete/sns-in-sqs/data.js +4 -3
  137. package/src/TemplateData/perActionComplete/delete/sns-out/data.js +3 -3
  138. package/src/TemplateData/perActionComplete/delete/yaml/data.js +11 -7
  139. package/src/TemplateData/perActionComplete/get/handler/data.js +3 -3
  140. package/src/TemplateData/perActionComplete/get/mainFunction/data.js +3 -4
  141. package/src/TemplateData/perActionComplete/get/mainFunction/template.ejs +2 -2
  142. package/src/TemplateData/perActionComplete/get/sns-in-sqs/data.js +3 -3
  143. package/src/TemplateData/perActionComplete/get/sns-out/data.js +3 -3
  144. package/src/TemplateData/perActionComplete/get/yaml/data.js +12 -7
  145. package/src/TemplateData/perActionComplete/update/handler/data.js +3 -3
  146. package/src/TemplateData/perActionComplete/update/mainFunction/data.js +3 -3
  147. package/src/TemplateData/perActionComplete/update/mainFunction/template.ejs +2 -2
  148. package/src/TemplateData/perActionComplete/update/sns-in-sqs/data.js +3 -3
  149. package/src/TemplateData/perActionComplete/update/sns-out/data.js +4 -6
  150. package/src/TemplateData/perActionComplete/update/yaml/data.js +11 -7
  151. package/src/TemplateData/processLogical/handler/data.js +3 -3
  152. package/src/TemplateData/processLogical/mainFunction/data.js +2 -1
  153. package/src/TemplateData/processLogical/yaml/data.js +10 -7
  154. package/src/TemplateData/processLogicalPagination/DsqYaml/data.js +1 -1
  155. package/src/TemplateData/processLogicalPagination/handler/dsq/data.js +2 -1
  156. package/src/TemplateData/processLogicalPagination/handler/sqs/data.js +2 -1
  157. package/src/TemplateData/processLogicalPagination/mainFunction/data.js +2 -1
  158. package/src/TemplateData/processLogicalPagination/yaml/dsq/data.js +11 -7
  159. package/src/TemplateData/processLogicalPagination/yaml/sqs/data.js +9 -6
  160. package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/data.js +12 -7
  161. package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/data.js +3 -3
  162. package/src/TemplateData/relationshipPerAction/changeRelationship/action/mainFunction/data.js +3 -3
  163. package/src/TemplateData/relationshipPerAction/changeRelationship/action/mainFunction/template.ejs +2 -2
  164. package/src/TemplateData/relationshipPerAction/changeRelationship/action/sns-in-sqs/data.js +5 -3
  165. package/src/TemplateData/relationshipPerAction/changeRelationship/complete/functionYaml/data.js +11 -7
  166. package/src/TemplateData/relationshipPerAction/changeRelationship/complete/handler/sqs/data.js +3 -3
  167. package/src/TemplateData/relationshipPerAction/changeRelationship/complete/mainFunction/data.js +3 -3
  168. package/src/TemplateData/relationshipPerAction/changeRelationship/complete/mainFunction/template.ejs +12 -11
  169. package/src/TemplateData/relationshipPerAction/changeRelationship/complete/sns-in-sqs/data.js +3 -3
  170. package/src/TemplateData/relationshipPerAction/changeRelationship/complete/sns-out/data.js +2 -1
  171. package/src/TemplateData/relationshipPerAction/create/action/functionYaml/data.js +20 -15
  172. package/src/TemplateData/relationshipPerAction/create/action/handler/data.js +4 -3
  173. package/src/TemplateData/relationshipPerAction/create/action/mainFunction/data.js +4 -3
  174. package/src/TemplateData/relationshipPerAction/create/action/mainFunction/template.ejs +2 -2
  175. package/src/TemplateData/relationshipPerAction/create/action/sns-in-sqs/data.js +6 -4
  176. package/src/TemplateData/relationshipPerAction/create/complete/functionYaml/data.js +14 -10
  177. package/src/TemplateData/relationshipPerAction/create/complete/handler/sqs/data.js +3 -3
  178. package/src/TemplateData/relationshipPerAction/create/complete/mainFunction/data.js +3 -3
  179. package/src/TemplateData/relationshipPerAction/create/complete/mainFunction/template.ejs +3 -2
  180. package/src/TemplateData/relationshipPerAction/create/complete/sns-in-sqs/data.js +3 -3
  181. package/src/TemplateData/relationshipPerAction/create/complete/sns-out/data.js +3 -4
  182. package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/data.js +20 -15
  183. package/src/TemplateData/relationshipPerAction/delete/action/handler/data.js +4 -4
  184. package/src/TemplateData/relationshipPerAction/delete/action/mainFunction/data.js +4 -7
  185. package/src/TemplateData/relationshipPerAction/delete/action/mainFunction/template.ejs +2 -2
  186. package/src/TemplateData/relationshipPerAction/delete/action/sns-in-sqs/data.js +5 -3
  187. package/src/TemplateData/relationshipPerAction/delete/complete/functionYaml/data.js +11 -7
  188. package/src/TemplateData/relationshipPerAction/delete/complete/handler/sqs/data.js +2 -1
  189. package/src/TemplateData/relationshipPerAction/delete/complete/mainFunction/data.js +3 -3
  190. package/src/TemplateData/relationshipPerAction/delete/complete/mainFunction/template.ejs +4 -5
  191. package/src/TemplateData/relationshipPerAction/delete/complete/sns-in-sqs/data.js +3 -3
  192. package/src/TemplateData/relationshipPerAction/delete/complete/sns-out/data.js +3 -3
  193. package/src/TemplateData/relationshipPerAction/generateTemplateData.js +1 -1
  194. package/src/TemplateData/relationshipPerAction/get/action/functionYaml/data.js +19 -16
  195. package/src/TemplateData/relationshipPerAction/get/action/handler/data.js +4 -4
  196. package/src/TemplateData/relationshipPerAction/get/action/mainFunction/data.js +3 -4
  197. package/src/TemplateData/relationshipPerAction/get/action/mainFunction/template.ejs +6 -3
  198. package/src/TemplateData/relationshipPerAction/get/action/sns-in-sqs/data.js +5 -3
  199. package/src/TemplateData/relationshipPerAction/get/complete/functionYaml/data.js +13 -9
  200. package/src/TemplateData/relationshipPerAction/get/complete/handler/sqs/data.js +2 -1
  201. package/src/TemplateData/relationshipPerAction/get/complete/mainFunction/data.js +3 -3
  202. package/src/TemplateData/relationshipPerAction/get/complete/mainFunction/template.ejs +3 -2
  203. package/src/TemplateData/relationshipPerAction/get/complete/sns-in-sqs/data.js +2 -1
  204. package/src/TemplateData/relationshipPerAction/get/complete/sns-out/data.js +3 -3
  205. package/src/TemplateData/relationshipPerAction/moveRelationship/action/functionYaml/data.js +17 -13
  206. package/src/TemplateData/relationshipPerAction/moveRelationship/action/handler/data.js +4 -3
  207. package/src/TemplateData/relationshipPerAction/moveRelationship/action/mainFunction/data.js +6 -4
  208. package/src/TemplateData/relationshipPerAction/moveRelationship/action/mainFunction/template.ejs +6 -3
  209. package/src/TemplateData/relationshipPerAction/moveRelationship/action/sns-in-sqs/data.js +6 -4
  210. package/src/TemplateData/relationshipPerAction/moveRelationship/complete/functionYaml/data.js +13 -9
  211. package/src/TemplateData/relationshipPerAction/moveRelationship/complete/handler/sqs/data.js +3 -3
  212. package/src/TemplateData/relationshipPerAction/moveRelationship/complete/mainFunction/data.js +3 -3
  213. package/src/TemplateData/relationshipPerAction/moveRelationship/complete/mainFunction/template.ejs +3 -2
  214. package/src/TemplateData/relationshipPerAction/moveRelationship/complete/sns-in-sqs/data.js +3 -3
  215. package/src/TemplateData/relationshipPerAction/moveRelationship/complete/sns-out/data.js +3 -3
  216. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/data.js +20 -15
  217. package/src/TemplateData/relationshipPerAction/update/action/handler/data.js +4 -4
  218. package/src/TemplateData/relationshipPerAction/update/action/mainFunction/data.js +4 -4
  219. package/src/TemplateData/relationshipPerAction/update/action/mainFunction/template.ejs +6 -3
  220. package/src/TemplateData/relationshipPerAction/update/action/sns-in-sqs/data.js +4 -3
  221. package/src/TemplateData/relationshipPerAction/update/action/sns-out/data.js +5 -6
  222. package/src/TemplateData/relationshipPerAction/update/complete/functionYaml/data.js +13 -10
  223. package/src/TemplateData/relationshipPerAction/update/complete/handler/sqs/data.js +3 -3
  224. package/src/TemplateData/relationshipPerAction/update/complete/mainFunction/data.js +2 -1
  225. package/src/TemplateData/relationshipPerAction/update/complete/mainFunction/template.ejs +3 -2
  226. package/src/TemplateData/relationshipPerAction/update/complete/sns-in-sqs/data.js +3 -3
  227. package/src/TemplateData/relationshipPerAction/update/complete/sns-out/data.js +3 -3
  228. package/src/TemplateData/resourceYaml/dynamodb/defaultDynamoDbTable.js +1 -1
  229. package/src/TemplateData/resourceYaml/dynamodb/generateDynamoPerLink.js +7 -3
  230. package/src/TemplateData/resourceYaml/dynamodb/mainResourcePerObjectSchemaData.js +2 -1
  231. package/src/TemplateData/resourceYaml/filterGenerateResource/data.js +5 -3
  232. package/src/TemplateData/resourceYaml/generateTemplateData.js +5 -2
  233. package/src/TemplateData/resourceYaml/sns-in-sqs/defaultSnsInSqsForFindDataAndProcessLogical.js +3 -3
  234. package/src/TemplateData/resourceYaml/sns-in-sqs/snsAndSqsPerActionData.js +4 -3
  235. package/src/TemplateData/resourceYaml/sns-out/data.js +3 -3
  236. package/src/TemplateData/resourceYaml/sns-out/defaultSnsOutForFindDataAndProcessLogical.js +2 -1
  237. package/src/libs/GenerateCodeLibs.js +1 -1
  238. package/src/libs/Libs.js +22 -0
  239. package/src/libs/Utils.js +4 -4
  240. package/src/GenerateSchema.js +0 -164
  241. package/src/SchemaConfig.js +0 -23
  242. package/src/TemplateData/EndpointPerService/mainFunction/create/backupTemplate.ejs +0 -358
  243. package/src/TemplateData/perActionEndpoint/generateTemplateData.js +0 -112
  244. package/src/TemplateData/perActionEndpoint/handler/api/data.js +0 -109
  245. package/src/TemplateData/perActionEndpoint/handler/api/request.json +0 -7
  246. package/src/TemplateData/perActionEndpoint/handler/api/template.ejs +0 -36
  247. package/src/TemplateData/perActionEndpoint/handler/dsq/data.js +0 -118
  248. package/src/TemplateData/perActionEndpoint/handler/dsq/request.json +0 -7
  249. package/src/TemplateData/perActionEndpoint/handler/dsq/template.ejs +0 -55
  250. package/src/TemplateData/perActionEndpoint/handler/inv/data.js +0 -112
  251. package/src/TemplateData/perActionEndpoint/handler/inv/request.json +0 -7
  252. package/src/TemplateData/perActionEndpoint/handler/inv/template.ejs +0 -37
  253. package/src/TemplateData/perActionEndpoint/handler/sqs/data.js +0 -116
  254. package/src/TemplateData/perActionEndpoint/handler/sqs/request.json +0 -7
  255. package/src/TemplateData/perActionEndpoint/handler/sqs/template.ejs +0 -57
  256. package/src/TemplateData/perActionEndpoint/handler/webSocket/data.js +0 -94
  257. package/src/TemplateData/perActionEndpoint/handler/webSocket/template.ejs +0 -61
  258. package/src/TemplateData/perActionEndpoint/handler/webSocketConnect/data.js +0 -54
  259. package/src/TemplateData/perActionEndpoint/handler/webSocketConnect/template.ejs +0 -55
  260. package/src/TemplateData/perActionEndpoint/libs/data.js +0 -60
  261. package/src/TemplateData/perActionEndpoint/libs/template.ejs +0 -46
  262. package/src/TemplateData/perActionEndpoint/mainFunction/create/data.js +0 -91
  263. package/src/TemplateData/perActionEndpoint/mainFunction/create/request.json +0 -0
  264. package/src/TemplateData/perActionEndpoint/mainFunction/create/template.ejs +0 -339
  265. package/src/TemplateData/perActionEndpoint/mainFunction/delete/data.js +0 -91
  266. package/src/TemplateData/perActionEndpoint/mainFunction/delete/template.ejs +0 -99
  267. package/src/TemplateData/perActionEndpoint/mainFunction/get/data.js +0 -92
  268. package/src/TemplateData/perActionEndpoint/mainFunction/get/request.json +0 -5
  269. package/src/TemplateData/perActionEndpoint/mainFunction/get/template.ejs +0 -116
  270. package/src/TemplateData/perActionEndpoint/mainFunction/get/testParam.json +0 -5
  271. package/src/TemplateData/perActionEndpoint/mainFunction/update/data.js +0 -85
  272. package/src/TemplateData/perActionEndpoint/mainFunction/update/request.json +0 -0
  273. package/src/TemplateData/perActionEndpoint/mainFunction/update/template.ejs +0 -166
  274. package/src/TemplateData/perActionEndpoint/yaml/api/data.js +0 -229
  275. package/src/TemplateData/perActionEndpoint/yaml/api/request.json +0 -14
  276. package/src/TemplateData/perActionEndpoint/yaml/api/template.ejs +0 -20
  277. package/src/TemplateData/perActionEndpoint/yaml/dsq/data.js +0 -234
  278. package/src/TemplateData/perActionEndpoint/yaml/dsq/request.json +0 -19
  279. package/src/TemplateData/perActionEndpoint/yaml/dsq/template.ejs +0 -17
  280. package/src/TemplateData/perActionEndpoint/yaml/inv/data.js +0 -207
  281. package/src/TemplateData/perActionEndpoint/yaml/inv/example req.js +0 -15
  282. package/src/TemplateData/perActionEndpoint/yaml/inv/request.json +0 -14
  283. package/src/TemplateData/perActionEndpoint/yaml/inv/template.ejs +0 -13
  284. package/src/TemplateData/perActionEndpoint/yaml/sqs/data.js +0 -237
  285. package/src/TemplateData/perActionEndpoint/yaml/sqs/request.json +0 -19
  286. package/src/TemplateData/perActionEndpoint/yaml/sqs/template.ejs +0 -17
  287. package/src/TemplateData/perActionEndpoint/yaml/wbs/data.js +0 -204
  288. package/src/TemplateData/perActionEndpoint/yaml/wbs/request.json +0 -19
  289. package/src/TemplateData/perActionEndpoint/yaml/wbs/template.ejs +0 -29
  290. package/src/TemplateData/perActionEndpoint/yaml/webSocketConnect/data.js +0 -58
  291. package/src/TemplateData/perActionEndpoint/yaml/webSocketConnect/template.ejs +0 -10
  292. package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/api/data.js +0 -146
  293. package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/api/template.ejs +0 -20
  294. package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/dsq/data.js +0 -146
  295. package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/dsq/template.ejs +0 -17
  296. package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/inv/data.js +0 -146
  297. package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/inv/template.ejs +0 -13
  298. package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/sqs/data.js +0 -147
  299. package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/sqs/template.ejs +0 -17
  300. package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/api/data.js +0 -62
  301. package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/api/template.ejs +0 -59
  302. package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/dsq/data.js +0 -63
  303. package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/dsq/template.ejs +0 -202
  304. package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/inv/data.js +0 -64
  305. package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/inv/template.ejs +0 -144
  306. package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/sqs/data.js +0 -64
  307. package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/sqs/template.ejs +0 -77
  308. package/src/TemplateData/relationshipPerAction/create/action/functionYaml/api/data.js +0 -175
  309. package/src/TemplateData/relationshipPerAction/create/action/functionYaml/api/template.ejs +0 -20
  310. package/src/TemplateData/relationshipPerAction/create/action/functionYaml/dsq/data.js +0 -176
  311. package/src/TemplateData/relationshipPerAction/create/action/functionYaml/dsq/template.ejs +0 -17
  312. package/src/TemplateData/relationshipPerAction/create/action/functionYaml/inv/data.js +0 -175
  313. package/src/TemplateData/relationshipPerAction/create/action/functionYaml/inv/template.ejs +0 -13
  314. package/src/TemplateData/relationshipPerAction/create/action/functionYaml/sqs/data.js +0 -177
  315. package/src/TemplateData/relationshipPerAction/create/action/functionYaml/sqs/template.ejs +0 -17
  316. package/src/TemplateData/relationshipPerAction/create/action/handler/api/data.js +0 -62
  317. package/src/TemplateData/relationshipPerAction/create/action/handler/api/request.json +0 -0
  318. package/src/TemplateData/relationshipPerAction/create/action/handler/api/template.ejs +0 -57
  319. package/src/TemplateData/relationshipPerAction/create/action/handler/dsq/data.js +0 -63
  320. package/src/TemplateData/relationshipPerAction/create/action/handler/dsq/request.json +0 -0
  321. package/src/TemplateData/relationshipPerAction/create/action/handler/dsq/template.ejs +0 -184
  322. package/src/TemplateData/relationshipPerAction/create/action/handler/inv/data.js +0 -64
  323. package/src/TemplateData/relationshipPerAction/create/action/handler/inv/request.json +0 -0
  324. package/src/TemplateData/relationshipPerAction/create/action/handler/inv/template.ejs +0 -126
  325. package/src/TemplateData/relationshipPerAction/create/action/handler/sqs/data.js +0 -64
  326. package/src/TemplateData/relationshipPerAction/create/action/handler/sqs/request.json +0 -0
  327. package/src/TemplateData/relationshipPerAction/create/action/handler/sqs/template.ejs +0 -75
  328. package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/api/data.js +0 -178
  329. package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/api/template.ejs +0 -20
  330. package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/dsq/data.js +0 -176
  331. package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/dsq/template.ejs +0 -17
  332. package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/inv/data.js +0 -178
  333. package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/inv/template.ejs +0 -13
  334. package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/sqs/data.js +0 -176
  335. package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/sqs/template.ejs +0 -17
  336. package/src/TemplateData/relationshipPerAction/delete/action/handler/api/data.js +0 -62
  337. package/src/TemplateData/relationshipPerAction/delete/action/handler/api/request.json +0 -0
  338. package/src/TemplateData/relationshipPerAction/delete/action/handler/api/template.ejs +0 -139
  339. package/src/TemplateData/relationshipPerAction/delete/action/handler/dsq/data.js +0 -63
  340. package/src/TemplateData/relationshipPerAction/delete/action/handler/dsq/request.json +0 -0
  341. package/src/TemplateData/relationshipPerAction/delete/action/handler/dsq/template.ejs +0 -182
  342. package/src/TemplateData/relationshipPerAction/delete/action/handler/inv/data.js +0 -64
  343. package/src/TemplateData/relationshipPerAction/delete/action/handler/inv/request.json +0 -0
  344. package/src/TemplateData/relationshipPerAction/delete/action/handler/inv/template.ejs +0 -124
  345. package/src/TemplateData/relationshipPerAction/delete/action/handler/sqs/data.js +0 -64
  346. package/src/TemplateData/relationshipPerAction/delete/action/handler/sqs/request.json +0 -0
  347. package/src/TemplateData/relationshipPerAction/delete/action/handler/sqs/template.ejs +0 -162
  348. package/src/TemplateData/relationshipPerAction/get/action/functionYaml/api/data.js +0 -168
  349. package/src/TemplateData/relationshipPerAction/get/action/functionYaml/api/template.ejs +0 -20
  350. package/src/TemplateData/relationshipPerAction/get/action/functionYaml/dsq/data.js +0 -177
  351. package/src/TemplateData/relationshipPerAction/get/action/functionYaml/dsq/template.ejs +0 -17
  352. package/src/TemplateData/relationshipPerAction/get/action/functionYaml/inv/data.js +0 -167
  353. package/src/TemplateData/relationshipPerAction/get/action/functionYaml/inv/template.ejs +0 -13
  354. package/src/TemplateData/relationshipPerAction/get/action/functionYaml/sqs/data.js +0 -166
  355. package/src/TemplateData/relationshipPerAction/get/action/functionYaml/sqs/template.ejs +0 -17
  356. package/src/TemplateData/relationshipPerAction/get/action/handler/api/data.js +0 -62
  357. package/src/TemplateData/relationshipPerAction/get/action/handler/api/request.json +0 -0
  358. package/src/TemplateData/relationshipPerAction/get/action/handler/api/template.ejs +0 -138
  359. package/src/TemplateData/relationshipPerAction/get/action/handler/dsq/data.js +0 -63
  360. package/src/TemplateData/relationshipPerAction/get/action/handler/dsq/request.json +0 -0
  361. package/src/TemplateData/relationshipPerAction/get/action/handler/dsq/template.ejs +0 -185
  362. package/src/TemplateData/relationshipPerAction/get/action/handler/inv/data.js +0 -64
  363. package/src/TemplateData/relationshipPerAction/get/action/handler/inv/request.json +0 -0
  364. package/src/TemplateData/relationshipPerAction/get/action/handler/inv/template.ejs +0 -127
  365. package/src/TemplateData/relationshipPerAction/get/action/handler/sqs/data.js +0 -64
  366. package/src/TemplateData/relationshipPerAction/get/action/handler/sqs/request.json +0 -0
  367. package/src/TemplateData/relationshipPerAction/get/action/handler/sqs/template.ejs +0 -165
  368. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/api/data.js +0 -167
  369. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/api/request.json +0 -0
  370. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/api/template.ejs +0 -20
  371. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/dsq/data.js +0 -196
  372. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/dsq/request.json +0 -0
  373. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/dsq/template.ejs +0 -17
  374. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/inv/data.js +0 -186
  375. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/inv/request.json +0 -0
  376. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/inv/template.ejs +0 -13
  377. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/sqs/data.js +0 -187
  378. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/sqs/request.json +0 -0
  379. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/sqs/template.ejs +0 -17
  380. package/src/TemplateData/relationshipPerAction/update/action/handler/api/data.js +0 -78
  381. package/src/TemplateData/relationshipPerAction/update/action/handler/api/request.json +0 -7
  382. package/src/TemplateData/relationshipPerAction/update/action/handler/api/template.ejs +0 -142
  383. package/src/TemplateData/relationshipPerAction/update/action/handler/dsq/data.js +0 -79
  384. package/src/TemplateData/relationshipPerAction/update/action/handler/dsq/request.json +0 -7
  385. package/src/TemplateData/relationshipPerAction/update/action/handler/dsq/template.ejs +0 -188
  386. package/src/TemplateData/relationshipPerAction/update/action/handler/inv/data.js +0 -80
  387. package/src/TemplateData/relationshipPerAction/update/action/handler/inv/request.json +0 -5
  388. package/src/TemplateData/relationshipPerAction/update/action/handler/inv/template.ejs +0 -147
  389. package/src/TemplateData/relationshipPerAction/update/action/handler/sqs/data.js +0 -79
  390. package/src/TemplateData/relationshipPerAction/update/action/handler/sqs/request.json +0 -7
  391. package/src/TemplateData/relationshipPerAction/update/action/handler/sqs/template.ejs +0 -163
  392. package/src/TemplateData/resourceYaml/CreateSourceData.js +0 -79
  393. /package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComponent/handler/{template.ejs → SqsHandlerTemplate.ejs} +0 -0
@@ -22,23 +22,27 @@ const __dirname = path.dirname(__filename);
22
22
 
23
23
  import { NoRetryError } from '@izara_project/izara-core-library-core';
24
24
  import { getObjectSchema } from '@izara_project/izara-core-library-service-schemas';
25
- import { consts, utils } from '../../../../../../MainLibs/index.js';
25
+ import consts from '../../../../../libs/Consts.js';
26
+ import utils from '../../../../../libs/Utils.js';
27
+ import libs from '../../../../../libs/Libs.js'
26
28
 
27
29
  const {
28
30
  HANDLER,
29
- STORAGE_TYPES,
30
31
  SOURCE_PATH,
31
- defaultIamRolePerAction,
32
- createIamRole,
33
32
  RESOURCE_CLASSES,
34
- resourceNames,
35
- DYNAMO_RESOURCE,
36
33
  SAVE_FILE_NAME,
37
- shortNameHandler,
38
34
  SQS_RESOURCE,
39
35
  LAMBDA_RESOURCE
40
36
  } = consts;
41
37
 
38
+ const {
39
+ defaultIamRolePerAction,
40
+ createIamRole,
41
+ shortNameHandler,
42
+ resourceNames,
43
+ tableRoleForFlowSchema
44
+ } = libs;
45
+
42
46
  const { firstLetterUpperCase: upperCase } = utils;
43
47
 
44
48
  const templatePath = path.join(__dirname, 'template.ejs');
@@ -51,15 +55,39 @@ const templatePath = path.join(__dirname, 'template.ejs');
51
55
  */
52
56
 
53
57
  async function data(_izContext, flowSchema, srcPath) {
54
- return [await createSourceParams(_izContext, flowSchema, srcPath)];
58
+ return await createSourceParams(_izContext, flowSchema, srcPath);
55
59
  }
56
60
 
57
61
  async function createSourceParams(_izContext, flowSchema, srcPath) {
62
+ let createSources = [];
58
63
  let functionName = 'Process' + upperCase(flowSchema.flowTag);
59
64
  let handlerType = upperCase(HANDLER.hdrSqs);
60
65
  let additionalResourcePermission = defaultIamRolePerAction();
61
66
  let route = upperCase(flowSchema.flowTag);
62
67
  let queueName = upperCase(flowSchema.flowTag) + handlerType;
68
+ let objectSchema;
69
+
70
+
71
+ let setting = {
72
+ savePath: path.join(srcPath, SOURCE_PATH.appYaml),
73
+ saveFileName: upperCase(SAVE_FILE_NAME.flowSchema),
74
+ fileExtension: '.yml',
75
+ isAppend: true
76
+ }
77
+ let baseTemplateData = {
78
+ resourceLocation: path.join(SOURCE_PATH.resourceLocationFlowSchema, upperCase(flowSchema.flowTag), 'source/'),
79
+ functionName,
80
+ additionalResourcePermission,
81
+ roleName: upperCase(flowSchema.flowTag),
82
+ }
83
+
84
+ // getObjectSchema
85
+ if (flowSchema.statusType === 'storedCache' || flowSchema.statusType === 'triggerCache' || flowSchema.statusType === 'statusField') {
86
+ objectSchema = await getObjectSchema.getLocalObjectSchemas(_izContext, [flowSchema.objType.objectType], path.join(srcPath, './schemas')).then(res => res.records[0]);
87
+ if (!objectSchema) {
88
+ throw new NoRetryError('ObjectSchema not found');
89
+ }
90
+ }
63
91
 
64
92
  additionalResourcePermission.push(
65
93
  createIamRole(
@@ -74,37 +102,7 @@ async function createSourceParams(_izContext, flowSchema, srcPath) {
74
102
  );
75
103
 
76
104
  if (flowSchema.statusType === 'storedCache') {
77
- let tableStoredCache = [];
78
- let objectSchema = await getObjectSchema
79
- .getLocalObjectSchemas(
80
- _izContext,
81
- [flowSchema.objType.objectType],
82
- path.join(srcPath, './schemas')
83
- )
84
- .then(res => res.records[0]);
85
- if (!objectSchema) {
86
- throw new NoRetryError('ObjectSchema not found');
87
- }
88
- for (const storageResource of Object.values(
89
- objectSchema.storageResources
90
- )) {
91
- if (storageResource.storageType === STORAGE_TYPES.dynamoDB) {
92
- if (!tableStoredCache.includes(storageResource.tableName)) {
93
- tableStoredCache.push(storageResource.tableName);
94
- }
95
- }
96
- }
97
-
98
- additionalResourcePermission.push(
99
- createIamRole(
100
- {
101
- [RESOURCE_CLASSES.dynamoDbTable]: Object.values(DYNAMO_RESOURCE)
102
- },
103
- tableStoredCache.map(tableName =>
104
- resourceNames(RESOURCE_CLASSES.dynamoDbTable, tableName)
105
- )
106
- )
107
- );
105
+ additionalResourcePermission.push(...tableRoleForFlowSchema(objectSchema));
108
106
  } else if (flowSchema.statusType === 'statusField') {
109
107
  additionalResourcePermission.push(
110
108
  createIamRole(
@@ -114,32 +112,41 @@ async function createSourceParams(_izContext, flowSchema, srcPath) {
114
112
  [resourceNames(RESOURCE_CLASSES.lambda, 'CreateHdrInv')]
115
113
  )
116
114
  );
115
+ } else if (flowSchema.statusType === 'triggerCache') {
116
+ let dsqQueueName = upperCase(flowSchema.flowTag) + upperCase(HANDLER.hdrDsq);
117
+ additionalResourcePermission.push(...tableRoleForFlowSchema(objectSchema));
118
+ additionalResourcePermission.push(
119
+ createIamRole({
120
+ [RESOURCE_CLASSES.sqs]: Object.values(SQS_RESOURCE)
121
+ }, [
122
+ resourceNames(RESOURCE_CLASSES.sqs, dsqQueueName),
123
+ resourceNames(RESOURCE_CLASSES.sqs, dsqQueueName + 'DLQ')
124
+ ]
125
+ )
126
+ )
127
+ createSources.push({
128
+ templatePath: templatePath,
129
+ templateData: {
130
+ ...baseTemplateData,
131
+ handlerType: upperCase(HANDLER.hdrDsq),
132
+ functionNameConfig: upperCase(functionName) + upperCase(shortNameHandler(HANDLER.hdrDsq)),
133
+ queueName: dsqQueueName
134
+ },
135
+ setting: setting
136
+ })
117
137
  }
118
138
 
119
- return {
139
+ createSources.push({
120
140
  templatePath: templatePath,
121
141
  templateData: {
122
- resourceLocation: path.join(
123
- SOURCE_PATH.resourceLocationFlowSchema,
124
- upperCase(flowSchema.flowTag),
125
- 'source/'
126
- ),
127
- functionName,
142
+ ...baseTemplateData,
128
143
  handlerType,
129
- additionalResourcePermission,
130
- route,
131
- functionNameConfig:
132
- upperCase(functionName) + upperCase(shortNameHandler(handlerType)),
133
- roleName: upperCase(flowSchema.flowTag),
144
+ functionNameConfig: upperCase(functionName) + upperCase(shortNameHandler(handlerType)),
134
145
  queueName
135
146
  },
136
- setting: {
137
- savePath: path.join(srcPath, SOURCE_PATH.appYaml),
138
- saveFileName: upperCase(SAVE_FILE_NAME.flowSchema),
139
- fileExtension: '.yml',
140
- isAppend: true
141
- }
142
- };
147
+ setting: setting
148
+ });
149
+ return createSources;
143
150
  }
144
151
 
145
152
  export default data;
@@ -9,10 +9,6 @@
9
9
  - sqs:
10
10
  arn: arn:aws:sqs:${self:custom.iz_region}:${self:custom.iz_accountId}:${self:custom.iz_resourcePrefix}<%- queueName %>
11
11
  batchSize: 10
12
- filterPatterns: #**** need to update serverless framework upper v.2.69.1
13
- - body: {"MessageAttributes":{"callingFlow":{"Value":["${self:custom.iz_resourcePrefix}<%- functionName %>"]}}} # functionName of callingFlow
14
- - body: {"MessageAttributes":{"callingFlow":{"Value":[{"exists":false}]}}}
15
-
16
12
  <%_ function firstLetterUpperCase(text){
17
13
  return text.charAt(0).toUpperCase() + text.slice(1)
18
14
  } _%>
@@ -0,0 +1,91 @@
1
+ /*
2
+ Copyright (C) 2020 Sven Mason <http://izara.io>
3
+
4
+ This program is free software: you can redistribute it and/or modify
5
+ it under the terms of the GNU Affero General Public License as
6
+ published by the Free Software Foundation, either version 3 of the
7
+ License, or (at your option) any later version.
8
+
9
+ This program is distributed in the hope that it will be useful,
10
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ GNU Affero General Public License for more details.
13
+
14
+ You should have received a copy of the GNU Affero General Public License
15
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
16
+ */
17
+
18
+
19
+
20
+ import { middlewareHandler as middleware } from "@izara_project/izara-middleware";
21
+ import { recordHandlerSharedLib } from "@izara_project/izara-core-library-record-handler";
22
+ import Logger from '@izara_project/izara-core-library-logger';
23
+ import callingFlowSharedLib from '@izara_project/izara-core-library-calling-flow';
24
+ import <%- functionName %> from './<%- functionName %>_Main.js';
25
+
26
+ // validate event properties in body.Message of sqs event
27
+ let perRecordsValidatorSchema = {
28
+ //(<validatorSchema>)
29
+ //(</validatorSchema>)
30
+ }
31
+ middleware.setValidatorSchema(recordHandlerSharedLib.baseValidatorSchema());
32
+
33
+ export const main = middleware.wrap(async (event, context) => {
34
+
35
+ try {
36
+
37
+ let recordPromises = [];
38
+
39
+ // loop each record and send to mainFunction
40
+ await Promise.all(event.Records.map(async record => { // promise.all for map() function
41
+
42
+ // --- reforming record.body for Dsq request
43
+ record = recordHandlerSharedLib.reformatDsqMessage(record._izContext, record);
44
+ record._izContext.logger.debug('record LambdaFunctionHdrDsq after reform', record);
45
+
46
+ let passOnProperties = []
47
+ record._izContext.logger.debug('record ReceiveMsgOutHdrSqs', record);
48
+
49
+ //validate message (and MessageAttributes)
50
+ await recordHandlerSharedLib.validateRecord(
51
+ record, // one record will send to mainFunction
52
+ "<%- queueName %>", // queue name that need to retry or send to dlq
53
+ perRecordsValidatorSchema, // schema for record.Message
54
+ // messageAttributeValidatorSchema // ----- for msgAttr default is null -> do not send this parameter if not want to validate msgAtt
55
+ );
56
+
57
+ // add argument (to invoke lambda) to passOnProperties[]
58
+ passOnProperties.push(record.body.Message)
59
+ //(<additionalParams>)
60
+ //(</additionalParams>)
61
+ passOnProperties.push(callingFlowSharedLib.addCallingFlowToPassOnProperties(record.body.Message));
62
+ record._izContext.logger.debug('passOnProperties in handler', passOnProperties);
63
+
64
+ // call recordHandlerSharedLib.recordHandler with 3 parameters and return promise(resolve)
65
+ let recordPromise = recordHandlerSharedLib.recordHandler(
66
+ record, // one record will send to mainFunction
67
+ <%- functionName %>, // mainFunction that need to invoke.
68
+ "<%- queueName %>", // queue name that need to retry or send to dlq
69
+ passOnProperties, // all parameters that mainFunction needed.
70
+ );
71
+ record._izContext.logger.debug('after recordPromise in handler');
72
+ recordPromises.push(recordPromise); // push promise to recordPromises
73
+ }))
74
+
75
+ Logger.debug('before Promise.all(recordPromises) in handler');
76
+ try {
77
+ // --- main await all promises
78
+ await Promise.all(recordPromises); // await all promises
79
+
80
+ return event.Records // return all for local testing
81
+
82
+ } catch {
83
+ Logger.debug('Promise.all(recordPromises) in handler threw error (at least one record did no resolve)');
84
+ }
85
+ Logger.debug('after Promise.all(recordPromises) in handler');
86
+
87
+ } catch (err) {
88
+ Logger.error('Unhandled Error, LambdaFunctionHdrSqs: ', err);
89
+ throw (err);
90
+ }
91
+ });
@@ -20,11 +20,12 @@ import { fileURLToPath } from 'url';
20
20
  const __filename = fileURLToPath(import.meta.url);
21
21
  const __dirname = path.dirname(__filename);
22
22
 
23
- import { consts, utils } from '../../../../../../MainLibs/index.js';
23
+ import consts from '../../../../../libs/Consts.js';
24
+ import utils from '../../../../../libs/Utils.js';
24
25
  const { HANDLER, SOURCE_PATH } = consts;
25
- const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase } =
26
- utils;
27
- const templatePath = path.join(__dirname, 'template.ejs');
26
+ const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase } = utils;
27
+ const sqsTemplatePath = path.join(__dirname, 'SqsHandlerTemplate.ejs');
28
+ const dsqTemplatePath = path.join(__dirname, 'DsqHandlerTemplate.ejs');
28
29
 
29
30
  /**
30
31
  * receive objectSchema
@@ -35,34 +36,48 @@ const templatePath = path.join(__dirname, 'template.ejs');
35
36
  */
36
37
 
37
38
  function data(_izContext, flowSchema, srcPath) {
38
- return [createParamsForCreateSource(_izContext, flowSchema, srcPath)];
39
+ return createParamsForCreateSource(_izContext, flowSchema, srcPath);
39
40
  }
40
41
 
41
42
  function createParamsForCreateSource(_izContext, flowSchema, srcPath) {
43
+ let createSources = [];
42
44
  let functionName = 'Process' + upperCase(flowSchema.flowTag);
43
45
  let handlerType = upperCase(HANDLER.hdrSqs);
44
- let route = upperCase(flowSchema.flowTag);
45
46
  let queueName = `${upperCase(flowSchema.flowTag)}${upperCase(handlerType)}`;
46
47
 
47
- return {
48
- templatePath: templatePath,
48
+ createSources.push({
49
+ templatePath: sqsTemplatePath,
49
50
  templateData: {
50
51
  functionName,
51
52
  handlerType,
52
- route,
53
53
  queueName
54
54
  },
55
55
  setting: {
56
- savePath: path.join(
57
- srcPath,
58
- SOURCE_PATH.flowSchema,
59
- upperCase(flowSchema.flowTag),
60
- 'source/'
61
- ),
56
+ savePath: path.join(srcPath, SOURCE_PATH.flowSchema, upperCase(flowSchema.flowTag), 'source/'),
62
57
  saveFileName: `${functionName}_${handlerType}`,
63
58
  fileExtension: '.js',
64
59
  isAppend: false
65
60
  }
66
- };
61
+ });
62
+
63
+ if (flowSchema.statusType === "triggerCache") {
64
+ createSources.push({
65
+ templatePath: dsqTemplatePath,
66
+ templateData: {
67
+ functionName,
68
+ handlerType: upperCase(HANDLER.hdrDsq),
69
+ queueName: `${upperCase(flowSchema.flowTag)}${upperCase(HANDLER.hdrDsq)}`
70
+ },
71
+ setting: {
72
+ savePath: path.join(srcPath, SOURCE_PATH.flowSchema, upperCase(flowSchema.flowTag), 'source/'),
73
+ saveFileName: `${functionName}_${upperCase(HANDLER.hdrDsq)}`,
74
+ fileExtension: '.js',
75
+ isAppend: false
76
+ }
77
+ }
78
+ )
79
+ }
80
+
81
+ return createSources;
67
82
  }
68
83
  export default data;
@@ -20,20 +20,25 @@ import { fileURLToPath } from 'url';
20
20
  const __filename = fileURLToPath(import.meta.url);
21
21
  const __dirname = path.dirname(__filename);
22
22
 
23
- import { consts, utils } from '../../../../../../MainLibs/index.js';
23
+ import consts from '../../../../../libs/Consts.js';
24
+ import utils from '../../../../../libs/Utils.js';
25
+ import libs from '../../../../../libs/Libs.js'
24
26
 
25
27
  const {
26
28
  SOURCE_PATH,
27
- defaultIamRolePerAction,
28
- createIamRole,
29
29
  RESOURCE_CLASSES,
30
30
  SNS_RESOURCE,
31
- resourceNames,
32
31
  DYNAMO_RESOURCE,
33
32
  SAVE_FILE_NAME,
34
- shortNameHandler
35
33
  } = consts;
36
34
 
35
+ const {
36
+ shortNameHandler,
37
+ resourceNames,
38
+ defaultIamRolePerAction,
39
+ createIamRole
40
+ } = libs;
41
+
37
42
  const { firstLetterUpperCase: upperCase } = utils;
38
43
 
39
44
  const templatePath = path.join(__dirname, 'template.ejs');
@@ -20,10 +20,11 @@ import { fileURLToPath } from 'url';
20
20
  const __filename = fileURLToPath(import.meta.url);
21
21
  const __dirname = path.dirname(__filename);
22
22
 
23
- import { consts, utils } from '../../../../../../MainLibs/index.js';
23
+ import consts from '../../../../../libs/Consts.js';
24
+ import utils from '../../../../../libs/Utils.js';
25
+
24
26
  const { SOURCE_PATH } = consts;
25
- const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase } =
26
- utils;
27
+ const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase } = utils;
27
28
  const templatePath = path.join(__dirname, 'template.ejs');
28
29
 
29
30
  /**
@@ -17,15 +17,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
17
17
 
18
18
 
19
19
 
20
- import { middlewareHandler as middleware, validatorSchema, consts } from "@izara_project/izara-middleware";
20
+ import { middlewareHandler as middleware, validatorSchema, consts, response } from "@izara_project/izara-middleware";
21
21
  import dynamodbSharedLib from '@izara_project/izara-core-library-dynamodb';
22
22
  import callingFlowSharedLib from '@izara_project/izara-core-library-calling-flow';
23
23
  import { objectHash as hash } from '@izara_project/izara-shared-core';
24
24
  import { postToConnection } from '../../../libs/source/GenerateCodeLibs.js';
25
- import <%- functionName %> from './<%- functionName %>_Main.js';
26
- import { utils} from "@izara_project/izara-core-library-service-schemas";
25
+ import A from './A_Main.js';
26
+ import { utils, getObjectSchema } from "@izara_project/izara-core-library-service-schemas";
27
27
  const { createFlowTypeConcat } = utils
28
- import { getObjectSchema } from '@izara_project/izara-core-library-service-schemas';
29
28
 
30
29
  export const main = middleware.wrap(async (event, context) => {
31
30
 
@@ -96,13 +95,13 @@ export const main = middleware.wrap(async (event, context) => {
96
95
  await postToConnection({ message: event.message }, connId);
97
96
  }
98
97
 
99
- return (izara.response.webSocketSuccess());
98
+ return (response.webSocketSuccess());
100
99
 
101
100
  } catch (err) {
102
101
  const connId = event.requestContext.connectionId
103
102
  event._izContext.logger.error('Error, WebSocket: ', err);
104
103
  // await sendErrorMessage({ message: err.message }, connId);
105
104
  await postToConnection({ message: err.message }, connId);
106
- return (izara.response.failure(err));
105
+ return (response.failure(err));
107
106
  }
108
107
  });
@@ -20,7 +20,9 @@ import { fileURLToPath } from 'url';
20
20
  const __filename = fileURLToPath(import.meta.url);
21
21
  const __dirname = path.dirname(__filename);
22
22
 
23
- import { consts, utils } from '../../../../../../MainLibs/index.js';
23
+ import consts from '../../../../../libs/Consts.js';
24
+ import utils from '../../../../../libs/Utils.js';
25
+
24
26
  const { firstLetterUpperCase: upperCase } = utils;
25
27
  const { SOURCE_PATH } = consts;
26
28
 
@@ -27,10 +27,10 @@ import { sns } from '@izara_project/izara-core-library-external-request';
27
27
 
28
28
  import { NoRetryError } from '@izara_project/izara-core-library-core';
29
29
  import { consts as coreConsts } from "@izara_project/izara-middleware";
30
-
31
- import { constsGenerateCodeLibs } from '@izara_project/izara-market-library-service-schemas';
32
- const { TOPIC_NAME_GENERATE_CODE } = constsGenerateCodeLibs;
30
+ import { consts as generateCodeConsts } from '@izara_project/izara-core-generate-service-code';
31
+ const { TOPIC_NAME_GENERATE_CODE } = generateCodeConsts;
33
32
  import { postToConnection } from '../../../libs/source/GenerateCodeLibs.js'
33
+
34
34
  //(<optionalRequire>)
35
35
  //(</optionalRequire>)
36
36
  /**
@@ -19,11 +19,11 @@ import path from 'path';
19
19
  import { fileURLToPath } from 'url';
20
20
  const __filename = fileURLToPath(import.meta.url);
21
21
  const __dirname = path.dirname(__filename);
22
- import { consts, utils } from '../../../../../MainLibs/index.js';
22
+ import consts from '../../../../libs/Consts.js';
23
+ import utils from '../../../../libs/Utils.js';
23
24
 
24
25
  const { SOURCE_PATH, SAVE_FILE_NAME } = consts;
25
- const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase } =
26
- utils;
26
+ const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase } = utils;
27
27
 
28
28
  const snsTemplatePath = path.join(
29
29
  __dirname,
@@ -19,11 +19,11 @@ import path from 'path';
19
19
  import { fileURLToPath } from 'url';
20
20
  const __filename = fileURLToPath(import.meta.url);
21
21
  const __dirname = path.dirname(__filename);
22
- import { consts, utils } from '../../../../../MainLibs/index.js';
22
+ import consts from '../../../../libs/Consts.js';
23
+ import utils from '../../../../libs/Utils.js';
23
24
 
24
25
  const { SOURCE_PATH, SAVE_FILE_NAME } = consts;
25
- const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase } =
26
- utils;
26
+ const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase } = utils;
27
27
 
28
28
  const templatePath = path.join(
29
29
  __dirname,
@@ -19,20 +19,25 @@ import path from 'path';
19
19
  import { fileURLToPath } from 'url';
20
20
  const __filename = fileURLToPath(import.meta.url);
21
21
  const __dirname = path.dirname(__filename);
22
- import { consts, utils } from '../../../../../MainLibs/index.js';
22
+ import consts from '../../../../libs/Consts.js';
23
+ import utils from '../../../../libs/Utils.js';
24
+ import libs from '../../../../libs/Libs.js';
23
25
 
24
26
  const {
25
27
  HANDLER,
26
28
  SOURCE_PATH,
27
- defaultIamRolePerAction,
28
- createIamRole,
29
29
  RESOURCE_CLASSES,
30
30
  SNS_RESOURCE,
31
- resourceNames,
32
31
  SAVE_FILE_NAME,
33
- shortNameHandler,
34
32
  SQS_RESOURCE
35
33
  } = consts;
34
+
35
+ const {
36
+ shortNameHandler,
37
+ defaultIamRolePerAction,
38
+ createIamRole,
39
+ resourceNames
40
+ } = libs;
36
41
  const { firstLetterUpperCase: upperCase } = utils;
37
42
 
38
43
  const templatePath = path.join(__dirname, 'template.ejs');
@@ -112,13 +117,13 @@ function createSourceParams(_izContext, flowTag, flowStep, srcPath) {
112
117
  resourceNames(
113
118
  RESOURCE_CLASSES.sqs,
114
119
  `${upperCase(flowTag)}_${upperCase(flowStep)}` +
115
- upperCase(handlerType)
120
+ upperCase(handlerType)
116
121
  ),
117
122
  resourceNames(
118
123
  RESOURCE_CLASSES.sqs,
119
124
  `${upperCase(flowTag)}_${upperCase(flowStep)}` +
120
- upperCase(handlerType) +
121
- 'DLQ'
125
+ upperCase(handlerType) +
126
+ 'DLQ'
122
127
  )
123
128
  ]
124
129
  )
@@ -20,10 +20,10 @@ import { fileURLToPath } from 'url';
20
20
  const __filename = fileURLToPath(import.meta.url);
21
21
  const __dirname = path.dirname(__filename);
22
22
 
23
- import { consts, utils } from '../../../../../MainLibs/index.js';
23
+ import consts from '../../../../libs/Consts.js';
24
+ import utils from '../../../../libs/Utils.js';
24
25
  const { HANDLER, SOURCE_PATH } = consts;
25
- const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase } =
26
- utils;
26
+ const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase } = utils;
27
27
  const templatePath = path.join(__dirname, 'template.ejs');
28
28
 
29
29
  /**
@@ -19,7 +19,8 @@ import path from 'path';
19
19
  import { fileURLToPath } from 'url';
20
20
  const __filename = fileURLToPath(import.meta.url);
21
21
  const __dirname = path.dirname(__filename);
22
- import { consts, utils } from '../../../../../MainLibs/index.js';
22
+ import consts from '../../../../libs/Consts.js';
23
+ import utils from '../../../../libs/Utils.js';
23
24
  const { firstLetterUpperCase: upperCase } = utils;
24
25
  const { SOURCE_PATH } = consts;
25
26
 
@@ -20,10 +20,10 @@ import { fileURLToPath } from 'url';
20
20
  const __filename = fileURLToPath(import.meta.url);
21
21
  const __dirname = path.dirname(__filename);
22
22
 
23
- import { consts, utils } from '../../../../../MainLibs/index.js';
23
+ import consts from '../../../../libs/Consts.js';
24
+ import utils from '../../../../libs/Utils.js';
24
25
  const { SOURCE_PATH, SAVE_FILE_NAME } = consts;
25
- const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase } =
26
- utils;
26
+ const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase } = utils;
27
27
 
28
28
  const templatePath = path.join(__dirname, 'template.ejs');
29
29
 
@@ -513,12 +513,7 @@ async function generateCodeWithTemplate(_izContext, objSchemaPath) {
513
513
  ];
514
514
 
515
515
  // flowSchemaOwnTopic Endpoint
516
- const flowSchemaOwnTopicEndpointFunctionYaml =
517
- await createFlowSchemaOwnTopicEndpointFunctionYaml(
518
- _izContext,
519
- flowSchema,
520
- saveFilePath
521
- );
516
+ const flowSchemaOwnTopicEndpointFunctionYaml = await createFlowSchemaOwnTopicEndpointFunctionYaml(_izContext, flowSchema, saveFilePath);
522
517
  const flowSchemaOwnTopicEndpointHandler =
523
518
  createFlowSchemaOwnTopicEndpointHandler(
524
519
  _izContext,
@@ -22,15 +22,22 @@ const __dirname = path.dirname(__filename);
22
22
 
23
23
  import fs from 'fs';
24
24
  import yaml from 'yaml';
25
- import { consts, utils } from '../../../../../../MainLibs/index.js';
25
+
26
+ import consts from '../../../../../libs/Consts.js';
27
+ import utils from '../../../../../libs/Utils.js';
28
+ import libs from '../../../../../libs/Libs.js'
26
29
 
27
30
  const {
28
31
  HANDLER,
29
32
  SOURCE_PATH,
30
- defaultIamRolePerAction,
31
33
  SAVE_FILE_NAME,
32
- shortNameHandler
33
34
  } = consts;
35
+
36
+ const {
37
+ shortNameHandler,
38
+ defaultIamRolePerAction
39
+ } = libs;
40
+
34
41
  const { firstLetterUpperCase: upperCase } = utils;
35
42
 
36
43
  const templatePath = path.join(__dirname, 'template.ejs');
@@ -19,7 +19,9 @@ import path from 'path';
19
19
  import { fileURLToPath } from 'url';
20
20
  const __filename = fileURLToPath(import.meta.url);
21
21
  const __dirname = path.dirname(__filename);
22
- import { consts, utils } from '../../../../../../MainLibs/index.js';
22
+
23
+ import consts from '../../../../../libs/Consts.js';
24
+ import utils from '../../../../../libs/Utils.js';
23
25
 
24
26
  const { HANDLER, SOURCE_PATH } = consts;
25
27
  const { firstLetterUpperCase: upperCase } = utils;
@@ -19,15 +19,21 @@ import path from 'path';
19
19
  import { fileURLToPath } from 'url';
20
20
  const __filename = fileURLToPath(import.meta.url);
21
21
  const __dirname = path.dirname(__filename);
22
- import { consts, utils } from '../../../../../../MainLibs/index.js';
22
+ import consts from '../../../../../libs/Consts.js';
23
+ import utils from '../../../../../libs/Utils.js';
24
+ import libs from '../../../../../libs/Libs.js'
23
25
 
24
26
  const {
25
27
  HANDLER,
26
28
  SOURCE_PATH,
27
- defaultIamRolePerAction,
28
29
  SAVE_FILE_NAME,
29
- shortNameHandler
30
30
  } = consts;
31
+
32
+ const {
33
+ shortNameHandler,
34
+ defaultIamRolePerAction
35
+ } = libs;
36
+
31
37
  const { firstLetterUpperCase: upperCase } = utils;
32
38
 
33
39
  const templatePath = path.join(__dirname, 'template.ejs');