@izara_project/izara-core-generate-service-code 1.0.2 → 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 (390) hide show
  1. package/package.json +3 -3
  2. package/src/GenerateCode.js +5 -4
  3. package/src/GenerateResources.js +4 -3
  4. package/src/GenerateSchema.js +5 -4
  5. package/src/GenerateTests.js +6 -7
  6. package/src/TemplateConfig.js +18 -18
  7. package/src/TemplateData/EndpointPerService/generateTemplateData.js +1 -1
  8. package/src/TemplateData/EndpointPerService/mainFunction/create/template.ejs +6 -17
  9. package/src/TemplateData/EndpointPerService/mainFunction/delete/template.ejs +7 -12
  10. package/src/TemplateData/EndpointPerService/mainFunction/get/template.ejs +7 -10
  11. package/src/TemplateData/EndpointPerService/mainFunction/update/template.ejs +5 -17
  12. package/src/TemplateData/IntTest/generateResources/generateResources.js +4 -3
  13. package/src/TemplateData/IntTest/generateTests/events/data.js +3 -1
  14. package/src/TemplateData/IntTest/generateTests/generateTemplate.js +4 -2
  15. package/src/TemplateData/IntTest/generateTests/pathIntTest/data.js +2 -2
  16. package/src/TemplateData/IntTest/generateTests/tests/data.js +9 -8
  17. package/src/TemplateData/IntTest/libs/libs.js +4 -35
  18. package/src/TemplateData/IntTest/upload/uploadIntTest.js +4 -3
  19. package/src/TemplateData/externalService/lambdaRole/template.ejs +1 -3
  20. package/src/TemplateData/externalService/snsTopicSubscriptions/template.ejs +0 -2
  21. package/src/TemplateData/findData/findDataYaml/data.js +2 -1
  22. package/src/TemplateData/findData/mainFunction/data.js +1 -1
  23. package/src/TemplateData/flowSchema/CreateRecordComplete/functionYaml/data.js +9 -5
  24. package/src/TemplateData/flowSchema/CreateRecordComplete/handler/data.js +3 -3
  25. package/src/TemplateData/flowSchema/CreateRecordComplete/mainFunction/data.js +3 -3
  26. package/src/TemplateData/flowSchema/CreateRecordComplete/queue/data.js +3 -3
  27. package/src/TemplateData/flowSchema/components/upload/confirmReserved/functionYaml/data.js +11 -8
  28. package/src/TemplateData/flowSchema/components/upload/confirmReserved/handler/data.js +3 -3
  29. package/src/TemplateData/flowSchema/components/upload/confirmReserved/mainFunction/data.js +1 -1
  30. package/src/TemplateData/flowSchema/components/upload/confirmReserved/mainFunction/template.ejs +1 -1
  31. package/src/TemplateData/flowSchema/components/upload/confirmReserved/queue/data.js +3 -2
  32. package/src/TemplateData/flowSchema/components/upload/createObject/functionYaml/data.js +11 -7
  33. package/src/TemplateData/flowSchema/components/upload/createObject/handler/data.js +3 -3
  34. package/src/TemplateData/flowSchema/components/upload/createObject/mainFunction/data.js +4 -3
  35. package/src/TemplateData/flowSchema/components/upload/createObject/mainFunction/template.ejs +2 -2
  36. package/src/TemplateData/flowSchema/components/upload/createObjectComplete/functionYaml/data.js +9 -7
  37. package/src/TemplateData/flowSchema/components/upload/createObjectComplete/handler/data.js +3 -3
  38. package/src/TemplateData/flowSchema/components/upload/createObjectComplete/mainFunction/data.js +3 -3
  39. package/src/TemplateData/flowSchema/components/upload/createObjectComplete/sns-sqs/data.js +3 -3
  40. package/src/TemplateData/flowSchema/components/upload/preSignUrl/createPresignUrl/functionYaml/data.js +11 -7
  41. package/src/TemplateData/flowSchema/components/upload/preSignUrl/createPresignUrl/handler/data.js +3 -3
  42. package/src/TemplateData/flowSchema/components/upload/preSignUrl/createPresignUrl/mainFunction/data.js +3 -3
  43. package/src/TemplateData/flowSchema/components/upload/preSignUrl/createPresignUrl/mainFunction/template.ejs +2 -2
  44. package/src/TemplateData/flowSchema/components/upload/preSignUrl/createPresignUrl/queue/data.js +2 -4
  45. package/src/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/functionYaml/data.js +15 -9
  46. package/src/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/handler/data.js +3 -3
  47. package/src/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/mainFunction/data.js +2 -1
  48. package/src/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/mainFunction/template.ejs +1 -1
  49. package/src/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/sqs/data.js +3 -5
  50. package/src/TemplateData/flowSchema/components/upload/processFile/functionYml/HdrS3/data.js +10 -5
  51. package/src/TemplateData/flowSchema/components/upload/processFile/handler/handlerS3/data.js +2 -1
  52. package/src/TemplateData/flowSchema/components/upload/processFile/mainFunction/data.js +2 -1
  53. package/src/TemplateData/flowSchema/components/upload/processFile/mainFunction/template.ejs +0 -2
  54. package/src/TemplateData/flowSchema/components/upload/processFile/queue/data.js +1 -1
  55. package/src/TemplateData/flowSchema/components/upload/relate/S3/data.js +1 -1
  56. package/src/TemplateData/flowSchema/components/upload/relate/libs/data.js +1 -1
  57. package/src/TemplateData/flowSchema/components/upload/relate/sns-out/data.js +2 -1
  58. package/src/TemplateData/flowSchema/components/websocket/connect/functionYaml/data.js +9 -4
  59. package/src/TemplateData/flowSchema/components/websocket/connect/handler/data.js +1 -1
  60. package/src/TemplateData/flowSchema/components/websocket/dynamoDb/ReservedTableData.js +1 -2
  61. package/src/TemplateData/flowSchema/components/websocket/dynamoDb/WebSocketTaskData.js +1 -1
  62. package/src/TemplateData/flowSchema/components/websocket/dynamoDb/userUploadRecords.js +1 -1
  63. package/src/TemplateData/flowSchema/dynamoDb/data.js +2 -1
  64. package/src/TemplateData/flowSchema/eventBridge/functionYaml/data.js +9 -4
  65. package/src/TemplateData/flowSchema/eventBridge/handler/inv/data.js +2 -1
  66. package/src/TemplateData/flowSchema/eventBridge/mainFunction/data.js +2 -1
  67. package/src/TemplateData/flowSchema/externalTopic/Complete/functionYaml/data.js +9 -6
  68. package/src/TemplateData/flowSchema/externalTopic/Complete/handler/data.js +2 -19
  69. package/src/TemplateData/flowSchema/externalTopic/Complete/mainFunction/data.js +3 -1
  70. package/src/TemplateData/flowSchema/externalTopic/Process/functionYaml/data.js +12 -5
  71. package/src/TemplateData/flowSchema/externalTopic/Process/handler/data.js +4 -1
  72. package/src/TemplateData/flowSchema/externalTopic/sns-in-sqs/data.js +3 -1
  73. package/src/TemplateData/flowSchema/externalTopic/sns-out/data.js +5 -6
  74. package/src/TemplateData/flowSchema/flowSchemaMainFunction/data.js +5 -9
  75. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComplete/functionYaml/data.js +10 -5
  76. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComplete/handler/data.js +3 -3
  77. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComplete/mainFunction/data.js +3 -3
  78. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComponent/functionYaml/data.js +65 -58
  79. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComponent/functionYaml/template.ejs +0 -4
  80. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComponent/handler/DsqHandlerTemplate.ejs +91 -0
  81. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComponent/handler/data.js +31 -16
  82. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/FlowSchemaComponent/functionYaml/data.js +10 -5
  83. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/FlowSchemaComponent/handler/data.js +4 -3
  84. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/FlowSchemaComponent/handler/template.ejs +5 -6
  85. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/FlowSchemaComponent/mainFunction/data.js +3 -1
  86. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/FlowSchemaComponent/mainFunction/template.ejs +3 -3
  87. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/sns-in/data.js +3 -3
  88. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/sns-out/data.js +3 -3
  89. package/src/TemplateData/flowSchema/flowStep/functionYaml/data.js +13 -8
  90. package/src/TemplateData/flowSchema/flowStep/handler/data.js +3 -3
  91. package/src/TemplateData/flowSchema/flowStep/mainFunction/data.js +2 -1
  92. package/src/TemplateData/flowSchema/flowStep/sns-in/data.js +3 -3
  93. package/src/TemplateData/flowSchema/generateTemplateData.js +1 -6
  94. package/src/TemplateData/flowSchema/lambdaSync/Api/functionYaml/data.js +10 -3
  95. package/src/TemplateData/flowSchema/lambdaSync/Api/handler/data.js +3 -1
  96. package/src/TemplateData/flowSchema/lambdaSync/Inv/functionYaml/data.js +9 -3
  97. package/src/TemplateData/flowSchema/lambdaSync/Inv/handler/data.js +2 -1
  98. package/src/TemplateData/flowSchema/register/complete/functionYaml/data.js +11 -5
  99. package/src/TemplateData/flowSchema/register/complete/handler/data.js +2 -1
  100. package/src/TemplateData/flowSchema/register/complete/mainFunction/data.js +2 -1
  101. package/src/TemplateData/flowSchema/register/dynamoDB/register.js +2 -4
  102. package/src/TemplateData/flowSchema/register/sns-in/data.js +3 -4
  103. package/src/TemplateData/flowSchema/register/subscriptionOutAll/data.js +3 -3
  104. package/src/TemplateData/flowSchema/register/wbs/functionYaml/data.js +10 -5
  105. package/src/TemplateData/flowSchema/register/wbs/handler/data.js +2 -1
  106. package/src/TemplateData/flowSchema/register/wbs/mainFunction/data.js +2 -1
  107. package/src/TemplateData/flowSchema/statusFieldComponent/FunctionYaml/data.js +14 -6
  108. package/src/TemplateData/flowSchema/statusFieldComponent/Handler/data.js +4 -7
  109. package/src/TemplateData/flowSchema/statusFieldComponent/MainFunction/data.js +4 -3
  110. package/src/TemplateData/flowSchema/statusFieldComponent/sns/data.js +3 -3
  111. package/src/TemplateData/flowSchema/triggerCacheComponent/checkTriggerCacheComplete/functionYaml/data.js +12 -8
  112. package/src/TemplateData/flowSchema/triggerCacheComponent/checkTriggerCacheComplete/handler/data.js +3 -3
  113. package/src/TemplateData/flowSchema/triggerCacheComponent/checkTriggerCacheComplete/mainFunction/data.js +3 -3
  114. package/src/TemplateData/flowSchema/triggerCacheComponent/processTriggerCache/functionYaml/data.js +12 -6
  115. package/src/TemplateData/flowSchema/triggerCacheComponent/processTriggerCache/handler/data.js +2 -1
  116. package/src/TemplateData/flowSchema/triggerCacheComponent/processTriggerCache/mainFunction/data.js +2 -1
  117. package/src/TemplateData/flowSchema/triggerCacheComponent/triggerCacheComplete/functionYaml/data.js +11 -8
  118. package/src/TemplateData/flowSchema/triggerCacheComponent/triggerCacheComplete/handler/data.js +2 -1
  119. package/src/TemplateData/flowSchema/triggerCacheComponent/triggerCacheComplete/mainFunction/data.js +3 -3
  120. package/src/TemplateData/flowSchema/triggerCacheComponent/triggerCacheQueue/data.js +4 -11
  121. package/src/TemplateData/flowSchema/webSocketComplete/functionYaml/data.js +11 -8
  122. package/src/TemplateData/flowSchema/webSocketComplete/handler/data.js +2 -1
  123. package/src/TemplateData/flowSchema/webSocketComplete/mainFunction/data.js +1 -1
  124. package/src/TemplateData/flowSchema/webSocketComplete/sqs/data.js +3 -3
  125. package/src/TemplateData/generateRole/data.js +7 -2
  126. package/src/TemplateData/perActionComplete/create/handler/data.js +3 -3
  127. package/src/TemplateData/perActionComplete/create/mainFunction/data.js +3 -3
  128. package/src/TemplateData/perActionComplete/create/mainFunction/template.ejs +2 -2
  129. package/src/TemplateData/perActionComplete/create/sns-in-sqs/data.js +3 -3
  130. package/src/TemplateData/perActionComplete/create/sns-out/data.js +3 -3
  131. package/src/TemplateData/perActionComplete/create/yaml/data.js +11 -7
  132. package/src/TemplateData/perActionComplete/delete/handler/data.js +3 -3
  133. package/src/TemplateData/perActionComplete/delete/mainFunction/data.js +4 -3
  134. package/src/TemplateData/perActionComplete/delete/mainFunction/template.ejs +3 -4
  135. package/src/TemplateData/perActionComplete/delete/sns-in-sqs/data.js +4 -3
  136. package/src/TemplateData/perActionComplete/delete/sns-out/data.js +3 -3
  137. package/src/TemplateData/perActionComplete/delete/yaml/data.js +11 -7
  138. package/src/TemplateData/perActionComplete/get/handler/data.js +3 -3
  139. package/src/TemplateData/perActionComplete/get/mainFunction/data.js +3 -4
  140. package/src/TemplateData/perActionComplete/get/mainFunction/template.ejs +2 -2
  141. package/src/TemplateData/perActionComplete/get/sns-in-sqs/data.js +3 -3
  142. package/src/TemplateData/perActionComplete/get/sns-out/data.js +3 -3
  143. package/src/TemplateData/perActionComplete/get/yaml/data.js +12 -7
  144. package/src/TemplateData/perActionComplete/update/handler/data.js +3 -3
  145. package/src/TemplateData/perActionComplete/update/mainFunction/data.js +3 -3
  146. package/src/TemplateData/perActionComplete/update/mainFunction/template.ejs +2 -2
  147. package/src/TemplateData/perActionComplete/update/sns-in-sqs/data.js +3 -3
  148. package/src/TemplateData/perActionComplete/update/sns-out/data.js +4 -6
  149. package/src/TemplateData/perActionComplete/update/yaml/data.js +11 -7
  150. package/src/TemplateData/processLogical/handler/data.js +3 -3
  151. package/src/TemplateData/processLogical/mainFunction/data.js +2 -1
  152. package/src/TemplateData/processLogical/yaml/data.js +10 -7
  153. package/src/TemplateData/processLogicalPagination/DsqYaml/data.js +1 -1
  154. package/src/TemplateData/processLogicalPagination/handler/dsq/data.js +2 -1
  155. package/src/TemplateData/processLogicalPagination/handler/sqs/data.js +2 -1
  156. package/src/TemplateData/processLogicalPagination/mainFunction/data.js +2 -1
  157. package/src/TemplateData/processLogicalPagination/yaml/dsq/data.js +11 -7
  158. package/src/TemplateData/processLogicalPagination/yaml/sqs/data.js +9 -6
  159. package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/data.js +12 -7
  160. package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/data.js +3 -3
  161. package/src/TemplateData/relationshipPerAction/changeRelationship/action/mainFunction/data.js +3 -3
  162. package/src/TemplateData/relationshipPerAction/changeRelationship/action/mainFunction/template.ejs +2 -2
  163. package/src/TemplateData/relationshipPerAction/changeRelationship/action/sns-in-sqs/data.js +5 -3
  164. package/src/TemplateData/relationshipPerAction/changeRelationship/complete/functionYaml/data.js +11 -7
  165. package/src/TemplateData/relationshipPerAction/changeRelationship/complete/handler/sqs/data.js +3 -3
  166. package/src/TemplateData/relationshipPerAction/changeRelationship/complete/mainFunction/data.js +3 -3
  167. package/src/TemplateData/relationshipPerAction/changeRelationship/complete/mainFunction/template.ejs +12 -11
  168. package/src/TemplateData/relationshipPerAction/changeRelationship/complete/sns-in-sqs/data.js +3 -3
  169. package/src/TemplateData/relationshipPerAction/changeRelationship/complete/sns-out/data.js +2 -1
  170. package/src/TemplateData/relationshipPerAction/create/action/functionYaml/data.js +20 -15
  171. package/src/TemplateData/relationshipPerAction/create/action/handler/data.js +4 -3
  172. package/src/TemplateData/relationshipPerAction/create/action/mainFunction/data.js +4 -3
  173. package/src/TemplateData/relationshipPerAction/create/action/mainFunction/template.ejs +2 -2
  174. package/src/TemplateData/relationshipPerAction/create/action/sns-in-sqs/data.js +6 -4
  175. package/src/TemplateData/relationshipPerAction/create/complete/functionYaml/data.js +14 -10
  176. package/src/TemplateData/relationshipPerAction/create/complete/handler/sqs/data.js +3 -3
  177. package/src/TemplateData/relationshipPerAction/create/complete/mainFunction/data.js +3 -3
  178. package/src/TemplateData/relationshipPerAction/create/complete/mainFunction/template.ejs +3 -2
  179. package/src/TemplateData/relationshipPerAction/create/complete/sns-in-sqs/data.js +3 -3
  180. package/src/TemplateData/relationshipPerAction/create/complete/sns-out/data.js +3 -4
  181. package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/data.js +20 -15
  182. package/src/TemplateData/relationshipPerAction/delete/action/handler/data.js +4 -4
  183. package/src/TemplateData/relationshipPerAction/delete/action/mainFunction/data.js +4 -7
  184. package/src/TemplateData/relationshipPerAction/delete/action/mainFunction/template.ejs +2 -2
  185. package/src/TemplateData/relationshipPerAction/delete/action/sns-in-sqs/data.js +5 -3
  186. package/src/TemplateData/relationshipPerAction/delete/complete/functionYaml/data.js +11 -7
  187. package/src/TemplateData/relationshipPerAction/delete/complete/handler/sqs/data.js +2 -1
  188. package/src/TemplateData/relationshipPerAction/delete/complete/mainFunction/data.js +3 -3
  189. package/src/TemplateData/relationshipPerAction/delete/complete/mainFunction/template.ejs +4 -5
  190. package/src/TemplateData/relationshipPerAction/delete/complete/sns-in-sqs/data.js +3 -3
  191. package/src/TemplateData/relationshipPerAction/delete/complete/sns-out/data.js +3 -3
  192. package/src/TemplateData/relationshipPerAction/generateTemplateData.js +1 -1
  193. package/src/TemplateData/relationshipPerAction/get/action/functionYaml/data.js +19 -16
  194. package/src/TemplateData/relationshipPerAction/get/action/handler/data.js +4 -4
  195. package/src/TemplateData/relationshipPerAction/get/action/mainFunction/data.js +3 -4
  196. package/src/TemplateData/relationshipPerAction/get/action/mainFunction/template.ejs +6 -3
  197. package/src/TemplateData/relationshipPerAction/get/action/sns-in-sqs/data.js +5 -3
  198. package/src/TemplateData/relationshipPerAction/get/complete/functionYaml/data.js +13 -9
  199. package/src/TemplateData/relationshipPerAction/get/complete/handler/sqs/data.js +2 -1
  200. package/src/TemplateData/relationshipPerAction/get/complete/mainFunction/data.js +3 -3
  201. package/src/TemplateData/relationshipPerAction/get/complete/mainFunction/template.ejs +3 -2
  202. package/src/TemplateData/relationshipPerAction/get/complete/sns-in-sqs/data.js +2 -1
  203. package/src/TemplateData/relationshipPerAction/get/complete/sns-out/data.js +3 -3
  204. package/src/TemplateData/relationshipPerAction/moveRelationship/action/functionYaml/data.js +17 -13
  205. package/src/TemplateData/relationshipPerAction/moveRelationship/action/handler/data.js +4 -3
  206. package/src/TemplateData/relationshipPerAction/moveRelationship/action/mainFunction/data.js +6 -4
  207. package/src/TemplateData/relationshipPerAction/moveRelationship/action/mainFunction/template.ejs +6 -3
  208. package/src/TemplateData/relationshipPerAction/moveRelationship/action/sns-in-sqs/data.js +6 -4
  209. package/src/TemplateData/relationshipPerAction/moveRelationship/complete/functionYaml/data.js +13 -9
  210. package/src/TemplateData/relationshipPerAction/moveRelationship/complete/handler/sqs/data.js +3 -3
  211. package/src/TemplateData/relationshipPerAction/moveRelationship/complete/mainFunction/data.js +3 -3
  212. package/src/TemplateData/relationshipPerAction/moveRelationship/complete/mainFunction/template.ejs +3 -2
  213. package/src/TemplateData/relationshipPerAction/moveRelationship/complete/sns-in-sqs/data.js +3 -3
  214. package/src/TemplateData/relationshipPerAction/moveRelationship/complete/sns-out/data.js +3 -3
  215. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/data.js +20 -15
  216. package/src/TemplateData/relationshipPerAction/update/action/handler/data.js +4 -4
  217. package/src/TemplateData/relationshipPerAction/update/action/mainFunction/data.js +4 -4
  218. package/src/TemplateData/relationshipPerAction/update/action/mainFunction/template.ejs +6 -3
  219. package/src/TemplateData/relationshipPerAction/update/action/sns-in-sqs/data.js +4 -3
  220. package/src/TemplateData/relationshipPerAction/update/action/sns-out/data.js +5 -6
  221. package/src/TemplateData/relationshipPerAction/update/complete/functionYaml/data.js +13 -10
  222. package/src/TemplateData/relationshipPerAction/update/complete/handler/sqs/data.js +3 -3
  223. package/src/TemplateData/relationshipPerAction/update/complete/mainFunction/data.js +2 -1
  224. package/src/TemplateData/relationshipPerAction/update/complete/mainFunction/template.ejs +3 -2
  225. package/src/TemplateData/relationshipPerAction/update/complete/sns-in-sqs/data.js +3 -3
  226. package/src/TemplateData/relationshipPerAction/update/complete/sns-out/data.js +3 -3
  227. package/src/TemplateData/resourceYaml/dynamodb/defaultDynamoDbTable.js +1 -1
  228. package/src/TemplateData/resourceYaml/dynamodb/generateDynamoPerLink.js +7 -3
  229. package/src/TemplateData/resourceYaml/dynamodb/mainResourcePerObjectSchemaData.js +2 -1
  230. package/src/TemplateData/resourceYaml/filterGenerateResource/data.js +5 -3
  231. package/src/TemplateData/resourceYaml/generateTemplateData.js +5 -2
  232. package/src/TemplateData/resourceYaml/sns-in-sqs/defaultSnsInSqsForFindDataAndProcessLogical.js +3 -3
  233. package/src/TemplateData/resourceYaml/sns-in-sqs/snsAndSqsPerActionData.js +4 -3
  234. package/src/TemplateData/resourceYaml/sns-out/data.js +3 -3
  235. package/src/TemplateData/resourceYaml/sns-out/defaultSnsOutForFindDataAndProcessLogical.js +2 -1
  236. package/src/libs/GenerateCodeLibs.js +1 -1
  237. package/src/libs/Libs.js +22 -0
  238. package/src/libs/Utils.js +4 -4
  239. package/src/TemplateData/EndpointPerService/mainFunction/create/backupTemplate.ejs +0 -358
  240. package/src/TemplateData/perActionEndpoint/generateTemplateData.js +0 -112
  241. package/src/TemplateData/perActionEndpoint/handler/api/data.js +0 -109
  242. package/src/TemplateData/perActionEndpoint/handler/api/request.json +0 -7
  243. package/src/TemplateData/perActionEndpoint/handler/api/template.ejs +0 -36
  244. package/src/TemplateData/perActionEndpoint/handler/dsq/data.js +0 -118
  245. package/src/TemplateData/perActionEndpoint/handler/dsq/request.json +0 -7
  246. package/src/TemplateData/perActionEndpoint/handler/dsq/template.ejs +0 -55
  247. package/src/TemplateData/perActionEndpoint/handler/inv/data.js +0 -112
  248. package/src/TemplateData/perActionEndpoint/handler/inv/request.json +0 -7
  249. package/src/TemplateData/perActionEndpoint/handler/inv/template.ejs +0 -37
  250. package/src/TemplateData/perActionEndpoint/handler/sqs/data.js +0 -116
  251. package/src/TemplateData/perActionEndpoint/handler/sqs/request.json +0 -7
  252. package/src/TemplateData/perActionEndpoint/handler/sqs/template.ejs +0 -57
  253. package/src/TemplateData/perActionEndpoint/handler/webSocket/data.js +0 -94
  254. package/src/TemplateData/perActionEndpoint/handler/webSocket/template.ejs +0 -61
  255. package/src/TemplateData/perActionEndpoint/handler/webSocketConnect/data.js +0 -54
  256. package/src/TemplateData/perActionEndpoint/handler/webSocketConnect/template.ejs +0 -55
  257. package/src/TemplateData/perActionEndpoint/libs/data.js +0 -60
  258. package/src/TemplateData/perActionEndpoint/libs/template.ejs +0 -46
  259. package/src/TemplateData/perActionEndpoint/mainFunction/create/data.js +0 -91
  260. package/src/TemplateData/perActionEndpoint/mainFunction/create/request.json +0 -0
  261. package/src/TemplateData/perActionEndpoint/mainFunction/create/template.ejs +0 -339
  262. package/src/TemplateData/perActionEndpoint/mainFunction/delete/data.js +0 -91
  263. package/src/TemplateData/perActionEndpoint/mainFunction/delete/template.ejs +0 -99
  264. package/src/TemplateData/perActionEndpoint/mainFunction/get/data.js +0 -92
  265. package/src/TemplateData/perActionEndpoint/mainFunction/get/request.json +0 -5
  266. package/src/TemplateData/perActionEndpoint/mainFunction/get/template.ejs +0 -116
  267. package/src/TemplateData/perActionEndpoint/mainFunction/get/testParam.json +0 -5
  268. package/src/TemplateData/perActionEndpoint/mainFunction/update/data.js +0 -85
  269. package/src/TemplateData/perActionEndpoint/mainFunction/update/request.json +0 -0
  270. package/src/TemplateData/perActionEndpoint/mainFunction/update/template.ejs +0 -166
  271. package/src/TemplateData/perActionEndpoint/yaml/api/data.js +0 -229
  272. package/src/TemplateData/perActionEndpoint/yaml/api/request.json +0 -14
  273. package/src/TemplateData/perActionEndpoint/yaml/api/template.ejs +0 -20
  274. package/src/TemplateData/perActionEndpoint/yaml/dsq/data.js +0 -234
  275. package/src/TemplateData/perActionEndpoint/yaml/dsq/request.json +0 -19
  276. package/src/TemplateData/perActionEndpoint/yaml/dsq/template.ejs +0 -17
  277. package/src/TemplateData/perActionEndpoint/yaml/inv/data.js +0 -207
  278. package/src/TemplateData/perActionEndpoint/yaml/inv/example req.js +0 -15
  279. package/src/TemplateData/perActionEndpoint/yaml/inv/request.json +0 -14
  280. package/src/TemplateData/perActionEndpoint/yaml/inv/template.ejs +0 -13
  281. package/src/TemplateData/perActionEndpoint/yaml/sqs/data.js +0 -237
  282. package/src/TemplateData/perActionEndpoint/yaml/sqs/request.json +0 -19
  283. package/src/TemplateData/perActionEndpoint/yaml/sqs/template.ejs +0 -17
  284. package/src/TemplateData/perActionEndpoint/yaml/wbs/data.js +0 -204
  285. package/src/TemplateData/perActionEndpoint/yaml/wbs/request.json +0 -19
  286. package/src/TemplateData/perActionEndpoint/yaml/wbs/template.ejs +0 -29
  287. package/src/TemplateData/perActionEndpoint/yaml/webSocketConnect/data.js +0 -58
  288. package/src/TemplateData/perActionEndpoint/yaml/webSocketConnect/template.ejs +0 -10
  289. package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/api/data.js +0 -146
  290. package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/api/template.ejs +0 -20
  291. package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/dsq/data.js +0 -146
  292. package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/dsq/template.ejs +0 -17
  293. package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/inv/data.js +0 -146
  294. package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/inv/template.ejs +0 -13
  295. package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/sqs/data.js +0 -147
  296. package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/sqs/template.ejs +0 -17
  297. package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/api/data.js +0 -62
  298. package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/api/template.ejs +0 -59
  299. package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/dsq/data.js +0 -63
  300. package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/dsq/template.ejs +0 -202
  301. package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/inv/data.js +0 -64
  302. package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/inv/template.ejs +0 -144
  303. package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/sqs/data.js +0 -64
  304. package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/sqs/template.ejs +0 -77
  305. package/src/TemplateData/relationshipPerAction/create/action/functionYaml/api/data.js +0 -175
  306. package/src/TemplateData/relationshipPerAction/create/action/functionYaml/api/template.ejs +0 -20
  307. package/src/TemplateData/relationshipPerAction/create/action/functionYaml/dsq/data.js +0 -176
  308. package/src/TemplateData/relationshipPerAction/create/action/functionYaml/dsq/template.ejs +0 -17
  309. package/src/TemplateData/relationshipPerAction/create/action/functionYaml/inv/data.js +0 -175
  310. package/src/TemplateData/relationshipPerAction/create/action/functionYaml/inv/template.ejs +0 -13
  311. package/src/TemplateData/relationshipPerAction/create/action/functionYaml/sqs/data.js +0 -177
  312. package/src/TemplateData/relationshipPerAction/create/action/functionYaml/sqs/template.ejs +0 -17
  313. package/src/TemplateData/relationshipPerAction/create/action/handler/api/data.js +0 -62
  314. package/src/TemplateData/relationshipPerAction/create/action/handler/api/request.json +0 -0
  315. package/src/TemplateData/relationshipPerAction/create/action/handler/api/template.ejs +0 -57
  316. package/src/TemplateData/relationshipPerAction/create/action/handler/dsq/data.js +0 -63
  317. package/src/TemplateData/relationshipPerAction/create/action/handler/dsq/request.json +0 -0
  318. package/src/TemplateData/relationshipPerAction/create/action/handler/dsq/template.ejs +0 -184
  319. package/src/TemplateData/relationshipPerAction/create/action/handler/inv/data.js +0 -64
  320. package/src/TemplateData/relationshipPerAction/create/action/handler/inv/request.json +0 -0
  321. package/src/TemplateData/relationshipPerAction/create/action/handler/inv/template.ejs +0 -126
  322. package/src/TemplateData/relationshipPerAction/create/action/handler/sqs/data.js +0 -64
  323. package/src/TemplateData/relationshipPerAction/create/action/handler/sqs/request.json +0 -0
  324. package/src/TemplateData/relationshipPerAction/create/action/handler/sqs/template.ejs +0 -75
  325. package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/api/data.js +0 -178
  326. package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/api/template.ejs +0 -20
  327. package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/dsq/data.js +0 -176
  328. package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/dsq/template.ejs +0 -17
  329. package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/inv/data.js +0 -178
  330. package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/inv/template.ejs +0 -13
  331. package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/sqs/data.js +0 -176
  332. package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/sqs/template.ejs +0 -17
  333. package/src/TemplateData/relationshipPerAction/delete/action/handler/api/data.js +0 -62
  334. package/src/TemplateData/relationshipPerAction/delete/action/handler/api/request.json +0 -0
  335. package/src/TemplateData/relationshipPerAction/delete/action/handler/api/template.ejs +0 -139
  336. package/src/TemplateData/relationshipPerAction/delete/action/handler/dsq/data.js +0 -63
  337. package/src/TemplateData/relationshipPerAction/delete/action/handler/dsq/request.json +0 -0
  338. package/src/TemplateData/relationshipPerAction/delete/action/handler/dsq/template.ejs +0 -182
  339. package/src/TemplateData/relationshipPerAction/delete/action/handler/inv/data.js +0 -64
  340. package/src/TemplateData/relationshipPerAction/delete/action/handler/inv/request.json +0 -0
  341. package/src/TemplateData/relationshipPerAction/delete/action/handler/inv/template.ejs +0 -124
  342. package/src/TemplateData/relationshipPerAction/delete/action/handler/sqs/data.js +0 -64
  343. package/src/TemplateData/relationshipPerAction/delete/action/handler/sqs/request.json +0 -0
  344. package/src/TemplateData/relationshipPerAction/delete/action/handler/sqs/template.ejs +0 -162
  345. package/src/TemplateData/relationshipPerAction/get/action/functionYaml/api/data.js +0 -168
  346. package/src/TemplateData/relationshipPerAction/get/action/functionYaml/api/template.ejs +0 -20
  347. package/src/TemplateData/relationshipPerAction/get/action/functionYaml/dsq/data.js +0 -177
  348. package/src/TemplateData/relationshipPerAction/get/action/functionYaml/dsq/template.ejs +0 -17
  349. package/src/TemplateData/relationshipPerAction/get/action/functionYaml/inv/data.js +0 -167
  350. package/src/TemplateData/relationshipPerAction/get/action/functionYaml/inv/template.ejs +0 -13
  351. package/src/TemplateData/relationshipPerAction/get/action/functionYaml/sqs/data.js +0 -166
  352. package/src/TemplateData/relationshipPerAction/get/action/functionYaml/sqs/template.ejs +0 -17
  353. package/src/TemplateData/relationshipPerAction/get/action/handler/api/data.js +0 -62
  354. package/src/TemplateData/relationshipPerAction/get/action/handler/api/request.json +0 -0
  355. package/src/TemplateData/relationshipPerAction/get/action/handler/api/template.ejs +0 -138
  356. package/src/TemplateData/relationshipPerAction/get/action/handler/dsq/data.js +0 -63
  357. package/src/TemplateData/relationshipPerAction/get/action/handler/dsq/request.json +0 -0
  358. package/src/TemplateData/relationshipPerAction/get/action/handler/dsq/template.ejs +0 -185
  359. package/src/TemplateData/relationshipPerAction/get/action/handler/inv/data.js +0 -64
  360. package/src/TemplateData/relationshipPerAction/get/action/handler/inv/request.json +0 -0
  361. package/src/TemplateData/relationshipPerAction/get/action/handler/inv/template.ejs +0 -127
  362. package/src/TemplateData/relationshipPerAction/get/action/handler/sqs/data.js +0 -64
  363. package/src/TemplateData/relationshipPerAction/get/action/handler/sqs/request.json +0 -0
  364. package/src/TemplateData/relationshipPerAction/get/action/handler/sqs/template.ejs +0 -165
  365. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/api/data.js +0 -167
  366. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/api/request.json +0 -0
  367. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/api/template.ejs +0 -20
  368. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/dsq/data.js +0 -196
  369. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/dsq/request.json +0 -0
  370. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/dsq/template.ejs +0 -17
  371. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/inv/data.js +0 -186
  372. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/inv/request.json +0 -0
  373. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/inv/template.ejs +0 -13
  374. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/sqs/data.js +0 -187
  375. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/sqs/request.json +0 -0
  376. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/sqs/template.ejs +0 -17
  377. package/src/TemplateData/relationshipPerAction/update/action/handler/api/data.js +0 -78
  378. package/src/TemplateData/relationshipPerAction/update/action/handler/api/request.json +0 -7
  379. package/src/TemplateData/relationshipPerAction/update/action/handler/api/template.ejs +0 -142
  380. package/src/TemplateData/relationshipPerAction/update/action/handler/dsq/data.js +0 -79
  381. package/src/TemplateData/relationshipPerAction/update/action/handler/dsq/request.json +0 -7
  382. package/src/TemplateData/relationshipPerAction/update/action/handler/dsq/template.ejs +0 -188
  383. package/src/TemplateData/relationshipPerAction/update/action/handler/inv/data.js +0 -80
  384. package/src/TemplateData/relationshipPerAction/update/action/handler/inv/request.json +0 -5
  385. package/src/TemplateData/relationshipPerAction/update/action/handler/inv/template.ejs +0 -147
  386. package/src/TemplateData/relationshipPerAction/update/action/handler/sqs/data.js +0 -79
  387. package/src/TemplateData/relationshipPerAction/update/action/handler/sqs/request.json +0 -7
  388. package/src/TemplateData/relationshipPerAction/update/action/handler/sqs/template.ejs +0 -163
  389. package/src/TemplateData/resourceYaml/CreateSourceData.js +0 -79
  390. /package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComponent/handler/{template.ejs → SqsHandlerTemplate.ejs} +0 -0
