@izara_project/izara-core-generate-service-code 1.0.1 → 1.0.3

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 (523) hide show
  1. package/index.js +41 -0
  2. package/package.json +10 -10
  3. package/src/GenerateCode.js +185 -0
  4. package/src/GenerateResources.js +122 -0
  5. package/src/GenerateSchema.js +165 -0
  6. package/src/GenerateTests.js +137 -0
  7. package/src/IntTestConfig.js +23 -0
  8. package/src/SchemaConfig.js +23 -0
  9. package/src/SourceManager/CreateSource.js +226 -0
  10. package/src/TemplateConfig.js +55 -0
  11. package/src/TemplateData/Auth/generateAuthYml/data.js +47 -0
  12. package/src/TemplateData/Auth/generateAuthYml/template.ejs +16 -0
  13. package/src/TemplateData/Auth/generateTemplateData.js +48 -0
  14. package/src/TemplateData/EndpointPerService/generateTemplateData.js +127 -0
  15. package/src/TemplateData/EndpointPerService/handler/api/data.js +72 -0
  16. package/src/TemplateData/EndpointPerService/handler/api/request.json +7 -0
  17. package/src/TemplateData/EndpointPerService/handler/api/template.ejs +73 -0
  18. package/src/TemplateData/EndpointPerService/handler/dsq/data.js +76 -0
  19. package/src/TemplateData/EndpointPerService/handler/dsq/request.json +7 -0
  20. package/src/TemplateData/EndpointPerService/handler/dsq/template.ejs +129 -0
  21. package/src/TemplateData/EndpointPerService/handler/inv/data.js +78 -0
  22. package/src/TemplateData/EndpointPerService/handler/inv/request.json +7 -0
  23. package/src/TemplateData/EndpointPerService/handler/inv/template.ejs +73 -0
  24. package/src/TemplateData/EndpointPerService/handler/sqs/data.js +76 -0
  25. package/src/TemplateData/EndpointPerService/handler/sqs/request.json +7 -0
  26. package/src/TemplateData/EndpointPerService/handler/sqs/template.ejs +131 -0
  27. package/src/TemplateData/EndpointPerService/mainFunction/create/data.js +51 -0
  28. package/src/TemplateData/EndpointPerService/mainFunction/create/template.ejs +616 -0
  29. package/src/TemplateData/EndpointPerService/mainFunction/delete/data.js +51 -0
  30. package/src/TemplateData/EndpointPerService/mainFunction/delete/template.ejs +158 -0
  31. package/src/TemplateData/EndpointPerService/mainFunction/get/data.js +52 -0
  32. package/src/TemplateData/EndpointPerService/mainFunction/get/template.ejs +270 -0
  33. package/src/TemplateData/EndpointPerService/mainFunction/update/data.js +52 -0
  34. package/src/TemplateData/EndpointPerService/mainFunction/update/template.ejs +434 -0
  35. package/src/TemplateData/EndpointPerService/yaml/data.js +311 -0
  36. package/src/TemplateData/EndpointPerService/yaml/template.ejs +35 -0
  37. package/src/TemplateData/IntTest/generateResources/generateResources.js +113 -0
  38. package/src/TemplateData/IntTest/generateResources/templateResources.ejs +33 -0
  39. package/src/TemplateData/IntTest/generateTests/events/data.js +137 -0
  40. package/src/TemplateData/IntTest/generateTests/events/templateEvents.ejs +11 -0
  41. package/src/TemplateData/IntTest/generateTests/generateTemplate.js +69 -0
  42. package/src/TemplateData/IntTest/generateTests/pathIntTest/data.js +56 -0
  43. package/src/TemplateData/IntTest/generateTests/pathIntTest/template.ejs +5 -0
  44. package/src/TemplateData/IntTest/generateTests/tests/data.js +212 -0
  45. package/src/TemplateData/IntTest/generateTests/tests/templateTests.ejs +3 -0
  46. package/src/TemplateData/IntTest/libs/libs.js +385 -0
  47. package/src/TemplateData/IntTest/upload/uploadIntTest.js +96 -0
  48. package/src/TemplateData/externalService/functionNameConfig/data.js +178 -0
  49. package/src/TemplateData/externalService/functionNameConfig/template.ejs +14 -0
  50. package/src/TemplateData/externalService/functionNameConfig/templateIntTesting.ejs +31 -0
  51. package/src/TemplateData/externalService/functionNameConfig/templateYaml.ejs +10 -0
  52. package/src/TemplateData/externalService/generateTemplateData.js +79 -0
  53. package/src/TemplateData/externalService/lambdaRole/data.js +448 -0
  54. package/src/TemplateData/externalService/lambdaRole/request.json +18 -0
  55. package/src/TemplateData/externalService/lambdaRole/template.ejs +57 -0
  56. package/src/TemplateData/externalService/snsTopicSubscriptions/data.js +271 -0
  57. package/src/TemplateData/externalService/snsTopicSubscriptions/request.json +12 -0
  58. package/src/TemplateData/externalService/snsTopicSubscriptions/template.ejs +33 -0
  59. package/src/TemplateData/findData/GetByStorage/getByDynamo.ejs +54 -0
  60. package/src/TemplateData/findData/GetByStorage/getByGraph.ejs +81 -0
  61. package/src/TemplateData/findData/findDataYaml/data.js +188 -0
  62. package/src/TemplateData/findData/findDataYaml/template.ejs +14 -0
  63. package/src/TemplateData/findData/generateTemplateData.js +69 -0
  64. package/src/TemplateData/findData/handler/data.js +51 -0
  65. package/src/TemplateData/findData/handler/template.ejs +136 -0
  66. package/src/TemplateData/findData/mainFunction/data.js +316 -0
  67. package/src/TemplateData/findData/mainFunction/template.ejs +149 -0
  68. package/src/TemplateData/flowSchema/CreateRecordComplete/functionYaml/data.js +133 -0
  69. package/src/TemplateData/flowSchema/CreateRecordComplete/functionYaml/template.ejs +20 -0
  70. package/src/TemplateData/flowSchema/CreateRecordComplete/handler/data.js +68 -0
  71. package/src/TemplateData/flowSchema/CreateRecordComplete/handler/template.ejs +84 -0
  72. package/src/TemplateData/flowSchema/CreateRecordComplete/mainFunction/data.js +71 -0
  73. package/src/TemplateData/flowSchema/CreateRecordComplete/mainFunction/template.ejs +118 -0
  74. package/src/TemplateData/flowSchema/CreateRecordComplete/queue/data.js +73 -0
  75. package/src/TemplateData/flowSchema/CreateRecordComplete/queue/template.ejs +49 -0
  76. package/src/TemplateData/flowSchema/components/upload/confirmReserved/functionYaml/data.js +131 -0
  77. package/src/TemplateData/flowSchema/components/upload/confirmReserved/functionYaml/template.ejs +17 -0
  78. package/src/TemplateData/flowSchema/components/upload/confirmReserved/handler/data.js +66 -0
  79. package/src/TemplateData/flowSchema/components/upload/confirmReserved/handler/template.ejs +123 -0
  80. package/src/TemplateData/flowSchema/components/upload/confirmReserved/mainFunction/data.js +58 -0
  81. package/src/TemplateData/flowSchema/components/upload/confirmReserved/mainFunction/template.ejs +129 -0
  82. package/src/TemplateData/flowSchema/components/upload/confirmReserved/queue/data.js +63 -0
  83. package/src/TemplateData/flowSchema/components/upload/confirmReserved/queue/template.ejs +45 -0
  84. package/src/TemplateData/flowSchema/components/upload/createObject/functionYaml/data.js +120 -0
  85. package/src/TemplateData/flowSchema/components/upload/createObject/functionYaml/template.ejs +20 -0
  86. package/src/TemplateData/flowSchema/components/upload/createObject/handler/data.js +67 -0
  87. package/src/TemplateData/flowSchema/components/upload/createObject/handler/template.ejs +83 -0
  88. package/src/TemplateData/flowSchema/components/upload/createObject/mainFunction/data.js +68 -0
  89. package/src/TemplateData/flowSchema/components/upload/createObject/mainFunction/template.ejs +131 -0
  90. package/src/TemplateData/flowSchema/components/upload/createObjectComplete/functionYaml/data.js +120 -0
  91. package/src/TemplateData/flowSchema/components/upload/createObjectComplete/functionYaml/template.ejs +17 -0
  92. package/src/TemplateData/flowSchema/components/upload/createObjectComplete/handler/data.js +65 -0
  93. package/src/TemplateData/flowSchema/components/upload/createObjectComplete/handler/template.ejs +99 -0
  94. package/src/TemplateData/flowSchema/components/upload/createObjectComplete/mainFunction/data.js +63 -0
  95. package/src/TemplateData/flowSchema/components/upload/createObjectComplete/mainFunction/template.ejs +81 -0
  96. package/src/TemplateData/flowSchema/components/upload/createObjectComplete/sns-sqs/data.js +69 -0
  97. package/src/TemplateData/flowSchema/components/upload/createObjectComplete/sns-sqs/template.ejs +49 -0
  98. package/src/TemplateData/flowSchema/components/upload/preSignUrl/createPresignUrl/functionYaml/data.js +142 -0
  99. package/src/TemplateData/flowSchema/components/upload/preSignUrl/createPresignUrl/functionYaml/template.ejs +18 -0
  100. package/src/TemplateData/flowSchema/components/upload/preSignUrl/createPresignUrl/handler/data.js +66 -0
  101. package/src/TemplateData/flowSchema/components/upload/preSignUrl/createPresignUrl/handler/template.ejs +123 -0
  102. package/src/TemplateData/flowSchema/components/upload/preSignUrl/createPresignUrl/mainFunction/data.js +66 -0
  103. package/src/TemplateData/flowSchema/components/upload/preSignUrl/createPresignUrl/mainFunction/template.ejs +262 -0
  104. package/src/TemplateData/flowSchema/components/upload/preSignUrl/createPresignUrl/queue/data.js +64 -0
  105. package/src/TemplateData/flowSchema/components/upload/preSignUrl/createPresignUrl/queue/template.ejs +45 -0
  106. package/src/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/functionYaml/data.js +150 -0
  107. package/src/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/functionYaml/template.ejs +14 -0
  108. package/src/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/handler/data.js +66 -0
  109. package/src/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/handler/template.ejs +121 -0
  110. package/src/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/mainFunction/data.js +62 -0
  111. package/src/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/mainFunction/template.ejs +172 -0
  112. package/src/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/sqs/data.js +66 -0
  113. package/src/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/sqs/template.ejs +53 -0
  114. package/src/TemplateData/flowSchema/components/upload/processFile/functionYml/HdrS3/data.js +144 -0
  115. package/src/TemplateData/flowSchema/components/upload/processFile/functionYml/HdrS3/template.ejs +25 -0
  116. package/src/TemplateData/flowSchema/components/upload/processFile/handler/handlerS3/data.js +53 -0
  117. package/src/TemplateData/flowSchema/components/upload/processFile/handler/handlerS3/template.ejs +50 -0
  118. package/src/TemplateData/flowSchema/components/upload/processFile/mainFunction/ProcessCsvtemplate.ejs +182 -0
  119. package/src/TemplateData/flowSchema/components/upload/processFile/mainFunction/data.js +52 -0
  120. package/src/TemplateData/flowSchema/components/upload/processFile/mainFunction/template.ejs +66 -0
  121. package/src/TemplateData/flowSchema/components/upload/processFile/queue/data.js +77 -0
  122. package/src/TemplateData/flowSchema/components/upload/processFile/queue/dsqTemplatePath.ejs +32 -0
  123. package/src/TemplateData/flowSchema/components/upload/processFile/queue/s3Template.ejs +59 -0
  124. package/src/TemplateData/flowSchema/components/upload/relate/S3/data.js +60 -0
  125. package/src/TemplateData/flowSchema/components/upload/relate/S3/template.ejs +13 -0
  126. package/src/TemplateData/flowSchema/components/upload/relate/libs/data.js +53 -0
  127. package/src/TemplateData/flowSchema/components/upload/relate/libs/template.ejs +97 -0
  128. package/src/TemplateData/flowSchema/components/upload/relate/sns-out/data.js +67 -0
  129. package/src/TemplateData/flowSchema/components/websocket/connect/functionYaml/data.js +96 -0
  130. package/src/TemplateData/flowSchema/components/websocket/connect/functionYaml/template.ejs +17 -0
  131. package/src/TemplateData/flowSchema/components/websocket/connect/handler/data.js +58 -0
  132. package/src/TemplateData/flowSchema/components/websocket/connect/handler/template.ejs +72 -0
  133. package/src/TemplateData/flowSchema/components/websocket/dynamoDb/ReservedTableData.js +68 -0
  134. package/src/TemplateData/flowSchema/components/websocket/dynamoDb/WebSocketTaskData.js +69 -0
  135. package/src/TemplateData/flowSchema/components/websocket/dynamoDb/ttlDynamoTemplate.ejs +32 -0
  136. package/src/TemplateData/flowSchema/components/websocket/dynamoDb/userUploadRecords.js +61 -0
  137. package/src/TemplateData/flowSchema/dynamoDb/data.js +117 -0
  138. package/src/TemplateData/flowSchema/eventBridge/functionYaml/data.js +172 -0
  139. package/src/TemplateData/flowSchema/eventBridge/functionYaml/template.ejs +21 -0
  140. package/src/TemplateData/flowSchema/eventBridge/handler/inv/data.js +70 -0
  141. package/src/TemplateData/flowSchema/eventBridge/handler/inv/request.json +7 -0
  142. package/src/TemplateData/flowSchema/eventBridge/handler/inv/template.ejs +60 -0
  143. package/src/TemplateData/flowSchema/eventBridge/mainFunction/data.js +68 -0
  144. package/src/TemplateData/flowSchema/eventBridge/mainFunction/request.json +5 -0
  145. package/src/TemplateData/flowSchema/eventBridge/mainFunction/template.ejs +59 -0
  146. package/src/TemplateData/flowSchema/externalTopic/Complete/functionYaml/data.js +114 -0
  147. package/src/TemplateData/flowSchema/externalTopic/Complete/functionYaml/template.ejs +20 -0
  148. package/src/TemplateData/flowSchema/externalTopic/Complete/handler/data.js +76 -0
  149. package/src/TemplateData/flowSchema/externalTopic/Complete/handler/template.ejs +81 -0
  150. package/src/TemplateData/flowSchema/externalTopic/Complete/mainFunction/data.js +70 -0
  151. package/src/TemplateData/flowSchema/externalTopic/Complete/mainFunction/template.ejs +58 -0
  152. package/src/TemplateData/flowSchema/externalTopic/Process/functionYaml/data.js +163 -0
  153. package/src/TemplateData/flowSchema/externalTopic/Process/functionYaml/template.ejs +20 -0
  154. package/src/TemplateData/flowSchema/externalTopic/Process/handler/data.js +68 -0
  155. package/src/TemplateData/flowSchema/externalTopic/Process/handler/template.ejs +101 -0
  156. package/src/TemplateData/flowSchema/externalTopic/sns-in-sqs/data.js +79 -0
  157. package/src/TemplateData/flowSchema/externalTopic/sns-in-sqs/template.ejs +47 -0
  158. package/src/TemplateData/flowSchema/externalTopic/sns-out/data.js +71 -0
  159. package/src/TemplateData/flowSchema/flowSchemaMainFunction/data.js +116 -0
  160. package/src/TemplateData/flowSchema/flowSchemaMainFunction/template.ejs +92 -0
  161. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComplete/functionYaml/data.js +116 -0
  162. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComplete/functionYaml/template.ejs +21 -0
  163. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComplete/handler/data.js +70 -0
  164. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComplete/handler/template.ejs +81 -0
  165. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComplete/mainFunction/data.js +70 -0
  166. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComplete/mainFunction/template.ejs +61 -0
  167. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComponent/functionYaml/data.js +152 -0
  168. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComponent/functionYaml/template.ejs +17 -0
  169. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComponent/handler/DsqHandlerTemplate.ejs +91 -0
  170. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComponent/handler/SqsHandlerTemplate.ejs +87 -0
  171. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComponent/handler/data.js +83 -0
  172. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/FlowSchemaComponent/functionYaml/data.js +116 -0
  173. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/FlowSchemaComponent/functionYaml/template.ejs +18 -0
  174. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/FlowSchemaComponent/handler/data.js +66 -0
  175. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/FlowSchemaComponent/handler/template.ejs +107 -0
  176. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/FlowSchemaComponent/mainFunction/data.js +67 -0
  177. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/FlowSchemaComponent/mainFunction/template.ejs +106 -0
  178. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/sns-in/data.js +100 -0
  179. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/sns-in/sqsTemplate.ejs +43 -0
  180. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/sns-out/data.js +74 -0
  181. package/src/TemplateData/flowSchema/flowStep/functionYaml/data.js +157 -0
  182. package/src/TemplateData/flowSchema/flowStep/functionYaml/template.ejs +20 -0
  183. package/src/TemplateData/flowSchema/flowStep/handler/data.js +102 -0
  184. package/src/TemplateData/flowSchema/flowStep/handler/template.ejs +89 -0
  185. package/src/TemplateData/flowSchema/flowStep/mainFunction/data.js +101 -0
  186. package/src/TemplateData/flowSchema/flowStep/mainFunction/template.ejs +58 -0
  187. package/src/TemplateData/flowSchema/flowStep/sns-in/data.js +98 -0
  188. package/src/TemplateData/flowSchema/flowStep/sns-in/template.ejs +59 -0
  189. package/src/TemplateData/flowSchema/generateTemplateData.js +803 -0
  190. package/src/TemplateData/flowSchema/lambdaSync/Api/functionYaml/data.js +92 -0
  191. package/src/TemplateData/flowSchema/lambdaSync/Api/functionYaml/template.ejs +28 -0
  192. package/src/TemplateData/flowSchema/lambdaSync/Api/handler/data.js +69 -0
  193. package/src/TemplateData/flowSchema/lambdaSync/Api/handler/template.ejs +86 -0
  194. package/src/TemplateData/flowSchema/lambdaSync/Inv/functionYaml/data.js +80 -0
  195. package/src/TemplateData/flowSchema/lambdaSync/Inv/functionYaml/template.ejs +13 -0
  196. package/src/TemplateData/flowSchema/lambdaSync/Inv/handler/data.js +65 -0
  197. package/src/TemplateData/flowSchema/lambdaSync/Inv/handler/template.ejs +52 -0
  198. package/src/TemplateData/flowSchema/register/complete/functionYaml/data.js +119 -0
  199. package/src/TemplateData/flowSchema/register/complete/functionYaml/template.ejs +22 -0
  200. package/src/TemplateData/flowSchema/register/complete/handler/data.js +59 -0
  201. package/src/TemplateData/flowSchema/register/complete/handler/template.ejs +85 -0
  202. package/src/TemplateData/flowSchema/register/complete/mainFunction/data.js +63 -0
  203. package/src/TemplateData/flowSchema/register/complete/mainFunction/template.ejs +176 -0
  204. package/src/TemplateData/flowSchema/register/dynamoDB/register.js +71 -0
  205. package/src/TemplateData/flowSchema/register/sns-in/data.js +57 -0
  206. package/src/TemplateData/flowSchema/register/sns-in/template.ejs +45 -0
  207. package/src/TemplateData/flowSchema/register/subscriptionOutAll/data.js +82 -0
  208. package/src/TemplateData/flowSchema/register/subscriptionOutAll/template.ejs +13 -0
  209. package/src/TemplateData/flowSchema/register/wbs/functionYaml/data.js +112 -0
  210. package/src/TemplateData/flowSchema/register/wbs/functionYaml/template.ejs +19 -0
  211. package/src/TemplateData/flowSchema/register/wbs/handler/data.js +66 -0
  212. package/src/TemplateData/flowSchema/register/wbs/handler/template.ejs +83 -0
  213. package/src/TemplateData/flowSchema/register/wbs/mainFunction/data.js +57 -0
  214. package/src/TemplateData/flowSchema/register/wbs/mainFunction/template.ejs +165 -0
  215. package/src/TemplateData/flowSchema/statusFieldComponent/FunctionYaml/data.js +151 -0
  216. package/src/TemplateData/flowSchema/statusFieldComponent/FunctionYaml/template.ejs +22 -0
  217. package/src/TemplateData/flowSchema/statusFieldComponent/Handler/data.js +70 -0
  218. package/src/TemplateData/flowSchema/statusFieldComponent/Handler/template.ejs +86 -0
  219. package/src/TemplateData/flowSchema/statusFieldComponent/MainFunction/data.js +63 -0
  220. package/src/TemplateData/flowSchema/statusFieldComponent/MainFunction/template.ejs +80 -0
  221. package/src/TemplateData/flowSchema/statusFieldComponent/sns/data.js +63 -0
  222. package/src/TemplateData/flowSchema/statusFieldComponent/sns/template.ejs +59 -0
  223. package/src/TemplateData/flowSchema/templateByStatusType/statusFieldTemplate.ejs +30 -0
  224. package/src/TemplateData/flowSchema/templateByStatusType/storedCacheTemplate.ejs +26 -0
  225. package/src/TemplateData/flowSchema/templateByStatusType/triggerCacheTemplate.ejs +44 -0
  226. package/src/TemplateData/flowSchema/triggerCacheComponent/checkTriggerCacheComplete/functionYaml/data.js +139 -0
  227. package/src/TemplateData/flowSchema/triggerCacheComponent/checkTriggerCacheComplete/functionYaml/template.ejs +22 -0
  228. package/src/TemplateData/flowSchema/triggerCacheComponent/checkTriggerCacheComplete/handler/data.js +70 -0
  229. package/src/TemplateData/flowSchema/triggerCacheComponent/checkTriggerCacheComplete/handler/template.ejs +89 -0
  230. package/src/TemplateData/flowSchema/triggerCacheComponent/checkTriggerCacheComplete/mainFunction/data.js +72 -0
  231. package/src/TemplateData/flowSchema/triggerCacheComponent/checkTriggerCacheComplete/mainFunction/template.ejs +85 -0
  232. package/src/TemplateData/flowSchema/triggerCacheComponent/processTriggerCache/functionYaml/data.js +145 -0
  233. package/src/TemplateData/flowSchema/triggerCacheComponent/processTriggerCache/functionYaml/template.ejs +22 -0
  234. package/src/TemplateData/flowSchema/triggerCacheComponent/processTriggerCache/handler/data.js +74 -0
  235. package/src/TemplateData/flowSchema/triggerCacheComponent/processTriggerCache/handler/template.ejs +89 -0
  236. package/src/TemplateData/flowSchema/triggerCacheComponent/processTriggerCache/mainFunction/data.js +70 -0
  237. package/src/TemplateData/flowSchema/triggerCacheComponent/processTriggerCache/mainFunction/template.ejs +58 -0
  238. package/src/TemplateData/flowSchema/triggerCacheComponent/triggerCacheComplete/functionYaml/data.js +134 -0
  239. package/src/TemplateData/flowSchema/triggerCacheComponent/triggerCacheComplete/functionYaml/template.ejs +21 -0
  240. package/src/TemplateData/flowSchema/triggerCacheComponent/triggerCacheComplete/handler/data.js +70 -0
  241. package/src/TemplateData/flowSchema/triggerCacheComponent/triggerCacheComplete/handler/template.ejs +88 -0
  242. package/src/TemplateData/flowSchema/triggerCacheComponent/triggerCacheComplete/mainFunction/data.js +69 -0
  243. package/src/TemplateData/flowSchema/triggerCacheComponent/triggerCacheComplete/mainFunction/template.ejs +74 -0
  244. package/src/TemplateData/flowSchema/triggerCacheComponent/triggerCacheQueue/data.js +83 -0
  245. package/src/TemplateData/flowSchema/triggerCacheComponent/triggerCacheQueue/template.ejs +49 -0
  246. package/src/TemplateData/flowSchema/webSocketComplete/functionYaml/data.js +140 -0
  247. package/src/TemplateData/flowSchema/webSocketComplete/functionYaml/template.ejs +21 -0
  248. package/src/TemplateData/flowSchema/webSocketComplete/handler/data.js +62 -0
  249. package/src/TemplateData/flowSchema/webSocketComplete/handler/template.ejs +85 -0
  250. package/src/TemplateData/flowSchema/webSocketComplete/mainFunction/data.js +55 -0
  251. package/src/TemplateData/flowSchema/webSocketComplete/mainFunction/template.ejs +134 -0
  252. package/src/TemplateData/flowSchema/webSocketComplete/sqs/data.js +100 -0
  253. package/src/TemplateData/flowSchema/webSocketComplete/sqs/template.ejs +43 -0
  254. package/src/TemplateData/flowSchema/webSocketComplete/sqs/templateSub.ejs +7 -0
  255. package/src/TemplateData/generateRole/createSharedResource.js +469 -0
  256. package/src/TemplateData/generateRole/data.js +97 -0
  257. package/src/TemplateData/generateRole/sharedResourceTemplate.ejs +32 -0
  258. package/src/TemplateData/generateRole/template.ejs +33 -0
  259. package/src/TemplateData/perActionComplete/create/handler/data.js +61 -0
  260. package/src/TemplateData/perActionComplete/create/handler/template.ejs +126 -0
  261. package/src/TemplateData/perActionComplete/create/mainFunction/createObjectComplete_main.js +196 -0
  262. package/src/TemplateData/perActionComplete/create/mainFunction/data.js +53 -0
  263. package/src/TemplateData/perActionComplete/create/mainFunction/template.ejs +187 -0
  264. package/src/TemplateData/perActionComplete/create/sns-in-sqs/data.js +62 -0
  265. package/src/TemplateData/perActionComplete/create/sns-in-sqs/template.ejs +47 -0
  266. package/src/TemplateData/perActionComplete/create/sns-out/data.js +67 -0
  267. package/src/TemplateData/perActionComplete/create/sns-out/template.ejs +10 -0
  268. package/src/TemplateData/perActionComplete/create/yaml/data.js +110 -0
  269. package/src/TemplateData/perActionComplete/create/yaml/template.ejs +21 -0
  270. package/src/TemplateData/perActionComplete/delete/handler/data.js +61 -0
  271. package/src/TemplateData/perActionComplete/delete/handler/template.ejs +125 -0
  272. package/src/TemplateData/perActionComplete/delete/mainFunction/data.js +54 -0
  273. package/src/TemplateData/perActionComplete/delete/mainFunction/template.ejs +87 -0
  274. package/src/TemplateData/perActionComplete/delete/sns-in-sqs/data.js +63 -0
  275. package/src/TemplateData/perActionComplete/delete/sns-in-sqs/template.ejs +47 -0
  276. package/src/TemplateData/perActionComplete/delete/sns-out/data.js +67 -0
  277. package/src/TemplateData/perActionComplete/delete/yaml/data.js +108 -0
  278. package/src/TemplateData/perActionComplete/delete/yaml/template.ejs +20 -0
  279. package/src/TemplateData/perActionComplete/generateTemplateData.js +162 -0
  280. package/src/TemplateData/perActionComplete/get/handler/data.js +61 -0
  281. package/src/TemplateData/perActionComplete/get/handler/template.ejs +125 -0
  282. package/src/TemplateData/perActionComplete/get/mainFunction/data.js +53 -0
  283. package/src/TemplateData/perActionComplete/get/mainFunction/template.ejs +131 -0
  284. package/src/TemplateData/perActionComplete/get/sns-in-sqs/data.js +62 -0
  285. package/src/TemplateData/perActionComplete/get/sns-in-sqs/template.ejs +47 -0
  286. package/src/TemplateData/perActionComplete/get/sns-out/data.js +67 -0
  287. package/src/TemplateData/perActionComplete/get/yaml/data.js +111 -0
  288. package/src/TemplateData/perActionComplete/get/yaml/template.ejs +21 -0
  289. package/src/TemplateData/perActionComplete/update/handler/data.js +61 -0
  290. package/src/TemplateData/perActionComplete/update/handler/template.ejs +125 -0
  291. package/src/TemplateData/perActionComplete/update/mainFunction/data.js +53 -0
  292. package/src/TemplateData/perActionComplete/update/mainFunction/template.ejs +133 -0
  293. package/src/TemplateData/perActionComplete/update/sns-in-sqs/data.js +62 -0
  294. package/src/TemplateData/perActionComplete/update/sns-in-sqs/template.ejs +47 -0
  295. package/src/TemplateData/perActionComplete/update/sns-out/data.js +64 -0
  296. package/src/TemplateData/perActionComplete/update/yaml/data.js +111 -0
  297. package/src/TemplateData/perActionComplete/update/yaml/template.ejs +20 -0
  298. package/src/TemplateData/processLogical/generateTemplateData.js +60 -0
  299. package/src/TemplateData/processLogical/handler/data.js +50 -0
  300. package/src/TemplateData/processLogical/handler/template.ejs +127 -0
  301. package/src/TemplateData/processLogical/mainFunction/data.js +50 -0
  302. package/src/TemplateData/processLogical/mainFunction/template.ejs +424 -0
  303. package/src/TemplateData/processLogical/yaml/data.js +175 -0
  304. package/src/TemplateData/processLogical/yaml/template.ejs +12 -0
  305. package/src/TemplateData/processLogicalPagination/DsqYaml/data.js +50 -0
  306. package/src/TemplateData/processLogicalPagination/DsqYaml/template.ejs +32 -0
  307. package/src/TemplateData/processLogicalPagination/generateTemplateData.js +68 -0
  308. package/src/TemplateData/processLogicalPagination/handler/dsq/data.js +50 -0
  309. package/src/TemplateData/processLogicalPagination/handler/dsq/template.ejs +160 -0
  310. package/src/TemplateData/processLogicalPagination/handler/sqs/data.js +49 -0
  311. package/src/TemplateData/processLogicalPagination/handler/sqs/template.ejs +143 -0
  312. package/src/TemplateData/processLogicalPagination/mainFunction/data.js +49 -0
  313. package/src/TemplateData/processLogicalPagination/mainFunction/template.ejs +210 -0
  314. package/src/TemplateData/processLogicalPagination/yaml/dsq/data.js +166 -0
  315. package/src/TemplateData/processLogicalPagination/yaml/dsq/template.ejs +12 -0
  316. package/src/TemplateData/processLogicalPagination/yaml/sqs/data.js +174 -0
  317. package/src/TemplateData/processLogicalPagination/yaml/sqs/template.ejs +13 -0
  318. package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/data.js +166 -0
  319. package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/template.ejs +9 -0
  320. package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/templateByHandler/apiTemplate.ejs +20 -0
  321. package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/templateByHandler/dsqTemplate.ejs +17 -0
  322. package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/templateByHandler/invTemplate.ejs +13 -0
  323. package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/templateByHandler/sqsTemplate.ejs +18 -0
  324. package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/data.js +72 -0
  325. package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/template.ejs +9 -0
  326. package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/templateByHandler/apiTemplate.ejs +153 -0
  327. package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/templateByHandler/dsqTemplate.ejs +197 -0
  328. package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/templateByHandler/invTemplate.ejs +141 -0
  329. package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/templateByHandler/sqsTemplate.ejs +181 -0
  330. package/src/TemplateData/relationshipPerAction/changeRelationship/action/mainFunction/data.js +59 -0
  331. package/src/TemplateData/relationshipPerAction/changeRelationship/action/mainFunction/template.ejs +377 -0
  332. package/src/TemplateData/relationshipPerAction/changeRelationship/action/sns-in-sqs/data.js +75 -0
  333. package/src/TemplateData/relationshipPerAction/changeRelationship/action/sns-in-sqs/snsTemplate.ejs +59 -0
  334. package/src/TemplateData/relationshipPerAction/changeRelationship/action/sns-in-sqs/sqsTemplate.ejs +43 -0
  335. package/src/TemplateData/relationshipPerAction/changeRelationship/complete/functionYaml/data.js +120 -0
  336. package/src/TemplateData/relationshipPerAction/changeRelationship/complete/functionYaml/template.ejs +20 -0
  337. package/src/TemplateData/relationshipPerAction/changeRelationship/complete/handler/sqs/data.js +60 -0
  338. package/src/TemplateData/relationshipPerAction/changeRelationship/complete/handler/sqs/template.ejs +126 -0
  339. package/src/TemplateData/relationshipPerAction/changeRelationship/complete/mainFunction/data.js +55 -0
  340. package/src/TemplateData/relationshipPerAction/changeRelationship/complete/mainFunction/template.ejs +151 -0
  341. package/src/TemplateData/relationshipPerAction/changeRelationship/complete/sns-in-sqs/data.js +63 -0
  342. package/src/TemplateData/relationshipPerAction/changeRelationship/complete/sns-in-sqs/template.ejs +46 -0
  343. package/src/TemplateData/relationshipPerAction/changeRelationship/complete/sns-out/data.js +64 -0
  344. package/src/TemplateData/relationshipPerAction/changeRelationship/complete/sns-out/template.ejs +10 -0
  345. package/src/TemplateData/relationshipPerAction/create/action/functionYaml/data.js +206 -0
  346. package/src/TemplateData/relationshipPerAction/create/action/functionYaml/template.ejs +9 -0
  347. package/src/TemplateData/relationshipPerAction/create/action/functionYaml/templateByHandler/apiTemplate.ejs +21 -0
  348. package/src/TemplateData/relationshipPerAction/create/action/functionYaml/templateByHandler/dsqTemplate.ejs +17 -0
  349. package/src/TemplateData/relationshipPerAction/create/action/functionYaml/templateByHandler/invTemplate.ejs +13 -0
  350. package/src/TemplateData/relationshipPerAction/create/action/functionYaml/templateByHandler/sqsTemplate.ejs +17 -0
  351. package/src/TemplateData/relationshipPerAction/create/action/handler/data.js +72 -0
  352. package/src/TemplateData/relationshipPerAction/create/action/handler/template.ejs +9 -0
  353. package/src/TemplateData/relationshipPerAction/create/action/handler/templateByHandler/apiTemplate.ejs +137 -0
  354. package/src/TemplateData/relationshipPerAction/create/action/handler/templateByHandler/dsqTemplate.ejs +179 -0
  355. package/src/TemplateData/relationshipPerAction/create/action/handler/templateByHandler/invTemplate.ejs +123 -0
  356. package/src/TemplateData/relationshipPerAction/create/action/handler/templateByHandler/sqsTemplate.ejs +163 -0
  357. package/src/TemplateData/relationshipPerAction/create/action/mainFunction/data.js +58 -0
  358. package/src/TemplateData/relationshipPerAction/create/action/mainFunction/template.ejs +443 -0
  359. package/src/TemplateData/relationshipPerAction/create/action/sns-in-sqs/data.js +76 -0
  360. package/src/TemplateData/relationshipPerAction/create/action/sns-in-sqs/snsTemplate.ejs +59 -0
  361. package/src/TemplateData/relationshipPerAction/create/action/sns-in-sqs/sqsTemplate.ejs +43 -0
  362. package/src/TemplateData/relationshipPerAction/create/complete/functionYaml/data.js +121 -0
  363. package/src/TemplateData/relationshipPerAction/create/complete/functionYaml/request.json +0 -0
  364. package/src/TemplateData/relationshipPerAction/create/complete/functionYaml/template.ejs +20 -0
  365. package/src/TemplateData/relationshipPerAction/create/complete/handler/sqs/data.js +60 -0
  366. package/src/TemplateData/relationshipPerAction/create/complete/handler/sqs/request.json +0 -0
  367. package/src/TemplateData/relationshipPerAction/create/complete/handler/sqs/template.ejs +126 -0
  368. package/src/TemplateData/relationshipPerAction/create/complete/mainFunction/data.js +55 -0
  369. package/src/TemplateData/relationshipPerAction/create/complete/mainFunction/request.json +0 -0
  370. package/src/TemplateData/relationshipPerAction/create/complete/mainFunction/template.ejs +152 -0
  371. package/src/TemplateData/relationshipPerAction/create/complete/sns-in-sqs/data.js +62 -0
  372. package/src/TemplateData/relationshipPerAction/create/complete/sns-in-sqs/request.json +0 -0
  373. package/src/TemplateData/relationshipPerAction/create/complete/sns-in-sqs/template.ejs +46 -0
  374. package/src/TemplateData/relationshipPerAction/create/complete/sns-out/data.js +62 -0
  375. package/src/TemplateData/relationshipPerAction/create/complete/sns-out/request.json +0 -0
  376. package/src/TemplateData/relationshipPerAction/create/complete/sns-out/template.ejs +10 -0
  377. package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/data.js +206 -0
  378. package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/template.ejs +9 -0
  379. package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/templateByHandler/apiTemplate.ejs +21 -0
  380. package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/templateByHandler/dsqTemplate.ejs +17 -0
  381. package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/templateByHandler/invTemplate.ejs +13 -0
  382. package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/templateByHandler/sqsTemplate.ejs +18 -0
  383. package/src/TemplateData/relationshipPerAction/delete/action/handler/data.js +72 -0
  384. package/src/TemplateData/relationshipPerAction/delete/action/handler/template.ejs +9 -0
  385. package/src/TemplateData/relationshipPerAction/delete/action/handler/templateByHandler/apiTemplate.ejs +139 -0
  386. package/src/TemplateData/relationshipPerAction/delete/action/handler/templateByHandler/dsqTemplate.ejs +182 -0
  387. package/src/TemplateData/relationshipPerAction/delete/action/handler/templateByHandler/invTemplate.ejs +124 -0
  388. package/src/TemplateData/relationshipPerAction/delete/action/handler/templateByHandler/sqsTemplate.ejs +162 -0
  389. package/src/TemplateData/relationshipPerAction/delete/action/mainFunction/data.js +58 -0
  390. package/src/TemplateData/relationshipPerAction/delete/action/mainFunction/template.ejs +365 -0
  391. package/src/TemplateData/relationshipPerAction/delete/action/sns-in-sqs/data.js +76 -0
  392. package/src/TemplateData/relationshipPerAction/delete/action/sns-in-sqs/snsTemplate.ejs +59 -0
  393. package/src/TemplateData/relationshipPerAction/delete/action/sns-in-sqs/sqsTemplate.ejs +43 -0
  394. package/src/TemplateData/relationshipPerAction/delete/complete/functionYaml/data.js +119 -0
  395. package/src/TemplateData/relationshipPerAction/delete/complete/functionYaml/request.json +0 -0
  396. package/src/TemplateData/relationshipPerAction/delete/complete/functionYaml/template.ejs +20 -0
  397. package/src/TemplateData/relationshipPerAction/delete/complete/handler/sqs/data.js +61 -0
  398. package/src/TemplateData/relationshipPerAction/delete/complete/handler/sqs/request.json +0 -0
  399. package/src/TemplateData/relationshipPerAction/delete/complete/handler/sqs/template.ejs +126 -0
  400. package/src/TemplateData/relationshipPerAction/delete/complete/mainFunction/data.js +55 -0
  401. package/src/TemplateData/relationshipPerAction/delete/complete/mainFunction/request.json +0 -0
  402. package/src/TemplateData/relationshipPerAction/delete/complete/mainFunction/template.ejs +142 -0
  403. package/src/TemplateData/relationshipPerAction/delete/complete/sns-in-sqs/data.js +64 -0
  404. package/src/TemplateData/relationshipPerAction/delete/complete/sns-in-sqs/request.json +0 -0
  405. package/src/TemplateData/relationshipPerAction/delete/complete/sns-in-sqs/template.ejs +47 -0
  406. package/src/TemplateData/relationshipPerAction/delete/complete/sns-out/data.js +64 -0
  407. package/src/TemplateData/relationshipPerAction/delete/complete/sns-out/request.json +0 -0
  408. package/src/TemplateData/relationshipPerAction/delete/complete/sns-out/template.ejs +10 -0
  409. package/src/TemplateData/relationshipPerAction/generateTemplateData.js +547 -0
  410. package/src/TemplateData/relationshipPerAction/get/action/functionYaml/data.js +205 -0
  411. package/src/TemplateData/relationshipPerAction/get/action/functionYaml/template.ejs +9 -0
  412. package/src/TemplateData/relationshipPerAction/get/action/functionYaml/templateByHandler/apiTemplate.ejs +21 -0
  413. package/src/TemplateData/relationshipPerAction/get/action/functionYaml/templateByHandler/dsqTemplate.ejs +17 -0
  414. package/src/TemplateData/relationshipPerAction/get/action/functionYaml/templateByHandler/invTemplate.ejs +13 -0
  415. package/src/TemplateData/relationshipPerAction/get/action/functionYaml/templateByHandler/sqsTemplate.ejs +18 -0
  416. package/src/TemplateData/relationshipPerAction/get/action/handler/data.js +72 -0
  417. package/src/TemplateData/relationshipPerAction/get/action/handler/template.ejs +9 -0
  418. package/src/TemplateData/relationshipPerAction/get/action/handler/templateByHandler/apiTemplate.ejs +137 -0
  419. package/src/TemplateData/relationshipPerAction/get/action/handler/templateByHandler/dsqTemplate.ejs +178 -0
  420. package/src/TemplateData/relationshipPerAction/get/action/handler/templateByHandler/invTemplate.ejs +122 -0
  421. package/src/TemplateData/relationshipPerAction/get/action/handler/templateByHandler/sqsTemplate.ejs +163 -0
  422. package/src/TemplateData/relationshipPerAction/get/action/mainFunction/data.js +57 -0
  423. package/src/TemplateData/relationshipPerAction/get/action/mainFunction/template.ejs +320 -0
  424. package/src/TemplateData/relationshipPerAction/get/action/sns-in-sqs/data.js +76 -0
  425. package/src/TemplateData/relationshipPerAction/get/action/sns-in-sqs/snsTemplate.ejs +59 -0
  426. package/src/TemplateData/relationshipPerAction/get/action/sns-in-sqs/sqsTemplate.ejs +43 -0
  427. package/src/TemplateData/relationshipPerAction/get/complete/functionYaml/data.js +120 -0
  428. package/src/TemplateData/relationshipPerAction/get/complete/functionYaml/request.json +0 -0
  429. package/src/TemplateData/relationshipPerAction/get/complete/functionYaml/template.ejs +20 -0
  430. package/src/TemplateData/relationshipPerAction/get/complete/handler/sqs/data.js +62 -0
  431. package/src/TemplateData/relationshipPerAction/get/complete/handler/sqs/request.json +0 -0
  432. package/src/TemplateData/relationshipPerAction/get/complete/handler/sqs/template.ejs +127 -0
  433. package/src/TemplateData/relationshipPerAction/get/complete/mainFunction/data.js +56 -0
  434. package/src/TemplateData/relationshipPerAction/get/complete/mainFunction/request.json +0 -0
  435. package/src/TemplateData/relationshipPerAction/get/complete/mainFunction/template.ejs +144 -0
  436. package/src/TemplateData/relationshipPerAction/get/complete/sns-in-sqs/data.js +65 -0
  437. package/src/TemplateData/relationshipPerAction/get/complete/sns-in-sqs/request.json +0 -0
  438. package/src/TemplateData/relationshipPerAction/get/complete/sns-in-sqs/template.ejs +47 -0
  439. package/src/TemplateData/relationshipPerAction/get/complete/sns-out/data.js +65 -0
  440. package/src/TemplateData/relationshipPerAction/get/complete/sns-out/request.json +0 -0
  441. package/src/TemplateData/relationshipPerAction/get/complete/sns-out/template.ejs +10 -0
  442. package/src/TemplateData/relationshipPerAction/moveRelationship/action/functionYaml/data.js +172 -0
  443. package/src/TemplateData/relationshipPerAction/moveRelationship/action/functionYaml/template.ejs +9 -0
  444. package/src/TemplateData/relationshipPerAction/moveRelationship/action/functionYaml/templateByHandler/apiTemplate.ejs +20 -0
  445. package/src/TemplateData/relationshipPerAction/moveRelationship/action/functionYaml/templateByHandler/dsqTemplate.ejs +17 -0
  446. package/src/TemplateData/relationshipPerAction/moveRelationship/action/functionYaml/templateByHandler/invTemplate.ejs +13 -0
  447. package/src/TemplateData/relationshipPerAction/moveRelationship/action/functionYaml/templateByHandler/sqsTemplate.ejs +17 -0
  448. package/src/TemplateData/relationshipPerAction/moveRelationship/action/handler/data.js +72 -0
  449. package/src/TemplateData/relationshipPerAction/moveRelationship/action/handler/template.ejs +9 -0
  450. package/src/TemplateData/relationshipPerAction/moveRelationship/action/handler/templateByHandler/apiTemplate.ejs +155 -0
  451. package/src/TemplateData/relationshipPerAction/moveRelationship/action/handler/templateByHandler/dsqTemplate.ejs +198 -0
  452. package/src/TemplateData/relationshipPerAction/moveRelationship/action/handler/templateByHandler/invTemplate.ejs +143 -0
  453. package/src/TemplateData/relationshipPerAction/moveRelationship/action/handler/templateByHandler/sqsTemplate.ejs +182 -0
  454. package/src/TemplateData/relationshipPerAction/moveRelationship/action/mainFunction/data.js +59 -0
  455. package/src/TemplateData/relationshipPerAction/moveRelationship/action/mainFunction/template.ejs +382 -0
  456. package/src/TemplateData/relationshipPerAction/moveRelationship/action/sns-in-sqs/data.js +75 -0
  457. package/src/TemplateData/relationshipPerAction/moveRelationship/action/sns-in-sqs/snsTemplate.ejs +59 -0
  458. package/src/TemplateData/relationshipPerAction/moveRelationship/action/sns-in-sqs/sqsTemplate.ejs +43 -0
  459. package/src/TemplateData/relationshipPerAction/moveRelationship/complete/functionYaml/data.js +119 -0
  460. package/src/TemplateData/relationshipPerAction/moveRelationship/complete/functionYaml/template.ejs +20 -0
  461. package/src/TemplateData/relationshipPerAction/moveRelationship/complete/handler/sqs/data.js +60 -0
  462. package/src/TemplateData/relationshipPerAction/moveRelationship/complete/handler/sqs/template.ejs +126 -0
  463. package/src/TemplateData/relationshipPerAction/moveRelationship/complete/mainFunction/data.js +58 -0
  464. package/src/TemplateData/relationshipPerAction/moveRelationship/complete/mainFunction/template.ejs +156 -0
  465. package/src/TemplateData/relationshipPerAction/moveRelationship/complete/sns-in-sqs/data.js +64 -0
  466. package/src/TemplateData/relationshipPerAction/moveRelationship/complete/sns-in-sqs/template.ejs +46 -0
  467. package/src/TemplateData/relationshipPerAction/moveRelationship/complete/sns-out/data.js +64 -0
  468. package/src/TemplateData/relationshipPerAction/moveRelationship/complete/sns-out/template.ejs +10 -0
  469. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/data.js +196 -0
  470. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/template.ejs +9 -0
  471. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/templateByHandler/apiTemplate.ejs +20 -0
  472. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/templateByHandler/dsqTemplate.ejs +18 -0
  473. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/templateByHandler/invTemplate.ejs +13 -0
  474. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/templateByHandler/sqsTemplate.ejs +17 -0
  475. package/src/TemplateData/relationshipPerAction/update/action/handler/data.js +73 -0
  476. package/src/TemplateData/relationshipPerAction/update/action/handler/template.ejs +9 -0
  477. package/src/TemplateData/relationshipPerAction/update/action/handler/templateByHandler/apiTemplate.ejs +138 -0
  478. package/src/TemplateData/relationshipPerAction/update/action/handler/templateByHandler/dsqTemplate.ejs +180 -0
  479. package/src/TemplateData/relationshipPerAction/update/action/handler/templateByHandler/invTemplate.ejs +124 -0
  480. package/src/TemplateData/relationshipPerAction/update/action/handler/templateByHandler/sqsTemplate.ejs +163 -0
  481. package/src/TemplateData/relationshipPerAction/update/action/mainFunction/data.js +60 -0
  482. package/src/TemplateData/relationshipPerAction/update/action/mainFunction/request.json +1 -0
  483. package/src/TemplateData/relationshipPerAction/update/action/mainFunction/template.ejs +387 -0
  484. package/src/TemplateData/relationshipPerAction/update/action/sns-in-sqs/data.js +84 -0
  485. package/src/TemplateData/relationshipPerAction/update/action/sns-in-sqs/request.json +3 -0
  486. package/src/TemplateData/relationshipPerAction/update/action/sns-in-sqs/snsTemplate.ejs +59 -0
  487. package/src/TemplateData/relationshipPerAction/update/action/sns-in-sqs/sqsTemplate.ejs +43 -0
  488. package/src/TemplateData/relationshipPerAction/update/action/sns-out/data.js +67 -0
  489. package/src/TemplateData/relationshipPerAction/update/action/sns-out/request.json +3 -0
  490. package/src/TemplateData/relationshipPerAction/update/complete/functionYaml/data.js +120 -0
  491. package/src/TemplateData/relationshipPerAction/update/complete/functionYaml/request.json +3 -0
  492. package/src/TemplateData/relationshipPerAction/update/complete/functionYaml/template.ejs +21 -0
  493. package/src/TemplateData/relationshipPerAction/update/complete/handler/sqs/data.js +60 -0
  494. package/src/TemplateData/relationshipPerAction/update/complete/handler/sqs/request.json +0 -0
  495. package/src/TemplateData/relationshipPerAction/update/complete/handler/sqs/template.ejs +128 -0
  496. package/src/TemplateData/relationshipPerAction/update/complete/mainFunction/data.js +56 -0
  497. package/src/TemplateData/relationshipPerAction/update/complete/mainFunction/request.json +1 -0
  498. package/src/TemplateData/relationshipPerAction/update/complete/mainFunction/template.ejs +146 -0
  499. package/src/TemplateData/relationshipPerAction/update/complete/sns-in-sqs/data.js +63 -0
  500. package/src/TemplateData/relationshipPerAction/update/complete/sns-in-sqs/request.json +3 -0
  501. package/src/TemplateData/relationshipPerAction/update/complete/sns-in-sqs/template.ejs +46 -0
  502. package/src/TemplateData/relationshipPerAction/update/complete/sns-out/data.js +62 -0
  503. package/src/TemplateData/relationshipPerAction/update/complete/sns-out/request.json +3 -0
  504. package/src/TemplateData/relationshipPerAction/update/complete/sns-out/template.ejs +10 -0
  505. package/src/TemplateData/resourceYaml/dynamodb/defaultDynamoDbTable.js +145 -0
  506. package/src/TemplateData/resourceYaml/dynamodb/generateDynamoPerLink.js +115 -0
  507. package/src/TemplateData/resourceYaml/dynamodb/mainResourcePerObjectSchemaData.js +166 -0
  508. package/src/TemplateData/resourceYaml/dynamodb/template.ejs +29 -0
  509. package/src/TemplateData/resourceYaml/filterGenerateResource/data.js +126 -0
  510. package/src/TemplateData/resourceYaml/generateTemplateData.js +149 -0
  511. package/src/TemplateData/resourceYaml/sns-in-sqs/defaultSnsInSqsForFindDataAndProcessLogical.js +91 -0
  512. package/src/TemplateData/resourceYaml/sns-in-sqs/request.json +4 -0
  513. package/src/TemplateData/resourceYaml/sns-in-sqs/snsAndSqsPerActionData.js +85 -0
  514. package/src/TemplateData/resourceYaml/sns-in-sqs/snsTemplate.ejs +59 -0
  515. package/src/TemplateData/resourceYaml/sns-in-sqs/sqsTemplate.ejs +43 -0
  516. package/src/TemplateData/resourceYaml/sns-out/data.js +78 -0
  517. package/src/TemplateData/resourceYaml/sns-out/defaultSnsOutForFindDataAndProcessLogical.js +65 -0
  518. package/src/TemplateData/resourceYaml/sns-out/request.json +3 -0
  519. package/src/TemplateData/resourceYaml/sns-out/template.ejs +10 -0
  520. package/src/libs/Consts.js +432 -0
  521. package/src/libs/GenerateCodeLibs.js +32 -0
  522. package/src/libs/Libs.js +379 -0
  523. package/src/libs/Utils.js +140 -0
