@izara_project/izara-market-library-service-schemas 1.0.23 → 1.0.24

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 (398) hide show
  1. package/index.js +2 -2
  2. package/package.json +2 -2
  3. package/src/GenerateCodeLibs/index.js +1 -0
  4. package/src/MainLibs/index.js +2 -1
  5. package/src/MainLibs/src/Consts.js +485 -0
  6. package/src/MainLibs/src/GenerateCodeUtils.js +59 -0
  7. package/src/TemplateManager/src/ProcessLogical/Handler/data.js +2 -2
  8. package/src/TemplateManager/src/ProcessLogical/ProcessLogicalYaml/data.js +2 -2
  9. package/src/TemplateManager/src/ProcessLogical/mainFunction/data.js +1 -1
  10. package/src/TemplateManager/src/externalService/FunctionNameConfig/data.js +2 -3
  11. package/src/reStructure/GenerateCode.js +151 -0
  12. package/src/reStructure/TemplateConfig.js +31 -0
  13. package/src/reStructure/TemplateData/externalService/functionNameConfig/data.js +162 -0
  14. package/src/reStructure/TemplateData/externalService/functionNameConfig/template.ejs +14 -0
  15. package/src/reStructure/TemplateData/externalService/functionNameConfig/templateIntTesting.ejs +31 -0
  16. package/src/reStructure/TemplateData/externalService/functionNameConfig/templateYaml.ejs +10 -0
  17. package/src/reStructure/TemplateData/externalService/generateTemplateData.js +59 -0
  18. package/src/reStructure/TemplateData/externalService/lambdaRole/data.js +435 -0
  19. package/src/reStructure/TemplateData/externalService/lambdaRole/request.json +18 -0
  20. package/src/reStructure/TemplateData/externalService/lambdaRole/template.ejs +57 -0
  21. package/src/reStructure/TemplateData/externalService/snsTopicSubscriptions/data.js +177 -0
  22. package/src/reStructure/TemplateData/externalService/snsTopicSubscriptions/request.json +12 -0
  23. package/src/reStructure/TemplateData/externalService/snsTopicSubscriptions/template.ejs +28 -0
  24. package/src/reStructure/TemplateData/findData/GetByStorage/getByDynamo.ejs +53 -0
  25. package/src/reStructure/TemplateData/findData/GetByStorage/getByGraph.ejs +100 -0
  26. package/src/reStructure/TemplateData/findData/findDataYaml/data.js +195 -0
  27. package/src/reStructure/TemplateData/findData/findDataYaml/template.ejs +14 -0
  28. package/src/reStructure/TemplateData/findData/generateTemplateData.js +65 -0
  29. package/src/reStructure/TemplateData/findData/handler/data.js +63 -0
  30. package/src/reStructure/TemplateData/findData/handler/template.ejs +140 -0
  31. package/src/reStructure/TemplateData/findData/mainFunction/data.js +297 -0
  32. package/src/reStructure/TemplateData/findData/mainFunction/template.ejs +151 -0
  33. package/src/reStructure/TemplateData/flowSchema/components/schema/inProcess/functionYaml/data.js +76 -0
  34. package/src/reStructure/TemplateData/flowSchema/components/schema/inProcess/functionYaml/template.ejs +37 -0
  35. package/src/reStructure/TemplateData/flowSchema/components/schema/inProcess/handler/data.js +46 -0
  36. package/src/reStructure/TemplateData/flowSchema/components/schema/inProcess/handler/template.ejs +103 -0
  37. package/src/reStructure/TemplateData/flowSchema/components/schema/inProcess/mainFunction/data.js +45 -0
  38. package/src/reStructure/TemplateData/flowSchema/components/schema/inProcess/sns-sqs/data.js +35 -0
  39. package/src/reStructure/TemplateData/flowSchema/components/schema/outComplete/functionYaml/data.js +34 -0
  40. package/src/reStructure/TemplateData/flowSchema/components/schema/outComplete/functionYaml/template.ejs +0 -0
  41. package/src/reStructure/TemplateData/flowSchema/components/schema/outComplete/handler/data.js +34 -0
  42. package/src/reStructure/TemplateData/flowSchema/components/schema/outComplete/handler/template.ejs +0 -0
  43. package/src/reStructure/TemplateData/flowSchema/components/schema/outComplete/mainFunction/data.js +34 -0
  44. package/src/reStructure/TemplateData/flowSchema/components/schema/outComplete/mainFunction/template.ejs +0 -0
  45. package/src/reStructure/TemplateData/flowSchema/components/schema/outComplete/sns-sqs/data.js +34 -0
  46. package/src/reStructure/TemplateData/flowSchema/components/schema/outComplete/sns-sqs/template.ejs +0 -0
  47. package/src/reStructure/TemplateData/flowSchema/components/upload/confirmReserved/functionYaml/data.js +118 -0
  48. package/src/reStructure/TemplateData/flowSchema/components/upload/confirmReserved/functionYaml/template.ejs +30 -0
  49. package/src/reStructure/TemplateData/flowSchema/components/upload/confirmReserved/handler/data.js +56 -0
  50. package/src/reStructure/TemplateData/flowSchema/components/upload/confirmReserved/handler/template.ejs +126 -0
  51. package/src/reStructure/TemplateData/flowSchema/components/upload/confirmReserved/mainFunction/data.js +51 -0
  52. package/src/reStructure/TemplateData/flowSchema/components/upload/confirmReserved/mainFunction/template.ejs +121 -0
  53. package/src/reStructure/TemplateData/flowSchema/components/upload/confirmReserved/queue/data.js +64 -0
  54. package/src/reStructure/TemplateData/flowSchema/components/upload/confirmReserved/queue/template.ejs +45 -0
  55. package/src/reStructure/TemplateData/flowSchema/components/upload/createObject/functionYaml/data.js +140 -0
  56. package/src/reStructure/TemplateData/flowSchema/components/upload/createObject/functionYaml/template.ejs +37 -0
  57. package/src/reStructure/TemplateData/flowSchema/components/upload/createObject/handler/data.js +74 -0
  58. package/src/reStructure/TemplateData/flowSchema/components/upload/createObject/handler/template.ejs +120 -0
  59. package/src/reStructure/TemplateData/flowSchema/components/upload/createObject/mainFunction/data.js +54 -0
  60. package/src/reStructure/TemplateData/flowSchema/components/upload/createObject/mainFunction/template.ejs +133 -0
  61. package/src/reStructure/TemplateData/flowSchema/components/upload/createObjectComplete/functionYaml/data.js +115 -0
  62. package/src/reStructure/TemplateData/flowSchema/components/upload/createObjectComplete/functionYaml/template.ejs +30 -0
  63. package/src/reStructure/TemplateData/flowSchema/components/upload/createObjectComplete/handler/data.js +70 -0
  64. package/src/reStructure/TemplateData/flowSchema/components/upload/createObjectComplete/handler/template.ejs +103 -0
  65. package/src/reStructure/TemplateData/flowSchema/components/upload/createObjectComplete/mainFunction/data.js +55 -0
  66. package/src/reStructure/TemplateData/flowSchema/components/upload/createObjectComplete/mainFunction/template.ejs +86 -0
  67. package/src/reStructure/TemplateData/flowSchema/components/upload/createObjectComplete/sns-sqs/data.js +72 -0
  68. package/src/reStructure/TemplateData/flowSchema/components/upload/createObjectComplete/sns-sqs/template.ejs +49 -0
  69. package/src/reStructure/TemplateData/flowSchema/components/upload/hook/handler/data.js +93 -0
  70. package/src/reStructure/TemplateData/flowSchema/components/upload/hook/handler/templateAsyncHandler.ejs +110 -0
  71. package/src/reStructure/TemplateData/flowSchema/components/upload/hook/handler/templateSyncHandler.ejs +49 -0
  72. package/src/reStructure/TemplateData/flowSchema/components/upload/hook/hookLogic/data.js +43 -0
  73. package/src/reStructure/TemplateData/flowSchema/components/upload/hook/mainFunction/data.js +65 -0
  74. package/src/reStructure/TemplateData/flowSchema/components/upload/hook/mainFunction/template.ejs +7 -0
  75. package/src/reStructure/TemplateData/flowSchema/components/upload/hook/queue/data.js +72 -0
  76. package/src/reStructure/TemplateData/flowSchema/components/upload/hook/queue/snsTemplate.ejs +59 -0
  77. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/getSignUrls/functionYaml/data.js +102 -0
  78. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/getSignUrls/functionYaml/template.ejs +27 -0
  79. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/getSignUrls/handler/data.js +57 -0
  80. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/getSignUrls/handler/template.ejs +120 -0
  81. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/getSignUrls/mainFunction/data.js +51 -0
  82. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/getSignUrls/mainFunction/template.ejs +164 -0
  83. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/getSignUrls/sqs/data.js +65 -0
  84. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/getSignUrls/sqs/template.ejs +53 -0
  85. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/functionYaml/data.js +131 -0
  86. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/functionYaml/template.ejs +30 -0
  87. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/handler/data.js +57 -0
  88. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/handler/template.ejs +126 -0
  89. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/mainFunction/data.js +54 -0
  90. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/mainFunction/template.ejs +254 -0
  91. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/queue/data.js +64 -0
  92. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/queue/template.ejs +45 -0
  93. package/src/reStructure/TemplateData/flowSchema/components/upload/processFile/functionYml/HdrDsq/data.js +87 -0
  94. package/src/{TemplateManager/src/TranslateIdReq/TranslateIds/functionYaml → reStructure/TemplateData/flowSchema/components/upload/processFile/functionYml}/HdrDsq/template.ejs +4 -4
  95. package/src/reStructure/TemplateData/flowSchema/components/upload/processFile/functionYml/HdrS3/data.js +127 -0
  96. package/src/{TemplateManager/src/TranslateIdReq/ProcessingTranslateIds/functionYaml → reStructure/TemplateData/flowSchema/components/upload/processFile/functionYml/HdrS3}/template.ejs +11 -3
  97. package/src/reStructure/TemplateData/flowSchema/components/upload/processFile/handler/handlerDsq/data.js +45 -0
  98. package/src/reStructure/TemplateData/flowSchema/components/upload/processFile/handler/handlerDsq/template.ejs +151 -0
  99. package/src/reStructure/TemplateData/flowSchema/components/upload/processFile/handler/handlerS3/data.js +58 -0
  100. package/src/reStructure/TemplateData/flowSchema/components/upload/processFile/handler/handlerS3/template.ejs +68 -0
  101. package/src/reStructure/TemplateData/flowSchema/components/upload/processFile/mainFunction/data.js +58 -0
  102. package/src/reStructure/TemplateData/flowSchema/components/upload/processFile/mainFunction/template.ejs +392 -0
  103. package/src/reStructure/TemplateData/flowSchema/components/upload/processFile/queue/data.js +77 -0
  104. package/src/reStructure/TemplateData/flowSchema/components/upload/processFile/queue/dsqTemplatePath.ejs +32 -0
  105. package/src/reStructure/TemplateData/flowSchema/components/upload/processFile/queue/s3Template.ejs +59 -0
  106. package/src/reStructure/TemplateData/flowSchema/components/upload/relate/S3/data.js +51 -0
  107. package/src/reStructure/TemplateData/flowSchema/components/upload/relate/S3/template.ejs +13 -0
  108. package/src/reStructure/TemplateData/flowSchema/components/upload/relate/libs/data.js +42 -0
  109. package/src/reStructure/TemplateData/flowSchema/components/upload/relate/libs/template.ejs +137 -0
  110. package/src/reStructure/TemplateData/flowSchema/components/websocket/connect/functionYaml/data.js +73 -0
  111. package/src/reStructure/TemplateData/flowSchema/components/websocket/connect/functionYaml/template.ejs +29 -0
  112. package/src/reStructure/TemplateData/flowSchema/components/websocket/connect/handler/data.js +54 -0
  113. package/src/reStructure/TemplateData/flowSchema/components/websocket/connect/handler/template.ejs +68 -0
  114. package/src/reStructure/TemplateData/flowSchema/components/websocket/dynamoDb/ReservedTableData.js +62 -0
  115. package/src/reStructure/TemplateData/flowSchema/components/websocket/dynamoDb/WebSocketTaskData.js +62 -0
  116. package/src/reStructure/TemplateData/flowSchema/generateTemplateData.js +210 -0
  117. package/src/reStructure/TemplateData/flowSchema/legacy/hookCode-old/functionYaml/data.js +101 -0
  118. package/src/reStructure/TemplateData/flowSchema/legacy/hookCode-old/functionYaml/template.ejs +43 -0
  119. package/src/reStructure/TemplateData/flowSchema/legacy/hookCode-old/handler/data.js +93 -0
  120. package/src/reStructure/TemplateData/flowSchema/legacy/hookCode-old/handler/templateAsyncHandler.ejs +110 -0
  121. package/src/reStructure/TemplateData/flowSchema/legacy/hookCode-old/handler/templateSyncHandler.ejs +49 -0
  122. package/src/reStructure/TemplateData/flowSchema/legacy/hookCode-old/hookLogic/data.js +64 -0
  123. package/src/reStructure/TemplateData/flowSchema/legacy/hookCode-old/mainFunction/data.js +66 -0
  124. package/src/reStructure/TemplateData/flowSchema/legacy/hookCode-old/mainFunction/template.ejs +30 -0
  125. package/src/reStructure/TemplateData/flowSchema/legacy/hookCode-old/queue/data.js +124 -0
  126. package/src/reStructure/TemplateData/flowSchema/legacy/hookCode-old/queue/snsTemplate.ejs +59 -0
  127. package/src/reStructure/TemplateData/flowSchema/legacy/hookCode-old/queue/sqsTemplate.ejs +43 -0
  128. package/src/reStructure/TemplateData/generateRole/createSharedResource.js +276 -0
  129. package/src/reStructure/TemplateData/generateRole/sharedResourceTemplate.ejs +58 -0
  130. package/src/reStructure/TemplateData/perActionComplete/create/handler/data.js +69 -0
  131. package/src/reStructure/TemplateData/perActionComplete/create/handler/template.ejs +130 -0
  132. package/src/reStructure/TemplateData/perActionComplete/create/mainFunction/createObjectComplete_main.js +172 -0
  133. package/src/reStructure/TemplateData/perActionComplete/create/mainFunction/data.js +65 -0
  134. package/src/reStructure/TemplateData/perActionComplete/create/mainFunction/template.ejs +170 -0
  135. package/src/reStructure/TemplateData/perActionComplete/create/sns-in-sqs/data.js +69 -0
  136. package/src/reStructure/TemplateData/perActionComplete/create/sns-in-sqs/template.ejs +47 -0
  137. package/src/reStructure/TemplateData/perActionComplete/create/sns-out/data.js +73 -0
  138. package/src/reStructure/TemplateData/perActionComplete/create/sns-out/template.ejs +10 -0
  139. package/src/reStructure/TemplateData/perActionComplete/create/yaml/data.js +130 -0
  140. package/src/reStructure/TemplateData/perActionComplete/create/yaml/template.ejs +20 -0
  141. package/src/reStructure/TemplateData/perActionComplete/delete/handler/data.js +66 -0
  142. package/src/reStructure/TemplateData/perActionComplete/delete/handler/template.ejs +129 -0
  143. package/src/reStructure/TemplateData/perActionComplete/delete/mainFunction/data.js +59 -0
  144. package/src/reStructure/TemplateData/perActionComplete/delete/mainFunction/template.ejs +93 -0
  145. package/src/reStructure/TemplateData/perActionComplete/delete/sns-in-sqs/data.js +62 -0
  146. package/src/reStructure/TemplateData/perActionComplete/delete/sns-in-sqs/template.ejs +47 -0
  147. package/src/reStructure/TemplateData/perActionComplete/delete/sns-out/data.js +69 -0
  148. package/src/reStructure/TemplateData/perActionComplete/delete/yaml/data.js +124 -0
  149. package/src/reStructure/TemplateData/perActionComplete/delete/yaml/template.ejs +20 -0
  150. package/src/reStructure/TemplateData/perActionComplete/generateTemplateData.js +126 -0
  151. package/src/{TemplateManager/src/TranslateIdReq/ProcessingTranslateIds/handler/dataHdrDsq.js → reStructure/TemplateData/perActionComplete/get/handler/data.js} +20 -14
  152. package/src/reStructure/TemplateData/perActionComplete/get/handler/template.ejs +129 -0
  153. package/src/reStructure/TemplateData/perActionComplete/get/mainFunction/data.js +52 -0
  154. package/src/reStructure/TemplateData/perActionComplete/get/mainFunction/template.ejs +130 -0
  155. package/src/{TemplateManager/src/TranslateIdReq/ProcessingTranslateIds/sqs-sns → reStructure/TemplateData/perActionComplete/get/sns-in-sqs}/data.js +12 -12
  156. package/src/reStructure/TemplateData/perActionComplete/get/sns-in-sqs/template.ejs +47 -0
  157. package/src/reStructure/TemplateData/perActionComplete/get/sns-out/data.js +71 -0
  158. package/src/reStructure/TemplateData/perActionComplete/get/yaml/data.js +105 -0
  159. package/src/reStructure/TemplateData/perActionComplete/get/yaml/template.ejs +20 -0
  160. package/src/reStructure/TemplateData/perActionComplete/update/handler/data.js +65 -0
  161. package/src/reStructure/TemplateData/perActionComplete/update/handler/template.ejs +129 -0
  162. package/src/reStructure/TemplateData/perActionComplete/update/mainFunction/data.js +58 -0
  163. package/src/reStructure/TemplateData/perActionComplete/update/mainFunction/template.ejs +130 -0
  164. package/src/reStructure/TemplateData/perActionComplete/update/sns-in-sqs/data.js +66 -0
  165. package/src/reStructure/TemplateData/perActionComplete/update/sns-in-sqs/template.ejs +47 -0
  166. package/src/reStructure/TemplateData/perActionComplete/update/sns-out/data.js +73 -0
  167. package/src/reStructure/TemplateData/perActionComplete/update/yaml/data.js +132 -0
  168. package/src/reStructure/TemplateData/perActionComplete/update/yaml/template.ejs +20 -0
  169. package/src/reStructure/TemplateData/perActionEndpoint/generateTemplateData.js +101 -0
  170. package/src/reStructure/TemplateData/perActionEndpoint/handler/api/data.js +93 -0
  171. package/src/reStructure/TemplateData/perActionEndpoint/handler/api/request.json +7 -0
  172. package/src/reStructure/TemplateData/perActionEndpoint/handler/api/template.ejs +76 -0
  173. package/src/reStructure/TemplateData/perActionEndpoint/handler/dsq/data.js +95 -0
  174. package/src/reStructure/TemplateData/perActionEndpoint/handler/dsq/request.json +7 -0
  175. package/src/reStructure/TemplateData/perActionEndpoint/handler/dsq/template.ejs +127 -0
  176. package/src/reStructure/TemplateData/perActionEndpoint/handler/inv/data.js +88 -0
  177. package/src/reStructure/TemplateData/perActionEndpoint/handler/inv/request.json +7 -0
  178. package/src/reStructure/TemplateData/perActionEndpoint/handler/inv/template.ejs +81 -0
  179. package/src/reStructure/TemplateData/perActionEndpoint/handler/sqs/data.js +94 -0
  180. package/src/reStructure/TemplateData/perActionEndpoint/handler/sqs/request.json +7 -0
  181. package/src/reStructure/TemplateData/perActionEndpoint/handler/sqs/template.ejs +130 -0
  182. package/src/reStructure/TemplateData/perActionEndpoint/handler/webSocket/data.js +75 -0
  183. package/src/reStructure/TemplateData/perActionEndpoint/handler/webSocket/template.ejs +141 -0
  184. package/src/reStructure/TemplateData/perActionEndpoint/handler/webSocketConnect/data.js +55 -0
  185. package/src/reStructure/TemplateData/perActionEndpoint/handler/webSocketConnect/template.ejs +55 -0
  186. package/src/{TemplateManager/src/TranslateIdReq/ProcessingTranslateIds/mainFunction → reStructure/TemplateData/perActionEndpoint/libs}/data.js +25 -13
  187. package/src/reStructure/TemplateData/perActionEndpoint/libs/template.ejs +46 -0
  188. package/src/reStructure/TemplateData/perActionEndpoint/mainFunction/create/data.js +74 -0
  189. package/src/reStructure/TemplateData/perActionEndpoint/mainFunction/create/request.json +0 -0
  190. package/src/reStructure/TemplateData/perActionEndpoint/mainFunction/create/template.ejs +629 -0
  191. package/src/reStructure/TemplateData/perActionEndpoint/mainFunction/delete/data.js +74 -0
  192. package/src/reStructure/TemplateData/perActionEndpoint/mainFunction/delete/template.ejs +192 -0
  193. package/src/reStructure/TemplateData/perActionEndpoint/mainFunction/get/data.js +76 -0
  194. package/src/reStructure/TemplateData/perActionEndpoint/mainFunction/get/request.json +5 -0
  195. package/src/reStructure/TemplateData/perActionEndpoint/mainFunction/get/template.ejs +265 -0
  196. package/src/reStructure/TemplateData/perActionEndpoint/mainFunction/get/testParam.json +5 -0
  197. package/src/reStructure/TemplateData/perActionEndpoint/mainFunction/update/data.js +70 -0
  198. package/src/reStructure/TemplateData/perActionEndpoint/mainFunction/update/request.json +0 -0
  199. package/src/reStructure/TemplateData/perActionEndpoint/mainFunction/update/template.ejs +351 -0
  200. package/src/reStructure/TemplateData/perActionEndpoint/yaml/api/data.js +198 -0
  201. package/src/reStructure/TemplateData/perActionEndpoint/yaml/api/request.json +14 -0
  202. package/src/reStructure/TemplateData/perActionEndpoint/yaml/api/template.ejs +20 -0
  203. package/src/reStructure/TemplateData/perActionEndpoint/yaml/dsq/data.js +207 -0
  204. package/src/reStructure/TemplateData/perActionEndpoint/yaml/dsq/request.json +19 -0
  205. package/src/reStructure/TemplateData/perActionEndpoint/yaml/dsq/template.ejs +17 -0
  206. package/src/reStructure/TemplateData/perActionEndpoint/yaml/inv/data.js +189 -0
  207. package/src/reStructure/TemplateData/perActionEndpoint/yaml/inv/example req.js +15 -0
  208. package/src/reStructure/TemplateData/perActionEndpoint/yaml/inv/request.json +14 -0
  209. package/src/reStructure/TemplateData/perActionEndpoint/yaml/inv/template.ejs +13 -0
  210. package/src/reStructure/TemplateData/perActionEndpoint/yaml/sqs/data.js +208 -0
  211. package/src/reStructure/TemplateData/perActionEndpoint/yaml/sqs/request.json +19 -0
  212. package/src/reStructure/TemplateData/perActionEndpoint/yaml/sqs/template.ejs +17 -0
  213. package/src/reStructure/TemplateData/perActionEndpoint/yaml/wbs/data.js +170 -0
  214. package/src/reStructure/TemplateData/perActionEndpoint/yaml/wbs/request.json +19 -0
  215. package/src/{TemplateManager/src/TranslateIdReq/TranslateIds/functionYaml/HdrSqs → reStructure/TemplateData/perActionEndpoint/yaml/wbs}/template.ejs +2 -3
  216. package/src/reStructure/TemplateData/perActionEndpoint/yaml/webSocketConnect/data.js +59 -0
  217. package/src/reStructure/TemplateData/perActionEndpoint/yaml/webSocketConnect/template.ejs +10 -0
  218. package/src/reStructure/TemplateData/processLogical/generateTemplateData.js +57 -0
  219. package/src/reStructure/TemplateData/processLogical/handler/data.js +50 -0
  220. package/src/reStructure/TemplateData/processLogical/handler/template.ejs +129 -0
  221. package/src/reStructure/TemplateData/processLogical/mainFunction/data.js +47 -0
  222. package/src/reStructure/TemplateData/processLogical/mainFunction/template.ejs +429 -0
  223. package/src/reStructure/TemplateData/processLogical/yaml/data.js +160 -0
  224. package/src/reStructure/TemplateData/processLogical/yaml/template.ejs +12 -0
  225. package/src/{TemplateManager/src/TranslateIdReq/ProcessingTranslateIds/sns-out → reStructure/TemplateData/processLogicalPagination/DsqYaml}/data.js +16 -13
  226. package/src/reStructure/TemplateData/processLogicalPagination/DsqYaml/template.ejs +32 -0
  227. package/src/reStructure/TemplateData/processLogicalPagination/generateTemplateData.js +64 -0
  228. package/src/reStructure/TemplateData/processLogicalPagination/handler/dsq/data.js +48 -0
  229. package/src/reStructure/TemplateData/processLogicalPagination/handler/dsq/template.ejs +163 -0
  230. package/src/reStructure/TemplateData/processLogicalPagination/handler/sqs/data.js +48 -0
  231. package/src/reStructure/TemplateData/processLogicalPagination/handler/sqs/template.ejs +146 -0
  232. package/src/reStructure/TemplateData/processLogicalPagination/mainFunction/data.js +48 -0
  233. package/src/reStructure/TemplateData/processLogicalPagination/mainFunction/template.ejs +212 -0
  234. package/src/reStructure/TemplateData/processLogicalPagination/yaml/dsq/data.js +154 -0
  235. package/src/reStructure/TemplateData/processLogicalPagination/yaml/dsq/template.ejs +12 -0
  236. package/src/reStructure/TemplateData/processLogicalPagination/yaml/sqs/data.js +157 -0
  237. package/src/reStructure/TemplateData/processLogicalPagination/yaml/sqs/template.ejs +12 -0
  238. package/src/reStructure/TemplateData/relationshipPerAction/create/action/functionYaml/api/data.js +98 -0
  239. package/src/reStructure/TemplateData/relationshipPerAction/create/action/functionYaml/api/template.ejs +20 -0
  240. package/src/reStructure/TemplateData/relationshipPerAction/create/action/functionYaml/dsq/data.js +111 -0
  241. package/src/reStructure/TemplateData/relationshipPerAction/create/action/functionYaml/dsq/template.ejs +17 -0
  242. package/src/reStructure/TemplateData/relationshipPerAction/create/action/functionYaml/inv/data.js +97 -0
  243. package/src/reStructure/TemplateData/relationshipPerAction/create/action/functionYaml/inv/template.ejs +13 -0
  244. package/src/reStructure/TemplateData/relationshipPerAction/create/action/functionYaml/sqs/data.js +110 -0
  245. package/src/reStructure/TemplateData/relationshipPerAction/create/action/functionYaml/sqs/template.ejs +17 -0
  246. package/src/reStructure/TemplateData/relationshipPerAction/create/action/handler/api/data.js +57 -0
  247. package/src/reStructure/TemplateData/relationshipPerAction/create/action/handler/api/request.json +0 -0
  248. package/src/reStructure/TemplateData/relationshipPerAction/create/action/handler/api/template.ejs +138 -0
  249. package/src/{TemplateManager/src/TranslateIdReq/TranslateIds/handler/HdrDsq → reStructure/TemplateData/relationshipPerAction/create/action/handler/dsq}/data.js +18 -20
  250. package/src/reStructure/TemplateData/relationshipPerAction/create/action/handler/dsq/request.json +0 -0
  251. package/src/reStructure/TemplateData/relationshipPerAction/create/action/handler/dsq/template.ejs +184 -0
  252. package/src/reStructure/TemplateData/relationshipPerAction/create/action/handler/inv/data.js +59 -0
  253. package/src/reStructure/TemplateData/relationshipPerAction/create/action/handler/inv/request.json +0 -0
  254. package/src/reStructure/TemplateData/relationshipPerAction/create/action/handler/inv/template.ejs +126 -0
  255. package/src/{TemplateManager/src/TranslateIdReq/TranslateIds/handler/HdrSqs → reStructure/TemplateData/relationshipPerAction/create/action/handler/sqs}/data.js +16 -16
  256. package/src/reStructure/TemplateData/relationshipPerAction/create/action/handler/sqs/request.json +0 -0
  257. package/src/reStructure/TemplateData/relationshipPerAction/create/action/handler/sqs/template.ejs +163 -0
  258. package/src/reStructure/TemplateData/relationshipPerAction/create/action/mainFunction/data.js +59 -0
  259. package/src/reStructure/TemplateData/relationshipPerAction/create/action/mainFunction/template.ejs +380 -0
  260. package/src/reStructure/TemplateData/relationshipPerAction/create/action/sns-in-sqs/data.js +77 -0
  261. package/src/reStructure/TemplateData/relationshipPerAction/create/action/sns-in-sqs/snsTemplate.ejs +59 -0
  262. package/src/reStructure/TemplateData/relationshipPerAction/create/action/sns-in-sqs/sqsTemplate.ejs +43 -0
  263. package/src/{TemplateManager/src/TranslateIdReq/TranslateIds/functionYaml/HdrSqs → reStructure/TemplateData/relationshipPerAction/create/complete/functionYaml}/data.js +48 -29
  264. package/src/reStructure/TemplateData/relationshipPerAction/create/complete/functionYaml/request.json +0 -0
  265. package/src/reStructure/TemplateData/relationshipPerAction/create/complete/functionYaml/template.ejs +20 -0
  266. package/src/reStructure/TemplateData/relationshipPerAction/create/complete/handler/sqs/data.js +60 -0
  267. package/src/reStructure/TemplateData/relationshipPerAction/create/complete/handler/sqs/request.json +0 -0
  268. package/src/reStructure/TemplateData/relationshipPerAction/create/complete/handler/sqs/template.ejs +125 -0
  269. package/src/reStructure/TemplateData/relationshipPerAction/create/complete/mainFunction/data.js +55 -0
  270. package/src/reStructure/TemplateData/relationshipPerAction/create/complete/mainFunction/request.json +0 -0
  271. package/src/reStructure/TemplateData/relationshipPerAction/create/complete/mainFunction/template.ejs +141 -0
  272. package/src/reStructure/TemplateData/relationshipPerAction/create/complete/sns-in-sqs/data.js +71 -0
  273. package/src/reStructure/TemplateData/relationshipPerAction/create/complete/sns-in-sqs/request.json +0 -0
  274. package/src/reStructure/TemplateData/relationshipPerAction/create/complete/sns-in-sqs/template.ejs +47 -0
  275. package/src/reStructure/TemplateData/relationshipPerAction/create/complete/sns-out/data.js +71 -0
  276. package/src/reStructure/TemplateData/relationshipPerAction/create/complete/sns-out/request.json +0 -0
  277. package/src/reStructure/TemplateData/relationshipPerAction/create/complete/sns-out/template.ejs +10 -0
  278. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/functionYaml/api/data.js +98 -0
  279. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/functionYaml/api/template.ejs +20 -0
  280. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/functionYaml/dsq/data.js +111 -0
  281. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/functionYaml/dsq/template.ejs +17 -0
  282. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/functionYaml/inv/data.js +97 -0
  283. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/functionYaml/inv/template.ejs +13 -0
  284. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/functionYaml/sqs/data.js +111 -0
  285. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/functionYaml/sqs/template.ejs +17 -0
  286. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/handler/api/data.js +57 -0
  287. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/handler/api/request.json +0 -0
  288. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/handler/api/template.ejs +138 -0
  289. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/handler/dsq/data.js +58 -0
  290. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/handler/dsq/request.json +0 -0
  291. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/handler/dsq/template.ejs +184 -0
  292. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/handler/inv/data.js +59 -0
  293. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/handler/inv/request.json +0 -0
  294. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/handler/inv/template.ejs +126 -0
  295. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/handler/sqs/data.js +59 -0
  296. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/handler/sqs/request.json +0 -0
  297. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/handler/sqs/template.ejs +162 -0
  298. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/mainFunction/data.js +59 -0
  299. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/mainFunction/template.ejs +337 -0
  300. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/sns-in-sqs/data.js +77 -0
  301. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/sns-in-sqs/snsTemplate.ejs +59 -0
  302. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/sns-in-sqs/sqsTemplate.ejs +43 -0
  303. package/src/{TemplateManager/src/TranslateIdReq/TranslateIds/functionYaml/HdrDsq → reStructure/TemplateData/relationshipPerAction/delete/complete/functionYaml}/data.js +49 -30
  304. package/src/reStructure/TemplateData/relationshipPerAction/delete/complete/functionYaml/request.json +0 -0
  305. package/src/reStructure/TemplateData/relationshipPerAction/delete/complete/functionYaml/template.ejs +20 -0
  306. package/src/reStructure/TemplateData/relationshipPerAction/delete/complete/handler/sqs/data.js +60 -0
  307. package/src/reStructure/TemplateData/relationshipPerAction/delete/complete/handler/sqs/request.json +0 -0
  308. package/src/reStructure/TemplateData/relationshipPerAction/delete/complete/handler/sqs/template.ejs +125 -0
  309. package/src/reStructure/TemplateData/relationshipPerAction/delete/complete/mainFunction/data.js +55 -0
  310. package/src/reStructure/TemplateData/relationshipPerAction/delete/complete/mainFunction/request.json +0 -0
  311. package/src/reStructure/TemplateData/relationshipPerAction/delete/complete/mainFunction/template.ejs +140 -0
  312. package/src/reStructure/TemplateData/relationshipPerAction/delete/complete/sns-in-sqs/data.js +70 -0
  313. package/src/reStructure/TemplateData/relationshipPerAction/delete/complete/sns-in-sqs/request.json +0 -0
  314. package/src/reStructure/TemplateData/relationshipPerAction/delete/complete/sns-in-sqs/template.ejs +47 -0
  315. package/src/reStructure/TemplateData/relationshipPerAction/delete/complete/sns-out/data.js +72 -0
  316. package/src/reStructure/TemplateData/relationshipPerAction/delete/complete/sns-out/request.json +0 -0
  317. package/src/reStructure/TemplateData/relationshipPerAction/delete/complete/sns-out/template.ejs +10 -0
  318. package/src/reStructure/TemplateData/relationshipPerAction/generateTemplateData.js +238 -0
  319. package/src/reStructure/TemplateData/relationshipPerAction/update/action/functionYaml/api/data.js +120 -0
  320. package/src/reStructure/TemplateData/relationshipPerAction/update/action/functionYaml/api/request.json +0 -0
  321. package/src/reStructure/TemplateData/relationshipPerAction/update/action/functionYaml/api/template.ejs +20 -0
  322. package/src/reStructure/TemplateData/relationshipPerAction/update/action/functionYaml/dsq/data.js +131 -0
  323. package/src/reStructure/TemplateData/relationshipPerAction/update/action/functionYaml/dsq/request.json +0 -0
  324. package/src/reStructure/TemplateData/relationshipPerAction/update/action/functionYaml/dsq/template.ejs +17 -0
  325. package/src/reStructure/TemplateData/relationshipPerAction/update/action/functionYaml/inv/data.js +124 -0
  326. package/src/reStructure/TemplateData/relationshipPerAction/update/action/functionYaml/inv/request.json +0 -0
  327. package/src/reStructure/TemplateData/relationshipPerAction/update/action/functionYaml/inv/template.ejs +13 -0
  328. package/src/reStructure/TemplateData/relationshipPerAction/update/action/functionYaml/sqs/data.js +135 -0
  329. package/src/reStructure/TemplateData/relationshipPerAction/update/action/functionYaml/sqs/request.json +0 -0
  330. package/src/reStructure/TemplateData/relationshipPerAction/update/action/functionYaml/sqs/template.ejs +17 -0
  331. package/src/reStructure/TemplateData/relationshipPerAction/update/action/handler/api/data.js +77 -0
  332. package/src/reStructure/TemplateData/relationshipPerAction/update/action/handler/api/request.json +7 -0
  333. package/src/reStructure/TemplateData/relationshipPerAction/update/action/handler/api/template.ejs +140 -0
  334. package/src/reStructure/TemplateData/relationshipPerAction/update/action/handler/dsq/data.js +75 -0
  335. package/src/reStructure/TemplateData/relationshipPerAction/update/action/handler/dsq/request.json +7 -0
  336. package/src/reStructure/TemplateData/relationshipPerAction/update/action/handler/dsq/template.ejs +184 -0
  337. package/src/reStructure/TemplateData/relationshipPerAction/update/action/handler/inv/data.js +77 -0
  338. package/src/reStructure/TemplateData/relationshipPerAction/update/action/handler/inv/request.json +5 -0
  339. package/src/reStructure/TemplateData/relationshipPerAction/update/action/handler/inv/template.ejs +145 -0
  340. package/src/reStructure/TemplateData/relationshipPerAction/update/action/handler/sqs/data.js +74 -0
  341. package/src/reStructure/TemplateData/relationshipPerAction/update/action/handler/sqs/request.json +7 -0
  342. package/src/reStructure/TemplateData/relationshipPerAction/update/action/handler/sqs/template.ejs +163 -0
  343. package/src/reStructure/TemplateData/relationshipPerAction/update/action/mainFunction/data.js +72 -0
  344. package/src/reStructure/TemplateData/relationshipPerAction/update/action/mainFunction/request.json +1 -0
  345. package/src/reStructure/TemplateData/relationshipPerAction/update/action/mainFunction/template.ejs +340 -0
  346. package/src/reStructure/TemplateData/relationshipPerAction/update/action/sns-in-sqs/data.js +92 -0
  347. package/src/reStructure/TemplateData/relationshipPerAction/update/action/sns-in-sqs/request.json +3 -0
  348. package/src/reStructure/TemplateData/relationshipPerAction/update/action/sns-in-sqs/snsTemplate.ejs +59 -0
  349. package/src/reStructure/TemplateData/relationshipPerAction/update/action/sns-in-sqs/sqsTemplate.ejs +43 -0
  350. package/src/reStructure/TemplateData/relationshipPerAction/update/action/sns-out/data.js +70 -0
  351. package/src/reStructure/TemplateData/relationshipPerAction/update/action/sns-out/request.json +3 -0
  352. package/src/reStructure/TemplateData/relationshipPerAction/update/complete/functionYaml/data.js +110 -0
  353. package/src/reStructure/TemplateData/relationshipPerAction/update/complete/functionYaml/request.json +3 -0
  354. package/src/reStructure/TemplateData/relationshipPerAction/update/complete/functionYaml/template.ejs +20 -0
  355. package/src/reStructure/TemplateData/relationshipPerAction/update/complete/handler/sqs/data.js +61 -0
  356. package/src/reStructure/TemplateData/relationshipPerAction/update/complete/handler/sqs/request.json +0 -0
  357. package/src/reStructure/TemplateData/relationshipPerAction/update/complete/handler/sqs/template.ejs +127 -0
  358. package/src/reStructure/TemplateData/relationshipPerAction/update/complete/mainFunction/data.js +63 -0
  359. package/src/reStructure/TemplateData/relationshipPerAction/update/complete/mainFunction/request.json +1 -0
  360. package/src/reStructure/TemplateData/relationshipPerAction/update/complete/mainFunction/template.ejs +143 -0
  361. package/src/reStructure/TemplateData/relationshipPerAction/update/complete/sns-in-sqs/data.js +71 -0
  362. package/src/reStructure/TemplateData/relationshipPerAction/update/complete/sns-in-sqs/request.json +3 -0
  363. package/src/reStructure/TemplateData/relationshipPerAction/update/complete/sns-in-sqs/template.ejs +46 -0
  364. package/src/reStructure/TemplateData/relationshipPerAction/update/complete/sns-out/data.js +70 -0
  365. package/src/reStructure/TemplateData/relationshipPerAction/update/complete/sns-out/request.json +3 -0
  366. package/src/reStructure/TemplateData/relationshipPerAction/update/complete/sns-out/template.ejs +10 -0
  367. package/src/reStructure/TemplateData/resourceYaml/CreateSourceData.js +73 -0
  368. package/src/reStructure/TemplateData/resourceYaml/dynamodb/defaultDynamoDbTable.js +146 -0
  369. package/src/reStructure/TemplateData/resourceYaml/dynamodb/mainResourcePerObjectSchemaData.js +178 -0
  370. package/src/reStructure/TemplateData/resourceYaml/dynamodb/request.json +7 -0
  371. package/src/reStructure/TemplateData/resourceYaml/dynamodb/template.ejs +31 -0
  372. package/src/reStructure/TemplateData/resourceYaml/generateTemplateData.js +99 -0
  373. package/src/reStructure/TemplateData/resourceYaml/sns-in-sqs/defaultSnsInSqsForFindDataAndProcessLogical.js +96 -0
  374. package/src/reStructure/TemplateData/resourceYaml/sns-in-sqs/request.json +4 -0
  375. package/src/reStructure/TemplateData/resourceYaml/sns-in-sqs/snsAndSqsPerActionData.js +108 -0
  376. package/src/reStructure/TemplateData/resourceYaml/sns-in-sqs/snsTemplate.ejs +59 -0
  377. package/src/reStructure/TemplateData/resourceYaml/sns-in-sqs/sqsTemplate.ejs +43 -0
  378. package/src/reStructure/TemplateData/resourceYaml/sns-out/data.js +88 -0
  379. package/src/reStructure/TemplateData/resourceYaml/sns-out/defaultSnsOutForFindDataAndProcessLogical.js +75 -0
  380. package/src/reStructure/TemplateData/resourceYaml/sns-out/request.json +3 -0
  381. package/src/reStructure/TemplateData/resourceYaml/sns-out/template.ejs +10 -0
  382. package/src/reStructure/test.bash +192 -0
  383. package/src/TemplateManager/src/TranslateIdReq/ProcessingTranslateIds/functionYaml/data.js +0 -94
  384. package/src/TemplateManager/src/TranslateIdReq/ProcessingTranslateIds/handler/template.ejs +0 -192
  385. package/src/TemplateManager/src/TranslateIdReq/ProcessingTranslateIds/mainFunction/template.ejs +0 -299
  386. package/src/TemplateManager/src/TranslateIdReq/TranslateIds/handler/HdrDsq/template.ejs +0 -155
  387. package/src/TemplateManager/src/TranslateIdReq/TranslateIds/handler/HdrSqs/template.ejs +0 -163
  388. package/src/TemplateManager/src/TranslateIdReq/TranslateIds/mainFunction/data.js +0 -61
  389. package/src/TemplateManager/src/TranslateIdReq/TranslateIds/mainFunction/template.ejs +0 -145
  390. package/src/TemplateManager/src/TranslateIdReq/TranslateIds/resourceYaml/dynamoDb/data.js +0 -120
  391. package/src/TemplateManager/src/TranslateIdReq/TranslateIds/resourceYaml/sns-sqs/data.js +0 -75
  392. package/src/TemplateManager/src/reStructureExample/GenerateCodeTest.js +0 -31
  393. package/src/TemplateManager/src/reStructureExample/TemplateConfig.js +0 -15
  394. package/src/TemplateManager/src/reStructureExample/TemplateData/perAction/generateCodeShared.js +0 -1
  395. package/src/TemplateManager/src/reStructureExample/TemplateData/perAction/generatePerAction.js +0 -12
  396. /package/src/{TemplateManager/src/reStructureExample/TemplateData/perAction → reStructure/TemplateData/flowSchema/components/schema/inProcess/mainFunction}/template.ejs +0 -0
  397. /package/src/{TemplateManager/src/reStructureExample/TemplateData/perAction/data.js → reStructure/TemplateData/flowSchema/components/schema/inProcess/sns-sqs/template.ejs} +0 -0
  398. /package/src/{TemplateManager/src/TranslateIdReq/ProcessingTranslateIds/sqs-sns/template.ejs → reStructure/TemplateData/flowSchema/components/upload/hook/queue/sqsTemplate.ejs} +0 -0
