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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (393) hide show
  1. package/index.js +0 -2
  2. package/package.json +3 -3
  3. package/src/GenerateCode.js +5 -4
  4. package/src/GenerateResources.js +4 -3
  5. package/src/GenerateTests.js +6 -7
  6. package/src/TemplateConfig.js +18 -18
  7. package/src/TemplateData/EndpointPerService/generateTemplateData.js +1 -1
  8. package/src/TemplateData/EndpointPerService/mainFunction/create/template.ejs +37 -39
  9. package/src/TemplateData/EndpointPerService/mainFunction/delete/template.ejs +7 -12
  10. package/src/TemplateData/EndpointPerService/mainFunction/get/template.ejs +7 -10
  11. package/src/TemplateData/EndpointPerService/mainFunction/update/template.ejs +24 -31
  12. package/src/TemplateData/IntTest/generateResources/generateResources.js +4 -3
  13. package/src/TemplateData/IntTest/generateTests/events/data.js +3 -1
  14. package/src/TemplateData/IntTest/generateTests/generateTemplate.js +4 -2
  15. package/src/TemplateData/IntTest/generateTests/pathIntTest/data.js +2 -2
  16. package/src/TemplateData/IntTest/generateTests/tests/data.js +9 -8
  17. package/src/TemplateData/IntTest/libs/libs.js +4 -35
  18. package/src/TemplateData/IntTest/upload/uploadIntTest.js +4 -3
  19. package/src/TemplateData/externalService/lambdaRole/template.ejs +1 -3
  20. package/src/TemplateData/externalService/snsTopicSubscriptions/template.ejs +0 -2
  21. package/src/TemplateData/findData/findDataYaml/data.js +2 -1
  22. package/src/TemplateData/findData/mainFunction/data.js +1 -1
  23. package/src/TemplateData/flowSchema/CreateRecordComplete/functionYaml/data.js +9 -5
  24. package/src/TemplateData/flowSchema/CreateRecordComplete/handler/data.js +3 -3
  25. package/src/TemplateData/flowSchema/CreateRecordComplete/mainFunction/data.js +3 -3
  26. package/src/TemplateData/flowSchema/CreateRecordComplete/queue/data.js +3 -3
  27. package/src/TemplateData/flowSchema/components/upload/confirmReserved/functionYaml/data.js +11 -8
  28. package/src/TemplateData/flowSchema/components/upload/confirmReserved/handler/data.js +3 -3
  29. package/src/TemplateData/flowSchema/components/upload/confirmReserved/mainFunction/data.js +1 -1
  30. package/src/TemplateData/flowSchema/components/upload/confirmReserved/mainFunction/template.ejs +1 -1
  31. package/src/TemplateData/flowSchema/components/upload/confirmReserved/queue/data.js +3 -2
  32. package/src/TemplateData/flowSchema/components/upload/createObject/functionYaml/data.js +11 -7
  33. package/src/TemplateData/flowSchema/components/upload/createObject/handler/data.js +3 -3
  34. package/src/TemplateData/flowSchema/components/upload/createObject/mainFunction/data.js +4 -3
  35. package/src/TemplateData/flowSchema/components/upload/createObject/mainFunction/template.ejs +2 -2
  36. package/src/TemplateData/flowSchema/components/upload/createObjectComplete/functionYaml/data.js +9 -7
  37. package/src/TemplateData/flowSchema/components/upload/createObjectComplete/handler/data.js +3 -3
  38. package/src/TemplateData/flowSchema/components/upload/createObjectComplete/mainFunction/data.js +3 -3
  39. package/src/TemplateData/flowSchema/components/upload/createObjectComplete/sns-sqs/data.js +3 -3
  40. package/src/TemplateData/flowSchema/components/upload/preSignUrl/createPresignUrl/functionYaml/data.js +11 -7
  41. package/src/TemplateData/flowSchema/components/upload/preSignUrl/createPresignUrl/handler/data.js +3 -3
  42. package/src/TemplateData/flowSchema/components/upload/preSignUrl/createPresignUrl/mainFunction/data.js +3 -3
  43. package/src/TemplateData/flowSchema/components/upload/preSignUrl/createPresignUrl/mainFunction/template.ejs +2 -2
  44. package/src/TemplateData/flowSchema/components/upload/preSignUrl/createPresignUrl/queue/data.js +2 -4
  45. package/src/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/functionYaml/data.js +15 -9
  46. package/src/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/handler/data.js +3 -3
  47. package/src/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/mainFunction/data.js +2 -1
  48. package/src/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/mainFunction/template.ejs +1 -1
  49. package/src/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/sqs/data.js +3 -5
  50. package/src/TemplateData/flowSchema/components/upload/processFile/functionYml/HdrS3/data.js +10 -5
  51. package/src/TemplateData/flowSchema/components/upload/processFile/handler/handlerS3/data.js +2 -1
  52. package/src/TemplateData/flowSchema/components/upload/processFile/mainFunction/data.js +2 -1
  53. package/src/TemplateData/flowSchema/components/upload/processFile/mainFunction/template.ejs +0 -2
  54. package/src/TemplateData/flowSchema/components/upload/processFile/queue/data.js +1 -1
  55. package/src/TemplateData/flowSchema/components/upload/relate/S3/data.js +1 -1
  56. package/src/TemplateData/flowSchema/components/upload/relate/libs/data.js +1 -1
  57. package/src/TemplateData/flowSchema/components/upload/relate/sns-out/data.js +2 -1
  58. package/src/TemplateData/flowSchema/components/websocket/connect/functionYaml/data.js +9 -4
  59. package/src/TemplateData/flowSchema/components/websocket/connect/handler/data.js +1 -1
  60. package/src/TemplateData/flowSchema/components/websocket/dynamoDb/ReservedTableData.js +1 -2
  61. package/src/TemplateData/flowSchema/components/websocket/dynamoDb/WebSocketTaskData.js +1 -1
  62. package/src/TemplateData/flowSchema/components/websocket/dynamoDb/userUploadRecords.js +1 -1
  63. package/src/TemplateData/flowSchema/dynamoDb/data.js +2 -1
  64. package/src/TemplateData/flowSchema/eventBridge/functionYaml/data.js +9 -4
  65. package/src/TemplateData/flowSchema/eventBridge/handler/inv/data.js +2 -1
  66. package/src/TemplateData/flowSchema/eventBridge/mainFunction/data.js +2 -1
  67. package/src/TemplateData/flowSchema/externalTopic/Complete/functionYaml/data.js +9 -6
  68. package/src/TemplateData/flowSchema/externalTopic/Complete/handler/data.js +2 -19
  69. package/src/TemplateData/flowSchema/externalTopic/Complete/mainFunction/data.js +3 -1
  70. package/src/TemplateData/flowSchema/externalTopic/Process/functionYaml/data.js +12 -5
  71. package/src/TemplateData/flowSchema/externalTopic/Process/handler/data.js +4 -1
  72. package/src/TemplateData/flowSchema/externalTopic/sns-in-sqs/data.js +3 -1
  73. package/src/TemplateData/flowSchema/externalTopic/sns-out/data.js +5 -6
  74. package/src/TemplateData/flowSchema/flowSchemaMainFunction/data.js +5 -9
  75. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComplete/functionYaml/data.js +10 -5
  76. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComplete/handler/data.js +3 -3
  77. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComplete/mainFunction/data.js +3 -3
  78. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComponent/functionYaml/data.js +65 -58
  79. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComponent/functionYaml/template.ejs +0 -4
  80. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComponent/handler/DsqHandlerTemplate.ejs +91 -0
  81. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComponent/handler/data.js +31 -16
  82. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/FlowSchemaComponent/functionYaml/data.js +10 -5
  83. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/FlowSchemaComponent/handler/data.js +4 -3
  84. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/FlowSchemaComponent/handler/template.ejs +5 -6
  85. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/FlowSchemaComponent/mainFunction/data.js +3 -1
  86. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/FlowSchemaComponent/mainFunction/template.ejs +3 -3
  87. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/sns-in/data.js +3 -3
  88. package/src/TemplateData/flowSchema/flowSchemaOwnTopic/sns-out/data.js +3 -3
  89. package/src/TemplateData/flowSchema/flowStep/functionYaml/data.js +13 -8
  90. package/src/TemplateData/flowSchema/flowStep/handler/data.js +3 -3
  91. package/src/TemplateData/flowSchema/flowStep/mainFunction/data.js +2 -1
  92. package/src/TemplateData/flowSchema/flowStep/sns-in/data.js +3 -3
  93. package/src/TemplateData/flowSchema/generateTemplateData.js +1 -6
  94. package/src/TemplateData/flowSchema/lambdaSync/Api/functionYaml/data.js +10 -3
  95. package/src/TemplateData/flowSchema/lambdaSync/Api/handler/data.js +3 -1
  96. package/src/TemplateData/flowSchema/lambdaSync/Inv/functionYaml/data.js +9 -3
  97. package/src/TemplateData/flowSchema/lambdaSync/Inv/handler/data.js +2 -1
  98. package/src/TemplateData/flowSchema/register/complete/functionYaml/data.js +11 -5
  99. package/src/TemplateData/flowSchema/register/complete/handler/data.js +2 -1
  100. package/src/TemplateData/flowSchema/register/complete/mainFunction/data.js +2 -1
  101. package/src/TemplateData/flowSchema/register/dynamoDB/register.js +2 -4
  102. package/src/TemplateData/flowSchema/register/sns-in/data.js +3 -4
  103. package/src/TemplateData/flowSchema/register/subscriptionOutAll/data.js +3 -3
  104. package/src/TemplateData/flowSchema/register/wbs/functionYaml/data.js +10 -5
  105. package/src/TemplateData/flowSchema/register/wbs/handler/data.js +2 -1
  106. package/src/TemplateData/flowSchema/register/wbs/mainFunction/data.js +2 -1
  107. package/src/TemplateData/flowSchema/statusFieldComponent/FunctionYaml/data.js +14 -6
  108. package/src/TemplateData/flowSchema/statusFieldComponent/Handler/data.js +4 -7
  109. package/src/TemplateData/flowSchema/statusFieldComponent/MainFunction/data.js +4 -3
  110. package/src/TemplateData/flowSchema/statusFieldComponent/sns/data.js +3 -3
  111. package/src/TemplateData/flowSchema/triggerCacheComponent/checkTriggerCacheComplete/functionYaml/data.js +12 -8
  112. package/src/TemplateData/flowSchema/triggerCacheComponent/checkTriggerCacheComplete/handler/data.js +3 -3
  113. package/src/TemplateData/flowSchema/triggerCacheComponent/checkTriggerCacheComplete/mainFunction/data.js +3 -3
  114. package/src/TemplateData/flowSchema/triggerCacheComponent/processTriggerCache/functionYaml/data.js +12 -6
  115. package/src/TemplateData/flowSchema/triggerCacheComponent/processTriggerCache/handler/data.js +2 -1
  116. package/src/TemplateData/flowSchema/triggerCacheComponent/processTriggerCache/mainFunction/data.js +2 -1
  117. package/src/TemplateData/flowSchema/triggerCacheComponent/triggerCacheComplete/functionYaml/data.js +11 -8
  118. package/src/TemplateData/flowSchema/triggerCacheComponent/triggerCacheComplete/handler/data.js +2 -1
  119. package/src/TemplateData/flowSchema/triggerCacheComponent/triggerCacheComplete/mainFunction/data.js +3 -3
  120. package/src/TemplateData/flowSchema/triggerCacheComponent/triggerCacheComplete/mainFunction/template.ejs +10 -4
  121. package/src/TemplateData/flowSchema/triggerCacheComponent/triggerCacheQueue/data.js +4 -11
  122. package/src/TemplateData/flowSchema/webSocketComplete/functionYaml/data.js +11 -8
  123. package/src/TemplateData/flowSchema/webSocketComplete/handler/data.js +2 -1
  124. package/src/TemplateData/flowSchema/webSocketComplete/mainFunction/data.js +1 -1
  125. package/src/TemplateData/flowSchema/webSocketComplete/sqs/data.js +3 -3
  126. package/src/TemplateData/generateRole/data.js +7 -2
  127. package/src/TemplateData/perActionComplete/create/handler/data.js +3 -3
  128. package/src/TemplateData/perActionComplete/create/mainFunction/data.js +3 -3
  129. package/src/TemplateData/perActionComplete/create/mainFunction/template.ejs +2 -2
  130. package/src/TemplateData/perActionComplete/create/sns-in-sqs/data.js +3 -3
  131. package/src/TemplateData/perActionComplete/create/sns-out/data.js +3 -3
  132. package/src/TemplateData/perActionComplete/create/yaml/data.js +11 -7
  133. package/src/TemplateData/perActionComplete/delete/handler/data.js +3 -3
  134. package/src/TemplateData/perActionComplete/delete/mainFunction/data.js +4 -3
  135. package/src/TemplateData/perActionComplete/delete/mainFunction/template.ejs +3 -4
  136. package/src/TemplateData/perActionComplete/delete/sns-in-sqs/data.js +4 -3
  137. package/src/TemplateData/perActionComplete/delete/sns-out/data.js +3 -3
  138. package/src/TemplateData/perActionComplete/delete/yaml/data.js +11 -7
  139. package/src/TemplateData/perActionComplete/get/handler/data.js +3 -3
  140. package/src/TemplateData/perActionComplete/get/mainFunction/data.js +3 -4
  141. package/src/TemplateData/perActionComplete/get/mainFunction/template.ejs +2 -2
  142. package/src/TemplateData/perActionComplete/get/sns-in-sqs/data.js +3 -3
  143. package/src/TemplateData/perActionComplete/get/sns-out/data.js +3 -3
  144. package/src/TemplateData/perActionComplete/get/yaml/data.js +12 -7
  145. package/src/TemplateData/perActionComplete/update/handler/data.js +3 -3
  146. package/src/TemplateData/perActionComplete/update/mainFunction/data.js +3 -3
  147. package/src/TemplateData/perActionComplete/update/mainFunction/template.ejs +2 -2
  148. package/src/TemplateData/perActionComplete/update/sns-in-sqs/data.js +3 -3
  149. package/src/TemplateData/perActionComplete/update/sns-out/data.js +4 -6
  150. package/src/TemplateData/perActionComplete/update/yaml/data.js +11 -7
  151. package/src/TemplateData/processLogical/handler/data.js +3 -3
  152. package/src/TemplateData/processLogical/mainFunction/data.js +2 -1
  153. package/src/TemplateData/processLogical/yaml/data.js +10 -7
  154. package/src/TemplateData/processLogicalPagination/DsqYaml/data.js +1 -1
  155. package/src/TemplateData/processLogicalPagination/handler/dsq/data.js +2 -1
  156. package/src/TemplateData/processLogicalPagination/handler/sqs/data.js +2 -1
  157. package/src/TemplateData/processLogicalPagination/mainFunction/data.js +2 -1
  158. package/src/TemplateData/processLogicalPagination/yaml/dsq/data.js +11 -7
  159. package/src/TemplateData/processLogicalPagination/yaml/sqs/data.js +9 -6
  160. package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/data.js +12 -7
  161. package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/data.js +3 -3
  162. package/src/TemplateData/relationshipPerAction/changeRelationship/action/mainFunction/data.js +3 -3
  163. package/src/TemplateData/relationshipPerAction/changeRelationship/action/mainFunction/template.ejs +2 -2
  164. package/src/TemplateData/relationshipPerAction/changeRelationship/action/sns-in-sqs/data.js +5 -3
  165. package/src/TemplateData/relationshipPerAction/changeRelationship/complete/functionYaml/data.js +11 -7
  166. package/src/TemplateData/relationshipPerAction/changeRelationship/complete/handler/sqs/data.js +3 -3
  167. package/src/TemplateData/relationshipPerAction/changeRelationship/complete/mainFunction/data.js +3 -3
  168. package/src/TemplateData/relationshipPerAction/changeRelationship/complete/mainFunction/template.ejs +12 -11
  169. package/src/TemplateData/relationshipPerAction/changeRelationship/complete/sns-in-sqs/data.js +3 -3
  170. package/src/TemplateData/relationshipPerAction/changeRelationship/complete/sns-out/data.js +2 -1
  171. package/src/TemplateData/relationshipPerAction/create/action/functionYaml/data.js +20 -15
  172. package/src/TemplateData/relationshipPerAction/create/action/handler/data.js +4 -3
  173. package/src/TemplateData/relationshipPerAction/create/action/mainFunction/data.js +4 -3
  174. package/src/TemplateData/relationshipPerAction/create/action/mainFunction/template.ejs +2 -2
  175. package/src/TemplateData/relationshipPerAction/create/action/sns-in-sqs/data.js +6 -4
  176. package/src/TemplateData/relationshipPerAction/create/complete/functionYaml/data.js +14 -10
  177. package/src/TemplateData/relationshipPerAction/create/complete/handler/sqs/data.js +3 -3
  178. package/src/TemplateData/relationshipPerAction/create/complete/mainFunction/data.js +3 -3
  179. package/src/TemplateData/relationshipPerAction/create/complete/mainFunction/template.ejs +3 -2
  180. package/src/TemplateData/relationshipPerAction/create/complete/sns-in-sqs/data.js +3 -3
  181. package/src/TemplateData/relationshipPerAction/create/complete/sns-out/data.js +3 -4
  182. package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/data.js +20 -15
  183. package/src/TemplateData/relationshipPerAction/delete/action/handler/data.js +4 -4
  184. package/src/TemplateData/relationshipPerAction/delete/action/mainFunction/data.js +4 -7
  185. package/src/TemplateData/relationshipPerAction/delete/action/mainFunction/template.ejs +2 -2
  186. package/src/TemplateData/relationshipPerAction/delete/action/sns-in-sqs/data.js +5 -3
  187. package/src/TemplateData/relationshipPerAction/delete/complete/functionYaml/data.js +11 -7
  188. package/src/TemplateData/relationshipPerAction/delete/complete/handler/sqs/data.js +2 -1
  189. package/src/TemplateData/relationshipPerAction/delete/complete/mainFunction/data.js +3 -3
  190. package/src/TemplateData/relationshipPerAction/delete/complete/mainFunction/template.ejs +4 -5
  191. package/src/TemplateData/relationshipPerAction/delete/complete/sns-in-sqs/data.js +3 -3
  192. package/src/TemplateData/relationshipPerAction/delete/complete/sns-out/data.js +3 -3
  193. package/src/TemplateData/relationshipPerAction/generateTemplateData.js +1 -1
  194. package/src/TemplateData/relationshipPerAction/get/action/functionYaml/data.js +19 -16
  195. package/src/TemplateData/relationshipPerAction/get/action/handler/data.js +4 -4
  196. package/src/TemplateData/relationshipPerAction/get/action/mainFunction/data.js +3 -4
  197. package/src/TemplateData/relationshipPerAction/get/action/mainFunction/template.ejs +6 -3
  198. package/src/TemplateData/relationshipPerAction/get/action/sns-in-sqs/data.js +5 -3
  199. package/src/TemplateData/relationshipPerAction/get/complete/functionYaml/data.js +13 -9
  200. package/src/TemplateData/relationshipPerAction/get/complete/handler/sqs/data.js +2 -1
  201. package/src/TemplateData/relationshipPerAction/get/complete/mainFunction/data.js +3 -3
  202. package/src/TemplateData/relationshipPerAction/get/complete/mainFunction/template.ejs +3 -2
  203. package/src/TemplateData/relationshipPerAction/get/complete/sns-in-sqs/data.js +2 -1
  204. package/src/TemplateData/relationshipPerAction/get/complete/sns-out/data.js +3 -3
  205. package/src/TemplateData/relationshipPerAction/moveRelationship/action/functionYaml/data.js +17 -13
  206. package/src/TemplateData/relationshipPerAction/moveRelationship/action/handler/data.js +4 -3
  207. package/src/TemplateData/relationshipPerAction/moveRelationship/action/mainFunction/data.js +6 -4
  208. package/src/TemplateData/relationshipPerAction/moveRelationship/action/mainFunction/template.ejs +6 -3
  209. package/src/TemplateData/relationshipPerAction/moveRelationship/action/sns-in-sqs/data.js +6 -4
  210. package/src/TemplateData/relationshipPerAction/moveRelationship/complete/functionYaml/data.js +13 -9
  211. package/src/TemplateData/relationshipPerAction/moveRelationship/complete/handler/sqs/data.js +3 -3
  212. package/src/TemplateData/relationshipPerAction/moveRelationship/complete/mainFunction/data.js +3 -3
  213. package/src/TemplateData/relationshipPerAction/moveRelationship/complete/mainFunction/template.ejs +3 -2
  214. package/src/TemplateData/relationshipPerAction/moveRelationship/complete/sns-in-sqs/data.js +3 -3
  215. package/src/TemplateData/relationshipPerAction/moveRelationship/complete/sns-out/data.js +3 -3
  216. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/data.js +20 -15
  217. package/src/TemplateData/relationshipPerAction/update/action/handler/data.js +4 -4
  218. package/src/TemplateData/relationshipPerAction/update/action/mainFunction/data.js +4 -4
  219. package/src/TemplateData/relationshipPerAction/update/action/mainFunction/template.ejs +6 -3
  220. package/src/TemplateData/relationshipPerAction/update/action/sns-in-sqs/data.js +4 -3
  221. package/src/TemplateData/relationshipPerAction/update/action/sns-out/data.js +5 -6
  222. package/src/TemplateData/relationshipPerAction/update/complete/functionYaml/data.js +13 -10
  223. package/src/TemplateData/relationshipPerAction/update/complete/handler/sqs/data.js +3 -3
  224. package/src/TemplateData/relationshipPerAction/update/complete/mainFunction/data.js +2 -1
  225. package/src/TemplateData/relationshipPerAction/update/complete/mainFunction/template.ejs +3 -2
  226. package/src/TemplateData/relationshipPerAction/update/complete/sns-in-sqs/data.js +3 -3
  227. package/src/TemplateData/relationshipPerAction/update/complete/sns-out/data.js +3 -3
  228. package/src/TemplateData/resourceYaml/dynamodb/defaultDynamoDbTable.js +1 -1
  229. package/src/TemplateData/resourceYaml/dynamodb/generateDynamoPerLink.js +7 -3
  230. package/src/TemplateData/resourceYaml/dynamodb/mainResourcePerObjectSchemaData.js +2 -1
  231. package/src/TemplateData/resourceYaml/filterGenerateResource/data.js +5 -3
  232. package/src/TemplateData/resourceYaml/generateTemplateData.js +5 -2
  233. package/src/TemplateData/resourceYaml/sns-in-sqs/defaultSnsInSqsForFindDataAndProcessLogical.js +3 -3
  234. package/src/TemplateData/resourceYaml/sns-in-sqs/snsAndSqsPerActionData.js +4 -3
  235. package/src/TemplateData/resourceYaml/sns-out/data.js +3 -3
  236. package/src/TemplateData/resourceYaml/sns-out/defaultSnsOutForFindDataAndProcessLogical.js +2 -1
  237. package/src/libs/GenerateCodeLibs.js +1 -1
  238. package/src/libs/Libs.js +22 -0
  239. package/src/libs/Utils.js +4 -4
  240. package/src/GenerateSchema.js +0 -164
  241. package/src/SchemaConfig.js +0 -23
  242. package/src/TemplateData/EndpointPerService/mainFunction/create/backupTemplate.ejs +0 -358
  243. package/src/TemplateData/perActionEndpoint/generateTemplateData.js +0 -112
  244. package/src/TemplateData/perActionEndpoint/handler/api/data.js +0 -109
  245. package/src/TemplateData/perActionEndpoint/handler/api/request.json +0 -7
  246. package/src/TemplateData/perActionEndpoint/handler/api/template.ejs +0 -36
  247. package/src/TemplateData/perActionEndpoint/handler/dsq/data.js +0 -118
  248. package/src/TemplateData/perActionEndpoint/handler/dsq/request.json +0 -7
  249. package/src/TemplateData/perActionEndpoint/handler/dsq/template.ejs +0 -55
  250. package/src/TemplateData/perActionEndpoint/handler/inv/data.js +0 -112
  251. package/src/TemplateData/perActionEndpoint/handler/inv/request.json +0 -7
  252. package/src/TemplateData/perActionEndpoint/handler/inv/template.ejs +0 -37
  253. package/src/TemplateData/perActionEndpoint/handler/sqs/data.js +0 -116
  254. package/src/TemplateData/perActionEndpoint/handler/sqs/request.json +0 -7
  255. package/src/TemplateData/perActionEndpoint/handler/sqs/template.ejs +0 -57
  256. package/src/TemplateData/perActionEndpoint/handler/webSocket/data.js +0 -94
  257. package/src/TemplateData/perActionEndpoint/handler/webSocket/template.ejs +0 -61
  258. package/src/TemplateData/perActionEndpoint/handler/webSocketConnect/data.js +0 -54
  259. package/src/TemplateData/perActionEndpoint/handler/webSocketConnect/template.ejs +0 -55
  260. package/src/TemplateData/perActionEndpoint/libs/data.js +0 -60
  261. package/src/TemplateData/perActionEndpoint/libs/template.ejs +0 -46
  262. package/src/TemplateData/perActionEndpoint/mainFunction/create/data.js +0 -91
  263. package/src/TemplateData/perActionEndpoint/mainFunction/create/request.json +0 -0
  264. package/src/TemplateData/perActionEndpoint/mainFunction/create/template.ejs +0 -339
  265. package/src/TemplateData/perActionEndpoint/mainFunction/delete/data.js +0 -91
  266. package/src/TemplateData/perActionEndpoint/mainFunction/delete/template.ejs +0 -99
  267. package/src/TemplateData/perActionEndpoint/mainFunction/get/data.js +0 -92
  268. package/src/TemplateData/perActionEndpoint/mainFunction/get/request.json +0 -5
  269. package/src/TemplateData/perActionEndpoint/mainFunction/get/template.ejs +0 -116
  270. package/src/TemplateData/perActionEndpoint/mainFunction/get/testParam.json +0 -5
  271. package/src/TemplateData/perActionEndpoint/mainFunction/update/data.js +0 -85
  272. package/src/TemplateData/perActionEndpoint/mainFunction/update/request.json +0 -0
  273. package/src/TemplateData/perActionEndpoint/mainFunction/update/template.ejs +0 -166
  274. package/src/TemplateData/perActionEndpoint/yaml/api/data.js +0 -229
  275. package/src/TemplateData/perActionEndpoint/yaml/api/request.json +0 -14
  276. package/src/TemplateData/perActionEndpoint/yaml/api/template.ejs +0 -20
  277. package/src/TemplateData/perActionEndpoint/yaml/dsq/data.js +0 -234
  278. package/src/TemplateData/perActionEndpoint/yaml/dsq/request.json +0 -19
  279. package/src/TemplateData/perActionEndpoint/yaml/dsq/template.ejs +0 -17
  280. package/src/TemplateData/perActionEndpoint/yaml/inv/data.js +0 -207
  281. package/src/TemplateData/perActionEndpoint/yaml/inv/example req.js +0 -15
  282. package/src/TemplateData/perActionEndpoint/yaml/inv/request.json +0 -14
  283. package/src/TemplateData/perActionEndpoint/yaml/inv/template.ejs +0 -13
  284. package/src/TemplateData/perActionEndpoint/yaml/sqs/data.js +0 -237
  285. package/src/TemplateData/perActionEndpoint/yaml/sqs/request.json +0 -19
  286. package/src/TemplateData/perActionEndpoint/yaml/sqs/template.ejs +0 -17
  287. package/src/TemplateData/perActionEndpoint/yaml/wbs/data.js +0 -204
  288. package/src/TemplateData/perActionEndpoint/yaml/wbs/request.json +0 -19
  289. package/src/TemplateData/perActionEndpoint/yaml/wbs/template.ejs +0 -29
  290. package/src/TemplateData/perActionEndpoint/yaml/webSocketConnect/data.js +0 -58
  291. package/src/TemplateData/perActionEndpoint/yaml/webSocketConnect/template.ejs +0 -10
  292. package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/api/data.js +0 -146
  293. package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/api/template.ejs +0 -20
  294. package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/dsq/data.js +0 -146
  295. package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/dsq/template.ejs +0 -17
  296. package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/inv/data.js +0 -146
  297. package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/inv/template.ejs +0 -13
  298. package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/sqs/data.js +0 -147
  299. package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/sqs/template.ejs +0 -17
  300. package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/api/data.js +0 -62
  301. package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/api/template.ejs +0 -59
  302. package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/dsq/data.js +0 -63
  303. package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/dsq/template.ejs +0 -202
  304. package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/inv/data.js +0 -64
  305. package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/inv/template.ejs +0 -144
  306. package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/sqs/data.js +0 -64
  307. package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/sqs/template.ejs +0 -77
  308. package/src/TemplateData/relationshipPerAction/create/action/functionYaml/api/data.js +0 -175
  309. package/src/TemplateData/relationshipPerAction/create/action/functionYaml/api/template.ejs +0 -20
  310. package/src/TemplateData/relationshipPerAction/create/action/functionYaml/dsq/data.js +0 -176
  311. package/src/TemplateData/relationshipPerAction/create/action/functionYaml/dsq/template.ejs +0 -17
  312. package/src/TemplateData/relationshipPerAction/create/action/functionYaml/inv/data.js +0 -175
  313. package/src/TemplateData/relationshipPerAction/create/action/functionYaml/inv/template.ejs +0 -13
  314. package/src/TemplateData/relationshipPerAction/create/action/functionYaml/sqs/data.js +0 -177
  315. package/src/TemplateData/relationshipPerAction/create/action/functionYaml/sqs/template.ejs +0 -17
  316. package/src/TemplateData/relationshipPerAction/create/action/handler/api/data.js +0 -62
  317. package/src/TemplateData/relationshipPerAction/create/action/handler/api/request.json +0 -0
  318. package/src/TemplateData/relationshipPerAction/create/action/handler/api/template.ejs +0 -57
  319. package/src/TemplateData/relationshipPerAction/create/action/handler/dsq/data.js +0 -63
  320. package/src/TemplateData/relationshipPerAction/create/action/handler/dsq/request.json +0 -0
  321. package/src/TemplateData/relationshipPerAction/create/action/handler/dsq/template.ejs +0 -184
  322. package/src/TemplateData/relationshipPerAction/create/action/handler/inv/data.js +0 -64
  323. package/src/TemplateData/relationshipPerAction/create/action/handler/inv/request.json +0 -0
  324. package/src/TemplateData/relationshipPerAction/create/action/handler/inv/template.ejs +0 -126
  325. package/src/TemplateData/relationshipPerAction/create/action/handler/sqs/data.js +0 -64
  326. package/src/TemplateData/relationshipPerAction/create/action/handler/sqs/request.json +0 -0
  327. package/src/TemplateData/relationshipPerAction/create/action/handler/sqs/template.ejs +0 -75
  328. package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/api/data.js +0 -178
  329. package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/api/template.ejs +0 -20
  330. package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/dsq/data.js +0 -176
  331. package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/dsq/template.ejs +0 -17
  332. package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/inv/data.js +0 -178
  333. package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/inv/template.ejs +0 -13
  334. package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/sqs/data.js +0 -176
  335. package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/sqs/template.ejs +0 -17
  336. package/src/TemplateData/relationshipPerAction/delete/action/handler/api/data.js +0 -62
  337. package/src/TemplateData/relationshipPerAction/delete/action/handler/api/request.json +0 -0
  338. package/src/TemplateData/relationshipPerAction/delete/action/handler/api/template.ejs +0 -139
  339. package/src/TemplateData/relationshipPerAction/delete/action/handler/dsq/data.js +0 -63
  340. package/src/TemplateData/relationshipPerAction/delete/action/handler/dsq/request.json +0 -0
  341. package/src/TemplateData/relationshipPerAction/delete/action/handler/dsq/template.ejs +0 -182
  342. package/src/TemplateData/relationshipPerAction/delete/action/handler/inv/data.js +0 -64
  343. package/src/TemplateData/relationshipPerAction/delete/action/handler/inv/request.json +0 -0
  344. package/src/TemplateData/relationshipPerAction/delete/action/handler/inv/template.ejs +0 -124
  345. package/src/TemplateData/relationshipPerAction/delete/action/handler/sqs/data.js +0 -64
  346. package/src/TemplateData/relationshipPerAction/delete/action/handler/sqs/request.json +0 -0
  347. package/src/TemplateData/relationshipPerAction/delete/action/handler/sqs/template.ejs +0 -162
  348. package/src/TemplateData/relationshipPerAction/get/action/functionYaml/api/data.js +0 -168
  349. package/src/TemplateData/relationshipPerAction/get/action/functionYaml/api/template.ejs +0 -20
  350. package/src/TemplateData/relationshipPerAction/get/action/functionYaml/dsq/data.js +0 -177
  351. package/src/TemplateData/relationshipPerAction/get/action/functionYaml/dsq/template.ejs +0 -17
  352. package/src/TemplateData/relationshipPerAction/get/action/functionYaml/inv/data.js +0 -167
  353. package/src/TemplateData/relationshipPerAction/get/action/functionYaml/inv/template.ejs +0 -13
  354. package/src/TemplateData/relationshipPerAction/get/action/functionYaml/sqs/data.js +0 -166
  355. package/src/TemplateData/relationshipPerAction/get/action/functionYaml/sqs/template.ejs +0 -17
  356. package/src/TemplateData/relationshipPerAction/get/action/handler/api/data.js +0 -62
  357. package/src/TemplateData/relationshipPerAction/get/action/handler/api/request.json +0 -0
  358. package/src/TemplateData/relationshipPerAction/get/action/handler/api/template.ejs +0 -138
  359. package/src/TemplateData/relationshipPerAction/get/action/handler/dsq/data.js +0 -63
  360. package/src/TemplateData/relationshipPerAction/get/action/handler/dsq/request.json +0 -0
  361. package/src/TemplateData/relationshipPerAction/get/action/handler/dsq/template.ejs +0 -185
  362. package/src/TemplateData/relationshipPerAction/get/action/handler/inv/data.js +0 -64
  363. package/src/TemplateData/relationshipPerAction/get/action/handler/inv/request.json +0 -0
  364. package/src/TemplateData/relationshipPerAction/get/action/handler/inv/template.ejs +0 -127
  365. package/src/TemplateData/relationshipPerAction/get/action/handler/sqs/data.js +0 -64
  366. package/src/TemplateData/relationshipPerAction/get/action/handler/sqs/request.json +0 -0
  367. package/src/TemplateData/relationshipPerAction/get/action/handler/sqs/template.ejs +0 -165
  368. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/api/data.js +0 -167
  369. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/api/request.json +0 -0
  370. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/api/template.ejs +0 -20
  371. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/dsq/data.js +0 -196
  372. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/dsq/request.json +0 -0
  373. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/dsq/template.ejs +0 -17
  374. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/inv/data.js +0 -186
  375. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/inv/request.json +0 -0
  376. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/inv/template.ejs +0 -13
  377. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/sqs/data.js +0 -187
  378. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/sqs/request.json +0 -0
  379. package/src/TemplateData/relationshipPerAction/update/action/functionYaml/sqs/template.ejs +0 -17
  380. package/src/TemplateData/relationshipPerAction/update/action/handler/api/data.js +0 -78
  381. package/src/TemplateData/relationshipPerAction/update/action/handler/api/request.json +0 -7
  382. package/src/TemplateData/relationshipPerAction/update/action/handler/api/template.ejs +0 -142
  383. package/src/TemplateData/relationshipPerAction/update/action/handler/dsq/data.js +0 -79
  384. package/src/TemplateData/relationshipPerAction/update/action/handler/dsq/request.json +0 -7
  385. package/src/TemplateData/relationshipPerAction/update/action/handler/dsq/template.ejs +0 -188
  386. package/src/TemplateData/relationshipPerAction/update/action/handler/inv/data.js +0 -80
  387. package/src/TemplateData/relationshipPerAction/update/action/handler/inv/request.json +0 -5
  388. package/src/TemplateData/relationshipPerAction/update/action/handler/inv/template.ejs +0 -147
  389. package/src/TemplateData/relationshipPerAction/update/action/handler/sqs/data.js +0 -79
  390. package/src/TemplateData/relationshipPerAction/update/action/handler/sqs/request.json +0 -7
  391. package/src/TemplateData/relationshipPerAction/update/action/handler/sqs/template.ejs +0 -163
  392. package/src/TemplateData/resourceYaml/CreateSourceData.js +0 -79
  393. /package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComponent/handler/{template.ejs → SqsHandlerTemplate.ejs} +0 -0