@@ -0,0 +1,133 @@
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 { objectHash as hash } from '@izara_project/izara-shared-core';
21
+ import callingFlowSharedLib from '@izara_project/izara-core-library-calling-flow';
22
+ import snsSharedLib from '@izara_project/izara-core-library-sns';
23
+ import asyncFlowSharedLib from '@izara_project/izara-core-library-asynchronous-flow';
24
+ import dynamodbSharedLib from '@izara_project/izara-core-library-dynamodb';
25
+ import { sns } from "@izara_project/izara-core-library-external-request";
26
+
27
+ import { consts as generateCodeConsts } from '@izara_project/izara-code-generate-code-service';
28
+ const { TOPIC_NAME_GENERATE_CODE, } = generateCodeConsts;
29
+
30
+ //(<optionalRequire>)
31
+ //(</optionalRequire>)
32
+
33
+ export default async function updateNodeComplete(
34
+ _izContext,
35
+ returnValue,
36
+ status,
37
+ errorsFound,
38
+ passBackProperties = {}
39
+ ) {
40
+ try {
41
+ _izContext.logger.debug("Function:updateNodeComplete", {
42
+ _izContext: _izContext,
43
+ returnValue: returnValue,
44
+ status: status,
45
+ errorsFound: errorsFound,
46
+ passBackProperties: passBackProperties
47
+ });
48
+
49
+ // start create AwaitingStepId
50
+ let awaitingStepId = asyncFlowSharedLib.createAwaitingStepId(
51
+ hash({
52
+ objectType: returnValue.requestParams.objType.objectType,
53
+ serviceTag: returnValue.requestParams.objType.serviceTag,
54
+ identifiers: returnValue.requestParams.objInstanceFull.identifiers,
55
+ fields: returnValue.requestParams.objInstanceFull.fields
56
+ }),
57
+ PREFIX.updateNode
58
+ )
59
+
60
+ let updateNodePendingObjects = await dynamodbSharedLib.query(
61
+ _izContext,
62
+ await dynamodbSharedLib.tableName(_izContext, "AwaitingMultipleSteps"),
63
+ {
64
+ awaitingStepId: awaitingStepId
65
+ }
66
+ );
67
+ _izContext.logger.debug("updateNodePendingObjects", updateNodePendingObjects);
68
+
69
+ await Promise.all(
70
+ updateNodePendingObjects.Items.map(async ({ pendingStepId }) => {
71
+ if (await asyncFlowSharedLib.checkAllAwaitingStepsFinished(
72
+ _izContext,
73
+ pendingStepId,
74
+ awaitingStepId,
75
+ errorsFound
76
+ )) {
77
+ _izContext.logger.debug("finished all awaitingStep");
78
+
79
+ let updateCompleteMsg = {
80
+ objType: {
81
+ objectType: returnValue.requestParams.objType.objectType,
82
+ serviceTag: returnValue.requestParams.objType.serviceTag
83
+ },
84
+ objInstanceFull: {
85
+ identifiers: returnValue.requestParams.objInstanceFull.identifiers,
86
+ fields: returnValue.requestParams.objInstanceFull.fields
87
+ },
88
+ status: status,
89
+ errorsFound: errorsFound,
90
+ };
91
+
92
+ //(<additionalProperties>)
93
+ //(</additionalProperties>)
94
+
95
+ updateCompleteMsg = callingFlowSharedLib.addParentPassBackPropertiesToSnsResponseMessageObject(passBackProperties, updateCompleteMsg);
96
+ _izContext.logger.debug("after addCallingFlow to SnsResponseMessageObject", updateCompleteMsg);
97
+
98
+ let messageAttributes = callingFlowSharedLib.addParentPassBackCallingFlowToSnsResponseMessageAttributes(passBackProperties, {});
99
+ _izContext.logger.debug("after addCallingFlow to SnsResponseMessageAttributes", updateCompleteMsg);
100
+
101
+ let sendMessageToOutUpdateNodeComplete = {
102
+ Message: JSON.stringify(updateCompleteMsg),
103
+ MessageAttributes: sns.createStringMessageAttributes(_izContext, messageAttributes),
104
+ TopicArn: await snsSharedLib.snsTopicArnByFlowSchema(_izContext, TOPIC_NAME_GENERATE_CODE.outUpdateNodeComplete)
105
+ };
106
+ _izContext.logger.debug("Send Message to OutUpdateNodeComplete::", sendMessageToOutUpdateNodeComplete);
107
+ await sns.publishAsync(_izContext, sendMessageToOutUpdateNodeComplete)
108
+
109
+ }
110
+
111
+ await asyncFlowSharedLib.removeAwaitingMultipleStep(
112
+ _izContext,
113
+ awaitingStepId,
114
+ pendingStepId,
115
+ errorsFound
116
+ );
117
+ })
118
+ )
119
+
120
+ //(<beforeReturn>)
121
+ //(</beforeReturn>)
122
+
123
+ return {
124
+ objType: returnValue.queryResult.objType,
125
+ objInstanceFull: returnValue.queryResult.objInstanceFull,
126
+ errorsFound: errorsFound
127
+ }
128
+
129
+ } catch (err) {
130
+ _izContext.logger.error("error UpdateNodeComplete : ", err)
131
+ throw (err)
132
+ }
133
+ }
@@ -0,0 +1,62 @@
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
+ import path from 'path';
19
+ import { fileURLToPath } from 'url';
20
+ const __filename = fileURLToPath(import.meta.url);
21
+ const __dirname = path.dirname(__filename);
22
+ import consts from '../../../../libs/Consts.js';
23
+ import utils from '../../../../libs/Utils.js';
24
+ const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase } = utils;
25
+ const { SOURCE_PATH, FUNCTION_NAME, SAVE_FILE_NAME } = consts;
26
+
27
+ const templatePath = path.join(__dirname, 'template.ejs');
28
+
29
+ /**
30
+ * create data for dynamoDbYaml tempalte from objectSchema
31
+ * return array of dynamoDb data
32
+ * because one objectSchema can create multiple dynamoDb table
33
+ *
34
+ * @param {Object} _izContext
35
+ * @param {String} saveFilePath
36
+ * @returns {Object[]} - data of multiple dynamoDb template
37
+ */
38
+
39
+ function data(_izContext, srcPath) {
40
+ let createUpdateNodeCompleteQueues = [];
41
+ const createCreateUpdatenodeCompleteQueueNames = [
42
+ {
43
+ queueName: upperCase(FUNCTION_NAME.updateNodeComplete)
44
+ }
45
+ ];
46
+ for (let createUpdateNodeCompleteQueueName of createCreateUpdatenodeCompleteQueueNames) {
47
+ createUpdateNodeCompleteQueues.push({
48
+ templatePath: templatePath,
49
+ templateData: createUpdateNodeCompleteQueueName,
50
+ setting: {
51
+ initialData: 'Resources:\n',
52
+ savePath: path.join(srcPath, SOURCE_PATH.resourceYaml),
53
+ saveFileName: SAVE_FILE_NAME.snsInSqsYaml,
54
+ fileExtension: '.yml',
55
+ isAppend: true
56
+ }
57
+ });
58
+ }
59
+ return createUpdateNodeCompleteQueues;
60
+ }
61
+
62
+ export default data;
@@ -0,0 +1,47 @@
1
+ ##===== [Queue]
2
+ <%- queueName %>:
3
+ Type: "AWS::SQS::Queue"
4
+ Properties:
5
+ QueueName: ${self:custom.iz_resourcePrefix}<%- queueName %>
6
+ RedrivePolicy:
7
+ deadLetterTargetArn:
8
+ # !GetAtt
9
+ Fn::GetAtt:
10
+ - <%- queueName %>DLQ
11
+ - Arn
12
+ maxReceiveCount: 3
13
+ VisibilityTimeout: 120
14
+ ##==== [QueueDLQ]
15
+ <%- queueName %>DLQ:
16
+ Type: AWS::SQS::Queue
17
+ Properties:
18
+ QueueName: ${self:custom.iz_resourcePrefix}<%- queueName %>DLQ
19
+ ##==== [QueuePolicy]
20
+ <%- queueName %>Policy:
21
+ Type: AWS::SQS::QueuePolicy
22
+ Properties:
23
+ PolicyDocument:
24
+ Version: "2012-10-17"
25
+ Statement:
26
+ - Sid: "allow-sns-messages"
27
+ Effect: Allow
28
+ Principal: "*"
29
+ Resource:
30
+ # !GetAtt
31
+ Fn::GetAtt:
32
+ - <%- queueName %>
33
+ - Arn
34
+ Action: "SQS:SendMessage"
35
+ Queues:
36
+ - Ref: <%- queueName %>
37
+ #<#<%- firstLetterUpperCase(queueName) %>QueueSetting#>
38
+ #<#/<%- firstLetterUpperCase(queueName) %>QueueSetting#>
39
+
40
+
41
+ <%_ function firstLetterUpperCase(text){
42
+ return text.charAt(0).toUpperCase() + text.slice(1)
43
+ } _%>
44
+ <%_ function firstLetterLowerCase(str) {
45
+ return str.charAt(0).toLowerCase() + str.slice(1)
46
+ } _%>
47
+
@@ -0,0 +1,64 @@
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
+ import path from 'path';
19
+ import { fileURLToPath } from 'url';
20
+ const __filename = fileURLToPath(import.meta.url);
21
+ const __dirname = path.dirname(__filename);
22
+ import consts from '../../../../libs/Consts.js';
23
+ import utils from '../../../../libs/Utils.js';
24
+ const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase } = utils;
25
+ const { SOURCE_PATH, FUNCTION_NAME, SAVE_FILE_NAME } = consts;
26
+
27
+ const templatePath = path.join(
28
+ __dirname,
29
+ '../../../resourceYaml/sns-out/template.ejs'
30
+ );
31
+ // /OutPerActionComplete/OutUpdateComplete/sns-out/data.js
32
+ /**
33
+ * create data for dynamoDbYaml tempalte from objectSchema
34
+ * return array of dynamoDb data
35
+ * because one objectSchema can create multiple dynamoDb table
36
+ *
37
+ * @param {Object} _izContext
38
+ * @param {String} saveFilePath
39
+ * @returns {Object[]} - data of multiple dynamoDb template
40
+ */
41
+
42
+ function data(_izContext, srcPath) {
43
+ const createSourceParams = createParamsForCreateSource(_izContext, srcPath);
44
+ return [createSourceParams];
45
+ }
46
+
47
+ function createParamsForCreateSource(_izContext, srcPath) {
48
+ let queueName = FUNCTION_NAME.updateNodeComplete;
49
+ return {
50
+ templatePath: templatePath,
51
+ templateData: {
52
+ queueName: upperCase(queueName)
53
+ },
54
+ setting: {
55
+ initialData: 'Resources:\n',
56
+ savePath: path.join(srcPath, SOURCE_PATH.resourceYaml),
57
+ saveFileName: SAVE_FILE_NAME.snsOutYaml,
58
+ fileExtension: '.yml',
59
+ isAppend: true
60
+ }
61
+ };
62
+ }
63
+
64
+ export default data;
@@ -0,0 +1,111 @@
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
+ import path from 'path';
19
+ import { fileURLToPath } from 'url';
20
+ const __filename = fileURLToPath(import.meta.url);
21
+ const __dirname = path.dirname(__filename);
22
+ import consts from '../../../../libs/Consts.js';
23
+ import utils from '../../../../libs/Utils.js';
24
+ import libs from '../../../../libs/Libs.js'
25
+
26
+ const {
27
+ HANDLER,
28
+ RESOURCE_CLASSES,
29
+ SOURCE_PATH,
30
+ FUNCTION_NAME,
31
+ SAVE_FILE_NAME,
32
+ SQS_RESOURCE,
33
+ SNS_RESOURCE,
34
+ SHORT_FUNCTION_NAME,
35
+ SOURCE_GENERATE_IAM_ROLE
36
+ } = consts;
37
+
38
+ const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase } = utils;
39
+
40
+ const {
41
+ awaitingMultipleStepsRole,
42
+ defaultIamRolePerAction,
43
+ createIamRole,
44
+ resourceNames,
45
+ } = libs;
46
+
47
+ const templatePath = path.join(__dirname, 'template.ejs');
48
+
49
+ function data(_izContext, srcPath) {
50
+ return [createFunctionYamlOutUpdateComplete(_izContext, srcPath)];
51
+ }
52
+
53
+ function createFunctionYamlOutUpdateComplete(_izContext, srcPath) {
54
+ let functionName = upperCase(FUNCTION_NAME.updateNodeComplete);
55
+ let functionNameConfig = upperCase(
56
+ SHORT_FUNCTION_NAME(FUNCTION_NAME.updateNodeComplete)
57
+ );
58
+ let additionalResourcePermission = defaultIamRolePerAction();
59
+ let handlerType = upperCase(HANDLER.hdrSqs);
60
+
61
+ additionalResourcePermission.push(
62
+ createIamRole(
63
+ {
64
+ [RESOURCE_CLASSES.sqs]: [
65
+ SQS_RESOURCE.deleteMessage,
66
+ SQS_RESOURCE.deleteMessageBatch,
67
+ SQS_RESOURCE.getQueueAttributes,
68
+ SQS_RESOURCE.getQueueUrl,
69
+ SQS_RESOURCE.receiveMessage,
70
+ SQS_RESOURCE.sendMessage
71
+ ]
72
+ },
73
+ [
74
+ resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName)),
75
+ resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + 'DLQ')
76
+ ]
77
+ ),
78
+ createIamRole(
79
+ {
80
+ [RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish, SNS_RESOURCE.subscribe]
81
+ },
82
+ [
83
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + '_In'),
84
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + '_Out')
85
+ ]
86
+ )
87
+ );
88
+
89
+ // console.log("additionalResourcePermission in update", JSON.stringify(additionalResourcePermission, null, 2))
90
+ additionalResourcePermission.push(awaitingMultipleStepsRole());
91
+
92
+ return {
93
+ templatePath: templatePath,
94
+ templateData: {
95
+ functionName,
96
+ handlerType,
97
+ additionalResourcePermission,
98
+ resourceLocation: SOURCE_PATH.resourceLocationOutPerActionComplete,
99
+ functionNameConfig,
100
+ roleName: SOURCE_GENERATE_IAM_ROLE.ObjectCompleteRole
101
+ },
102
+ setting: {
103
+ savePath: path.join(srcPath, SOURCE_PATH.appYaml),
104
+ saveFileName: SAVE_FILE_NAME.functionPerActionYaml,
105
+ fileExtension: '.yml',
106
+ isAppend: true
107
+ }
108
+ };
109
+ }
110
+
111
+ export default data;
@@ -0,0 +1,20 @@
1
+ <%_ const join = require('path').join; _%>
2
+ <%- firstLetterUpperCase(functionNameConfig) %>:
3
+ handler: <%- join(resourceLocation, `${firstLetterUpperCase(functionName)}_${firstLetterUpperCase(handlerType)}.main`)%>
4
+ name: ${self:custom.iz_resourcePrefix}<%- firstLetterUpperCase(functionName) %>
5
+ role: <%- roleName %>Role
6
+ #<#<%- functionName %><%- handlerType %>FunctionSetting#>
7
+ #<#/<%- functionName %><%- handlerType %>FunctionSetting#>
8
+ events:
9
+ - sqs:
10
+ arn: arn:aws:sqs:${self:custom.iz_region}:${self:custom.iz_accountId}:${self:custom.iz_resourcePrefix}<%- firstLetterUpperCase(functionName) %>
11
+ batchSize: 10
12
+ filterPatterns: #**** need to update serverless framework upper v.2.69.1
13
+ - body: {"MessageAttributes":{"callingFlow":{"Value":["${self:custom.iz_resourcePrefix}<%-firstLetterUpperCase(functionName) %>"]}}} # functionName of callingFlow
14
+ - body: {"MessageAttributes":{"callingFlow":{"Value":[{"exists":false}]}}}
15
+ <%_ function firstLetterUpperCase(text){
16
+ return text.charAt(0).toUpperCase() + text.slice(1)
17
+ } _%>
18
+ <%_ function firstLetterLowerCase(str) {
19
+ return str.charAt(0).toLowerCase() + str.slice(1)
20
+ } _%>
@@ -0,0 +1,60 @@
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
+ // Import required modules
19
+ import { join } from 'path';
20
+ import { getObjectSchema } from '@izara_project/izara-core-library-service-schemas';
21
+ const { getAllLocalObjectSchemasWithHierarchy } = getObjectSchema;
22
+
23
+ // processLogical
24
+ import createProcessLogicalHandler from './handler/data.js';
25
+ import createProcessLogicalMainFunction from './mainFunction/data.js';
26
+ import createProcessLogicalFunctionYaml from './yaml/data.js';
27
+
28
+ /**
29
+ * Generates code with templates for different actions
30
+ * @param {Object} _izContext - Context object
31
+ * @param {string} objSchemaPath - Path to the schema
32
+ * @returns {Array} Array of generated code parameters
33
+ */
34
+ async function generateCodeWithTemplate(_izContext, objSchemaPath) {
35
+ try {
36
+ const saveFilePath = join(objSchemaPath, '../');
37
+ const allObjSchemas = await getAllLocalObjectSchemasWithHierarchy(
38
+ _izContext,
39
+ objSchemaPath
40
+ );
41
+
42
+ // Create process logical resources
43
+ const processLogicalResources = [
44
+ createProcessLogicalHandler(_izContext, saveFilePath),
45
+ createProcessLogicalMainFunction(_izContext, saveFilePath),
46
+ await createProcessLogicalFunctionYaml(
47
+ _izContext,
48
+ allObjSchemas,
49
+ saveFilePath
50
+ )
51
+ ];
52
+
53
+ return processLogicalResources;
54
+ } catch (error) {
55
+ _izContext.logger.error('Error generating code with template:', error);
56
+ return [];
57
+ }
58
+ }
59
+
60
+ export default generateCodeWithTemplate;
@@ -0,0 +1,50 @@
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
+ import path from 'path';
19
+ import { fileURLToPath } from 'url';
20
+ const __filename = fileURLToPath(import.meta.url);
21
+ const __dirname = path.dirname(__filename);
22
+ import consts from '../../../libs/Consts.js';
23
+ import utils from '../../../libs/Utils.js';
24
+
25
+ const { SOURCE_PATH, FUNCTION_NAME, HANDLER } = consts;
26
+
27
+ const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase } = utils;
28
+
29
+ const templatePath = path.join(__dirname, 'template.ejs');
30
+ /**
31
+ * receive srcPath
32
+ * not create data for ProcessLogical Handler template
33
+ *
34
+ * @param {string} srcPath
35
+ * @return {{ templatePath, templateData, setting } }
36
+ */
37
+ function data(_izContext, srcPath) {
38
+ return {
39
+ templatePath: templatePath,
40
+ templateData: {},
41
+ setting: {
42
+ savePath: path.join(srcPath, SOURCE_PATH.processLogical),
43
+ saveFileName: `${upperCase(FUNCTION_NAME.processLogical)}_${upperCase(HANDLER.hdrSqs)}`,
44
+ fileExtension: '.js',
45
+ isAppend: false
46
+ }
47
+ };
48
+ }
49
+
50
+ export default data;
@@ -0,0 +1,127 @@
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 Logger from '@izara_project/izara-core-library-logger';
22
+ import { recordHandlerSharedLib } from "@izara_project/izara-core-library-record-handler";
23
+ import callingFlowSharedLib from '@izara_project/izara-core-library-calling-flow';
24
+
25
+ import processLogical from './ProcessLogical_Main.js';
26
+
27
+
28
+ // validate event properties in body.Message of sqs event
29
+ middleware.setValidatorSchema(recordHandlerSharedLib.baseValidatorSchema());
30
+
31
+ // set schema for record.body.Message
32
+ const perRecordsValidatorSchema = {
33
+ type: "object",
34
+ required: [
35
+ 'objType',
36
+ 'element'
37
+ ],
38
+ properties: {
39
+ objType: {
40
+ type: 'object',
41
+ required: ["serviceTag", "objectType"],
42
+ properties: {
43
+ serviceTag: {
44
+ type: "string",
45
+ enum: [process.env.iz_serviceTag]
46
+ },
47
+ objectType: izara.validatorSchema.stringNotEmpty()
48
+ }
49
+ },
50
+ element: {
51
+ type: "object"
52
+ },
53
+ callingFlow: {
54
+ type: 'string',
55
+ default: ''
56
+ }
57
+ }
58
+ };
59
+
60
+ // set schema for record.body.MessageAttributes
61
+ // const messageAttributeValidatorSchema = {
62
+ // type: "object",
63
+ // required: ['msgAtrrParam1', 'msgAtrrParam2'],
64
+ // properties: {
65
+ // msgAtrrParam1: {
66
+ // type: "string"
67
+ // },
68
+ // msgAtrrParam2: {
69
+ // type: "object"
70
+ // }
71
+ // }
72
+ // };
73
+
74
+ export const main = middleware.wrap(async (event, context, callback) => {
75
+
76
+ try {
77
+
78
+ let recordPromises = [];
79
+
80
+ // loop each record and send to mainFunction
81
+ await Promise.all(event.Records.map(async record => { // promise.all for map() function
82
+
83
+ let passOnProperties = []
84
+ record._izContext.logger.debug('record ReceiveMsgOutHdrSqs', record);
85
+
86
+ // validate message (and MessageAttributes)
87
+ await recordHandlerSharedLib.validateRecord(
88
+ record, // one record will send to mainFunction
89
+ "ProcessLogicalHdrSqs", // queue name that need to retry or send to dlq
90
+ perRecordsValidatorSchema, // schema for record.Message
91
+ // messageAttributeValidatorSchema // ----- for msgAttr default is null -> do not send this parameter if not want to validate msgAtt
92
+ );
93
+
94
+ // add argument (to invoke lambda) to passOnProperties[]
95
+ passOnProperties.push(record.body.Message.objType)
96
+ passOnProperties.push(record.body.Message.element)
97
+ passOnProperties.push(record.body.Message.callingFlow)
98
+ record._izContext.logger.debug('passOnProperties in handler', passOnProperties);
99
+
100
+ // call recordHandlerSharedLib.recordHandler with 3 parameters and return promise(resolve)
101
+ let recordPromise = recordHandlerSharedLib.recordHandler(
102
+ record, // one record will send to mainFunction
103
+ processLogical, // mainFunction that need to invoke.
104
+ "ProcessLogicalHdrSqs", // queue name that need to retry or send to dlq
105
+ passOnProperties, // all parameters that mainFunction needed.
106
+ );
107
+ record._izContext.logger.debug('after recordPromise in handler');
108
+ recordPromises.push(recordPromise); // push promise to recordPromises
109
+ }))
110
+
111
+ Logger.debug('before Promise.all(recordPromises) in handler');
112
+ try {
113
+ // --- main await all promises
114
+ await Promise.all(recordPromises); // await all promises
115
+
116
+ return event.Records // return all for local testing
117
+
118
+ } catch {
119
+ Logger.debug('Promise.all(recordPromises) in handler threw error (at least one record did no resolve)');
120
+ }
121
+ Logger.debug('after Promise.all(recordPromises) in handler');
122
+
123
+ } catch (err) {
124
+ Logger.error('Unhandled Error, ProcessLogicalHdrSqs: ', err);
125
+ throw (err);
126
+ }
127
+ });