@@ -0,0 +1,210 @@
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
+ 'use strict';
19
+
20
+ // Import required modules
21
+ const { join } = require('path');
22
+
23
+ const {
24
+ getAllLocalObjectSchemasWithHierarchy,
25
+ // getAllLocalRelationshipSchemas,
26
+ getAllLocalRelationshipSchema,
27
+ getAllLocalFlowSchemas
28
+ } = require('@izara_project/izara-core-library-service-schemas/src/GetObjectSchema');
29
+
30
+ // Core components
31
+ const createWebSocketDynamoDb = require('./components/websocket/dynamoDb/WebSocketTaskData');
32
+ const createReservedDataMainTable = require('./components/websocket/dynamoDb/ReservedTableData');
33
+ const createBucketS3 = require('./components/upload/relate/S3/data');
34
+ const createWebSocketGenerateCodeLibs = require('./components/upload/relate/libs/data');
35
+
36
+ // CreateObject components
37
+ const createFunctionYamlCreateObjectWebSocket = require('./components/upload/createObject/functionYaml/data');
38
+ const createHandlerCreateObjectWebSocket = require('./components/upload/createObject/handler/data');
39
+ const createMainFunctionCreateObjectWebSocket = require('./components/upload/createObject/mainFunction/data');
40
+
41
+ // CreateObjectComplete components
42
+ const createWebSocketCreateObjectCompleteFunctionYaml = require('./components/upload/createObjectComplete/functionYaml/data');
43
+ const createWebSocketCreateObjectCompleteQueue = require('./components/upload/createObjectComplete/sns-sqs/data');
44
+ const createWebSocketCreateObjectCompleteHandler = require('./components/upload/createObjectComplete/handler/data');
45
+ const createWebSocketCreateObjectCompleteMainFunction = require('./components/upload/createObjectComplete/mainFunction/data');
46
+
47
+ // PreSign URL components
48
+ const createGetPreSignUrlFunctionYaml = require('./components/upload/preSignUrl/getSignUrls/functionYaml/data');
49
+ const createGetPreSignUrlHandler = require('./components/upload/preSignUrl/getSignUrls/handler/data');
50
+ const createGetPreSignUrlMainFunction = require('./components/upload/preSignUrl/getSignUrls/mainFunction/data');
51
+ const createGetPreSignUrlQueueName = require('./components/upload/preSignUrl/getSignUrls/sqs/data');
52
+
53
+ // Reserved limit components
54
+ const createReservedLimitFunctionYaml = require('./components/upload/preSignUrl/reservedLimit/functionYaml/data');
55
+ const createReservedLimitHandler = require('./components/upload/preSignUrl/reservedLimit/handler/data');
56
+ const createReservedLimitMainFunction = require('./components/upload/preSignUrl/reservedLimit/mainFunction/data');
57
+ const createReservedLimitQueueName = require('./components/upload/preSignUrl/reservedLimit/queue/data');
58
+
59
+ // Process uploaded file components
60
+ const createProcessAfterUploadS3FunctionYmlS3 = require('./components/upload/processFile/functionYml/HdrS3/data');
61
+ const createProcessAfterUploadS3Queue = require('./components/upload/processFile/queue/data');
62
+ const createProcessAfterUploadS3HandlerS3 = require('./components/upload/processFile/handler/handlerS3/data');
63
+ const createProcessAfterUploadS3MainFunction = require('./components/upload/processFile/mainFunction/data');
64
+
65
+ // Confirm reservation components
66
+ const createConfirmAfterUploadS3FunctionYaml = require('./components/upload/confirmReserved/functionYaml/data');
67
+ const createConfirmAfterUploadS3Handler = require('./components/upload/confirmReserved/handler/data');
68
+ const createConfirmAfterUploadS3MainFunction = require('./components/upload/confirmReserved/mainFunction/data');
69
+ const createConfirmAfterUploadS3Queue = require('./components/upload/confirmReserved/queue/data');
70
+
71
+ /**
72
+ * Generates code with templates for different actions
73
+ * @param {Object} _izContext - Context object
74
+ * @param {string} objSchemaPath - Path to the schema
75
+ * @returns {Array} Array of generated code parameters
76
+ */
77
+ async function generateCodeWithTemplate(_izContext, objSchemaPath) {
78
+ try {
79
+ const saveFilePath = join(objSchemaPath, '../');
80
+ let createSourceParams = [];
81
+ const allLocalFlowSchemas = await getAllLocalFlowSchemas(_izContext, objSchemaPath);
82
+
83
+ // default webSocket setting
84
+ const webSocketTaskTable = createWebSocketDynamoDb(_izContext, saveFilePath);
85
+ // const webSocketConnectYaml = createWebSocketConnectYaml(_izContext, saveFilePath);
86
+ // const webSocketConnectHandler = createWebSocketConnectHandler(_izContext, saveFilePath);
87
+
88
+ const webSocketResource = [...webSocketTaskTable
89
+ // ...webSocketConnectYaml, ...webSocketConnectHandler,
90
+ ]
91
+ if (allLocalFlowSchemas.records.length) {
92
+ createSourceParams.push(
93
+ ...webSocketResource
94
+ )
95
+ }
96
+
97
+ for (const flowSchema of allLocalFlowSchemas.records) {
98
+ // console.log("flowSchema::", flowSchema)
99
+ const reservedDataTable = createReservedDataMainTable(_izContext, saveFilePath);
100
+ const bucketS3 = createBucketS3(_izContext, flowSchema, saveFilePath)
101
+
102
+
103
+ const functionYamlCreateObjectWebSocket = createFunctionYamlCreateObjectWebSocket(_izContext, flowSchema, saveFilePath);
104
+ const handlerCreateObjectWebSocket = createHandlerCreateObjectWebSocket(_izContext, flowSchema, saveFilePath);
105
+ const mainFunctionCreateObjectWebSocket = await createMainFunctionCreateObjectWebSocket(_izContext, flowSchema, saveFilePath);
106
+ const webSocketCreateObjectCompleteFunctionYaml = createWebSocketCreateObjectCompleteFunctionYaml(_izContext, saveFilePath);
107
+ const webSocketCreateObjectCompleteQueue = createWebSocketCreateObjectCompleteQueue(_izContext, saveFilePath);
108
+ const webSocketCreateObjectCompleteMainFunction = createWebSocketCreateObjectCompleteMainFunction(_izContext, saveFilePath)
109
+ const webSocketCreateObjectCompleteHandler = createWebSocketCreateObjectCompleteHandler(_izContext, saveFilePath);
110
+
111
+ // const webSocketCreateObjectStordCache = createWebSocketCreateObjectStoredCache(_izContext, saveFilePath);
112
+ const webSocketGenerateCodeLibs = createWebSocketGenerateCodeLibs(_izContext, saveFilePath)
113
+
114
+ const getPreSignUrlFunctionYaml = createGetPreSignUrlFunctionYaml(_izContext, saveFilePath);
115
+ const getPreSignUrlHandler = createGetPreSignUrlHandler(_izContext, saveFilePath);
116
+ const getPreSignUrlMainFunction = createGetPreSignUrlMainFunction(_izContext, saveFilePath);
117
+ const getPreSignUrlQueue = createGetPreSignUrlQueueName(_izContext, saveFilePath);
118
+
119
+ const reservedLimitCompleteFunctionYaml = createReservedLimitFunctionYaml(_izContext, saveFilePath);
120
+ const reservedLimitCompleteMainFunction = createReservedLimitMainFunction(_izContext, flowSchema, saveFilePath);
121
+ const reservedLimitCompleteHandler = createReservedLimitHandler(_izContext, saveFilePath);
122
+ const reservedLimitCompleteQueue = createReservedLimitQueueName(_izContext, saveFilePath);
123
+
124
+ const processAfterUploadFunctionYmlS3 = createProcessAfterUploadS3FunctionYmlS3(_izContext, flowSchema, saveFilePath);
125
+ // const processAfterUploadFunctionYamlHdrDsq = createProcessAfterUploadS3FunctionYmlDsq(_izContext, saveFilePath);
126
+ const processAfterUploadSqs = createProcessAfterUploadS3Queue(_izContext, saveFilePath);
127
+ const processAfterUploadHandlerS3 = createProcessAfterUploadS3HandlerS3(_izContext, saveFilePath);
128
+ // const processAfterUploadHandlerDsq = createProcessAfterUploadS3HandlerDsq(_izContext, saveFilePath);
129
+ const processAfterUploadMainFunction = createProcessAfterUploadS3MainFunction(_izContext, saveFilePath);
130
+
131
+ const confirmReservedAfterUploadFunctionYaml = createConfirmAfterUploadS3FunctionYaml(_izContext, saveFilePath);
132
+ const confirmReservedAfterUploadHandler = createConfirmAfterUploadS3Handler(_izContext, saveFilePath);
133
+ const confirmReservedAfterUploadMainFunction = createConfirmAfterUploadS3MainFunction(_izContext, saveFilePath);
134
+ const confirmReservedAfterUploadQueue = createConfirmAfterUploadS3Queue(_izContext, saveFilePath);
135
+
136
+ // Group related resources for better organization
137
+ const webSocketFunctions = [
138
+ ...functionYamlCreateObjectWebSocket,
139
+ ...handlerCreateObjectWebSocket,
140
+ ...mainFunctionCreateObjectWebSocket,
141
+ ...webSocketCreateObjectCompleteFunctionYaml,
142
+ ...webSocketCreateObjectCompleteQueue,
143
+ ...webSocketCreateObjectCompleteMainFunction,
144
+ ...webSocketCreateObjectCompleteHandler
145
+ ];
146
+
147
+ const getPreSignUrlResources = [
148
+ ...getPreSignUrlFunctionYaml,
149
+ ...getPreSignUrlHandler,
150
+ ...getPreSignUrlMainFunction,
151
+ ...getPreSignUrlQueue
152
+ ];
153
+
154
+ const reservedLimitResources = [
155
+ ...reservedLimitCompleteFunctionYaml,
156
+ ...reservedLimitCompleteHandler,
157
+ ...reservedLimitCompleteMainFunction,
158
+ ...reservedLimitCompleteQueue
159
+ ];
160
+
161
+ const processAfterUploadResources = [
162
+ ...processAfterUploadFunctionYmlS3,
163
+ ...processAfterUploadSqs,
164
+ ...processAfterUploadHandlerS3,
165
+ ...processAfterUploadMainFunction
166
+ // Commented resources kept for reference
167
+ // ...processAfterUploadHandlerDsq,
168
+ // ...processAfterUploadFunctionYamlHdrDsq
169
+ ];
170
+
171
+ const confirmAfterUploadResources = [
172
+ ...confirmReservedAfterUploadFunctionYaml,
173
+ ...confirmReservedAfterUploadHandler,
174
+ ...confirmReservedAfterUploadMainFunction,
175
+ ...confirmReservedAfterUploadQueue
176
+ ];
177
+
178
+ if (flowSchema.hasOwnProperty("uploadS3") && flowSchema.uploadS3 === true) {
179
+ // Group all resources related to S3 upload functionality
180
+ const webSocketUploadS3Resources = [
181
+ ...webSocketFunctions,
182
+ ...webSocketGenerateCodeLibs,
183
+ ...reservedDataTable
184
+ ];
185
+
186
+ // Add all resources to the parameters array
187
+ createSourceParams.push(
188
+ ...webSocketUploadS3Resources,
189
+ ...getPreSignUrlResources,
190
+ ...reservedLimitResources,
191
+ ...bucketS3,
192
+ ...processAfterUploadResources,
193
+ ...confirmAfterUploadResources
194
+ );
195
+ }
196
+
197
+ if (flowSchema.hasOwnProperty("initializeRequest") && flowSchema.hasOwnProperty("response")) {
198
+ const webSocketEndpointResource = []
199
+ createSourceParams.push(...webSocketEndpointResource)
200
+ }
201
+ }
202
+
203
+ return createSourceParams;
204
+ } catch (error) {
205
+ _izContext.logger.error('Error generating code with template perActionComplete:', error);
206
+ return [];
207
+ }
208
+ }
209
+
210
+ module.exports = generateCodeWithTemplate;
@@ -0,0 +1,101 @@
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
+ 'use strict';
19
+ const path = require('path');
20
+ const { HANDLER } = require('@izara_project/izara-core-library-service-schemas/src/Consts')
21
+ const { FLOW_SCHEMA_HOOK_STATE } = require('@izara_project/izara-core-library-service-schemas/src/Consts')
22
+ const { firstLetterUpperCase: upperCase } = require('../../../../../../MainLibs/src/Utils')
23
+ const { SOURCE_PATH, defaultIamRolePerAction, createIamRole, RESOURCE_CLASSES, SNS_RESOURCE, resourceNames, DYNAMO_RESOURCE, SAVE_FILE_NAME, FUNCTION_NAME, shortNameHandler, SQS_RESOURCE } = require("../../../../libs/Consts");
24
+ const templatePath = path.join(__dirname, "template.ejs")
25
+ /**
26
+ * receive objectSchema
27
+ * create data for WebScoket handler template
28
+ *
29
+ * @param {Object} objectSchema
30
+ * @return {{templatePath, templateData,setting}}
31
+ */
32
+
33
+ function data(_izContext, flowSchema, srcPath) {
34
+ return [createSourceParams(_izContext, flowSchema, srcPath)]
35
+ }
36
+
37
+ function createSourceParams(_izContext, flowSchema, srcPath) {
38
+ let hook;
39
+ let hookFunctionName
40
+ let handlerType;
41
+ let queueName;
42
+ let filterPattern;
43
+ let additionalResourcePermission = defaultIamRolePerAction();
44
+ if (flowSchema?.hook) {
45
+ for (const [hookName, hookProperties] of Object.entries(flowSchema.hook)) {
46
+ for (const hookFunction of hookProperties.functionList) {
47
+ if (hookName === FLOW_SCHEMA_HOOK_STATE.beforeCreate) {
48
+ if (hookFunction.event.continueFlow === true && hookFunction.event.initialEvent === false) {
49
+ hook = true
50
+ hookFunctionName = upperCase(hookFunction.name)
51
+ handlerType = upperCase(hookFunction.event.handlerType);
52
+ filterPattern = hookFunction.event.filterPattern;
53
+ additionalResourcePermission.push(
54
+ createIamRole(
55
+ {
56
+ [RESOURCE_CLASSES.sns]: [
57
+ SNS_RESOURCE.publish
58
+ ]
59
+ },
60
+ [
61
+ resourceNames(RESOURCE_CLASSES.sns, "InImportBatchMainCreate")
62
+ ]
63
+ )
64
+ )
65
+ if (upperCase(handlerType) === upperCase(HANDLER.hdrDsq)) {
66
+ queueName = hookFunction.event.queueName;
67
+ } else if (upperCase(handlerType) === upperCase(HANDLER.hdrSqs)) {
68
+ if (hookFunction.event.topicName.includes("In")) {
69
+ queueName = upperCase(hookFunction.event.topicName.slice(2));
70
+ } else {
71
+ queueName = hookFunction.event.topicName;
72
+ }
73
+ }
74
+ }
75
+ }
76
+ }
77
+ }
78
+ }
79
+ return {
80
+ templatePath: templatePath,
81
+ templateData: {
82
+ hookFunctionName,
83
+ handlerType,
84
+ queueName,
85
+ additionalResourcePermission,
86
+ functionName: upperCase(hookFunctionName),
87
+ functionNameConfig: upperCase(hookFunctionName) + upperCase(shortNameHandler(handlerType)),
88
+ resourceLocation: SOURCE_PATH.resourceLocationGeneratedCodeHookFunction,
89
+ filterPattern
90
+ },
91
+ setting: {
92
+ savePath: path.join(srcPath, SOURCE_PATH.appYaml),
93
+ saveFileName: upperCase(SAVE_FILE_NAME.flowSchema),
94
+ fileExtension: ".yml",
95
+ isAppend: true
96
+ }
97
+ }
98
+
99
+ }
100
+
101
+ module.exports = data;
@@ -0,0 +1,43 @@
1
+ <%_ const join = require('path').join; _%>
2
+ <%_ const { HANDLER } = require('@izara_project/izara-core-library-service-schemas/src/Consts'); _%>
3
+ <%- firstLetterUpperCase(functionNameConfig) %>:
4
+ handler: <%- join(resourceLocation, `${functionName}_${firstLetterUpperCase(handlerType)}.main`)%>
5
+ name: ${self:custom.iz_resourcePrefix}<%- functionName %><%- firstLetterUpperCase(handlerType) %>
6
+ <%_ if (handlerType === firstLetterUpperCase(HANDLER.hdrDsq) || handlerType === firstLetterUpperCase(HANDLER.hdrSqs)) { _%>
7
+ events:
8
+ - sqs:
9
+ arn: arn:aws:sqs:${self:custom.iz_region}:${self:custom.iz_accountId}:${self:custom.iz_resourcePrefix}<%- queueName %><%- firstLetterUpperCase(handlerType) %>
10
+ batchSize: 10
11
+ <%_ if (filterPattern) { _%>
12
+ filterPatterns: #**** need to update serverless framwork upper v.2.69.1
13
+ - body: {"MessageAttributes":{"callingFlow":{"Value":["${self:custom.iz_resourcePrefix}<%- filterPattern %>"]}}} # functionName of callingFlow
14
+ - body: {"MessageAttributes":{"callingFlow":{"Value":[{"exists":false}]}}}
15
+ <%_ } _%>
16
+ <%_ } else if (handlerType === firstLetterUpperCase(HANDLER.hdrApi)) { _%>
17
+ events:
18
+ - http:
19
+ path: <%- objectType %>/<%- firstLetterUpperCase(action) %>
20
+ method: <%- event %>
21
+ cors: true
22
+ #<#<%- firstLetterUpperCase(functionName) %><%- firstLetterUpperCase(handlerType) %>Authorizer#>
23
+ #<#/<%- firstLetterUpperCase(functionName) %><%- firstLetterUpperCase(handlerType) %>Authorizer#>
24
+ <%_ } _%>
25
+ iamRoleStatements:
26
+ <%_ additionalResourcePermission.forEach(resourcePermission => { _%>
27
+ - Effect: <%- resourcePermission.effect %>
28
+ Action:
29
+ <%_ Object.keys(resourcePermission.action).forEach(resourcePerAction => { _%>
30
+ <%_ resourcePermission.action[resourcePerAction].forEach(permission => { _%>
31
+ - <%- resourcePerAction %>:<%- permission %>
32
+ <%_ }) _%>
33
+ <%_ }) _%>
34
+ Resource:
35
+ <%_ resourcePermission.resource.forEach(resource => { _%>
36
+ - "<%- resource %>"
37
+ <%_ }) _%>
38
+ <%_}) _%>
39
+ #<#<%- functionName %><%- handlerType %>IamRole#>
40
+ #<#/<%- functionName %><%- handlerType %>IamRole#>
41
+ <%_ function firstLetterUpperCase(text){
42
+ return text.charAt(0).toUpperCase() + text.slice(1)
43
+ } _%>
@@ -0,0 +1,93 @@
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
+ 'use strict';
19
+ const path = require('path');
20
+ const { HANDLER } = require('@izara_project/izara-core-library-service-schemas/src/Consts')
21
+ const { createHookFunction } = require('../../../../../../SourceManager/src/Utils')
22
+ const { FLOW_SCHEMA_HOOK_STATE } = require('@izara_project/izara-core-library-service-schemas/src/Consts')
23
+ const { firstLetterUpperCase: upperCase } = require('../../../../../../MainLibs/src/Utils')
24
+ const { SOURCE_PATH, defaultIamRolePerAction, createIamRole, RESOURCE_CLASSES, SNS_RESOURCE, resourceNames, DYNAMO_RESOURCE, SAVE_FILE_NAME, FUNCTION_NAME, shortNameHandler, SQS_RESOURCE } = require("../../../../libs/Consts");
25
+ const asyncTemplatePath = path.join(__dirname, "templateAsyncHandler.ejs")
26
+ const syncTemplatePath = path.join(__dirname, "templateSyncHandler.ejs")
27
+ /**
28
+ * receive objectSchema
29
+ * create data for WebScoket handler template
30
+ *
31
+ * @param {Object} objectSchema
32
+ * @return {{templatePath, templateData,setting}}
33
+ */
34
+
35
+ function data(_izContext, flowSchema, srcPath) {
36
+ return [createSourceParams(_izContext, flowSchema, srcPath)]
37
+ }
38
+
39
+ function createSourceParams(_izContext, flowSchema, srcPath) {
40
+ let hook;
41
+ let hookFunctionName
42
+ let handlerType;
43
+ let queueName;
44
+ if (flowSchema?.hook) {
45
+ for (const [hookName, hookProperties] of Object.entries(flowSchema.hook)) {
46
+ for (const hookFunction of hookProperties.functionList) {
47
+ if (hookName === FLOW_SCHEMA_HOOK_STATE.beforeCreate) {
48
+ if (hookFunction.event.continueFlow === true && hookFunction.event.initialEvent === false) {
49
+ hook = true
50
+ hookFunctionName = upperCase(hookFunction.name)
51
+ handlerType = upperCase(hookFunction.event.handlerType);
52
+ if (upperCase(handlerType) === upperCase(HANDLER.hdrDsq)) {
53
+ queueName = hookFunction.event.queueName;
54
+ } else if (upperCase(handlerType) === upperCase(HANDLER.hdrSqs)) {
55
+ queueName = hookFunction.event.topicName;
56
+ }
57
+ }
58
+ }
59
+ }
60
+ }
61
+ }
62
+
63
+ if (upperCase(handlerType) === upperCase(HANDLER.hdrSqs) || upperCase(handlerType) === upperCase(HANDLER.hdrDsq)) {
64
+ return {
65
+ templatePath: asyncTemplatePath,
66
+ templateData: {
67
+ hookFunctionName,
68
+ queueName
69
+ },
70
+ setting: {
71
+ savePath: path.join(srcPath, SOURCE_PATH.generatedCodeHookFunction),
72
+ saveFileName: `${upperCase(hookFunctionName)}_${upperCase(handlerType)}`,
73
+ fileExtension: ".js",
74
+ isAppend: false
75
+ }
76
+ }
77
+ } else if (upperCase(handlerType) === upperCase(HANDLER.hdrApi) || upperCase(handlerType) === upperCase(HANDLER.hdrInv)) {
78
+ return {
79
+ templatePath: syncTemplatePath,
80
+ templateData: {
81
+ hookFunctionName,
82
+ },
83
+ setting: {
84
+ savePath: path.join(srcPath, SOURCE_PATH.generatedCodeHookFunction),
85
+ saveFileName: `${upperCase(hookFunctionName)}_${upperCase(handlerType)}`,
86
+ fileExtension: ".js",
87
+ isAppend: false
88
+ }
89
+ }
90
+ }
91
+ }
92
+
93
+ module.exports = data;
@@ -0,0 +1,110 @@
1
+ /*
2
+ Copyright (C) 2021 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
+ 'use strict';
19
+
20
+ // const AWS = require('aws-sdk');
21
+ // const sqs = new AWS.SQS(firstLetterUpperCase{ apiVersion: '2012-11-05' });
22
+
23
+ const izara = require("@izara_project/izara-middleware");
24
+ const middleware = izara.middlewareHandler;
25
+ const recordHandlerSharedLib = require("@izara_project/izara-shared").recordHandlerSharedLib;
26
+ const Logger = require('@izara_project/izara-core-library-logger');
27
+ const izaraShared = require('@izara_project/izara-shared');
28
+ const callingFlowSharedLib = izaraShared.callingFlowSharedLib;
29
+
30
+ const <%- hookFunctionName %> = require('./<%- hookFunctionName %>_Main')
31
+
32
+ // validate event properties in body.Message of sqs event
33
+ middleware.setValidatorSchema(recordHandlerSharedLib.baseValidatorSchema());
34
+
35
+ // set schema for record.body.Message
36
+ let perRecordsValidatorSchema = {
37
+ type: "object",
38
+ required: [
39
+ 'returnMessage',
40
+ 'errorsFound',
41
+ 'passStatus'
42
+ ],
43
+ properties: {
44
+ returnMessage: {
45
+ type: "object"
46
+ },
47
+ errorsFound: {
48
+ type: "array"
49
+ },
50
+ passStatus: {
51
+ type: 'boolean'
52
+ }
53
+ }
54
+ };
55
+
56
+ perRecordsValidatorSchema = callingFlowSharedLib.addOptionalPassBackPropertiesToValidatorSchema(perRecordsValidatorSchema)
57
+
58
+ module.exports.main = middleware.wrap(async (event, context, callback) => {
59
+
60
+ try {
61
+
62
+ let recordPromises = [];
63
+
64
+ // loop each record and send to mainFunction
65
+ await Promise.all(event.Records.map(async record => { // promise.all for map() function
66
+
67
+ let passOnProperties = []
68
+ record._izContext.logger.debug('record ReceiveMsgOutHdrSqs', record);
69
+
70
+ // validate message (and MessageAttributes)
71
+ await recordHandlerSharedLib.validateRecord(
72
+ record, // one record will send to mainFunction
73
+ "<%- queueName %>", // queue name that need to retry or send to dlq
74
+ perRecordsValidatorSchema, // schema for record.Message
75
+ // messageAttributeValidatorSchema // ----- for msgAttr default is null -> do not send this parameter if not want to validate msgAtt
76
+ );
77
+
78
+ // add argument (to invoke lambda) to passOnProperties[]
79
+ passOnProperties.push(record.body.Message)
80
+ passOnProperties.push(callingFlowSharedLib.addPassBackPropertiesToPassOnProperties(record.body.Message))
81
+ record._izContext.logger.debug('passOnProperties in handler', passOnProperties);
82
+
83
+ // call recordHandlerSharedLib.recordHandler with 3 parameters and return promise(resolve)
84
+ let recordPromise = recordHandlerSharedLib.recordHandler(
85
+ record, // one record will send to mainFunction
86
+ <%- hookFunctionName %>, // mainFunction that need to invoke.
87
+ "<%- queueName %>", // queue name that need to retry or send to dlq
88
+ passOnProperties, // all parameters that mainFunction needed.
89
+ );
90
+ record._izContext.logger.debug('after recordPromise in handler');
91
+ recordPromises.push(recordPromise); // push promise to recordPromises
92
+ }))
93
+
94
+ Logger.debug('before Promise.all(recordPromises) in handler');
95
+ try {
96
+ // --- main await all promises
97
+ await Promise.all(recordPromises); // await all promises
98
+
99
+ return event.Records // return all for local test
100
+
101
+ } catch {
102
+ Logger.debug('Promise.all(recordPromises) in handler threw error (at least one record did no resolve)');
103
+ }
104
+ Logger.debug('after Promise.all(recordPromises) in handler');
105
+
106
+ } catch (err) {
107
+ Logger.error('Unhandled Error, <%- hookFunctionName %>: ', err);
108
+ throw (err);
109
+ }
110
+ });
@@ -0,0 +1,49 @@
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
+ 'use strict';
19
+
20
+ const izara = require("@izara_project/izara-middleware");
21
+ const middleware = izara.middlewareHandler;
22
+
23
+ // const CorrelationIds = require('@izara_project/izara-core-library-correlation-ids')
24
+ // const Logger = require('@izara_project/izara-core-library-logger');
25
+ // const IntegrationTestDetail = require('@izara_project/izara-core-library-integration-tests')
26
+
27
+ const <%- hookFunctionName %> = require('./<%- hookFunctionName %>_Main');
28
+
29
+ // validate event params in middlewware before into function.
30
+ const validatorSchema = {};
31
+ middleware.setValidatorSchema(validatorSchema);
32
+
33
+ module.exports.main = middleware.wrap(async (event, context, callback) => {
34
+ event._izContext.logger.debug('Event:', event);
35
+ event._izContext.logger.debug('context:', context);
36
+
37
+ try {
38
+
39
+ // invoke LambdaFunction
40
+ return await <%- hookFunctionName %>(
41
+ event._izContext, // correlationId/logger/integrationTestDetail/uniqueRequestId
42
+ event
43
+ );
44
+
45
+ } catch (err) {
46
+ event._izContext.logger.error('Error, <%- hookFunctionName %>: ', err);
47
+ throw (err);
48
+ }
49
+ });
@@ -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
+ 'use strict';
19
+ const path = require('path');
20
+ const { HANDLER } = require('@izara_project/izara-core-library-service-schemas/src/Consts')
21
+ const { createHookFunction } = require('../../../../../../SourceManager/src/Utils')
22
+ const { FLOW_SCHEMA_HOOK_STATE } = require('@izara_project/izara-core-library-service-schemas/src/Consts')
23
+ const { firstLetterUpperCase: upperCase } = require('../../../../../../MainLibs/src/Utils')
24
+ const { SOURCE_PATH, defaultIamRolePerAction, createIamRole, RESOURCE_CLASSES, SNS_RESOURCE, resourceNames, DYNAMO_RESOURCE, SAVE_FILE_NAME, FUNCTION_NAME, shortNameHandler, SQS_RESOURCE } = require("../../../../libs/Consts");
25
+ const asyncTemplatePath = path.join(__dirname, "templateAsyncHandler.ejs")
26
+ const syncTemplatePath = path.join(__dirname, "templateSyncHandler.ejs")
27
+ /**
28
+ * receive objectSchema
29
+ * create data for WebScoket handler template
30
+ *
31
+ * @param {Object} objectSchema
32
+ * @return {{templatePath, templateData,setting}}
33
+ */
34
+
35
+ async function data(_izContext, flowSchema, srcPath) {
36
+ return [await createSourceParams(_izContext, flowSchema, srcPath)]
37
+ }
38
+
39
+ async function createSourceParams(_izContext, flowSchema, srcPath) {
40
+ if (flowSchema?.hook) {
41
+ await Promise.all(
42
+ Object.values(flowSchema.hook).map(hookProperties =>
43
+ Promise.all(
44
+ hookProperties.functionList.map(hookFunction =>
45
+ createHookFunction(
46
+ _izContext,
47
+ hookFunction.logicFunction,
48
+ {
49
+ fileExtension: ".js",
50
+ isAppend: false,
51
+ saveFileName: `${hookFunction.name}`,
52
+ destinationPath: path.join(srcPath, SOURCE_PATH.logicalFunctionHook),
53
+ }
54
+ )
55
+ )
56
+ )
57
+ )
58
+ );
59
+ }
60
+ }
61
+
62
+
63
+
64
+ module.exports = data