@@ -1,339 +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 } =
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") /** - all storageType( DB and Graph) use
51
- objInstance({identifiers,fields}) - storageType[DB] async - storageType[Graph]
52
- sync (should be have lambda complete) -- before DB and Graph have boolend check
53
- (allStorageTagComplete = true) if storageType == graph set allStorageTagComplete
54
- = false, and save awaitingMultiplastep
55
- prefix(serviceTag_CreateObject{identifierId}) >>> in lambdaComplete resive
56
- message from GrapHandler 1.1 check have returnValue.errorsFould.length > 0 --
57
- Delete all awitingMultiplestep and senf message to callingFlow have errorFound.
58
- 1.2 check awaitingmultipleStepall finish -- Delete awaitingStep in come if have
59
- other multiplestep(not finish)== not send message. --- if check
60
- awaitingmultipleStepall finish not have record ===> sendmessage to callingFlow.
61
- */
62
- //=========================================================================================
63
- /** * * @param {*} _izContext * @param {Object} requestParams =
64
- {fieldNames,relationships = []} * @param {*} callingFlowConfig */
65
- module.exports.<%- functionName %>Main = async ( _izContext, requestParams,
66
- callingFlowConfig ) => { try { _izContext.logger.debug("function <%-
67
- functionName %>:", { requestParams, callingFlowConfig }); let errorsFound = [];
68
- const userId = _izContext.correlationIds.get(coreConsts.BASE_USER_ID); const
69
- targetId = _izContext.correlationIds.get(coreConsts.TARGET_ID) if (!userId) {
70
- errorsFound.push("Not have userId") } const OBJECT_TYPE = "<%- objectType %>";
71
- const SERVICE_TAG = process.env.iz_serviceTag; //(<beforeQuery
72
- >) //(</beforeQuery
73
- >) const MAIN_OBJTYPE = { objectType: OBJECT_TYPE, serviceTag: SERVICE_TAG } let
74
- objectSchema = await getObjectSchema.getObjSchemaS3WithCache( _izContext,
75
- MAIN_OBJTYPE ); _izContext.logger.debug("objectSchema", objectSchema); let
76
- objectSchemas = uploadUseCase.generateObjectSchemaForCombineFieldNames(
77
- _izContext, objectSchema ); _izContext.logger.debug("objectSchemas",
78
- objectSchemas); if (objectSchema.hasOwnProperty("belongTo") && !targetId) {
79
- errorsFound.push('not have targetId') } let createDataDetails = await
80
- createDataDetailsLib(_izContext, objectSchemas);
81
- _izContext.logger.debug("createDataDetails is =", createDataDetails); let
82
- checkCorrectLinks = []; //validate linkType if
83
- ((requestParams.hasOwnProperty("relationships")) &&
84
- (requestParams.relationships.length > 0)) { for (let relationshipProperties of
85
- requestParams.relationships) { _izContext.logger.debug("relationshipProperties",
86
- relationshipProperties); _izContext.logger.debug("relType",
87
- relationshipProperties.relType); let getObjectRelationship = await
88
- getObjectSchema.getRelationshipSchemaWithCache( _izContext,
89
- relationshipProperties.relType )
90
- _izContext.logger.debug("getObjectRelationship", getObjectRelationship) for
91
- (const relationshipLink of Object.values(getObjectRelationship.links)) { if
92
- (relationshipLink.from.linkType === "many" && relationshipLink.to.linkType ===
93
- "many") { if (relationshipLink.from.requiredOnCreate === true ||
94
- relationshipLink.to.requiredOnCreate === true) { errorsFound.push("error many to
95
- many linkType can't have requireOnCreate === true") } } } const links = await
96
- findLinksByObjTypes(_izContext, [MAIN_OBJTYPE,
97
- relationshipProperties.targetObjType], getObjectRelationship.links);
98
- _izContext.logger.debug("links", links) if (!links.length) {
99
- errorsFound.push(`not found link between ${JSON.stringify({ mainObjType:
100
- MAIN_OBJTYPE })} and ${JSON.stringify({ toObjType:
101
- relationshipProperties.targetObjType })} `) } for (let link of links) { const {
102
- serviceTag: fromServiceTag, objectType: fromObjectType } = MAIN_OBJTYPE; const {
103
- serviceTag: toServiceTag, objectType: toObjectType } =
104
- relationshipProperties.targetObjType const { serviceTag: firstServiceTag,
105
- objectType: firstObjectType } = link.from.objType; const { serviceTag:
106
- secondServiceTag, objectType: secondObjectType } = link.to.objType const
107
- matchesFromTo = fromServiceTag === firstServiceTag && fromObjectType ===
108
- firstObjectType && toServiceTag === secondServiceTag && toObjectType ===
109
- secondObjectType; const matchesToFrom = fromServiceTag === secondServiceTag &&
110
- fromObjectType === secondObjectType && toServiceTag === firstServiceTag &&
111
- toObjectType === firstObjectType if
112
- ((relationshipProperties.relationshipDirection === "from" && matchesFromTo) ||
113
- (relationshipProperties.relationshipDirection === "to" && matchesToFrom)) {
114
- checkCorrectLinks.push(true) } else { checkCorrectLinks.push(false) } } } } for
115
- (const [index, checkCorrectLink] of checkCorrectLinks.entries()) { if
116
- (checkCorrectLink === false) { errorsFound.push(`relationship direction
117
- ${JSON.stringify(requestParams.relationships[index])} is invalid`) } }
118
- _izContext.logger.debug("finish validate Relationships from RequestParams") let
119
- requiredOnCreateLinks = {}; let createLinkTypeIds = []; // validate
120
- relationships link let objectRelationshipSchema = await
121
- getObjectSchema.getRequiredOnCreateLinksWithCache(_izContext, MAIN_OBJTYPE);
122
- _izContext.logger.debug("objectRelationshipSchema", objectRelationshipSchema);
123
- // validate requiredOnCreateLinks let filteredRequiredOnCreatedLinks = []; await
124
- Promise.all( objectRelationshipSchema.map(async (requiredLink) => { const
125
- serviceTag = await Promise.all( requiredLink.storageResourceTags.map(async
126
- (storageTag) => { let storageResource =
127
- requiredLink.storageResources[storageTag]; if (storageResource.storageType ===
128
- consts.STORAGE_TYPES.graph) { return await
129
- getGraphServiceTagWithCache(_izContext, storageResource.graphServerTag); } }) );
130
- if (serviceTag.includes(GRAPH_HANDLER_SERVICE_NAME.graphHandler)) {
131
- filteredRequiredOnCreatedLinks.push(requiredLink); } }) )
132
- _izContext.logger.debug("filteredRequiredOnCreatedLinks",
133
- filteredRequiredOnCreatedLinks); if (filteredRequiredOnCreatedLinks.length) { if
134
- (!requestParams.relationships || !requestParams.relationships.length) { // in
135
- case not send relationship to create with for (const requireLink of
136
- filteredRequiredOnCreatedLinks) { errorsFound.push(`missing required
137
- relationship of relType ${JSON.stringify(requireLink.relType)} when create`) } }
138
- for (const requireLink of filteredRequiredOnCreatedLinks) { const
139
- requiredOnCreateLinkTypeId = createLinkTypeId( _izContext, MAIN_OBJTYPE,
140
- requireLink.other.objType, requireLink.relType, requireLink.base.direction );
141
- Object.assign(requiredOnCreateLinks, { [requiredOnCreateLinkTypeId]: requireLink
142
- }) } if (requestParams.hasOwnProperty("relationships") &&
143
- requestParams.relationships.length) { for (const createRelationship of
144
- requestParams.relationships) { const onCreateLinkTypeId = createLinkTypeId(
145
- _izContext, MAIN_OBJTYPE, createRelationship.targetObjType,
146
- createRelationship.relType, createRelationship.relationshipDirection ); if
147
- (!requiredOnCreateLinks.hasOwnProperty(onCreateLinkTypeId)) {
148
- errorsFound.push(`relType:${JSON.stringify(createRelationship.relType)} not
149
- allow to create when use create action`) continue; } else {
150
- createLinkTypeIds.push(onCreateLinkTypeId); } } } } // validate missing relType
151
- when create that should create const remainRequiredOnCreateLinkTypeIds =
152
- Object.keys(requiredOnCreateLinks) .filter(requiredInCreateLinkTypeId =>
153
- !createLinkTypeIds.includes(requiredInCreateLinkTypeId)) if
154
- (remainRequiredOnCreateLinkTypeIds.length) { for (const
155
- remainRequiredOnCreateLinkTypeId of remainRequiredOnCreateLinkTypeIds) { const
156
- missingLink = { relType:
157
- requiredOnCreateLinks[remainRequiredOnCreateLinkTypeId].relType, base:
158
- requiredOnCreateLinks[remainRequiredOnCreateLinkTypeId].base.objType, other:
159
- requiredOnCreateLinks[remainRequiredOnCreateLinkTypeId].other.objType };
160
- errorsFound.push(`Missing Link:: ${JSON.stringify(missingLink)} when create`) }
161
- } _izContext.logger.debug("createLinkTypeIds", createLinkTypeIds);
162
- _izContext.logger.debug("requiredOnCreateLinks", requiredOnCreateLinks); // end
163
- validate let objInstanceFull = { identifiers: {}, fields: {} }; let
164
- listOfRequiredOnCreate = []; let listOfOptionalOnCreate = []; let
165
- allAwaitingStepsId = []; // validate single identifiers if
166
- (objectSchemas.identifiers.length === 1 &&
167
- !objectSchemas.identifiers[0].hasOwnProperty("fieldNames")) { const identifier =
168
- objectSchemas.identifiers[0]; _izContext.logger.debug(":::::case single
169
- identifer:::::", identifier); if
170
- (objectSchemas.fieldNames[identifier.fieldName].hasOwnProperty("randomOnCreate"))
171
- { if ((objectSchemas.fieldNames[identifier.fieldName].randomOnCreate == true)) {
172
- Object.assign(requestParams.fieldNames, { [identifier.fieldName]: hash({
173
- fieldNames: identifier, // uniqueRequestId: _izContext.uniqueRequestId,
174
- callingFlowConfig: callingFlowConfig }) }); _izContext.logger.debug("Assign
175
- requestParams", requestParams) } else if
176
- ((objectSchemas.fieldNames[identifier.fieldName].randomOnCreate == false) ||
177
- (objectSchemas.fieldNames[identifier.fieldName].randomOnCreate == null)) { if
178
- ((objectSchemas.fieldNames[identifier.fieldName].requiredOnCreate == true) &&
179
- (objectSchemas.fieldNames[identifier.fieldName].canUpdate == false)) { // check
180
- Fns have resive if
181
- (requestParams.fieldNames.hasOwnProperty([identifier.fieldName])) {
182
- _izContext.logger.debug("identifier is exist:", { [identifier.fieldName]:
183
- requestParams.fieldNames[identifier.fieldName] }); } else {
184
- errorsFound.push("[invalid]requestParams not have data fieldNames of
185
- requriedOnCreate"); } } }; } else if
186
- (objectSchemas.fieldNames[identifier.fieldName].hasOwnProperty("hashOnCreate"))
187
- { if (objectSchemas.fieldNames[identifier.fieldName].hashOnCreate.length &&
188
- objectSchemas.fieldNames[identifier.fieldName].hashOnCreate.length > 0) { for
189
- (const fieldName of objectSchemas.fieldNames[identifier.fieldName].hashOnCreate)
190
- { Object.assign( requestParams.fieldNames, { [identifier.fieldName]: hash({
191
- [fieldName]: requestParams.fieldNames[fieldName] }) } ) } } else {
192
- errorsFound.push("[invalid] no data to hash for create") } } else { if
193
- ((objectSchemas.fieldNames[identifier.fieldName].requiredOnCreate === false) &&
194
- (objectSchemas.fieldNames[identifier.fieldName].optionalOnCreate === false) &&
195
- (objectSchemas.fieldNames[identifier.fieldName].canUpdate === false) &&
196
- objectSchemas.fieldNames[identifier.fieldName].hashOnCreate === false) {
197
- errorsFound.push("[invalid]case single identifier invalid objectSchemass"); };
198
- }; } _izContext.logger.debug("requestParams is:", requestParams); // check
199
- settingObjSchemas for (let [keyFieldNames, valueFieldNames] of
200
- Object.entries(objectSchemas.fieldNames)) { if
201
- (valueFieldNames.hasOwnProperty("randomOnCreate") &&
202
- valueFieldNames.randomOnCreate === true) {
203
- listOfRequiredOnCreate.push(keyFieldNames) }; if
204
- (valueFieldNames.hasOwnProperty("requiredOnCreate") &&
205
- valueFieldNames.requiredOnCreate === true) {
206
- listOfRequiredOnCreate.push(keyFieldNames) }; if
207
- (valueFieldNames.hasOwnProperty("hashOnCreate") &&
208
- valueFieldNames.hashOnCreate.length) {
209
- listOfRequiredOnCreate.push(keyFieldNames) } if
210
- (valueFieldNames.hasOwnProperty("optionalOnCreate") &&
211
- valueFieldNames.optionalOnCreate === true) { if
212
- ((valueFieldNames.requiredOnCreate === false) &&
213
- valueFieldNames.optionalOnCreate === true) {
214
- listOfOptionalOnCreate.push(keyFieldNames) }; }; }; // end iteration of
215
- fieldNames _izContext.logger.debug("listOfRequriedOnCreate",
216
- listOfRequiredOnCreate); _izContext.logger.debug("listOfOptionalOnCreate",
217
- listOfOptionalOnCreate); for (let fieldName of
218
- Object.keys(requestParams.fieldNames)) { if
219
- (!listOfRequiredOnCreate.includes(fieldName)) { if
220
- (!listOfOptionalOnCreate.includes(fieldName)) { errorsFound.push("[invalid] over
221
- fieldNames create object"); } }; if (listOfOptionalOnCreate.length > 0 &&
222
- listOfRequiredOnCreate.includes(fieldName)) { //(<optionalParams
223
- >) //(</optionalParams
224
- >) }; if (objectSchemas.identifierFieldNames.includes(fieldName)) {
225
- _izContext.logger.debug("identifiers is", fieldName);
226
- Object.assign(objInstanceFull.identifiers, { [fieldName]:
227
- requestParams.fieldNames[fieldName] }); }; if (errorsFound.length > 0) {
228
- _izContext.logger.debug("HaveError::", errorsFound); break }; }; // end loop let
229
- listOfObjectForCreates = []; let objInstanceFullForDynamoDb =
230
- lodash.cloneDeep(objInstanceFull) let objInstanceFullForGraph =
231
- lodash.cloneDeep(objInstanceFull) if (errorsFound.length == 0) { for (let
232
- [storageTag, createDataDetail] of Object.entries(createDataDetails)) { if
233
- (createDataDetail.storageType == consts.STORAGE_TYPES.dynamoDB) {
234
- _izContext.logger.debug("::::::DynamoDB::::::", { storageTag, objInstanceFull
235
- }); Object.assign(objInstanceFullForDynamoDb.fields,
236
- createObjInstanceFullFieldsByStorageTag(_izContext, storageTag,
237
- createDataDetail)) _izContext.logger.debug("objInstanceFull before create item
238
- in dynamoDB", objInstanceFullForDynamoDb) let identifiersForCreateData = await
239
- dynamoDbIdentifiersByStorageResource( _izContext, objectSchema,
240
- createDataDetails, objInstanceFullForDynamoDb.identifiers )
241
- _izContext.logger.debug("identifiersForCreateData", identifiersForCreateData);
242
- await dynamodbSharedLib.putItem( _izContext, await dynamodbSharedLib.tableName(
243
- _izContext, createDataDetail.tableName ), { ...identifiersForCreateData,
244
- ...objInstanceFullForDynamoDb.fields } ); } else if
245
- (createDataDetail.storageType == consts.STORAGE_TYPES.graph) {
246
- _izContext.logger.debug("::::::Graph::::::", { storageTag, objInstanceFull });
247
- Object.assign(objInstanceFullForGraph.fields,
248
- createObjInstanceFullFieldsByStorageTag(_izContext, storageTag,
249
- createDataDetail)) _izContext.logger.debug("objInstanceFull before send to
250
- Graph", objInstanceFullForGraph) // allStorageTagComplete = false;
251
- allAwaitingStepsId.push(await asyncFlowSharedLib.createAwaitingStepId( (hash({
252
- objType: MAIN_OBJTYPE, graphServerTag: storageTag, identifiers:
253
- objInstanceFullForGraph.identifiers })), PREFIX.CREATE_OBJECT_ASYNC ));
254
- listOfObjectForCreates.push({ [storageTag]: { objInstanceFull: { identifiers:
255
- objInstanceFullForGraph.identifiers, fields: objInstanceFullForGraph.fields },
256
- allStorageTagComplete: false } }); _izContext.logger.debug("FIRST",
257
- listOfObjectForCreates) };
258
- _izContext.logger.debug("[1]listOfObjectForCreates:::", listOfObjectForCreates);
259
- }; }; function createObjInstanceFullFieldsByStorageTag(_izContext, storageTag,
260
- createDataDetail) {
261
- _izContext.logger.debug("createObjInstanceFullFieldsByStorageTag : ", {
262
- storageTag, createDataDetail }) let fields = {}; for (let fieldName of
263
- Object.keys(requestParams.fieldNames)) { if
264
- ((createDataDetails[storageTag].fieldNames.includes(fieldName)) &&
265
- (createDataDetail.fieldNames.includes(fieldName))) { if
266
- (!objInstanceFull.identifiers.hasOwnProperty(fieldName)) { if
267
- (!fields.hasOwnProperty(fieldName)) { Object.assign(fields, { [fieldName]:
268
- requestParams.fieldNames[fieldName] }) } } } } _izContext.logger.debug({ fields
269
- }) return fields } /// step save awiatingMultipleStep of storageType graph
270
- ........................................................... await
271
- asyncFlowSharedLib.createAwaitingMultipleSteps( _izContext, allAwaitingStepsId,
272
- asyncFlowSharedLib.createPendingStepId((hash({ objType: MAIN_OBJTYPE,
273
- identifiers: objInstanceFull.identifiers })),
274
- PREFIX.CREATE_OBJECT_ASYNC_COMPLETE) );
275
- //............................................................................................................
276
- // process storageType : graph let messageObject = {}; for (let objectCreate of
277
- listOfObjectForCreates) { for (let [graphServiceName, objecForCreate] of
278
- Object.entries(objectCreate)) { _izContext.logger.debug("Loop each graph:", {
279
- [graphServiceName]: objecForCreate }); if (objecForCreate.allStorageTagComplete
280
- == false) { // needless check because in listOfObjectForCreates push case graph
281
- only! messageObject = { objType: MAIN_OBJTYPE, objInstanceFull:
282
- objecForCreate.objInstanceFull, relationships: requestParams.relationships || []
283
- }; }; if (errorsFound.length > 0) { break; } else {
284
- _izContext.logger.debug("SENT MESSAGE EACH GRAPH::::", { graphServiceName,
285
- messageObject, callingFlowConfig }) Object.assign(messageObject, { settings: {
286
- updatePropertiesOnMatch: false }, originTimestamp: Date.now() }); messageObject
287
- = callingFlowSharedLib.addCallingFlowToSnsRequestMessageObject( messageObject,
288
- callingFlowSharedLib.addParentCallingFlowConfig( callingFlowConfig, // resive
289
- parent callingFlowConfig. callingFlowSharedLib.createCallingFlowConfig( //
290
- callinfflow own service await lambdaSharedLib.lambdaFunctionName(_izContext,
291
- TOPIC_NAME_GENERATE_CODE.createNodeComplete), {} ) ) ); let
292
- messageToCreateObject = { Message: JSON.stringify(messageObject), TopicArn:
293
- await snsSharedLib.snsTopicArn(_izContext,
294
- TOPIC_NAME_GRAPH_HANDLER.inCreateNode, graphServiceName) };
295
- _izContext.logger.debug("RequestParams before send to sqs messageToCreateObject
296
- ::::::: ", messageToCreateObject); await sns.publishAsync(_izContext,
297
- messageToCreateObject); }; }; // end loop of objectCreate. if
298
- (errorsFound.length > 0) { break; } }; // end loop listOfObjectForCreates if
299
- (errorsFound.length > 0) { _izContext.logger.debug("Case have errorFound:::",
300
- errorsFound); // remove awaitngMultiplestep. [[[[[[[open when not test
301
- lolcal.]]]]]]] await asyncFlowSharedLib.clearAllAwaitingSteps( _izContext,
302
- asyncFlowSharedLib.createPendingStepId((hash({ objType: MAIN_OBJTYPE,
303
- identifiers: objInstanceFull.identifiers })),
304
- PREFIX.CREATE_OBJECT_ASYNC_COMPLETE)); // pendingStepId // send message to
305
- OutCreateObjectComplete. //.. messageObject = { objType: MAIN_OBJTYPE,
306
- identifiers: null, // or {} errorsFound: errorsFound }; // pass back property.
307
- messageObject =
308
- callingFlowSharedLib.addPassBackPropertiesToSnsResponseMessageObject(callingFlowConfig,
309
- messageObject); let messageAttributes =
310
- callingFlowSharedLib.addCallingFlowToSnsResponseMessageAttributes(callingFlowConfig,
311
- {}); let sendMessageOutCreateObjectComplete = { Message:
312
- JSON.stringify(messageObject), MessageAttributes:
313
- sns.createStringMessageAttributes(_izContext, messageAttributes), TopicArn:
314
- await snsSharedLib.snsTopicArn(_izContext,
315
- TOPIC_NAME_GENERATE_CODE.outCreateNodeComplete) }; _izContext.logger.debug("Send
316
- message to OutCreateObjectComplete :::>", sendMessageOutCreateObjectComplete)
317
- await sns.publishAsync(_izContext, sendMessageOutCreateObjectComplete); return {
318
- objType: MAIN_OBJTYPE, fieldNames: requestParams.fieldNames, relationship:
319
- requestParams.relationships, status: "error", errorsFound: errorsFound } } else
320
- { if (allAwaitingStepsId.length == 0 && listOfObjectForCreates.length == 0) {
321
- let messageObject = { objType: { objectType: OBJECT_TYPE, serviceTag:
322
- SERVICE_TAG }, objInstanceFull: { identifiers:
323
- objInstanceFullForDynamoDb.identifiers, fields:
324
- objInstanceFullForDynamoDb.fields } } if
325
- (callingFlowConfig[callingFlowSharedLib.consts.CALLINGFLOW_PROPERTYNAME]) { //
326
- send message to SNS OutCreateNodeComplete _izContext.logger.debug("HAVE
327
- CallingFlow"); messageObject =
328
- callingFlowSharedLib.addPassBackPropertiesToSnsResponseMessageObject(callingFlowConfig,
329
- messageObject); let messageAttributes =
330
- callingFlowSharedLib.addCallingFlowToSnsResponseMessageAttributes(callingFlowConfig,
331
- {}); let outCreateNodeCompleteTopic = await snsSharedLib.snsTopicArn(_izContext,
332
- TOPIC_NAME_GENERATE_CODE.outCreateNodeComplete) let messageParams = { Message:
333
- JSON.stringify(messageObject), MessageAttributes:
334
- sns.createStringMessageAttributes(_izContext, messageAttributes), TopicArn:
335
- outCreateNodeCompleteTopic, }; _izContext.logger.debug("messageParams
336
- OutCreateNode ::::::: ", messageParams); await sns.publishAsync(_izContext,
337
- messageParams); } } return { objType: MAIN_OBJTYPE, fieldNames:
338
- requestParams.fieldNames, relationship: requestParams.relationships, status:
339
- "complete", errorsFound: errorsFound } } } catch (err) { throw (err) } }
@@ -1,91 +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
- // const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase, firstLetterUpperCase } = require("../#utils");
25
- // const { DEFAULT_HANDLER_PER_ACTION, SOURCE_PATH } = require("../#const");
26
- const {
27
- firstLetterLowerCase: lowerCase,
28
- firstLetterUpperCase: upperCase,
29
- firstLetterUpperCase,
30
- checkOverWriteGenerateMainFunction
31
- } = require('../../../../../MainLibs/src/Consts.js').utils;
32
- const { DEFAULT_HANDLER_PER_ACTION, SOURCE_PATH } =
33
- require('../../../../../MainLibs/src/Consts.js').consts;
34
-
35
- const templatePath = path.join(__dirname, 'template.ejs');
36
-
37
- /**
38
- * receive objectSchema
39
- * create data for hdrInv template
40
- *
41
- * @param {Object} objectSchema
42
- * @return {{ templatePath, templateData, setting } }
43
- */
44
- async function data(_izContext, objectSchema, srcPath) {
45
- if (
46
- objectSchema.overwriteGeneratedMainFunction?.length &&
47
- objectSchema.overwriteGeneratedMainFunction.includes(ACTIONS.delete)
48
- ) {
49
- return [];
50
- } else {
51
- return [
52
- await createParamForCreateSource(
53
- _izContext,
54
- objectSchema,
55
- ACTIONS.delete,
56
- srcPath
57
- )
58
- ];
59
- }
60
- }
61
-
62
- async function createParamForCreateSource(
63
- _izContext,
64
- objectSchema,
65
- action,
66
- srcPath
67
- ) {
68
- // let objectType = objectSchema.objectType;
69
- let objectType = objectSchema.objectType;
70
- let groupBy = objectSchema?.shortNameObjectType
71
- ? objectSchema.shortNameObjectType
72
- : objectSchema.objectType;
73
- let functionName = objectType + upperCase(action);
74
- return {
75
- templatePath: templatePath,
76
- templateData: {
77
- functionName: functionName,
78
- objectType: objectType,
79
- roleName: groupBy,
80
- action: action
81
- },
82
- setting: {
83
- savePath: path.join(srcPath, SOURCE_PATH.lambdaPerAction),
84
- saveFileName: `${upperCase(objectSchema.objectType)}${upperCase(action)}_Main`,
85
- fileExtension: '.js',
86
- isAppend: false
87
- }
88
- };
89
- }
90
-
91
- module.exports = data;
@@ -1,99 +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 sns =
17
- require('@izara_project/izara-core-library-external-request/src/resources/Sns');
18
- const snsSharedLib = require('@izara_project/izara-shared/src/SnsSharedLib');
19
- const getObjectSchema =
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
- const { TOPIC_NAME_GENERATE_CODE, TOPIC_NAME_GRAPH_HANDLER } =
38
- require('@izara_project/izara-market-library-service-schemas/src/GenerateCodeLibs/src/Consts')
39
- const { createDeleteDataDetail } =
40
- require('@izara_project/izara-market-library-service-schemas/src/GenerateCodeLibs/src/GenerateCodeLibs/index.js')
41
- /** * * @param {*} _izContext * @param {Object} requestParams = {identifiers} *
42
- @param {*} callingFlowConfig */ module.exports.<%- functionName %>Main = async (
43
- _izContext, requestParams, callingFlowConfig ) => { try {
44
- _izContext.logger.debug("function:<%- functionName %>Main::" , { requestParams:
45
- requestParams, callingFlowConfig: callingFlowConfig }); let errorsFound = []
46
- const userId = _izContext.correlationIds.get(coreConsts.BASE_USER_ID); if
47
- (!userId){ errorsFound.push("not have userId"); } const OBJECT_TYPE = "<%-
48
- objectType %>"; const SERVICE_TAG = process.env.iz_serviceTag; //(<beforeQuery
49
- >) //(</beforeQuery
50
- >) let messageAttributes; _izContext.logger.debug("messageAttributes",
51
- messageAttributes); let objectSchema = await
52
- getObjectSchema.getObjSchemaS3WithCache(_izContext, { objectType: OBJECT_TYPE,
53
- serviceTag: SERVICE_TAG }) _izContext.logger.debug("objectSchema", objectSchema)
54
- /* create deleteDataDetail that decade what storage that have to access or not
55
- becuase it only use identifier and dont care fieldName */ let deleteDataDetails
56
- = await createDeleteDataDetail(_izContext, objectSchema);
57
- _izContext.logger.debug("deleteDataDetails", deleteDataDetails); // validate
58
- objectSchema that canDelete or not if (objectSchema.canDelete === false ||
59
- objectSchema.canDelete == null) { errorsFound.push("this objectSchema can't
60
- delete") } if (errorsFound.length) { let deleteNodeCompleteMessage = { objType:
61
- { objectType: OBJECT_TYPE, serviceTag: SERVICE_TAG }, identifiers:
62
- requestParams.identifiers, status: "error", errorsFound };
63
- deleteNodeCompleteMessage =
64
- callingFlowSharedLib.addPassBackPropertiesToSnsResponseMessageObject(callingFlowConfig,
65
- deleteNodeCompleteMessage); let messageParams = { Message:
66
- JSON.stringify(deleteNodeCompleteMessage), MessageAttribute:
67
- sns.createStringMessageAttributes(_izContext, messageAttributes), TopicArn:
68
- await snsSharedLib.snsTopicArn(_izContext,
69
- TOPIC_NAME_GENERATE_CODE.deleteNodeComplete) }
70
- _izContext.logger.debug("messageParams OutDeleteNodeComplete::", messageParams);
71
- await sns.publishAsync(_izContext, messageParams); return
72
- deleteNodeCompleteMessage }; for await (const [storageTag, deleteDataDetail] of
73
- Object.entries(deleteDataDetails)) { if (deleteDataDetail.storageType ===
74
- consts.STORAGE_TYPES.dynamoDB) { _izContext.logger.debug("dynamoDb process") let
75
- identifiersForDeleteData = await dynamoDbIdentifiersByStorageResource(
76
- _izContext, objectSchema, deleteDataDetail, requestParams.identifiers )
77
- _izContext.logger.debug("identifiersForDeleteData", identifiersForDeleteData) //
78
- deleteItem in dynamo await dynamodbSharedLib.deleteItem(_izContext, await
79
- dynamodbSharedLib.tableName(_izContext, deleteDataDetail.tableName),
80
- identifiersForDeleteData ); } else if (deleteDataDetail.storageType ===
81
- consts.STORAGE_TYPES.graph) { _izContext.logger.debug("graph process") let
82
- deleteNodeParams = { objType: { objectType: OBJECT_TYPE, serviceTag: SERVICE_TAG
83
- }, identifiers: requestParams.identifiers } deleteNodeParams =
84
- callingFlowSharedLib.addCallingFlowToSnsResponseMessageAttributes(
85
- deleteNodeParams, callingFlowSharedLib.addParentCallingFlowConfig(
86
- callingFlowConfig, callingFlowSharedLib.createCallingFlowConfig( await
87
- lambdaSharedLib.lambdaFunctionName(_izContext,
88
- TOPIC_NAME_GENERATE_CODE.deleteNodeComplete), {} ) ) )
89
- _izContext.logger.debug("messageObject before send message: ",
90
- deleteNodeParams); let deleteNodeMessageBody = { Message:
91
- JSON.stringify(deleteNodeParams), MessageAttributes:
92
- sns.createStringMessageAttributes(_izContext, messageAttributes), TopicArn:
93
- await snsSharedLib.snsTopicArn(_izContext,
94
- TOPIC_NAME_GRAPH_HANDLER.inDeleteNode, storageTag) }
95
- _izContext.logger.debug("request message params before send to IndeleteNode::",
96
- deleteNodeMessageBody); let resSns = await sns.publishAsync(_izContext,
97
- deleteNodeMessageBody) _izContext.logger.debug('reSNS send to topic InDeleteNode
98
- finish', resSns) } } } catch (err) { throw (err) } } <% function
99
- uppercase(text){ return text.charAt(0).toUpperCase() + text.slice(1) } %>
@@ -1,92 +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 } = 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 hdrInv template
41
- *
42
- * @param {Object} objectSchema
43
- * @return {{ templatePath, templateData, setting } }
44
- */
45
- async function data(_izContext, objectSchema, srcPath) {
46
- if (
47
- objectSchema.overwriteGeneratedMainFunction?.length &&
48
- objectSchema.overwriteGeneratedMainFunction.includes(ACTIONS.get)
49
- ) {
50
- return [];
51
- } else {
52
- return [
53
- await createParamForCreateSource(
54
- _izContext,
55
- objectSchema,
56
- ACTIONS.get,
57
- srcPath
58
- )
59
- ];
60
- }
61
- }
62
-
63
- async function createParamForCreateSource(
64
- _izContext,
65
- objectSchema,
66
- action,
67
- srcPath
68
- ) {
69
- // let objectType = objectSchema.objectType;
70
- let objectType = objectSchema.objectType;
71
- let groupBy = objectSchema?.shortNameObjectType
72
- ? objectSchema.shortNameObjectType
73
- : objectSchema.objectType;
74
- let functionName = objectType + upperCase(action);
75
- return {
76
- templatePath: templatePath,
77
- templateData: {
78
- functionName: functionName,
79
- objectType: objectType,
80
- roleName: groupBy,
81
- action: action
82
- },
83
- setting: {
84
- savePath: path.join(srcPath, SOURCE_PATH.lambdaPerAction),
85
- saveFileName: `${upperCase(objectSchema.objectType)}${upperCase(action)}_Main`,
86
- fileExtension: '.js',
87
- isAppend: false
88
- }
89
- };
90
- }
91
-
92
- module.exports = data;
@@ -1,5 +0,0 @@
1
- {
2
- "getDataDetail": "object",
3
- "objectType": "string",
4
- "functionName": "string"
5
- }