@izara_project/izara-market-library-service-schemas 1.0.6 → 1.0.8

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 (211) hide show
  1. package/package.json +1 -1
  2. package/src/GenerateCodeLibs/src/Consts.js +21 -6
  3. package/src/GenerateCodeLibs/src/GenerateCodeLibs.js +40 -48
  4. package/src/TemplateManager/src/FindData/Handler/data.js +4 -0
  5. package/src/TemplateManager/src/FindData/mainFunction/data.js +1 -1
  6. package/src/TemplateManager/src/FindData/mainFunction/template.ejs +3 -0
  7. package/src/TemplateManager/src/GenerateCode.js +136 -55
  8. package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/functionYaml/data.js +3 -16
  9. package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/handler/data.js +61 -0
  10. package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/handler/template.ejs +130 -0
  11. package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/mainFunction/data.js +53 -0
  12. package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/mainFunction/template.ejs +170 -0
  13. package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/sns-in-sqs/data.js +58 -0
  14. package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/sns-in-sqs/template.ejs +47 -0
  15. package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/sns-out/data.js +62 -0
  16. package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/sns-out/template.ejs +10 -0
  17. package/src/TemplateManager/src/OutPerActionComplete/OutDeleteComplete/functionYaml/data.js +82 -0
  18. package/src/TemplateManager/src/OutPerActionComplete/OutDeleteComplete/handler/data.js +61 -0
  19. package/src/TemplateManager/src/OutPerActionComplete/OutDeleteComplete/handler/template.ejs +129 -0
  20. package/src/TemplateManager/src/{CreateRelationship/createRelationship → OutPerActionComplete/OutDeleteComplete}/mainFunction/data.js +9 -15
  21. package/src/TemplateManager/src/OutPerActionComplete/OutDeleteComplete/mainFunction/template.ejs +90 -0
  22. package/src/TemplateManager/src/OutPerActionComplete/OutDeleteComplete/sns-out/data.js +62 -0
  23. package/src/TemplateManager/src/OutPerActionComplete/OutDeleteComplete/sqs-in-sns/data.js +58 -0
  24. package/src/TemplateManager/src/OutPerActionComplete/OutUpdateComplete/functionYaml/data.js +2 -16
  25. package/src/TemplateManager/src/OutPerActionComplete/OutUpdateComplete/handler/data.js +3 -1
  26. package/src/TemplateManager/src/OutPerActionComplete/OutUpdateComplete/mainFunction/template.ejs +4 -4
  27. package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrApi/data.js +31 -43
  28. package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrDsq/data.js +20 -36
  29. package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrInv/data.js +15 -56
  30. package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrSqs/data.js +22 -39
  31. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrApi/data.js +9 -9
  32. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrApi/template.ejs +2 -2
  33. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrDsq/data.js +9 -42
  34. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrDsq/template.ejs +14 -11
  35. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrInv/data.js +14 -65
  36. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrInv/template.ejs +2 -2
  37. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrSqs/data.js +11 -44
  38. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrSqs/template.ejs +14 -18
  39. package/src/TemplateManager/src/PerActionEndpoint/MainFunction/Create/data.js +1 -2
  40. package/src/TemplateManager/src/PerActionEndpoint/MainFunction/Create/template.ejs +200 -248
  41. package/src/TemplateManager/src/PerActionEndpoint/MainFunction/Delete/data.js +66 -0
  42. package/src/TemplateManager/src/PerActionEndpoint/MainFunction/Delete/template.ejs +194 -0
  43. package/src/TemplateManager/src/PerActionEndpoint/MainFunction/Get/data.js +1 -2
  44. package/src/TemplateManager/src/PerActionEndpoint/MainFunction/Update/template.ejs +2 -3
  45. package/src/TemplateManager/src/ProcessLogical/Handler/data.js +3 -1
  46. package/src/TemplateManager/src/ProcessLogical/ProcessLogicalYaml/data.js +47 -79
  47. package/src/TemplateManager/src/ProcessLogical/mainFunction/template.ejs +10 -2
  48. package/src/TemplateManager/src/ProcessLogicalPagination/FunctionYaml/HdrDsq/data.js +40 -71
  49. package/src/TemplateManager/src/ProcessLogicalPagination/FunctionYaml/HdrSqs/data.js +42 -73
  50. package/src/TemplateManager/src/ProcessLogicalPagination/Handler/HdrDsq/data.js +3 -1
  51. package/src/TemplateManager/src/ProcessLogicalPagination/Handler/HdrSqs/data.js +3 -1
  52. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrApi/data.js +84 -0
  53. package/src/TemplateManager/src/{UpdateRelationshipSchema/updateRelationship → RelationshipPerAction/CreateRelationship/createRelationship}/functionYaml/HdrApi/template.ejs +2 -2
  54. package/src/TemplateManager/src/{CreateRelationship → RelationshipPerAction/CreateRelationship}/createRelationship/functionYaml/HdrDsq/data.js +4 -41
  55. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrDsq/template.ejs +30 -0
  56. package/src/TemplateManager/src/{CreateRelationship → RelationshipPerAction/CreateRelationship}/createRelationship/functionYaml/HdrInv/data.js +4 -41
  57. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrInv/template.ejs +26 -0
  58. package/src/TemplateManager/src/{CreateRelationship → RelationshipPerAction/CreateRelationship}/createRelationship/functionYaml/HdrSqs/data.js +4 -41
  59. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrSqs/template.ejs +26 -0
  60. package/src/TemplateManager/src/{CreateRelationship/createRelationship/perAction/HdrApi → RelationshipPerAction/CreateRelationship/createRelationship/mainFunction}/data.js +4 -4
  61. package/src/TemplateManager/src/{CreateRelationship → RelationshipPerAction/CreateRelationship}/createRelationship/mainFunction/template.ejs +2 -2
  62. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/perAction/HdrApi/data.js +60 -0
  63. package/src/TemplateManager/src/{CreateRelationship → RelationshipPerAction/CreateRelationship}/createRelationship/perAction/HdrDsq/data.js +5 -3
  64. package/src/TemplateManager/src/{CreateRelationship → RelationshipPerAction/CreateRelationship}/createRelationship/perAction/HdrInv/data.js +5 -3
  65. package/src/TemplateManager/src/{CreateRelationship → RelationshipPerAction/CreateRelationship}/createRelationship/perAction/HdrSqs/data.js +5 -3
  66. package/src/TemplateManager/src/{CreateRelationship → RelationshipPerAction/CreateRelationship}/createRelationship/sns-in-sqs/data.js +4 -4
  67. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/sns-in-sqs/snsTemplate.ejs +59 -0
  68. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/sns-in-sqs/sqsTemplate.ejs +43 -0
  69. package/src/TemplateManager/src/{CreateRelationship → RelationshipPerAction/CreateRelationship}/createRelationshipComplete/functionYaml/data.js +8 -46
  70. package/src/TemplateManager/src/{CreateRelationship → RelationshipPerAction/CreateRelationship}/createRelationshipComplete/handler/HdrSqs/data.js +4 -2
  71. package/src/TemplateManager/src/{CreateRelationship → RelationshipPerAction/CreateRelationship}/createRelationshipComplete/mainFunction/data.js +2 -2
  72. package/src/TemplateManager/src/{CreateRelationship → RelationshipPerAction/CreateRelationship}/createRelationshipComplete/sns-in-sqs/data.js +2 -2
  73. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationshipComplete/sns-in-sqs/template.ejs +47 -0
  74. package/src/TemplateManager/src/{CreateRelationship → RelationshipPerAction/CreateRelationship}/createRelationshipComplete/sns-out/data.js +3 -3
  75. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationshipComplete/sns-out/template.ejs +10 -0
  76. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrApi/data.js +85 -0
  77. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrApi/template.ejs +33 -0
  78. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrDsq/data.js +96 -0
  79. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrDsq/template.ejs +30 -0
  80. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrInv/data.js +83 -0
  81. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrInv/template.ejs +26 -0
  82. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrSqs/data.js +96 -0
  83. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrSqs/template.ejs +26 -0
  84. package/src/TemplateManager/src/{UpdateRelationshipSchema/updateRelationship/perAction/HdrApi → RelationshipPerAction/DeleteRelationship/DeleteRelationship/mainFunction}/data.js +4 -5
  85. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/mainFunction/template.ejs +329 -0
  86. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/perAction/HdrApi/data.js +60 -0
  87. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/perAction/HdrApi/template.ejs +119 -0
  88. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/perAction/HdrDsq/data.js +61 -0
  89. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/perAction/HdrDsq/template.ejs +167 -0
  90. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/perAction/HdrInv/data.js +62 -0
  91. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/perAction/HdrInv/template.ejs +107 -0
  92. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/perAction/HdrSqs/data.js +62 -0
  93. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/perAction/HdrSqs/template.ejs +146 -0
  94. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/perAction/request.json +30 -0
  95. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/sns-in-sqs/data.js +78 -0
  96. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/sns-in-sqs/snsTemplate.ejs +59 -0
  97. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/sns-in-sqs/sqsTemplate.ejs +43 -0
  98. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationshipComplete/functionYaml/data.js +95 -0
  99. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationshipComplete/functionYaml/template.ejs +33 -0
  100. package/src/TemplateManager/src/{UpdateRelationshipSchema/updateRelationship/perAction → RelationshipPerAction/DeleteRelationship/DeleteRelationshipComplete/handler}/HdrSqs/data.js +9 -5
  101. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationshipComplete/handler/HdrSqs/request.json +0 -0
  102. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationshipComplete/handler/HdrSqs/template.ejs +125 -0
  103. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationshipComplete/mainFunction/data.js +56 -0
  104. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationshipComplete/mainFunction/request.json +0 -0
  105. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationshipComplete/mainFunction/template.ejs +137 -0
  106. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationshipComplete/sns-in-sqs/data.js +72 -0
  107. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationshipComplete/sns-in-sqs/request.json +0 -0
  108. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationshipComplete/sns-in-sqs/template.ejs +47 -0
  109. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationshipComplete/sns-out/data.js +72 -0
  110. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationshipComplete/sns-out/request.json +0 -0
  111. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationshipComplete/sns-out/template.ejs +10 -0
  112. package/src/TemplateManager/src/{UpdateRelationshipSchema → RelationshipPerAction/UpdateRelationshipSchema}/updateRalationshipComplete/functionYaml/data.js +4 -44
  113. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRalationshipComplete/functionYaml/template.ejs +33 -0
  114. package/src/TemplateManager/src/{UpdateRelationshipSchema → RelationshipPerAction/UpdateRelationshipSchema}/updateRalationshipComplete/handler/HdrSqs/data.js +5 -3
  115. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRalationshipComplete/handler/HdrSqs/request.json +0 -0
  116. package/src/TemplateManager/src/{UpdateRelationshipSchema → RelationshipPerAction/UpdateRelationshipSchema}/updateRalationshipComplete/mainFunction/data.js +2 -2
  117. package/src/TemplateManager/src/{UpdateRelationshipSchema → RelationshipPerAction/UpdateRelationshipSchema}/updateRalationshipComplete/sns-in-sqs/data.js +2 -2
  118. package/src/TemplateManager/src/{UpdateRelationshipSchema → RelationshipPerAction/UpdateRelationshipSchema}/updateRalationshipComplete/sns-out/data.js +3 -3
  119. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRalationshipComplete/sns-out/template.ejs +10 -0
  120. package/src/TemplateManager/src/{UpdateRelationshipSchema → RelationshipPerAction/UpdateRelationshipSchema}/updateRelationship/functionYaml/HdrApi/data.js +5 -42
  121. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrApi/request.json +0 -0
  122. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrApi/template.ejs +33 -0
  123. package/src/TemplateManager/src/{UpdateRelationshipSchema → RelationshipPerAction/UpdateRelationshipSchema}/updateRelationship/functionYaml/HdrDsq/data.js +4 -41
  124. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrDsq/request.json +0 -0
  125. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrDsq/template.ejs +30 -0
  126. package/src/TemplateManager/src/{UpdateRelationshipSchema → RelationshipPerAction/UpdateRelationshipSchema}/updateRelationship/functionYaml/HdrInv/data.js +4 -41
  127. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrInv/request.json +0 -0
  128. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrInv/template.ejs +26 -0
  129. package/src/TemplateManager/src/{UpdateRelationshipSchema → RelationshipPerAction/UpdateRelationshipSchema}/updateRelationship/functionYaml/HdrSqs/data.js +5 -42
  130. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrSqs/request.json +0 -0
  131. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrSqs/template.ejs +26 -0
  132. package/src/TemplateManager/src/{UpdateRelationshipSchema → RelationshipPerAction/UpdateRelationshipSchema}/updateRelationship/mainFunction/data.js +3 -4
  133. package/src/TemplateManager/src/{UpdateRelationshipSchema → RelationshipPerAction/UpdateRelationshipSchema}/updateRelationship/mainFunction/template.ejs +14 -15
  134. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/perAction/HdrApi/data.js +61 -0
  135. package/src/TemplateManager/src/{UpdateRelationshipSchema → RelationshipPerAction/UpdateRelationshipSchema}/updateRelationship/perAction/HdrDsq/data.js +5 -3
  136. package/src/TemplateManager/src/{UpdateRelationshipSchema → RelationshipPerAction/UpdateRelationshipSchema}/updateRelationship/perAction/HdrInv/data.js +5 -3
  137. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/perAction/HdrSqs/data.js +61 -0
  138. package/src/TemplateManager/src/{UpdateRelationshipSchema → RelationshipPerAction/UpdateRelationshipSchema}/updateRelationship/sns-in-sqs/data.js +4 -4
  139. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/sns-in-sqs/snsTemplate.ejs +59 -0
  140. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/sns-in-sqs/sqsTemplate.ejs +43 -0
  141. package/src/TemplateManager/src/{UpdateRelationshipSchema → RelationshipPerAction/UpdateRelationshipSchema}/updateRelationship/sns-out/data.js +2 -2
  142. package/src/TemplateManager/src/ResourceYaml/dynamodb/mainResourcePerObjectSchemaData.js +27 -0
  143. package/src/TemplateManager/src/ResourceYaml/dynamodb/template.ejs +1 -1
  144. package/src/TemplateManager/src/TranslateIdReq/ProcessingTranslateIds/functionYaml/data.js +3 -5
  145. package/src/TemplateManager/src/TranslateIdReq/ProcessingTranslateIds/handler/dataHdrDsq.js +3 -1
  146. package/src/TemplateManager/src/TranslateIdReq/ProcessingTranslateIds/handler/template.ejs +3 -5
  147. package/src/TemplateManager/src/TranslateIdReq/ProcessingTranslateIds/mainFunction/template.ejs +42 -39
  148. package/src/TemplateManager/src/TranslateIdReq/TranslateIds/functionYaml/HdrDsq/data.js +3 -29
  149. package/src/TemplateManager/src/TranslateIdReq/TranslateIds/functionYaml/HdrSqs/data.js +3 -29
  150. package/src/TemplateManager/src/TranslateIdReq/TranslateIds/handler/HdrDsq/data.js +4 -2
  151. package/src/TemplateManager/src/TranslateIdReq/TranslateIds/handler/HdrDsq/template.ejs +3 -5
  152. package/src/TemplateManager/src/TranslateIdReq/TranslateIds/handler/HdrSqs/data.js +3 -1
  153. package/src/TemplateManager/src/TranslateIdReq/TranslateIds/handler/HdrSqs/template.ejs +22 -34
  154. package/src/TemplateManager/src/TranslateIdReq/TranslateIds/mainFunction/template.ejs +5 -5
  155. package/src/TemplateManager/src/externalService/FunctionNameConfig/data.js +50 -0
  156. package/src/TemplateManager/src/externalService/FunctionNameConfig/template.ejs +3 -0
  157. package/src/TemplateManager/src/externalService/LambdaRole/data.js +78 -40
  158. package/src/TemplateManager/src/externalService/SnsTopicSubscriotions/data.js +13 -0
  159. package/src/TemplateManager/src/libs/Consts.js +27 -4
  160. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrApi/getTemplate.ejs +0 -76
  161. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrApi/updateTemplate.ejs +0 -67
  162. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrDsq/getTemplate.ejs +0 -105
  163. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrDsq/updateTemplate.ejs +0 -109
  164. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrInv/createTemplate.ejs +0 -75
  165. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrInv/getTemplate.ejs +0 -82
  166. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrInv/updateTemplate.ejs +0 -75
  167. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrSqs/getTemplate.ejs +0 -124
  168. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrSqs/updateTemplate.ejs +0 -133
  169. /package/src/TemplateManager/src/{CreateRelationship/createRelationshipComplete → OutPerActionComplete/OutDeleteComplete}/functionYaml/template.ejs +0 -0
  170. /package/src/TemplateManager/src/{CreateRelationship/createRelationshipComplete/sns-in-sqs → OutPerActionComplete/OutDeleteComplete/sqs-in-sns}/template.ejs +0 -0
  171. /package/src/TemplateManager/src/{CreateRelationship → RelationshipPerAction/CreateRelationship}/createRelationship/perAction/HdrApi/request.json +0 -0
  172. /package/src/TemplateManager/src/{CreateRelationship → RelationshipPerAction/CreateRelationship}/createRelationship/perAction/HdrApi/template.ejs +0 -0
  173. /package/src/TemplateManager/src/{CreateRelationship → RelationshipPerAction/CreateRelationship}/createRelationship/perAction/HdrDsq/request.json +0 -0
  174. /package/src/TemplateManager/src/{CreateRelationship → RelationshipPerAction/CreateRelationship}/createRelationship/perAction/HdrDsq/template.ejs +0 -0
  175. /package/src/TemplateManager/src/{CreateRelationship → RelationshipPerAction/CreateRelationship}/createRelationship/perAction/HdrInv/request.json +0 -0
  176. /package/src/TemplateManager/src/{CreateRelationship → RelationshipPerAction/CreateRelationship}/createRelationship/perAction/HdrInv/template.ejs +0 -0
  177. /package/src/TemplateManager/src/{CreateRelationship → RelationshipPerAction/CreateRelationship}/createRelationship/perAction/HdrSqs/request.json +0 -0
  178. /package/src/TemplateManager/src/{CreateRelationship → RelationshipPerAction/CreateRelationship}/createRelationship/perAction/HdrSqs/template.ejs +0 -0
  179. /package/src/TemplateManager/src/{CreateRelationship → RelationshipPerAction/CreateRelationship}/createRelationship/perAction/request.json +0 -0
  180. /package/src/TemplateManager/src/{CreateRelationship → RelationshipPerAction/CreateRelationship}/createRelationshipComplete/functionYaml/request.json +0 -0
  181. /package/src/TemplateManager/src/{UpdateRelationshipSchema/updateRalationshipComplete → RelationshipPerAction/CreateRelationship/createRelationshipComplete}/functionYaml/template.ejs +0 -0
  182. /package/src/TemplateManager/src/{CreateRelationship → RelationshipPerAction/CreateRelationship}/createRelationshipComplete/handler/HdrSqs/request.json +0 -0
  183. /package/src/TemplateManager/src/{CreateRelationship → RelationshipPerAction/CreateRelationship}/createRelationshipComplete/handler/HdrSqs/template.ejs +0 -0
  184. /package/src/TemplateManager/src/{CreateRelationship → RelationshipPerAction/CreateRelationship}/createRelationshipComplete/mainFunction/request.json +0 -0
  185. /package/src/TemplateManager/src/{CreateRelationship → RelationshipPerAction/CreateRelationship}/createRelationshipComplete/mainFunction/template.ejs +0 -0
  186. /package/src/TemplateManager/src/{CreateRelationship → RelationshipPerAction/CreateRelationship}/createRelationshipComplete/sns-in-sqs/request.json +0 -0
  187. /package/src/TemplateManager/src/{CreateRelationship → RelationshipPerAction/CreateRelationship}/createRelationshipComplete/sns-out/request.json +0 -0
  188. /package/src/TemplateManager/src/{UpdateRelationshipSchema/updateRalationshipComplete/handler/HdrSqs → RelationshipPerAction/DeleteRelationship/DeleteRelationship/perAction/HdrApi}/request.json +0 -0
  189. /package/src/TemplateManager/src/{UpdateRelationshipSchema/updateRelationship/functionYaml/HdrApi → RelationshipPerAction/DeleteRelationship/DeleteRelationship/perAction/HdrDsq}/request.json +0 -0
  190. /package/src/TemplateManager/src/{UpdateRelationshipSchema/updateRelationship/functionYaml/HdrDsq → RelationshipPerAction/DeleteRelationship/DeleteRelationship/perAction/HdrInv}/request.json +0 -0
  191. /package/src/TemplateManager/src/{UpdateRelationshipSchema/updateRelationship/functionYaml/HdrInv → RelationshipPerAction/DeleteRelationship/DeleteRelationship/perAction/HdrSqs}/request.json +0 -0
  192. /package/src/TemplateManager/src/{UpdateRelationshipSchema/updateRelationship/functionYaml/HdrSqs → RelationshipPerAction/DeleteRelationship/DeleteRelationshipComplete/functionYaml}/request.json +0 -0
  193. /package/src/TemplateManager/src/{UpdateRelationshipSchema → RelationshipPerAction/UpdateRelationshipSchema}/updateRalationshipComplete/functionYaml/request.json +0 -0
  194. /package/src/TemplateManager/src/{UpdateRelationshipSchema → RelationshipPerAction/UpdateRelationshipSchema}/updateRalationshipComplete/handler/HdrSqs/template.ejs +0 -0
  195. /package/src/TemplateManager/src/{UpdateRelationshipSchema → RelationshipPerAction/UpdateRelationshipSchema}/updateRalationshipComplete/mainFunction/request.json +0 -0
  196. /package/src/TemplateManager/src/{UpdateRelationshipSchema → RelationshipPerAction/UpdateRelationshipSchema}/updateRalationshipComplete/mainFunction/template.ejs +0 -0
  197. /package/src/TemplateManager/src/{UpdateRelationshipSchema → RelationshipPerAction/UpdateRelationshipSchema}/updateRalationshipComplete/sns-in-sqs/request.json +0 -0
  198. /package/src/TemplateManager/src/{UpdateRelationshipSchema → RelationshipPerAction/UpdateRelationshipSchema}/updateRalationshipComplete/sns-in-sqs/template.ejs +0 -0
  199. /package/src/TemplateManager/src/{UpdateRelationshipSchema → RelationshipPerAction/UpdateRelationshipSchema}/updateRalationshipComplete/sns-out/request.json +0 -0
  200. /package/src/TemplateManager/src/{UpdateRelationshipSchema → RelationshipPerAction/UpdateRelationshipSchema}/updateRelationship/mainFunction/request.json +0 -0
  201. /package/src/TemplateManager/src/{UpdateRelationshipSchema → RelationshipPerAction/UpdateRelationshipSchema}/updateRelationship/perAction/HdrApi/request.json +0 -0
  202. /package/src/TemplateManager/src/{UpdateRelationshipSchema → RelationshipPerAction/UpdateRelationshipSchema}/updateRelationship/perAction/HdrApi/template.ejs +0 -0
  203. /package/src/TemplateManager/src/{UpdateRelationshipSchema → RelationshipPerAction/UpdateRelationshipSchema}/updateRelationship/perAction/HdrDsq/request.json +0 -0
  204. /package/src/TemplateManager/src/{UpdateRelationshipSchema → RelationshipPerAction/UpdateRelationshipSchema}/updateRelationship/perAction/HdrDsq/template.ejs +0 -0
  205. /package/src/TemplateManager/src/{UpdateRelationshipSchema → RelationshipPerAction/UpdateRelationshipSchema}/updateRelationship/perAction/HdrInv/request.json +0 -0
  206. /package/src/TemplateManager/src/{UpdateRelationshipSchema → RelationshipPerAction/UpdateRelationshipSchema}/updateRelationship/perAction/HdrInv/template.ejs +0 -0
  207. /package/src/TemplateManager/src/{UpdateRelationshipSchema → RelationshipPerAction/UpdateRelationshipSchema}/updateRelationship/perAction/HdrSqs/request.json +0 -0
  208. /package/src/TemplateManager/src/{UpdateRelationshipSchema → RelationshipPerAction/UpdateRelationshipSchema}/updateRelationship/perAction/HdrSqs/template.ejs +0 -0
  209. /package/src/TemplateManager/src/{UpdateRelationshipSchema → RelationshipPerAction/UpdateRelationshipSchema}/updateRelationship/perAction/request.json +0 -0
  210. /package/src/TemplateManager/src/{UpdateRelationshipSchema → RelationshipPerAction/UpdateRelationshipSchema}/updateRelationship/sns-in-sqs/request.json +0 -0
  211. /package/src/TemplateManager/src/{UpdateRelationshipSchema → RelationshipPerAction/UpdateRelationshipSchema}/updateRelationship/sns-out/request.json +0 -0