@@ -1,358 +0,0 @@
1
- /* Copyright (C) 2021 Sven Mason <http://izara.io> This program is free
2
- software: you can redistribute it and/or modify it under the terms of the GNU
3
- Affero General Public License as published by the Free Software Foundation,
4
- either version 3 of the License, or (at your option) any later version. This
5
- program is distributed in the hope that it will be useful, but WITHOUT ANY
6
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
7
- PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
8
- You should have received a copy of the GNU Affero General Public License along
9
- with this program. If not, see <http://www.gnu.org/licenses/>. */
10
- const dynamodbSharedLib = require('@izara_project/izara-core-library-dynamodb');
11
- const snsSharedLib = require('@izara_project/izara-core-library-sns'); const
12
- asyncFlowSharedLib =
13
- require('@izara_project/izara-core-library-asynchronous-flow'); const
14
- callingFlowSharedLib =
15
- require('@izara_project/izara-core-library-calling-flow'); const lambdaSharedLib
16
- = require('@izara_project/izara-core-library-lambda'); const externalRequest =
17
- require('@izara_project/izara-core-library-external-request'); const sns =
18
- externalRequest.sns; const lambda = externalRequest.lambda const getObjectSchema
19
- =
20
- require('@izara_project/izara-core-library-service-schemas/src/GetObjectSchema');
21
- const serviceConfigLib =
22
- require('@izara_project/izara-core-library-service-schemas/src/ServiceConfig')
23
- const uploadUseCase =
24
- require('@izara_project/izara-core-library-service-schemas/src/libs/UploadUseCase')
25
- const hash = require('@izara_project/izara-shared-core').objectHash; const
26
- NoRetryError =
27
- require('@izara_project/izara-core-library-core/src/NoRetryError'); const path =
28
- require('path') const schemasPath = path.join(__dirname, '../schemas'); const
29
- consts =
30
- require('@izara_project/izara-core-library-service-schemas/src/Consts'); const
31
- coreConsts = require("@izara_project/izara-core-library-core/src/Consts"); const
32
- { generateDynamoDbIdentifiers, dynamoDbIdentifiersByStorageResource,
33
- collectGetData } =
34
- require('@izara_project/izara-market-library-service-schemas/src/GenerateCodeLibs/src/GenerateCodeLibs/index.js');
35
- const { getGraphServiceTagWithCache, getServiceNameWithCache } =
36
- require('@izara_project/izara-core-library-service-schemas/src/ServiceConfig');
37
- //-----------------------------------------------------------------------------------------------------------
38
- const PREFIX = { ONE: "one", MANY: "many", CREATE_OBJECT_ASYNC:
39
- "createObjectAsync", CREATE_OBJECT_ASYNC_COMPLETE: "createObjectAsyncComplete" }
40
- //-----------------------------------------------------------------------------------------------------------
41
- const { TOPIC_NAME_GENERATE_CODE, TOPIC_NAME_GRAPH_HANDLER,
42
- GRAPH_HANDLER_SERVICE_NAME } =
43
- require('@izara_project/izara-market-library-service-schemas/src/GenerateCodeLibs/src/Consts')
44
- const { createDataDetailsLib } =
45
- require('@izara_project/izara-market-library-service-schemas/src/GenerateCodeLibs/src/GenerateCodeLibs/index.js')
46
- const { createLinkTypeId, createObjType } =
47
- require('@izara_project/izara-core-library-service-schemas/src/Utils'); const {
48
- findLinksByObjTypes } =
49
- require("@izara_project/izara-core-library-service-schemas/src/libs/RelSchemaLib")
50
- const lodash = require("lodash") const { createRelTypeConcat } =
51
- require('@izara_project/izara-core-library-service-schemas').utils
52
- //(<optionalRequire>) //(</optionalRequire>) /** * * @param {*} _izContext *
53
- @param {Object} requestParams = {fieldNames,relationships = []} * @param {*}
54
- callingFlowConfig */ module.exports.createMain = async ( _izContext,
55
- requestParams, callingFlowConfig ) => { try { _izContext.logger.debug("function
56
- CreateMain:", { requestParams, callingFlowConfig }); let errorsFound = []; const
57
- userId = _izContext.correlationIds.get(coreConsts.BASE_USER_ID); const targetId
58
- = _izContext.correlationIds.get(coreConsts.TARGET_ID) if (!userId) {
59
- errorsFound.push("Not have userId") } //(<beforeQuery>) //(</beforeQuery>) const
60
- objType = createObjType(requestParams.objectType); let objectSchema = await
61
- getObjectSchema.getObjSchemaS3WithHierarchy( _izContext, objType );
62
- _izContext.logger.debug("objectSchema", objectSchema); let objectSchemas =
63
- uploadUseCase.generateObjectSchemaForCombineFieldNames( _izContext, objectSchema
64
- ); _izContext.logger.debug("objectSchemas", objectSchemas); if
65
- (objectSchema.hasOwnProperty("belongTo") && !targetId) { errorsFound.push('not
66
- have targetId') } let createDataDetails = await createDataDetailsLib(_izContext,
67
- objectSchemas); _izContext.logger.debug("createDataDetails is =",
68
- createDataDetails); let checkCorrectLinks = []; //validate linkType if
69
- ((requestParams.hasOwnProperty("relationships")) &&
70
- (requestParams.relationships.length > 0)) { //(<beforeValidateRelationships
71
- >) //(</beforeValidateRelationships
72
- >) for (let relationshipProperties of requestParams.relationships) {
73
- _izContext.logger.debug("relationshipProperties", relationshipProperties);
74
- _izContext.logger.debug("relType", relationshipProperties.relType); let
75
- getObjectRelationship = await getObjectSchema.getRelationshipSchemaWithCache(
76
- _izContext, relationshipProperties.relType )
77
- _izContext.logger.debug("getObjectRelationship", getObjectRelationship) for
78
- (const relationshipLink of Object.values(getObjectRelationship.links)) { if
79
- (relationshipLink.from.linkType === "many" && relationshipLink.to.linkType ===
80
- "many") { if (relationshipLink.from.requiredOnCreate === true ||
81
- relationshipLink.to.requiredOnCreate === true) { errorsFound.push("error many to
82
- many linkType can't have requireOnCreate === true") } } } const links = await
83
- findLinksByObjTypes(_izContext, [objType, relationshipProperties.targetObjType],
84
- getObjectRelationship.links); _izContext.logger.debug("links", links) if
85
- (!links.length) { errorsFound.push(`not found link between ${JSON.stringify({
86
- mainObjType: objType })} and ${JSON.stringify({ toObjType:
87
- relationshipProperties.targetObjType })} `) } for (let link of links) { const {
88
- serviceTag: fromServiceTag, objectType: fromObjectType } = objType; const {
89
- serviceTag: toServiceTag, objectType: toObjectType } =
90
- relationshipProperties.targetObjType const { serviceTag: firstServiceTag,
91
- objectType: firstObjectType } = link.from.objType; const { serviceTag:
92
- secondServiceTag, objectType: secondObjectType } = link.to.objType const
93
- matchesFromTo = fromServiceTag === firstServiceTag && fromObjectType ===
94
- firstObjectType && toServiceTag === secondServiceTag && toObjectType ===
95
- secondObjectType; const matchesToFrom = fromServiceTag === secondServiceTag &&
96
- fromObjectType === secondObjectType && toServiceTag === firstServiceTag &&
97
- toObjectType === firstObjectType if
98
- ((relationshipProperties.relationshipDirection === "from" && matchesFromTo) ||
99
- (relationshipProperties.relationshipDirection === "to" && matchesToFrom)) {
100
- checkCorrectLinks.push(true) } else { checkCorrectLinks.push(false) } } } } for
101
- (const [index, checkCorrectLink] of checkCorrectLinks.entries()) { if
102
- (checkCorrectLink === false) { errorsFound.push(`relationship direction
103
- ${JSON.stringify(requestParams.relationships[index])} is invalid`) } }
104
- _izContext.logger.debug("finish validate Relationships from RequestParams"); let
105
- requiredOnCreateLink = new Set(); let nonRequiredOnCreateLink = new Set(); //
106
- validate relationships link let objectRelationshipSchema = await
107
- getObjectSchema.getObjectRelationshipWithCache(_izContext, objType);
108
- _izContext.logger.debug("objectRelationshipSchema", objectRelationshipSchema);
109
- for (const objectRelLinks of objectRelationshipSchema) { if
110
- (objectRelLinks.relType.serviceTag === "UserAccount") { continue } const
111
- relRequired = objectRelLinks.base if
112
- (relRequired.hasOwnProperty("requiredOnCreate") && relRequired.requiredOnCreate
113
- === true) { requiredOnCreateLink.add(objectRelLinks); } else if
114
- (relRequired.requiredOnCreate === false) {
115
- nonRequiredOnCreateLink.add(objectRelLinks); } else {
116
- errorsFound.push(`requiredOnCreate should be true or false, not found
117
- ${objectRelLinks}`); } } _izContext.logger.debug("requiredOnCreateLink=>",
118
- requiredOnCreateLink); _izContext.logger.debug("nonRequiredOnCreateLink=> ",
119
- nonRequiredOnCreateLink); function groupLinkByRequiredOnCreate(_izContext,
120
- links) { let groupLink = {}; for (let link of links) { let relTypeConcat =
121
- createRelTypeConcat(_izContext, link.relType); if
122
- (!groupLink.hasOwnProperty(relTypeConcat)) { groupLink[relTypeConcat] = { from:
123
- [], to: [] } } if (link.base.direction === "from") {
124
- groupLink[relTypeConcat].from.push(link) } else if (link.other.direction ===
125
- "to") { groupLink[relTypeConcat].to.push(link) } } return groupLink } //**** set
126
- requiredOncreateLinkGroup = {RelType, Direction} **** let
127
- requiredOnCreateLinkGroup = groupLinkByRequiredOnCreate(_izContext,
128
- requiredOnCreateLink); let nonRequiredOnCreateLinkGroup =
129
- groupLinkByRequiredOnCreate(_izContext, nonRequiredOnCreateLink)
130
- _izContext.logger.debug("requiredOnCreateLinkGroup:",
131
- requiredOnCreateLinkGroup);
132
- _izContext.logger.debug("nonRequiredOnCreateLinkGroup=",
133
- nonRequiredOnCreateLinkGroup); // collect requiredOnCreate linkTypeIds let
134
- createLinkTypeIds = []; // for (const requireLink of objectRelationshipSchema) {
135
- function createLinkTypeIdFromLinkGroup(_izContext, links) { let
136
- requiredOnCreateLinkSet = new Set(); for (const [relTypeConcat,
137
- objectRelationshipGroup] of Object.entries(links)) { for (const objectRelFrom of
138
- objectRelationshipGroup.from) { requiredOnCreateLinkSet.add(createLinkTypeId(
139
- _izContext, objectRelFrom.base.objType, objectRelFrom.other.objType,
140
- objectRelFrom.relType, objectRelFrom.base.direction )) } } return
141
- [...requiredOnCreateLinkSet] } let requiredOnCreateLinks =
142
- createLinkTypeIdFromLinkGroup(_izContext, requiredOnCreateLinkGroup); let
143
- nonRequiredOnCreateLinks = createLinkTypeIdFromLinkGroup(_izContext,
144
- nonRequiredOnCreateLinkGroup) _izContext.logger.debug("requiredOnCreateLinks::",
145
- requiredOnCreateLinks); _izContext.logger.debug("nonRequiredOnCreateLinks::",
146
- nonRequiredOnCreateLinks) for (const relationship of
147
- requestParams?.relationships) { const onCreateLinkTypeId = createLinkTypeId(
148
- _izContext, objType, relationship.targetObjType, relationship.relType,
149
- relationship.relationshipDirection ) createLinkTypeIds.push(onCreateLinkTypeId)
150
- }; _izContext.logger.debug("createLinkTypeIds::", createLinkTypeIds) return //
151
- end validate let objInstanceFull = { identifiers: {}, fields: {} };
152
- //(<optionalObjInstanceFull>) //(</optionalObjInstanceFull>) let
153
- listOfRequiredOnCreate = []; let listOfOptionalOnCreate = []; let
154
- allAwaitingStepsId = []; // validate single identifiers if
155
- (objectSchemas.identifiers.length === 1 &&
156
- !objectSchemas.identifiers[0].hasOwnProperty("fieldNames")) { const identifier =
157
- objectSchemas.identifiers[0]; _izContext.logger.debug(":::::case single
158
- identifer:::::", identifier); if
159
- (objectSchemas.fieldNames[identifier.fieldName].hasOwnProperty("randomOnCreate"))
160
- { if ((objectSchemas.fieldNames[identifier.fieldName].randomOnCreate == true)) {
161
- Object.assign(requestParams.fieldNames, { [identifier.fieldName]: hash({
162
- fieldNames: identifier, // uniqueRequestId: _izContext.uniqueRequestId,
163
- callingFlowConfig: callingFlowConfig }) }); _izContext.logger.debug("Assign
164
- requestParams", requestParams) } else if
165
- ((objectSchemas.fieldNames[identifier.fieldName].randomOnCreate == false) ||
166
- (objectSchemas.fieldNames[identifier.fieldName].randomOnCreate == null)) { if
167
- ((objectSchemas.fieldNames[identifier.fieldName].requiredOnCreate == true) &&
168
- (objectSchemas.fieldNames[identifier.fieldName].canUpdate == false)) { // check
169
- Fns have resive if
170
- (requestParams.fieldNames.hasOwnProperty([identifier.fieldName])) {
171
- _izContext.logger.debug("identifier is exist:", { [identifier.fieldName]:
172
- requestParams.fieldNames[identifier.fieldName] }); } else {
173
- errorsFound.push("[invalid]requestParams not have data fieldNames of
174
- requriedOnCreate"); } } }; } else if
175
- (objectSchemas.fieldNames[identifier.fieldName].hasOwnProperty("hashOnCreate"))
176
- { if (objectSchemas.fieldNames[identifier.fieldName].hashOnCreate.length &&
177
- objectSchemas.fieldNames[identifier.fieldName].hashOnCreate.length > 0) { for
178
- (const fieldName of objectSchemas.fieldNames[identifier.fieldName].hashOnCreate)
179
- { Object.assign( requestParams.fieldNames, { [identifier.fieldName]: hash({
180
- [fieldName]: requestParams.fieldNames[fieldName] }) } ) } } else {
181
- errorsFound.push("[invalid] no data to hash for create") } } else { if
182
- ((objectSchemas.fieldNames[identifier.fieldName].requiredOnCreate === false) &&
183
- (objectSchemas.fieldNames[identifier.fieldName].optionalOnCreate === false) &&
184
- (objectSchemas.fieldNames[identifier.fieldName].canUpdate === false) &&
185
- objectSchemas.fieldNames[identifier.fieldName].hashOnCreate === false) {
186
- errorsFound.push("[invalid]case single identifier invalid objectSchemas"); }; };
187
- } _izContext.logger.debug("requestParams is:", requestParams); // check
188
- settingObjSchemas for (let [keyFieldNames, valueFieldNames] of
189
- Object.entries(objectSchemas.fieldNames)) { if
190
- (valueFieldNames.hasOwnProperty("randomOnCreate") &&
191
- valueFieldNames.randomOnCreate === true) {
192
- listOfRequiredOnCreate.push(keyFieldNames) }; if
193
- (valueFieldNames.hasOwnProperty("requiredOnCreate") &&
194
- valueFieldNames.requiredOnCreate === true) {
195
- listOfRequiredOnCreate.push(keyFieldNames) }; if
196
- (valueFieldNames.hasOwnProperty("hashOnCreate") &&
197
- valueFieldNames.hashOnCreate.length) {
198
- listOfRequiredOnCreate.push(keyFieldNames) } if
199
- (valueFieldNames.hasOwnProperty("optionalOnCreate") &&
200
- valueFieldNames.optionalOnCreate === true) { if
201
- ((valueFieldNames.requiredOnCreate === false) &&
202
- valueFieldNames.optionalOnCreate === true) {
203
- listOfOptionalOnCreate.push(keyFieldNames) }; }; }; // end iteration of
204
- fieldNames _izContext.logger.debug("listOfRequiredOnCreate",
205
- listOfRequiredOnCreate); _izContext.logger.debug("listOfOptionalOnCreate",
206
- listOfOptionalOnCreate); for (let fieldName of
207
- Object.keys(requestParams.fieldNames)) { if
208
- (!listOfRequiredOnCreate.includes(fieldName)) { if
209
- (!listOfOptionalOnCreate.includes(fieldName)) { errorsFound.push("[invalid] over
210
- fieldNames create object"); } }; if (listOfOptionalOnCreate.length > 0 &&
211
- listOfRequiredOnCreate.includes(fieldName)) { //(<optionalParams
212
- >) //(</optionalParams
213
- >) }; if (objectSchemas.identifierFieldNames.includes(fieldName)) {
214
- _izContext.logger.debug("identifiers is", fieldName);
215
- Object.assign(objInstanceFull.identifiers, { [fieldName]:
216
- requestParams.fieldNames[fieldName] }); }; if (errorsFound.length > 0) {
217
- _izContext.logger.debug("HaveError::", errorsFound); break }; }; // end loop let
218
- listOfObjectForCreates = []; let objInstanceFullForDynamoDb =
219
- lodash.cloneDeep(objInstanceFull) let objInstanceFullForGraph =
220
- lodash.cloneDeep(objInstanceFull) if (errorsFound.length == 0) { for (let
221
- [storageTag, createDataDetail] of Object.entries(createDataDetails)) {
222
- //(<beforeCreate>) //(</beforeCreate>) if (createDataDetail.storageType ==
223
- consts.STORAGE_TYPES.dynamoDB) { //(<beforeCreateRecordDynamo
224
- >) //(</beforeCreateRecordDynamo
225
- >) _izContext.logger.debug("::::::DynamoDB::::::", { storageTag, objInstanceFull
226
- }); Object.assign(objInstanceFullForDynamoDb.fields,
227
- createObjInstanceFullFieldsByStorageTag(_izContext, storageTag,
228
- createDataDetail)) _izContext.logger.debug("objInstanceFull before create item
229
- in dynamoDB", objInstanceFullForDynamoDb) let identifiersForCreateData = await
230
- dynamoDbIdentifiersByStorageResource( _izContext, objectSchema,
231
- createDataDetails, objInstanceFullForDynamoDb.identifiers )
232
- _izContext.logger.debug("identifiersForCreateData", identifiersForCreateData);
233
- await dynamodbSharedLib.putItem( _izContext, await dynamodbSharedLib.tableName(
234
- _izContext, createDataDetail.tableName ), { ...identifiersForCreateData,
235
- ...objInstanceFullForDynamoDb.fields } ); } else if
236
- (createDataDetail.storageType == consts.STORAGE_TYPES.graph) {
237
- //(<beforeCreateNode>) //(</beforeCreateNode>)
238
- _izContext.logger.debug("::::::Graph::::::", { storageTag, objInstanceFull });
239
- Object.assign(objInstanceFullForGraph.fields,
240
- createObjInstanceFullFieldsByStorageTag(_izContext, storageTag,
241
- createDataDetail)) _izContext.logger.debug("objInstanceFull before send to
242
- Graph", objInstanceFullForGraph) // allStorageTagComplete = false;
243
- allAwaitingStepsId.push(await asyncFlowSharedLib.createAwaitingStepId( (hash({
244
- objType: objType, graphServerTag: storageTag, identifiers:
245
- objInstanceFullForGraph.identifiers })), PREFIX.CREATE_OBJECT_ASYNC ));
246
- listOfObjectForCreates.push({ [storageTag]: { objInstanceFull: { identifiers:
247
- objInstanceFullForGraph.identifiers, fields: objInstanceFullForGraph.fields },
248
- allStorageTagComplete: false } }); _izContext.logger.debug("FIRST",
249
- listOfObjectForCreates) };
250
- _izContext.logger.debug("[1]listOfObjectForCreates:::", listOfObjectForCreates);
251
- }; }; function createObjInstanceFullFieldsByStorageTag(_izContext, storageTag,
252
- createDataDetail) {
253
- _izContext.logger.debug("createObjInstanceFullFieldsByStorageTag : ", {
254
- storageTag, createDataDetail }) let fields = {}; for (let fieldName of
255
- Object.keys(requestParams.fieldNames)) { if
256
- ((createDataDetails[storageTag].fieldNames.includes(fieldName)) &&
257
- (createDataDetail.fieldNames.includes(fieldName))) { if
258
- (!objInstanceFull.identifiers.hasOwnProperty(fieldName)) { if
259
- (!fields.hasOwnProperty(fieldName)) { Object.assign(fields, { [fieldName]:
260
- requestParams.fieldNames[fieldName] }) } } } } _izContext.logger.debug({ fields
261
- }) return fields } /// step save awaitingMultipleStep of storageType graph
262
- ........................................................... await
263
- asyncFlowSharedLib.createAwaitingMultipleSteps( _izContext, allAwaitingStepsId,
264
- asyncFlowSharedLib.createPendingStepId((hash({ objType: objType, identifiers:
265
- objInstanceFull.identifiers })), PREFIX.CREATE_OBJECT_ASYNC_COMPLETE) );
266
- //............................................................................................................
267
- // process storageType : graph let messageObject = {}; for (let objectCreate of
268
- listOfObjectForCreates) { for (let [graphServiceName, objectForCreate] of
269
- Object.entries(objectCreate)) { _izContext.logger.debug("Loop each graph:", {
270
- [graphServiceName]: objectForCreate }); if
271
- (objectForCreate.allStorageTagComplete == false) { // needless check because in
272
- listOfObjectForCreates push case graph only! //(<beforeSendMessageToGraph
273
- >) //(</beforeSendMessageToGraph
274
- >) messageObject = { objType: objType, objInstanceFull:
275
- objectForCreate.objInstanceFull, relationships: requestParams.relationships ||
276
- [] }; }; if (errorsFound.length > 0) { break; } else {
277
- _izContext.logger.debug("SENT MESSAGE EACH GRAPH::::", { graphServiceName,
278
- messageObject, callingFlowConfig }) Object.assign(messageObject, { settings: {
279
- updatePropertiesOnMatch: false }, originTimestamp: Date.now() }); messageObject
280
- = callingFlowSharedLib.addCallingFlowToSnsRequestMessageObject( messageObject,
281
- callingFlowSharedLib.addParentCallingFlowConfig( callingFlowConfig, // receive
282
- parent callingFlowConfig. callingFlowSharedLib.createCallingFlowConfig( //
283
- calling flow own service await lambdaSharedLib.lambdaFunctionName(_izContext,
284
- TOPIC_NAME_GENERATE_CODE.createNodeComplete), {} ) ) ); let
285
- messageToCreateObject = { Message: JSON.stringify(messageObject), TopicArn:
286
- await snsSharedLib.snsTopicArnByFlowSchema(_izContext,
287
- TOPIC_NAME_GRAPH_HANDLER.inCreateNode, graphServiceName) };
288
- _izContext.logger.debug("RequestParams before send to sqs messageToCreateObject
289
- ::::::: ", messageToCreateObject); await sns.publishAsync(_izContext,
290
- messageToCreateObject); //(<afterSendMessageToGraph
291
- >) //(</afterSendMessageToGraph
292
- >) return { objType: objType, objInstanceFull: objInstanceFullForGraph,
293
- relationships: requestParams.relationships || [], status: "complete",
294
- errorsFound: errorsFound } }; }; // end loop of objectCreate. if
295
- (errorsFound.length > 0) { break; } }; // end loop listOfObjectForCreates if
296
- (errorsFound.length > 0) { _izContext.logger.debug("Case have errorFound:::",
297
- errorsFound); // remove awaitngMultiplestep. [[[[[[[open when not test
298
- lolcal.]]]]]]] await asyncFlowSharedLib.clearAllAwaitingSteps( _izContext,
299
- asyncFlowSharedLib.createPendingStepId((hash({ objType: objType, identifiers:
300
- objInstanceFull.identifiers })), PREFIX.CREATE_OBJECT_ASYNC_COMPLETE)); //
301
- pendingStepId // send message to OutCreateObjectComplete. //.. messageObject = {
302
- objType: objType, identifiers: null, // or {} errorsFound: errorsFound }; //
303
- pass back property. messageObject =
304
- callingFlowSharedLib.addPassBackPropertiesToSnsResponseMessageObject(callingFlowConfig,
305
- messageObject); let messageAttributes =
306
- callingFlowSharedLib.addCallingFlowToSnsResponseMessageAttributes(callingFlowConfig,
307
- {}); let sendMessageOutCreateObjectComplete = { Message:
308
- JSON.stringify(messageObject), MessageAttributes:
309
- sns.createStringMessageAttributes(_izContext, messageAttributes), TopicArn:
310
- await snsSharedLib.snsTopicArnByFlowSchema(_izContext,
311
- TOPIC_NAME_GENERATE_CODE.outCreateNodeComplete) }; _izContext.logger.debug("Send
312
- message to OutCreateObjectComplete :::>", sendMessageOutCreateObjectComplete)
313
- await sns.publishAsync(_izContext, sendMessageOutCreateObjectComplete); return {
314
- objType: objType, objInstanceFull: objInstanceFull, relationships:
315
- requestParams.relationships || [], status: "error", errorsFound: errorsFound } }
316
- else { if (allAwaitingStepsId.length == 0 && listOfObjectForCreates.length == 0)
317
- { let messageObject = { objType: { objectType: OBJECT_TYPE, serviceTag:
318
- SERVICE_TAG }, objInstanceFull: { identifiers:
319
- objInstanceFullForDynamoDb.identifiers, fields:
320
- objInstanceFullForDynamoDb.fields } } if
321
- (callingFlowConfig[callingFlowSharedLib.consts.CALLINGFLOW_PROPERTYNAME]) { //
322
- send message to SNS OutCreateNodeComplete _izContext.logger.debug("HAVE
323
- CallingFlow"); messageObject =
324
- callingFlowSharedLib.addPassBackPropertiesToSnsResponseMessageObject(callingFlowConfig,
325
- messageObject); let messageAttributes =
326
- callingFlowSharedLib.addCallingFlowToSnsResponseMessageAttributes(callingFlowConfig,
327
- {}); let outCreateNodeCompleteTopic = await
328
- snsSharedLib.snsTopicArnByFlowSchema(_izContext,
329
- TOPIC_NAME_GENERATE_CODE.outCreateNodeComplete) let messageParams = { Message:
330
- JSON.stringify(messageObject), MessageAttributes:
331
- sns.createStringMessageAttributes(_izContext, messageAttributes), TopicArn:
332
- outCreateNodeCompleteTopic, }; _izContext.logger.debug("messageParams
333
- OutCreateNode ::::::: ", messageParams); await sns.publishAsync(_izContext,
334
- messageParams); } } return { objType: objType, objInstanceFull:
335
- objInstanceFullForDynamoDb, relationships: requestParams.relationships || [],
336
- status: "complete", errorsFound: errorsFound } } } catch (err) { throw (err) } }
337
- const correlationIds =
338
- require("@izara_project/izara-core-library-correlation-ids"); const logger =
339
- require("@izara_project/izara-core-library-logger"); const integrationTestDetail
340
- = require("@izara_project/izara-core-library-integration-tests"); const
341
- resourceUse = require("@izara_project/izara-core-library-resource-use"); const {
342
- link } = require('fs'); const izaraAttributeTree =
343
- require('@izara_project/izara-attribute-tree'); let _izContext = {
344
- correlationIds: correlationIds, logger: logger, integrationTestDetail:
345
- integrationTestDetail, resourceUse: resourceUse }
346
- _izContext.correlationIds.set(coreConsts.BASE_USER_ID, "BasDev")
347
- _izContext.correlationIds.set(coreConsts.TARGET_ID, "BasDevTargetId")
348
- this.createMain(_izContext, { "fieldNames": { "address": "585/2" },
349
- "relationships": [ { "relType": { "serviceTag": "GCTpBas", "relationshipTag":
350
- "hasHouse" }, "relationshipProperties": { "createTimestamp": 1746758956635 },
351
- "relationshipDirection": "to", "targetObjType": { "serviceTag": "GCTpBas",
352
- "objectType": "person" }, "targetIdentifiers": { "personId":
353
- "05b29b450a6d11ff1f79a0ea6531d32423af3260" } }, { "relType": { "serviceTag":
354
- "GCTpBas", "relationshipTag": "hasHouse" }, "relationshipProperties": {
355
- "createTimestamp": 1746758956635 }, "relationshipDirection": "to",
356
- "targetObjType": { "serviceTag": "GCTpBas", "objectType": "person" },
357
- "targetIdentifiers": { "personId": "5d3add2de5fdbd9611864fb529c5091f511e5985" }
358
- } ], "objectType": "house" }, "callingFlowBasDev" )
@@ -1,112 +0,0 @@
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
- const { join } = require('path');
19
- const {
20
- getAllLocalObjectSchemasWithHierarchy
21
- } = require('@izara_project/izara-core-library-service-schemas/src/GetObjectSchema');
22
-
23
- // Import handlers and generators
24
- const modules = {
25
- handlers: {
26
- inv: require('./handler/inv/data'),
27
- api: require('./handler/api/data'),
28
- sqs: require('./handler/sqs/data'),
29
- dsq: require('./handler/dsq/data')
30
- },
31
- mainFunctions: {
32
- get: require('./mainFunction/get/data'),
33
- update: require('./mainFunction/update/data'),
34
- create: require('./mainFunction/create/data'),
35
- delete: require('./mainFunction/delete/data')
36
- },
37
- yamlGenerators: {
38
- inv: require('./yaml/inv/data'),
39
- api: require('./yaml/api/data'),
40
- sqs: require('./yaml/sqs/data'),
41
- dsq: require('./yaml/dsq/data')
42
- }
43
- };
44
-
45
- // Import code libs generator
46
- const createGenerateCodeLibs = require('./libs/data');
47
-
48
- /**
49
- * Generates code from templates based on object schemas
50
- * @param {Object} _izContext - Context object
51
- * @param {string} objSchemaPath - Path to object schema
52
- * @returns {Promise<Array>} - Array of parameter objects for code generation
53
- */
54
- async function generateCodeWithTemplate(_izContext, objSchemaPath) {
55
- try {
56
- const saveFilePath = join(objSchemaPath, `../`);
57
- const allObjSchemas = await getAllLocalObjectSchemasWithHierarchy(
58
- _izContext,
59
- objSchemaPath
60
- );
61
-
62
- const createSourceParams = [];
63
-
64
- for (const objectSchema of allObjSchemas.records) {
65
- try {
66
- // Generate handlers
67
- const handlerParams = Object.entries(modules.handlers).flatMap(
68
- ([type, handlerFn]) =>
69
- handlerFn(_izContext, objectSchema, saveFilePath)
70
- );
71
-
72
- // Generate main functions
73
- const functionParams = (
74
- await Promise.all(
75
- Object.entries(modules.mainFunctions).map(([action, functionFn]) =>
76
- functionFn(_izContext, objectSchema, saveFilePath)
77
- )
78
- )
79
- ).flat();
80
-
81
- // Generate function YAML files
82
- const yamlParams = Object.entries(modules.yamlGenerators).flatMap(
83
- ([type, yamlFn]) => yamlFn(_izContext, objectSchema, saveFilePath)
84
- );
85
-
86
- // Generate code libs
87
- const libsParam = createGenerateCodeLibs(_izContext, saveFilePath);
88
-
89
- createSourceParams.push(
90
- ...handlerParams,
91
- ...functionParams,
92
- ...yamlParams,
93
- libsParam
94
- );
95
- } catch (error) {
96
- _izContext.logger.error(
97
- `Error processing schema ${objectSchema.name || 'unknown'}: ${error}`
98
- );
99
- }
100
- }
101
-
102
- return createSourceParams;
103
- } catch (error) {
104
- _izContext.logger.error(
105
- 'Error generating code with template perActionEndpoint:',
106
- error
107
- );
108
- return [];
109
- }
110
- }
111
-
112
- module.exports = generateCodeWithTemplate;
@@ -1,109 +0,0 @@
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
- const path = require('path');
19
-
20
- const {
21
- ACTIONS,
22
- HANDLER
23
- } = require('@izara_project/izara-core-library-service-schemas/src/Consts');
24
-
25
- // const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase, firstLetterUpperCase, checkOverWriteGenerateMainFunction } = require("../#utils");
26
- // const { DEFAULT_HANDLER_PER_ACTION, SOURCE_PATH } = require("../../../#const");
27
- const {
28
- firstLetterLowerCase: lowerCase,
29
- firstLetterUpperCase: upperCase,
30
- firstLetterUpperCase,
31
- checkOverWriteGenerateMainFunction
32
- } = require('../../../../../MainLibs/src/Consts.js').utils;
33
- const { DEFAULT_HANDLER_PER_ACTION, SOURCE_PATH } =
34
- require('../../../../../MainLibs/src/Consts.js').consts;
35
-
36
- const templatePath = path.join(__dirname, 'template.ejs');
37
-
38
- /**
39
- * receive objectSchema
40
- * create data for hdrApi template
41
- *
42
- * @param {Object} objectSchema
43
- * @return {{ templatePath, templateData, setting } }
44
- */
45
- function data(_izContext, objectSchema, srcPath) {
46
- let createSourceArray = [];
47
-
48
- for (const action of Object.values(ACTIONS)) {
49
- if (objectSchema.overWriteHandlers?.[action]) {
50
- // if have overWriteHander of action check hdrApi inside
51
- if (objectSchema.overWriteHandlers[action].includes(HANDLER.hdrApi)) {
52
- // create template data
53
- const createSourceParam = createParamForCreateSource(
54
- objectSchema,
55
- action,
56
- HANDLER.hdrApi,
57
- srcPath
58
- );
59
- createSourceArray.push(createSourceParam);
60
- }
61
- } else {
62
- // if not have overWriteHander of action will use default handler
63
- const defaultHandler = DEFAULT_HANDLER_PER_ACTION[action];
64
- if (defaultHandler.includes(HANDLER.hdrApi)) {
65
- // create template data and object for create source
66
- const createSourceParam = createParamForCreateSource(
67
- objectSchema,
68
- action,
69
- HANDLER.hdrApi,
70
- srcPath
71
- );
72
- createSourceArray.push(createSourceParam);
73
- }
74
- }
75
- }
76
-
77
- return createSourceArray;
78
- }
79
-
80
- function createParamForCreateSource(objectSchema, action, handler, srcPath) {
81
- // let objectType = objectSchema.objectType;
82
- let objectType = objectSchema.objectType;
83
- let groupBy = objectSchema?.shortNameObjectType
84
- ? objectSchema.shortNameObjectType
85
- : objectSchema.objectType;
86
-
87
- let functionName = objectType + firstLetterUpperCase(action);
88
- return {
89
- templatePath: templatePath,
90
- templateData: {
91
- functionName: functionName,
92
- objectType: objectType,
93
- roleName: groupBy,
94
- action: action,
95
- isCreateMainFunction: checkOverWriteGenerateMainFunction(
96
- objectSchema,
97
- action
98
- )
99
- },
100
- setting: {
101
- savePath: path.join(srcPath, SOURCE_PATH.lambdaPerAction),
102
- saveFileName: `${upperCase(objectSchema.objectType)}${upperCase(action)}_${upperCase(handler)}`,
103
- fileExtension: '.js',
104
- isAppend: false
105
- }
106
- };
107
- }
108
-
109
- module.exports = data;
@@ -1,7 +0,0 @@
1
- {
2
- "objectType": "objectType",
3
- "action": "get",
4
- "mainFunction": "xxx",
5
- "mainFunctionFile": "directoryOfMainFunction",
6
- "isCreateMainByDev": "boolean"
7
- }
@@ -1,36 +0,0 @@
1
- /* Copyright (C) 2020 Sven Mason <http://izara.io> This program is free
2
- software: you can redistribute it and/or modify it under the terms of the GNU
3
- Affero General Public License as published by the Free Software Foundation,
4
- either version 3 of the License, or (at your option) any later version. This
5
- program is distributed in the hope that it will be useful, but WITHOUT ANY
6
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
7
- PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
8
- You should have received a copy of the GNU Affero General Public License along
9
- with this program. If not, see <http://www.gnu.org/licenses/>. */
10
- const izara = require("@izara_project/izara-middleware"); const middleware =
11
- izara.middlewareHandler; const callingFlowSharedLib =
12
- require('@izara_project/izara-core-library-calling-flow'); const {
13
- validateSchemaMiddleware } =
14
- require('@izara_project/izara-market-library-service-schemas/src/GenerateCodeLibs/src/GenerateCodeLibs/index.js');
15
- <%_ if (isCreateMainFunction == true) { _%> // user generate main function <%_ }
16
- else { %> const <%- functionName %> =require('./<%-
17
- firstLetterUpperCase(objectType) %><%- firstLetterUpperCase(action) %>_Main')
18
- <%_ } _%> //(<globalVariable> //</globalVariable>) //validate event params in
19
- middleware before into main function validateSchemaMiddleware( middleware, "<%-
20
- (objectType) %>", "<%- action %>" //(<validateSchemaSetting>
21
- //</validateSchemaSetting
22
- >) ) // if need to validate authorizer or additional params , add code to hook
23
- tag below //(<afterValidateWith>) //(</afterValidateWith>) module.exports.main =
24
- middleware.wrap(async (event, context, callback) => {
25
- event._izContext.logger.debug('Event:', event); try { // invoke LambdaFunction
26
- let lambdaFunctionResponse = await <%- functionName %>.<%- functionName %>Main(
27
- event._izContext, //
28
- correlationId/logger/integrationTestDetail/uniqueRequestId/userId event, ); //
29
- return error to client if (lambdaFunctionResponse instanceof Error) { return
30
- (izara.response.failure(lambdaFunctionResponse)); } // return success to client
31
- return (izara.response.success(lambdaFunctionResponse)); } catch (err) {
32
- event._izContext.logger.error('Error, <%- functionName %>Main: ', err); return
33
- (izara.response.failure(err)); } }); <%_ function firstLetterUpperCase(text){
34
- return text.charAt(0).toUpperCase() + text.slice(1) } _%> <%_ function
35
- firstLetterLowerCase(str) { return str.charAt(0).toLowerCase() + str.slice(1) }
36
- _%>