@@ -55,8 +55,9 @@ const PREFIX = {
55
55
  CREATE_OBJECT_ASYNC_COMPLETE: "createObjectAsyncComplete"
56
56
  }
57
57
  //-----------------------------------------------------------------------------------------------------------
58
-
58
+ const { TOPIC_NAME_GENERATE_CODE, TOPIC_NAME_GRAPH_HANDLER, GRAPH_HANDLER_SERVICE_NAME } = require('@izara_project/izara-market-library-service-schemas/src/GenerateCodeLibs/src/Consts')
59
59
  const { createDataDetailsLib } = require('@izara_project/izara-market-library-service-schemas/src/GenerateCodeLibs/src/GenerateCodeLibs')
60
+ const { createLinkTypeId } = require('@izara_project/izara-core-library-service-schemas/src/Utils');
60
61
 
61
62
  /**
62
63
  - all storageType( DB and Graph) use objInstance({identifiers,fields})
@@ -91,47 +92,153 @@ module.exports.<%- functionName %>Main = async (
91
92
  callingFlowConfig
92
93
  });
93
94
 
95
+ let errorsFound = [];
96
+
94
97
  _izContext.correlationIds.set(coreConsts.BASE_USER_ID, "BasDev");
98
+ const userId = _izContext.correlationIds.get(coreConsts.BASE_USER_ID);
99
+ if (!userId) {
100
+ errorsFound.push("Not have userId")
101
+ }
95
102
 
96
103
  const OBJECT_TYPE = "<%- objectType %>";
97
104
  const SERVICE_TAG = process.env.iz_serviceTag;
98
105
  //(<beforeQuery>)
99
106
  //(</beforeQuery>)
100
-
101
107
  const MAIN_OBJTYPE = {
102
108
  objectType: OBJECT_TYPE,
103
109
  serviceTag: SERVICE_TAG
104
110
  }
105
111
 
106
- let objectSchema = await getObjectSchema.getObjSchemaS3WithHierarchy(
112
+ let objectSchema = await getObjectSchema.getObjSchemaS3WithCache(
107
113
  _izContext,
108
- {
109
- objectType: OBJECT_TYPE,
110
- serviceTag: SERVICE_TAG
111
- },
114
+ MAIN_OBJTYPE
112
115
  );
113
- _izContext.logger.debug("objectSchema:", objectSchema)
116
+ _izContext.logger.debug("objectSchema", objectSchema);
114
117
 
115
- let objectSchemas = uploadUseCase.generateObjectSchemaForGraphHandler(
118
+ let objectSchemas = uploadUseCase.generateObjectSchemaForCombineFieldNames(
116
119
  _izContext,
117
120
  objectSchema
118
121
  );
122
+ _izContext.logger.debug("objectSchemas", objectSchemas);
119
123
 
120
- let createDataDetails = await createCreateDataDetailsV2(_izContext, objectSchemas);
124
+ let createDataDetails = await createDataDetailsLib(_izContext, objectSchemas);
121
125
  _izContext.logger.debug("createDataDetails is =", createDataDetails);
122
126
 
123
- let objInstance = {
127
+ //validate linkType
128
+ if ((requestParams.hasOwnProperty("relationships")) && (requestParams.relationships.length > 0)) {
129
+
130
+ for (let relationshipProperties of requestParams.relationships) {
131
+ _izContext.logger.debug("relType", relationshipProperties.relType)
132
+ let getObjectRelationship = await getObjectSchema.getRelationshipSchemaWithCache(
133
+ _izContext,
134
+ relationshipProperties.relType
135
+ )
136
+ _izContext.logger.debug("getObjectRelationship", getObjectRelationship)
137
+
138
+ for (const relationshipLink of Object.values(getObjectRelationship.links)) {
139
+ if (relationshipLink.from.linkType === "many" && relationshipLink.to.linkType === "many") {
140
+ if (relationshipLink.from.requiredOnCreate === true || relationshipLink.to.requiredOnCreate === true) {
141
+ errorsFound.push("error many to many linkType can't have requireOnCreate === true")
142
+ }
143
+ }
144
+ }
145
+ }
146
+ }
147
+
148
+ let requiredOnCreateLinks = {};
149
+ let createLinkTypeIds = [];
150
+ // validate relationships link
151
+ let objectRelationshipSchema = await getObjectSchema.getRequiredOnCreateLinksWithCache(_izContext, MAIN_OBJTYPE);
152
+ _izContext.logger.debug("objectRelationshipSchema", objectRelationshipSchema);
153
+
154
+ let filteredRequiredOnCreatedLinks = [];
155
+
156
+ await Promise.all(
157
+ objectRelationshipSchema.map(async (requiredLink) => {
158
+ const serviceTag = await Promise.all(
159
+ requiredLink.storageResourceTags.map(async (storageTag) => {
160
+ let storageResource = requiredLink.storageResources[storageTag];
161
+ if (storageResource.storageType === consts.STORAGE_TYPES.graph) {
162
+ return await getGraphServiceTagWithCache(_izContext, storageResource.graphServerTag);
163
+ }
164
+ })
165
+ );
166
+ if (serviceTag.includes(GRAPH_HANDLER_SERVICE_NAME.graphHandler)) {
167
+ filteredRequiredOnCreatedLinks.push(requiredLink);
168
+ }
169
+ })
170
+ )
171
+ _izContext.logger.debug("filteredRequiredOnCreatedLinks", filteredRequiredOnCreatedLinks);
172
+
173
+ if (filteredRequiredOnCreatedLinks.length) {
174
+ if (!requestParams.relationships.length) {
175
+ // in case not send relationship to create with
176
+ for (const requireLink of filteredRequiredOnCreatedLinks) {
177
+ errorsFound.push(`missing required relationship of relType ${JSON.stringify(requireLink.relType)} when create`)
178
+ }
179
+ }
180
+
181
+ for (const requireLink of filteredRequiredOnCreatedLinks) {
182
+ const requiredOnCreateLinkTypeId = createLinkTypeId(
183
+ _izContext,
184
+ [
185
+ MAIN_OBJTYPE, requireLink.other.objType
186
+ ],
187
+ requireLink.relType
188
+ );
189
+
190
+ Object.assign(requiredOnCreateLinks, {
191
+ [requiredOnCreateLinkTypeId]: requireLink
192
+ })
193
+ }
194
+
195
+ for (const createRelationship of requestParams.relationships) {
196
+ const onCreateLinkTypeId = createLinkTypeId(
197
+ _izContext,
198
+ [
199
+ MAIN_OBJTYPE, createRelationship.targetObjType
200
+ ],
201
+ createRelationship.relType
202
+ );
203
+
204
+ if (!requiredOnCreateLinks.hasOwnProperty(onCreateLinkTypeId)) {
205
+ errorsFound.push(`relType:${JSON.stringify(createRelationship.relType)} not allow to create when use create action`)
206
+ continue;
207
+ } else {
208
+ createLinkTypeIds.push(onCreateLinkTypeId);
209
+ }
210
+ }
211
+ }
212
+
213
+ // validate missing relType when create that should create
214
+ const remainRequiredOnCreateLinkTypeIds = Object.keys(requiredOnCreateLinks)
215
+ .filter(requiredInCreateLinkTypeId => !createLinkTypeIds.includes(requiredInCreateLinkTypeId))
216
+
217
+ if (remainRequiredOnCreateLinkTypeIds.length) {
218
+ for (const remainRequiredOnCreateLinkTypeId of remainRequiredOnCreateLinkTypeIds) {
219
+ const missingLink = {
220
+ relType: requiredOnCreateLinks[remainRequiredOnCreateLinkTypeId].relType,
221
+ base: requiredOnCreateLinks[remainRequiredOnCreateLinkTypeId].base.objType,
222
+ other: requiredOnCreateLinks[remainRequiredOnCreateLinkTypeId].other.objType
223
+ };
224
+ errorsFound.push(`Missing Link:: ${JSON.stringify(missingLink)} when create`)
225
+ }
226
+ }
227
+ _izContext.logger.debug("createLinkTypeIds", createLinkTypeIds);
228
+ _izContext.logger.debug("requiredOnCreateLinks", requiredOnCreateLinks);
229
+
230
+ let objInstanceFull = {
124
231
  identifiers: {},
125
232
  fields: {}
126
233
  };
127
234
 
128
- let listOfRequriedOnCreate = [];
235
+ let listOfRequiredOnCreate = [];
129
236
  let listOfOptionalOnCreate = [];
130
237
 
131
238
  let allAwaitingStepsId = [];
132
- let errorsFound = [];
133
239
 
134
- if (objectSchemas.identifiers.length === 1 && !identifier.hasOwnProperty("fieldNames")) {
240
+ // validate single identifiers
241
+ if (objectSchemas.identifiers.length === 1 && !objectSchemas.identifiers.hasOwnProperty("fieldNames")) {
135
242
 
136
243
  const identifier = objectSchemas.identifiers[0];
137
244
  _izContext.logger.debug(":::::case single identifer:::::", identifier);
@@ -151,10 +258,11 @@ module.exports.<%- functionName %>Main = async (
151
258
  callingFlowConfig: callingFlowConfig
152
259
  })
153
260
  });
154
-
261
+ _izContext.logger.debug("Assign requestParams", requestParams)
155
262
  }
156
263
 
157
- } else if ((objectSchemas.fieldNames[identifier.fieldName].randomOnCreate == false)) {
264
+ } else if ((objectSchemas.fieldNames[identifier.fieldName].randomOnCreate == false) ||
265
+ (objectSchemas.fieldNames[identifier.fieldName].randomOnCreate == null)) {
158
266
 
159
267
  if ((objectSchemas.fieldNames[identifier.fieldName].requiredOnCreate == true) &&
160
268
  ((objectSchemas.fieldNames[identifier.fieldName].optionalOnCreate == false) || objectSchemas.fieldNames[identifier.fieldName].optionalOnCreate == true) &&
@@ -183,17 +291,15 @@ module.exports.<%- functionName %>Main = async (
183
291
 
184
292
  _izContext.logger.debug("requestParams is:", requestParams);
185
293
 
186
-
187
-
188
294
  // check settingObjSchemas
189
295
  for (let [keyFieldNames, valueFieldNames] of Object.entries(objectSchemas.fieldNames)) {
190
296
 
191
297
  if (valueFieldNames.hasOwnProperty("randomOnCreate") && valueFieldNames.randomOnCreate === true) {
192
- listOfRequriedOnCreate.push(keyFieldNames)
298
+ listOfRequiredOnCreate.push(keyFieldNames)
193
299
  };
194
300
 
195
301
  if (valueFieldNames.hasOwnProperty("requiredOnCreate") && valueFieldNames.requiredOnCreate === true) {
196
- listOfRequriedOnCreate.push(keyFieldNames)
302
+ listOfRequiredOnCreate.push(keyFieldNames)
197
303
  };
198
304
 
199
305
  if (valueFieldNames.hasOwnProperty("optionalOnCreate") && valueFieldNames.optionalOnCreate === true) {
@@ -204,30 +310,27 @@ module.exports.<%- functionName %>Main = async (
204
310
 
205
311
  }; // end iteration of fieldNames
206
312
 
313
+ _izContext.logger.debug("listOfRequriedOnCreate", listOfRequiredOnCreate);
314
+ _izContext.logger.debug("listOfOptionalOnCreate", listOfOptionalOnCreate);
207
315
  for (let fieldName of Object.keys(requestParams.fieldNames)) {
208
316
 
209
- if (!listOfRequriedOnCreate.includes(fieldName)) {
317
+ if (!listOfRequiredOnCreate.includes(fieldName)) {
210
318
  if (!listOfOptionalOnCreate.includes(fieldName)) {
211
319
  errorsFound.push("[invalid] over fieldNames create object");
212
320
  }
213
321
  };
214
322
 
215
- if (listOfOptionalOnCreate.length > 0 && listOfRequriedOnCreate.includes(fieldName)) {
216
- // HookCode
217
- // HookCode
323
+ if (listOfOptionalOnCreate.length > 0 && listOfRequiredOnCreate.includes(fieldName)) {
324
+ //(<optionalParams>)
325
+ //(</optionalParams>)
218
326
  };
219
327
 
220
- /*
221
- fix version if change objInstance initial
222
- can delete condition if (listOfRequriedOnCreate.includes(fieldName))
223
- */
224
-
225
- // if (objectSchemas.identifierFieldNames.includes(fieldName)) {
226
- // _izContext.logger.debug("identifiers is", fieldName);
227
- // Object.assign(objInstance.identifiers, {
228
- // [fieldName]: requestParams.fieldNames[fieldName]
229
- // });
230
- // };
328
+ if (objectSchemas.identifierFieldNames.includes(fieldName)) {
329
+ _izContext.logger.debug("identifiers is", fieldName);
330
+ Object.assign(objInstanceFull.identifiers, {
331
+ [fieldName]: requestParams.fieldNames[fieldName]
332
+ });
333
+ };
231
334
 
232
335
  if (errorsFound.length > 0) {
233
336
  _izContext.logger.debug("HaveError::", errorsFound);
@@ -237,39 +340,40 @@ module.exports.<%- functionName %>Main = async (
237
340
  }; // end loop
238
341
 
239
342
  let listOfObjectForCreates = [];
240
- let serviceName;
241
- let createDataDetail;
242
343
  if (errorsFound.length == 0) {
243
344
 
244
- for ([serviceName, createDataDetail] of Object.entries(createDataDetails)) {
245
-
246
- for (let fieldNames of Object.keys(requestParams.fieldNames)) {
345
+ for (let [storageTag, createDataDetail] of Object.entries(createDataDetails)) {
247
346
 
248
- if (createDataDetail.fieldNames.includes(fieldNames) && listOfRequriedOnCreate.includes(fieldNames)) {
249
- _izContext.logger.debug("fieldNames match in detail is:", fieldNames);
347
+ for (let fieldName of Object.keys(requestParams.fieldNames)) {
250
348
 
251
- if (objInstance.hasOwnProperty("fields")) {
252
- Object.assign(objInstance.fields, {
253
- [fieldNames]: requestParams.fieldNames[fieldNames]
254
- })
255
- } else {
256
- Object.assign(objInstance, {
257
- fields: {
258
- [fieldNames]: requestParams.fieldNames[fieldNames]
259
- }
260
- })
261
- };
349
+ if (createDataDetail.fieldNames.includes(fieldName) &&
350
+ listOfOptionalOnCreate.includes(fieldName) || listOfRequiredOnCreate.includes(fieldName)
351
+ ) {
352
+ _izContext.logger.debug("fieldNames match in detail is:", fieldName);
353
+
354
+ if (!objInstanceFull.identifiers.hasOwnProperty(fieldName))
355
+ if (objInstanceFull.hasOwnProperty("fields")) {
356
+ Object.assign(objInstanceFull.fields, {
357
+ [fieldName]: requestParams.fieldNames[fieldName]
358
+ })
359
+ } else {
360
+ Object.assign(objInstanceFull, {
361
+ fields: {
362
+ [fieldName]: requestParams.fieldNames[fieldName]
363
+ }
364
+ })
365
+ };
262
366
  };
263
367
  };
264
368
 
265
369
  if (createDataDetail.storageType == consts.STORAGE_TYPES.dynamoDB) {
266
- _izContext.logger.debug("::::::DynamoDB::::::", { serviceName, objInstance });
370
+ _izContext.logger.debug("::::::DynamoDB::::::", { storageTag, objInstanceFull });
267
371
 
268
372
  let identifiersForCreateData = await dynamoDbIdentifiersByStorageResource(
269
373
  _izContext,
270
374
  objectSchema,
271
375
  createDataDetails,
272
- requestParams.fieldNames
376
+ objInstanceFull.identifiers
273
377
  )
274
378
  _izContext.logger.debug("identifiersForCreateData", identifiersForCreateData);
275
379
 
@@ -279,27 +383,29 @@ module.exports.<%- functionName %>Main = async (
279
383
  _izContext,
280
384
  createDataDetail.tableName
281
385
  ),
282
- identifiersForCreateData
386
+ {
387
+ ...identifiersForCreateData,
388
+ ...objInstanceFull.fields
389
+ }
283
390
  );
284
391
 
285
-
286
392
  } else if (createDataDetail.storageType == consts.STORAGE_TYPES.graph) {
287
- _izContext.logger.debug("::::::Graphanler::::::", { serviceName, objInstance });
393
+ _izContext.logger.debug("::::::Graphanler::::::", { storageTag, objInstanceFull });
288
394
 
289
395
  // allStorageTagComplete = false;
290
396
  allAwaitingStepsId.push(asyncFlowSharedLib.createAwaitingStepId(
291
397
  (hash({
292
398
  objType: MAIN_OBJTYPE,
293
- graphServerTag: serviceName,
294
- identifiers: objInstance.identifiers
399
+ graphServerTag: storageTag,
400
+ identifiers: objInstanceFull.identifiers
295
401
  })),
296
402
  PREFIX.CREATE_OBJECT_ASYNC
297
403
  ));
298
404
  listOfObjectForCreates.push({
299
- [serviceName]: {
300
- objInstance: {
301
- identifiers: objInstance.identifiers,
302
- fields: objInstance.fields
405
+ [storageTag]: {
406
+ objInstanceFull: {
407
+ identifiers: objInstanceFull.identifiers,
408
+ fields: objInstanceFull.fields
303
409
  },
304
410
  allStorageTagComplete: false
305
411
  }
@@ -310,7 +416,7 @@ module.exports.<%- functionName %>Main = async (
310
416
  };
311
417
  _izContext.logger.debug("[1]listOfObjectForCreates:::", listOfObjectForCreates);
312
418
 
313
- delete objInstance.fields
419
+ delete objInstanceFull.fields
314
420
  };
315
421
  };
316
422
 
@@ -319,7 +425,7 @@ module.exports.<%- functionName %>Main = async (
319
425
  await asyncFlowSharedLib.createAwaitingMultipleSteps(
320
426
  _izContext,
321
427
  allAwaitingStepsId,
322
- asyncFlowSharedLib.createPendingStepId((hash({ objType: MAIN_OBJTYPE, identifiers: objInstance.identifiers })), PREFIX.CREATE_OBJECT_ASYNC_COMPLETE)
428
+ asyncFlowSharedLib.createPendingStepId((hash({ objType: MAIN_OBJTYPE, identifiers: objInstanceFull.identifiers })), PREFIX.CREATE_OBJECT_ASYNC_COMPLETE)
323
429
  );
324
430
  //............................................................................................................
325
431
 
@@ -336,152 +442,9 @@ module.exports.<%- functionName %>Main = async (
336
442
 
337
443
  messageObject = {
338
444
  objType: MAIN_OBJTYPE,
339
- objInstance: objecForCreate.objInstance,
445
+ objInstanceFull: objecForCreate.objInstanceFull,
446
+ relationships: requestParams.relationships
340
447
  };
341
-
342
- /*
343
- seagame: should getRequiredOnCreateLinksGraphHandler before match with requestParams.relationships
344
- this condition will miss validation when objType have requiredOnCreateLink but not send relationships from requestParams
345
- */
346
-
347
- if (requestParams.hasOwnProperty("relationships") && requestParams.relationships.length > 0) {
348
- _izContext.logger.debug("SHOW RELATIONSHIP:", requestParams.relationships);
349
-
350
- // validate relationship only.
351
- let getRelationhsipSchemas = await getObjectSchema.getRequiredOnCreateLinksGraphHandler(
352
- _izContext,
353
- {
354
- objectType: OBJECT_TYPE,
355
- serviceTag: SERVICE_TAG
356
- }
357
- );
358
-
359
- _izContext.logger.debug("getRelationhsipSchemas is:::", getRelationhsipSchemas);
360
-
361
- if (Object.keys(getRelationhsipSchemas).length !== requestParams.relationships.length) {
362
- errorsFound.push("[invalid]relationships missmatch requiredOnCreateLink form relationshipschemas");
363
- } else {
364
-
365
- for (let eachRelationships of requestParams.relationships) {
366
- _izContext.logger.debug("eachRelationships is:", eachRelationships);
367
-
368
- // validate porperty in relatoinships.
369
- if (!eachRelationships.hasOwnProperty("relType") || Object.keys(eachRelationships.relType).length == 0) {
370
- errorsFound.push("[invalid relationsips] property relType in relationsips");
371
- };
372
- if (!eachRelationships.hasOwnProperty("targetObjType") || Object.keys(eachRelationships.targetObjType).length == 0) {
373
- errorsFound.push("[invalid relationsips] property targetObjType in relationsips");
374
- };
375
- if (!eachRelationships.hasOwnProperty("targetIdentifiers") || Object.keys(eachRelationships.targetIdentifiers).length == 0) {
376
- errorsFound.push("[invalid relationsips] property targetIdentifiers in relationsips");
377
- };
378
-
379
- let relationshipTag = eachRelationships.relType.relationshipTag
380
- let eachRelationhsipSchemas = getRelationhsipSchemas[eachRelationships.relType.relationshipTag]
381
- let targetObjType = eachRelationships.targetObjType
382
-
383
- _izContext.logger.debug("each Relationhsip is:::::", {
384
- relationshipTag,
385
- eachRelationhsipSchemas: eachRelationhsipSchemas,
386
- targetObjType
387
- });
388
-
389
- if (!eachRelationhsipSchemas) {
390
- errorsFound.push("misMatch relationhsipSchemas requriOnCreate");
391
- };
392
-
393
- if (errorsFound.length > 0) {
394
- break
395
- };
396
-
397
- let objTypeRequiredOnCreate = null;
398
- for (let link of eachRelationhsipSchemas.links) {
399
- /*
400
- seagame: one relationshipSchema probably have 2 or more links that contain mainObjType but have difference targetObjType
401
- */
402
-
403
- let objectSides = {
404
- from: MAIN_OBJTYPE,
405
- to: targetObjType
406
- };
407
-
408
- if (link.from.objType.serviceTag == targetObjType.serviceTag &&
409
- link.from.objType.objectType == targetObjType.objectType) {
410
- objectSides = {
411
- from: targetObjType,
412
- to: MAIN_OBJTYPE
413
- };
414
- };
415
- _izContext.logger.debug("check side:", objectSides);
416
-
417
- // test both sides of link
418
- // let otherLinkConfigKey = "from";
419
- for (let linkKey of Object.keys(link)) {
420
- // _izContext.logger.debug("linkKey is:", linkKey);
421
- if (linkKey == "to" || linkKey == "from") {
422
- // set other side key
423
- let otherLinkConfigKey = "from";
424
- if (linkKey == "from") {
425
- otherLinkConfigKey = "to";
426
- }
427
-
428
- // case ONE-to-ONE
429
- if (link[linkKey].linkType == "one" &&
430
- link[otherLinkConfigKey].linkType == "one") {
431
- _izContext.logger.debug("case ONE-to-ONE");
432
- if (link[linkKey].requiredOnCreate == true) {
433
-
434
- objTypeRequiredOnCreate = objectSides[linkKey];
435
- };
436
- };
437
-
438
- // case ONE-to-MANY
439
- if (link[linkKey].linkType == "many" &&
440
- link[otherLinkConfigKey].linkType == "one") {
441
- _izContext.logger.debug("case ONE-to-MANY");
442
-
443
- if (link[linkKey].requiredOnCreate == true) {
444
-
445
- objTypeRequiredOnCreate = objectSides[linkKey];
446
- };
447
- };
448
-
449
- if ((objTypeRequiredOnCreate !== null && link[otherLinkConfigKey].objType !== null)) {
450
- /*
451
- seagame: one relationshipSchema probably have 2 or more links that contain mainObjType but have difference targetObjType
452
- if check other side with targetObjType will cause errors
453
- */
454
- if (
455
- ((objTypeRequiredOnCreate.objectType == MAIN_OBJTYPE.objectType) && (objTypeRequiredOnCreate.serviceTag == MAIN_OBJTYPE.serviceTag)) &&
456
- ((link[otherLinkConfigKey].objType.objectType == targetObjType.objectType) && (link[otherLinkConfigKey].objType.serviceTag == targetObjType.serviceTag))) {
457
-
458
- // seagame:
459
- // this line will re assign every time when validate requestParams.relationships
460
- // should finished validate all requestParams.relationships before assign to messageObject
461
- Object.assign(messageObject, { relationships: requestParams.relationships });
462
- _izContext.logger.debug("messageObject case relationships", messageObject)
463
-
464
- } else {
465
- errorsFound.push("[Invalid]main objType is not requriOnCreate")
466
- };
467
-
468
- }
469
-
470
- if (errorsFound.length > 0) {
471
- break
472
- };
473
- };
474
-
475
-
476
- }; // end check linkKey.
477
- }; // end links
478
- }; // end loop requestParams.relationships
479
- }; // end eachRelationships
480
-
481
- if (errorsFound.length > 0) {
482
- break
483
- };
484
- }; // case relationships
485
448
  };
486
449
 
487
450
  if (errorsFound.length > 0) {
@@ -494,25 +457,19 @@ module.exports.<%- functionName %>Main = async (
494
457
  originTimestamp: Date.now()
495
458
  });
496
459
 
497
- // seagame: not need to check callingFlow before send to graph, Just add callingFlow and parent callingFlow before send to graph
498
- if (callingFlowConfig[callingFlowSharedLib.consts.CALLINGFLOW_PROPERTYNAME]) {
499
- _izContext.logger.debug("Have callingFlow", callingFlowConfig);
500
- _izContext.logger.debug("callingFlowProperties", callingFlowConfig[callingFlowSharedLib.consts.CALLINGFLOWPROPERTIES_PROPERTYNAME])
501
-
502
- messageObject = callingFlowSharedLib.addCallingFlowToSnsRequestMessageObject(
503
- messageObject,
504
- callingFlowSharedLib.addParentCallingFlowConfig(
505
- callingFlowConfig, // resive parent callingFlowConfig.
506
- callingFlowSharedLib.createCallingFlowConfig( // callinfflow own service
507
- await lambdaSharedLib.lambdaFunctionName(_izContext, "CreateObjectCompleteHdrSqs"),
508
- )
460
+ messageObject = callingFlowSharedLib.addCallingFlowToSnsRequestMessageObject(
461
+ messageObject,
462
+ callingFlowSharedLib.addParentCallingFlowConfig(
463
+ callingFlowConfig, // resive parent callingFlowConfig.
464
+ callingFlowSharedLib.createCallingFlowConfig( // callinfflow own service
465
+ await lambdaSharedLib.lambdaFunctionName(_izContext, TOPIC_NAME_GENERATE_CODE.createNodeComplete), {}
509
466
  )
510
- );
511
- };
467
+ )
468
+ );
512
469
 
513
470
  let messageToCreateObject = {
514
471
  Message: JSON.stringify(messageObject),
515
- TopicArn: await snsSharedLib.snsTopicArn(_izContext, "InCreateNodeV2", graphServiceName)
472
+ TopicArn: await snsSharedLib.snsTopicArn(_izContext, TOPIC_NAME_GRAPH_HANDLER.inCreateNode, graphServiceName)
516
473
  };
517
474
  _izContext.logger.debug("RequestParams before send to sqs messageToCreateObject ::::::: ", messageToCreateObject);
518
475
  await sns.publishAsync(_izContext, messageToCreateObject);
@@ -531,7 +488,7 @@ module.exports.<%- functionName %>Main = async (
531
488
  _izContext,
532
489
  asyncFlowSharedLib.createPendingStepId((hash({
533
490
  objType: MAIN_OBJTYPE,
534
- identifiers: objInstance.identifiers
491
+ identifiers: objInstanceFull.identifiers
535
492
  })), PREFIX.CREATE_OBJECT_ASYNC_COMPLETE)); // pendingStepId
536
493
 
537
494
  // send message to OutCreateObjectComplete.
@@ -549,33 +506,28 @@ module.exports.<%- functionName %>Main = async (
549
506
  let sendMessageOutCreateObjectComplete = {
550
507
  Message: JSON.stringify(messageObject),
551
508
  MessageAttributes: sns.createStringMessageAttributes(_izContext, messageAttributes),
552
- TopicArn: await snsSharedLib.snsTopicArn(_izContext, "OutCreateObjectComplete")
509
+ TopicArn: await snsSharedLib.snsTopicArn(_izContext, TOPIC_NAME_GENERATE_CODE.outCreateNodeComplete)
553
510
  };
554
511
  _izContext.logger.debug("Send message to OutCreateObjectComplete :::>", sendMessageOutCreateObjectComplete)
555
512
  await sns.publishAsync(_izContext, sendMessageOutCreateObjectComplete);
556
513
 
557
- return { returnValue: "function DeliveryMetodStandate have errorFounds" }
514
+ return {
515
+ objType: MAIN_OBJTYPE,
516
+ fieldNames: requestParams.fieldNames,
517
+ relationship: requestParams.relationships,
518
+ status: "error",
519
+ errorsFound: errorsFound
520
+ }
521
+ } else {
522
+ return {
523
+ objType: MAIN_OBJTYPE,
524
+ fieldNames: requestParams.fieldNames,
525
+ relationship: requestParams.relationships,
526
+ status: "complete",
527
+ }
558
528
  }
559
- _izContext.logger.debug("end errorsFound is:", errorsFound);
560
529
 
561
530
  } catch (err) {
562
531
  throw (err)
563
532
  }
564
-
565
- }
566
-
567
- /*
568
- example return
569
- * identifierFieldNames will not includes inside fieldNames of createObjectDetails
570
- {
571
- dynamoDBStorageTag:{
572
- storageType:"dynamoDB",
573
- tableName:"xxx",
574
- fieldNames:[...fieldName]
575
- },
576
- GraphServiceTag:{
577
- storageType: 'graph',
578
- fieldNames: [ 'bookId2', 'bookName' ]
579
- }
580
- }
581
- */
533
+ }