@izara_project/izara-core-generate-service-code 1.0.65 → 1.0.67

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 (257) hide show
  1. package/README.md +73 -11
  2. package/docs/TriggeredCache Flow.drawio +193 -0
  3. package/docs/test.mmd +47 -0
  4. package/docs/test.png +0 -0
  5. package/index.js +0 -5
  6. package/package.json +7 -6
  7. package/src/compile/compileProject.js +26 -0
  8. package/src/compile/loadSchemas.js +50 -0
  9. package/src/emit/crud/dynamicCrudFlowSchemaTemplate.js +11 -0
  10. package/src/emit/crud/emitCrudApplicationArtifacts.js +161 -0
  11. package/src/emit/crud/emitDynamicCrudFlowSchemas.js +84 -0
  12. package/src/emit/crud/generateCrudApplicationArtifacts.js +16 -0
  13. package/src/emit/crud/generateDynamicCrudFlowSchemas.js +21 -0
  14. package/src/emit/crud/loadLocalSchemaArrays.js +8 -0
  15. package/src/{codeGenerators/app/src/generatedCode/Flow/FlowObjects/templates/crud → emit/crud/templates}/CreateEndpoint_Main.ejs +6 -6
  16. package/src/{codeGenerators/app/src/generatedCode/Flow/FlowObjects/templates/crud → emit/crud/templates}/DeleteEndpoint_Main.ejs +6 -6
  17. package/src/{codeGenerators/app/src/generatedCode/Flow/FlowObjects/templates/step → emit/crud/templates}/FlowEndpointBeforeLogical_Main.ejs +2 -2
  18. package/src/emit/crud/templates/FlowEndpointComplete_Main.ejs +96 -0
  19. package/src/{codeGenerators/app/src/generatedCode/Flow/FlowSchemas/templates/endpoint → emit/crud/templates}/FlowEndpoint_HdrWbs.ejs +1 -1
  20. package/src/emit/crud/templates/FlowHandler_HdrApi.ejs +69 -0
  21. package/src/{codeGenerators/app/src/generatedCode/ProcessLogical/templates/ProcessLogical_HdrSqs.ejs → emit/crud/templates/FlowHandler_HdrSqs.ejs} +52 -56
  22. package/src/{codeGenerators/app/src/generatedCode/Flow/FlowSchemas/templates/endpoint → emit/crud/templates}/FlowMain_Wbs.ejs +1 -3
  23. package/src/{codeGenerators/app/src/generatedCode/Flow/FlowObjects/templates/crud → emit/crud/templates}/GetEndpoint_Main.ejs +2 -2
  24. package/src/emit/crud/templates/GetRangeEndpoint_Main.ejs +127 -0
  25. package/src/{codeGenerators/app/src/generatedCode/Flow/FlowObjects/templates/crud → emit/crud/templates}/UpdateEndpoint_Main.ejs +11 -9
  26. package/src/emit/custom/customFlows.js +121 -0
  27. package/src/emit/custom/emitCustomFlowApplicationArtifacts.js +325 -0
  28. package/src/emit/custom/generateCustomFlowApplicationArtifacts.js +22 -0
  29. package/src/{codeGenerators/app/src/generatedCode/Flow/FlowSchemas/templates/endpoint → emit/custom/templates}/FlowEndpoint_Main.ejs +5 -5
  30. package/src/{codeGenerators/app/src/generatedCode/Flow/FlowSchemas/templates/step → emit/custom/templates}/FlowStep_Main.ejs +1 -1
  31. package/src/{codeGenerators/app/src/generatedCode/Flow/FlowSchemas → emit/custom}/templates/s3/ConfirmReserved_Main.ejs +5 -5
  32. package/src/{codeGenerators/app/src/generatedCode/Flow/FlowSchemas → emit/custom}/templates/s3/CreateObject_HdrWbs.ejs +1 -1
  33. package/src/{codeGenerators/app/src/generatedCode/Flow/FlowSchemas → emit/custom}/templates/s3/CreateObject_Main.ejs +3 -3
  34. package/src/{codeGenerators/app/src/generatedCode/Flow/FlowSchemas → emit/custom}/templates/s3/CreatePreSignUrl_Main.ejs +4 -5
  35. package/src/{codeGenerators/app/src/generatedCode/Flow/FlowSchemas → emit/custom}/templates/s3/FlowHandler_HdrS3.ejs +2 -8
  36. package/src/{codeGenerators/app/src/generatedCode/Flow/FlowSchemas → emit/custom}/templates/s3/ProcessS3File_Main.ejs +1 -1
  37. package/src/{codeGenerators/app/src/generatedCode/Flow/FlowSchemas → emit/custom}/templates/s3/ReservedLimit_Main.ejs +5 -6
  38. package/src/emit/custom/templates/triggerCache/CheckTriggerCache_HdrSqs.ejs +32 -0
  39. package/src/emit/custom/templates/triggerCache/CheckTriggerCache_Main.ejs +63 -0
  40. package/src/emit/custom/templates/triggerCache/TriggerCacheComplete_Main.ejs +35 -0
  41. package/src/emit/custom/templates/triggerCache/TriggerCache_Main.ejs +16 -0
  42. package/src/emit/function/functionYamlArtifact.js +125 -0
  43. package/src/emit/rbac/emitDynamicRbacFlowSchemas.js +117 -0
  44. package/src/emit/rbac/emitRbacApplicationArtifacts.js +270 -0
  45. package/src/emit/rbac/generateCreateTargetRoleHandler.js +19 -0
  46. package/src/emit/rbac/generateDynamicRbacFlowSchemas.js +21 -0
  47. package/src/emit/rbac/rbacFlowTag.js +7 -0
  48. package/src/emit/rbac/templates/CreateTargetRole_HdrSqs.ejs +24 -0
  49. package/src/emit/rbac/templates/CreateTargetRole_Main.ejs +25 -0
  50. package/src/emit/rbac/templates/DynamicRbacFlowSchema.ejs +5 -0
  51. package/src/emit/rbac/templates/ListRbac_HdrApi.ejs +17 -0
  52. package/src/emit/rbac/templates/ListRbac_HdrSqs.ejs +13 -0
  53. package/src/emit/rbac/templates/ListRbac_Main.ejs +29 -0
  54. package/src/emit/rbac/templates/RbacMutation_Main.ejs +22 -0
  55. package/src/emit/rbac/templates/UserRbacFlow_HdrInv.ejs +10 -0
  56. package/src/emit/rbac/templates/UserRbacFlow_Main.ejs +44 -0
  57. package/src/emit/rbac/templates/UserRoleMutation_Main.ejs +33 -0
  58. package/src/emit/relationship/dynamicRelationshipFlowSchemaTemplate.js +11 -0
  59. package/src/emit/relationship/emitDynamicRelationshipFlowSchemas.js +66 -0
  60. package/src/emit/relationship/emitRelationshipApplicationArtifacts.js +148 -0
  61. package/src/emit/relationship/generateDynamicRelationshipFlowSchemas.js +23 -0
  62. package/src/emit/relationship/generateRelationshipApplicationArtifacts.js +22 -0
  63. package/src/{codeGenerators/app/src/generatedCode/Flow/FlowRelationships/templates/relationship/ProcessChangeRelationshipComplete_Main.ejs → emit/relationship/templates/ChangeRelationshipComplete_Main.ejs} +1 -1
  64. package/src/{codeGenerators/app/src/generatedCode/Flow/FlowRelationships/templates/relationship/ProcessChangeRelationship_Main.ejs → emit/relationship/templates/ChangeRelationship_Main.ejs} +12 -4
  65. package/src/{codeGenerators/app/src/generatedCode/Flow/FlowRelationships/templates/relationship/ProcessCreateRelationshipComplete_Main.ejs → emit/relationship/templates/CreateRelationshipComplete_Main.ejs} +1 -1
  66. package/src/{codeGenerators/app/src/generatedCode/Flow/FlowRelationships/templates/relationship/ProcessCreateRelationship_Main.ejs → emit/relationship/templates/CreateRelationship_Main.ejs} +1 -1
  67. package/src/{codeGenerators/app/src/generatedCode/Flow/FlowRelationships/templates/relationship/ProcessDeleteRelationshipComplete_Main.ejs → emit/relationship/templates/DeleteRelationshipComplete_Main.ejs} +1 -1
  68. package/src/{codeGenerators/app/src/generatedCode/Flow/FlowRelationships/templates/relationship/ProcessDeleteRelationship_Main.ejs → emit/relationship/templates/DeleteRelationship_Main.ejs} +1 -1
  69. package/src/{codeGenerators/app/src/generatedCode/Flow/_shared/handlers → emit/relationship/templates}/FlowHandler_HdrDsq.ejs +1 -1
  70. package/src/emit/relationship/templates/FlowHandler_HdrInv.ejs +45 -0
  71. package/src/{codeGenerators/app/src/generatedCode/Flow/FlowRelationships/templates/relationship/ProcessGetRelationshipComplete_Main.ejs → emit/relationship/templates/GetRelationshipComplete_Main.ejs} +1 -1
  72. package/src/{codeGenerators/app/src/generatedCode/Flow/FlowRelationships/templates/relationship/ProcessGetRelationship_Main.ejs → emit/relationship/templates/GetRelationship_Main.ejs} +1 -1
  73. package/src/{codeGenerators/app/src/generatedCode/Flow/FlowRelationships/templates/relationship/ProcessMoveRelationship_Main.ejs → emit/relationship/templates/MoveRelationship_Main.ejs} +9 -1
  74. package/src/{codeGenerators/app/src/generatedCode/Flow/FlowRelationships/templates/relationship/ProcessUpdateRelationshipComplete_Main.ejs → emit/relationship/templates/UpdateRelationshipComplete_Main.ejs} +1 -1
  75. package/src/{codeGenerators/app/src/generatedCode/Flow/FlowRelationships/templates/relationship/ProcessUpdateRelationship_Main.ejs → emit/relationship/templates/UpdateRelationship_Main.ejs} +1 -1
  76. package/src/emit/resource/emitResourceArtifacts.js +595 -0
  77. package/src/emit/resource/generateResourceArtifacts.js +20 -0
  78. package/src/{codeGenerators/resource/sls_yaml/templates/crud → emit/resource/templates}/ResourceBeforeLogicalYaml.ejs +1 -1
  79. package/src/{codeGenerators/resource/sls_yaml/templates/crud → emit/resource/templates}/ResourceSqsYaml.ejs +6 -6
  80. package/src/{codeGenerators/app/sls_yaml → emit/resource}/templates/SharedResource_Yaml.ejs +8 -8
  81. package/src/emit/system/emitSystemWebSocketArtifacts.js +183 -0
  82. package/src/generate.js +60 -126
  83. package/src/output/commitArtifacts.js +213 -0
  84. package/src/output/mergeHooks.js +55 -0
  85. package/src/output/validateArtifacts.js +62 -0
  86. package/src/plan/buildGenerationPlan.js +50 -0
  87. package/test/core.test.js +159 -0
  88. package/test/createTargetRoleHandler.test.js +68 -0
  89. package/test/crudApplicationArtifacts.test.js +107 -0
  90. package/test/customFlowApplicationArtifacts.test.js +297 -0
  91. package/test/dynamicCrudFlowSchemas.test.js +136 -0
  92. package/test/dynamicRbacFlowSchemas.test.js +101 -0
  93. package/test/dynamicRelationshipFlowSchemas.test.js +99 -0
  94. package/test/functionYamlArtifact.test.js +34 -0
  95. package/test/intTestApi.test.js +29 -0
  96. package/test/publicApi.test.js +209 -0
  97. package/test/relationshipApplicationArtifacts.test.js +68 -0
  98. package/test/resourceArtifacts.test.js +121 -0
  99. package/jsconfig.json +0 -9
  100. package/src/__tests__/getIntTestConfig.test.js +0 -51
  101. package/src/__tests__/intTestGeneratorShared.test.cjs +0 -169
  102. package/src/__tests__/pathIntTest.test.js +0 -103
  103. package/src/codeGenerators/app/initial_setup/InitialSetupGenerator.js +0 -199
  104. package/src/codeGenerators/app/initial_setup/templates/InitialSetup_LambdaRole.ejs +0 -50
  105. package/src/codeGenerators/app/initial_setup/templates/InitialSetup_SnsService.ejs +0 -15
  106. package/src/codeGenerators/app/initial_setup/templates/InitialSetup_TableName.ejs +0 -9
  107. package/src/codeGenerators/app/sls_yaml/FindDataYamlGenerator.js +0 -23
  108. package/src/codeGenerators/app/sls_yaml/FunctionYamlGenerator.js +0 -332
  109. package/src/codeGenerators/app/sls_yaml/ProcessLogicalYamlGenerator.js +0 -21
  110. package/src/codeGenerators/app/sls_yaml/RoleNameConfigGenerator.js +0 -48
  111. package/src/codeGenerators/app/sls_yaml/SharedResourceYamlGenerator.js +0 -503
  112. package/src/codeGenerators/app/sls_yaml/__tests__/SharedResourceYamlGenerator.test.js +0 -235
  113. package/src/codeGenerators/app/sls_yaml/_policy/PolicyRegistry.js +0 -56
  114. package/src/codeGenerators/app/sls_yaml/_policy/__tests__/PolicyRegistry.test.js +0 -33
  115. package/src/codeGenerators/app/sls_yaml/renderYamlTemplate.js +0 -13
  116. package/src/codeGenerators/app/sls_yaml/templates/FindData_Yaml.ejs +0 -10
  117. package/src/codeGenerators/app/sls_yaml/templates/FunctionYaml_Api.ejs +0 -21
  118. package/src/codeGenerators/app/sls_yaml/templates/FunctionYaml_EventBridge.ejs +0 -14
  119. package/src/codeGenerators/app/sls_yaml/templates/FunctionYaml_Inv.ejs +0 -6
  120. package/src/codeGenerators/app/sls_yaml/templates/FunctionYaml_Sqs.ejs +0 -11
  121. package/src/codeGenerators/app/sls_yaml/templates/FunctionYaml_Wbs.ejs +0 -11
  122. package/src/codeGenerators/app/sls_yaml/templates/ProcessLogical_Yaml.ejs +0 -32
  123. package/src/codeGenerators/app/sls_yaml/templates/RoleNameConfig_Yaml.ejs +0 -5
  124. package/src/codeGenerators/app/src/generatedCode/FindData/FindDataGenerator.js +0 -238
  125. package/src/codeGenerators/app/src/generatedCode/FindData/templates/FindData_HdrSqs.ejs +0 -87
  126. package/src/codeGenerators/app/src/generatedCode/FindData/templates/FindData_Main.ejs +0 -108
  127. package/src/codeGenerators/app/src/generatedCode/FindData/templates/GetByStorage/getByDynamo.ejs +0 -32
  128. package/src/codeGenerators/app/src/generatedCode/FindData/templates/GetByStorage/getByGraph.ejs +0 -87
  129. package/src/codeGenerators/app/src/generatedCode/Flow/FlowObjects/.gitkeep +0 -0
  130. package/src/codeGenerators/app/src/generatedCode/Flow/FlowObjects/EndpointsGenerator.js +0 -120
  131. package/src/codeGenerators/app/src/generatedCode/Flow/FlowObjects/templates/step/FlowEndpointComplete_Main.ejs +0 -313
  132. package/src/codeGenerators/app/src/generatedCode/Flow/FlowRbac/RbacFlowGenerator.js +0 -116
  133. package/src/codeGenerators/app/src/generatedCode/Flow/FlowRbac/templates/rbac/CreateRolePermissions.ejs +0 -135
  134. package/src/codeGenerators/app/src/generatedCode/Flow/FlowRbac/templates/rbac/CreateTargetRole.ejs +0 -131
  135. package/src/codeGenerators/app/src/generatedCode/Flow/FlowRbac/templates/rbac/CreateUserRole.ejs +0 -150
  136. package/src/codeGenerators/app/src/generatedCode/Flow/FlowRbac/templates/rbac/DeleteRolePermissions.ejs +0 -132
  137. package/src/codeGenerators/app/src/generatedCode/Flow/FlowRbac/templates/rbac/DeleteTargetRole.ejs +0 -132
  138. package/src/codeGenerators/app/src/generatedCode/Flow/FlowRbac/templates/rbac/DeleteUserFromRole.ejs +0 -150
  139. package/src/codeGenerators/app/src/generatedCode/Flow/FlowRbac/templates/rbac/FlowRbac_Main.ejs +0 -252
  140. package/src/codeGenerators/app/src/generatedCode/Flow/FlowRbac/templates/rbac/ListRolePermissions.ejs +0 -120
  141. package/src/codeGenerators/app/src/generatedCode/Flow/FlowRbac/templates/rbac/ListTargetRole.ejs +0 -122
  142. package/src/codeGenerators/app/src/generatedCode/Flow/FlowRbac/templates/rbac/ListUserInRoles.ejs +0 -117
  143. package/src/codeGenerators/app/src/generatedCode/Flow/FlowRelationships/RelationshipFlowGenerator.js +0 -148
  144. package/src/codeGenerators/app/src/generatedCode/Flow/FlowSchemas/.gitkeep +0 -0
  145. package/src/codeGenerators/app/src/generatedCode/Flow/FlowSchemas/StatusFieldGenerator.js +0 -109
  146. package/src/codeGenerators/app/src/generatedCode/Flow/FlowSchemas/WebSocketGenerator.js +0 -122
  147. package/src/codeGenerators/app/src/generatedCode/Flow/FlowSchemas/templates/endpoint/FlowEntryPoint_Main.ejs +0 -38
  148. package/src/codeGenerators/app/src/generatedCode/Flow/FlowSchemas/templates/statusField/CompleteStatusFieldSns_Yaml.ejs +0 -52
  149. package/src/codeGenerators/app/src/generatedCode/Flow/FlowSchemas/templates/statusField/CompleteStatusField_HdrSqs.ejs +0 -84
  150. package/src/codeGenerators/app/src/generatedCode/Flow/FlowSchemas/templates/statusField/CompleteStatusField_Main.ejs +0 -78
  151. package/src/codeGenerators/app/src/generatedCode/Flow/FlowSchemas/templates/step/plugIns/FlowStep_ByConfig_Awaiting_Main.ejs +0 -123
  152. package/src/codeGenerators/app/src/generatedCode/Flow/FlowSchemas/templates/step/plugIns/FlowStep_ByConfig_Paginated_Main.ejs +0 -59
  153. package/src/codeGenerators/app/src/generatedCode/Flow/FlowSchemas/templates/step/plugIns/FlowStep_PlugIn_Main.ejs +0 -72
  154. package/src/codeGenerators/app/src/generatedCode/Flow/FlowSchemas/templates/step/plugIns/FlowStep_RecievePlugIn_Main.ejs +0 -76
  155. package/src/codeGenerators/app/src/generatedCode/Flow/FlowSchemas/templates/step/plugIns/templateAwaitingStep.ejs +0 -41
  156. package/src/codeGenerators/app/src/generatedCode/Flow/FlowSchemas/templates/step/plugIns/templateSendPlugin.ejs +0 -18
  157. package/src/codeGenerators/app/src/generatedCode/Flow/FlowSchemas/templates/webSocket/ProcessWebSocketFlow_Yaml.ejs +0 -26
  158. package/src/codeGenerators/app/src/generatedCode/Flow/FlowSchemas/templates/webSocket/ProcessWebSocketSub_Yaml.ejs +0 -7
  159. package/src/codeGenerators/app/src/generatedCode/Flow/FlowSchemas/templates/webSocket/ProcessWebSocket_HdrSqs.ejs +0 -66
  160. package/src/codeGenerators/app/src/generatedCode/Flow/FlowSchemas/templates/webSocket/ProcessWebSocket_Main.ejs +0 -115
  161. package/src/codeGenerators/app/src/generatedCode/Flow/FlowSchemas/templates/webSocket/ProcessWebSocket_Yaml.ejs +0 -36
  162. package/src/codeGenerators/app/src/generatedCode/Flow/FlowSchemas/templates/webSocket/WebSocketConnect_Main.ejs +0 -52
  163. package/src/codeGenerators/app/src/generatedCode/Flow/FlowSchemas/templates/webSocket/WebSocketConnect_Yaml.ejs +0 -13
  164. package/src/codeGenerators/app/src/generatedCode/Flow/FlowSchemas/templates/webSocket/WebSocketDynamoDb_Yaml.ejs +0 -28
  165. package/src/codeGenerators/app/src/generatedCode/Flow/_shared/events/BaseDsqHandler.js +0 -63
  166. package/src/codeGenerators/app/src/generatedCode/Flow/_shared/events/BaseSqsHandler.js +0 -66
  167. package/src/codeGenerators/app/src/generatedCode/Flow/_shared/events/__tests__/BaseDsqHandler.test.js +0 -94
  168. package/src/codeGenerators/app/src/generatedCode/Flow/_shared/events/dsq.js +0 -5
  169. package/src/codeGenerators/app/src/generatedCode/Flow/_shared/events/eventBridge.js +0 -33
  170. package/src/codeGenerators/app/src/generatedCode/Flow/_shared/events/extTopic.js +0 -6
  171. package/src/codeGenerators/app/src/generatedCode/Flow/_shared/events/lambdaSyncApi.js +0 -51
  172. package/src/codeGenerators/app/src/generatedCode/Flow/_shared/events/lambdaSyncInv.js +0 -51
  173. package/src/codeGenerators/app/src/generatedCode/Flow/_shared/events/ownTopic.js +0 -54
  174. package/src/codeGenerators/app/src/generatedCode/Flow/_shared/events/registry.js +0 -17
  175. package/src/codeGenerators/app/src/generatedCode/Flow/_shared/events/s3.js +0 -56
  176. package/src/codeGenerators/app/src/generatedCode/Flow/_shared/events/s3Components/ConfirmAfterUploadS3Generator.js +0 -46
  177. package/src/codeGenerators/app/src/generatedCode/Flow/_shared/events/s3Components/CreateObjectGenerator.js +0 -50
  178. package/src/codeGenerators/app/src/generatedCode/Flow/_shared/events/s3Components/CreatePreSignUrlGenerator.js +0 -48
  179. package/src/codeGenerators/app/src/generatedCode/Flow/_shared/events/s3Components/ProcessAfterUploadS3Generator.js +0 -49
  180. package/src/codeGenerators/app/src/generatedCode/Flow/_shared/events/s3Components/ReservedLimitGenerator.js +0 -47
  181. package/src/codeGenerators/app/src/generatedCode/Flow/_shared/shared/eventTypes.js +0 -23
  182. package/src/codeGenerators/app/src/generatedCode/Flow/_shared/shared/flowClassifier.js +0 -50
  183. package/src/codeGenerators/app/src/generatedCode/Flow/_shared/shared/flowEntryPointBase.js +0 -106
  184. package/src/codeGenerators/app/src/generatedCode/Flow/_shared/shared/flowMainFunctionBase.js +0 -172
  185. package/src/codeGenerators/app/src/generatedCode/Flow/_shared/shared/flowNaming.js +0 -37
  186. package/src/codeGenerators/app/src/generatedCode/Flow/_shared/shared/flowSelection.js +0 -19
  187. package/src/codeGenerators/app/src/generatedCode/Flow/_shared/shared/flowStepBase.js +0 -235
  188. package/src/codeGenerators/app/src/generatedCode/Flow/_shared/shared/flowStepNormalizer.js +0 -75
  189. package/src/codeGenerators/app/src/generatedCode/Flow/_shared/shared/flowValidator.js +0 -267
  190. package/src/codeGenerators/app/src/generatedCode/Flow/_shared/shared/propertyNormalizer.js +0 -18
  191. package/src/codeGenerators/app/src/generatedCode/Flow/_shared/shared/registry.js +0 -7
  192. package/src/codeGenerators/app/src/generatedCode/Flow/_shared/shared/roleNameDetection.js +0 -49
  193. package/src/codeGenerators/app/src/generatedCode/Flow/_shared/shared/triggerCacheBase.js +0 -177
  194. package/src/codeGenerators/app/src/generatedCode/Flow/_shared/triggerCache/CheckTriggerCache_HdrSqs.ejs +0 -89
  195. package/src/codeGenerators/app/src/generatedCode/Flow/_shared/triggerCache/CheckTriggerCache_Main.ejs +0 -83
  196. package/src/codeGenerators/app/src/generatedCode/Flow/_shared/triggerCache/ProcessTriggerCache_HdrSqs.ejs +0 -103
  197. package/src/codeGenerators/app/src/generatedCode/Flow/_shared/triggerCache/ProcessTriggerCache_Main.ejs +0 -58
  198. package/src/codeGenerators/app/src/generatedCode/Flow/_shared/triggerCache/TriggerCacheComplete_HdrDsq.ejs +0 -104
  199. package/src/codeGenerators/app/src/generatedCode/Flow/_shared/triggerCache/TriggerCacheComplete_HdrSqs.ejs +0 -88
  200. package/src/codeGenerators/app/src/generatedCode/Flow/_shared/triggerCache/TriggerCacheComplete_Main.ejs +0 -80
  201. package/src/codeGenerators/app/src/generatedCode/Flow/_shared/triggerCache/TriggerCacheQueue_Yaml.ejs +0 -36
  202. package/src/codeGenerators/app/src/generatedCode/Flow/_shared/yaml/SharedFunctionSqs_Yaml.ejs +0 -13
  203. package/src/codeGenerators/app/src/generatedCode/ProcessLogical/ProcessLogicalGenerator.js +0 -29
  204. package/src/codeGenerators/app/src/generatedCode/ProcessLogical/templates/PaginateProcessLogical_HdrDsq.ejs +0 -177
  205. package/src/codeGenerators/app/src/generatedCode/ProcessLogical/templates/PaginateProcessLogical_HdrSqs.ejs +0 -155
  206. package/src/codeGenerators/app/src/generatedCode/ProcessLogical/templates/PaginateProcessLogical_Main.ejs +0 -268
  207. package/src/codeGenerators/app/src/generatedCode/ProcessLogical/templates/ProcessLogical_Main.ejs +0 -450
  208. package/src/codeGenerators/app/src/generatedCode/SystemFlowSchemas/RegisterGenerator.js +0 -149
  209. package/src/codeGenerators/app/src/generatedCode/SystemFlowSchemas/templates/register/RegisterComplete_HdrSqs.ejs +0 -85
  210. package/src/codeGenerators/app/src/generatedCode/SystemFlowSchemas/templates/register/RegisterComplete_Main.ejs +0 -176
  211. package/src/codeGenerators/app/src/generatedCode/SystemFlowSchemas/templates/register/Register_HdrWbs.ejs +0 -80
  212. package/src/codeGenerators/app/src/generatedCode/SystemFlowSchemas/templates/register/Register_Main.ejs +0 -164
  213. package/src/codeGenerators/app/src/generatedCode/libs/ConstsGenerator.js +0 -28
  214. package/src/codeGenerators/app/src/generatedCode/libs/GenerateCodeLibsGenerator.js +0 -28
  215. package/src/codeGenerators/app/src/generatedCode/libs/templates/Consts.ejs +0 -448
  216. package/src/codeGenerators/app/src/generatedCode/libs/templates/GenerateCodeLibs.ejs +0 -124
  217. package/src/codeGenerators/resource/sls_yaml/DynamoDBGenerator.js +0 -87
  218. package/src/codeGenerators/resource/sls_yaml/FlowOutGenerator.js +0 -70
  219. package/src/codeGenerators/resource/sls_yaml/FlowResourceYamlGenerator.js +0 -182
  220. package/src/core/renderTemplateFile.js +0 -22
  221. package/src/core/validate.js +0 -165
  222. package/src/generateCode.js +0 -357
  223. package/src/generateSchema.js +0 -123
  224. package/src/parsers/flowSchemaParser.js +0 -112
  225. package/src/parsers/objectSchemaParser.js +0 -39
  226. package/src/parsers/relationshipSchemaParser.js +0 -51
  227. package/src/schemaGenerators/app/src/schemas/FlowSchemas/FlowSchemaGenerator.js +0 -107
  228. package/src/schemaGenerators/app/src/schemas/FlowSchemas/RbacFlowSchemaGenerator.js +0 -98
  229. package/src/schemaGenerators/app/src/schemas/FlowSchemas/RelationshipFlowSchemaGenerator.js +0 -89
  230. package/src/schemaGenerators/app/src/schemas/FlowSchemas/templates/DynamicFlowSchemaTemplate.ejs +0 -41
  231. package/src/schemaGenerators/app/src/schemas/FlowSchemas/templates/DynamicRbacFlowSchemaTemplate.ejs +0 -20
  232. package/src/schemaGenerators/app/src/schemas/FlowSchemas/templates/RelationshipFlowSchemaTemplate.ejs +0 -33
  233. package/src/schemaGenerators/app/src/schemas/FlowSchemas/templates/UserRbacFlowSchemaTemplate.ejs +0 -22
  234. package/src/schemaGenerators/app/src/schemas/ObjectSchemas/AttributeTreeSchemaGenerator.js +0 -124
  235. package/src/schemaGenerators/app/src/schemas/ObjectSchemas/PropertyValueSchemaGenerator.js +0 -119
  236. package/src/schemaGenerators/app/src/schemas/ObjectSchemas/templates/DynamicAttributeTreeManagerSchemaTemplate.ejs +0 -14
  237. package/src/schemaGenerators/app/src/schemas/ObjectSchemas/templates/DynamicAttributeTreeStandardSchemaTemplate.ejs +0 -13
  238. package/src/schemaGenerators/app/src/schemas/ObjectSchemas/templates/DynamicPropertyValueSchemaTemplate.ejs +0 -15
  239. package/src/schemaGenerators/app/src/schemas/RelationshipSchemas/AttributeTreeRelationshipSchemaGenerator.js +0 -109
  240. package/src/schemaGenerators/app/src/schemas/RelationshipSchemas/PropertyValueRelationshipSchemaGenerator.js +0 -103
  241. package/src/schemaGenerators/app/src/schemas/RelationshipSchemas/__tests__/relationshipSchemaHelpers.test.js +0 -38
  242. package/src/schemaGenerators/app/src/schemas/RelationshipSchemas/relationshipSchemaHelpers.js +0 -40
  243. package/src/schemaGenerators/app/src/schemas/RelationshipSchemas/templates/DynamicAttributeTreeRelationshipSchemaTemplate.ejs +0 -7
  244. package/src/schemaGenerators/app/src/schemas/RelationshipSchemas/templates/DynamicPropertyValueRelationshipSchemaTemplate.ejs +0 -7
  245. package/src/schemaGenerators/app/src/schemas/SystemTextSchemas/SystemTextGenerator.js +0 -102
  246. package/src/schemaGenerators/app/src/schemas/SystemTextSchemas/templates/SystemText_Template.ejs +0 -10
  247. /package/src/{codeGenerators/app/src/generatedCode/Flow/_shared/handlers → emit/crud/templates}/FlowHandler_HdrInv.ejs +0 -0
  248. /package/src/{codeGenerators/app/src/generatedCode/Flow/FlowSchemas → emit/custom}/templates/s3/ConfirmReserved_HdrSqs.ejs +0 -0
  249. /package/src/{codeGenerators/app/src/generatedCode/Flow/FlowSchemas → emit/custom}/templates/s3/CreatePreSignUrl_HdrSqs.ejs +0 -0
  250. /package/src/{codeGenerators/app/src/generatedCode/Flow/FlowSchemas → emit/custom}/templates/s3/ReservedLimit_HdrSqs.ejs +0 -0
  251. /package/src/{codeGenerators/app/src/generatedCode/Flow/_shared/handlers → emit/relationship/templates}/FlowHandler_HdrApi.ejs +0 -0
  252. /package/src/{codeGenerators/app/src/generatedCode/Flow/_shared/handlers → emit/relationship/templates}/FlowHandler_HdrSqs.ejs +0 -0
  253. /package/src/{codeGenerators/app/src/generatedCode/Flow/FlowRelationships/templates/relationship/ProcessMoveRelationshipComplete_Main.ejs → emit/relationship/templates/MoveRelationshipComplete_Main.ejs} +0 -0
  254. /package/src/{codeGenerators/resource/sls_yaml → emit/resource}/templates/DynamoDBTable_Yaml.ejs +0 -0
  255. /package/src/{codeGenerators/resource/sls_yaml → emit/resource}/templates/FlowOut_Yaml.ejs +0 -0
  256. /package/src/{codeGenerators/resource/sls_yaml/templates/crud → emit/resource/templates}/ResourceYaml.ejs +0 -0
  257. /package/src/{codeGenerators/resource/sls_yaml → emit/resource}/templates/SystemDynamoDB_Yaml.ejs +0 -0
@@ -1,15 +0,0 @@
1
- /**
2
- * GENERATED PROPERTY VALUE OBJECT SCHEMA
3
- * ObjectType: <%= objectType %>
4
- */
5
- export default [
6
- {
7
- objectType: '<%= objectType %>',
8
- addOnDataStructure: [],
9
- canDelete: true,
10
- storageResources: <%- storageResources %>,
11
- fieldNames: <%- fieldNames %>,
12
- identifiers: <%- identifiers %>,
13
- compositeKeyDeliminator: <%- compositeKeyDeliminator %>
14
- }
15
- ];
@@ -1,109 +0,0 @@
1
- import fs from 'fs/promises';
2
- import path from 'path';
3
- import ejs from 'ejs';
4
- import { fileURLToPath } from 'url';
5
- import { attributeTreeLib } from '@izara_project/izara-attribute-tree';
6
- import { createBasicRelationshipsProperties } from './relationshipSchemaHelpers.js';
7
-
8
- const __filename = fileURLToPath(import.meta.url);
9
- const __dirname = path.dirname(__filename);
10
-
11
- function upperCase(str) {
12
- if (!str) return str;
13
- return str.charAt(0).toUpperCase() + str.slice(1);
14
- }
15
-
16
- export async function generateAttributeTreeRelationshipSchemas(hydratedObjectData, options) {
17
- console.log(' [AttributeTreeRelSchemaGenerator] Generating dynamic AttributeTree RelationshipSchemas...');
18
- const schemasOutputDir = path.join(
19
- options.outputPath,
20
- 'app',
21
- 'src',
22
- 'schemas',
23
- 'RelationshipSchemas',
24
- 'generatedAttributeTree'
25
- );
26
-
27
- let generatedCount = 0;
28
-
29
- const templatePath = path.join(__dirname, 'templates', 'DynamicAttributeTreeRelationshipSchemaTemplate.ejs');
30
- const templateString = await fs.readFile(templatePath, 'utf-8');
31
-
32
- const serviceTag = options.serviceTag;
33
-
34
- for (const obj of hydratedObjectData.objects) {
35
- if (obj.addOnDataStructure && Array.isArray(obj.addOnDataStructure)) {
36
- const attrTreeSchema = obj.addOnDataStructure.find(addOn => addOn.type === 'attributeTree');
37
-
38
- if (attrTreeSchema) {
39
- const attributeTreeTag = attrTreeSchema.attributeTreeTag;
40
-
41
- let cloneDeepStorageResources = JSON.parse(JSON.stringify(obj.storageResources || {}));
42
- for (const [tag, res] of Object.entries(cloneDeepStorageResources)) {
43
- if (res.storageType === 'dynamoDB') {
44
- delete cloneDeepStorageResources[tag];
45
- }
46
- }
47
-
48
- const schemasToGenerate = [
49
- {
50
- relationshipTag: attributeTreeLib.createHasAttributeLinkRelationshipType(upperCase(attributeTreeTag)),
51
- relationshipProperties: createBasicRelationshipsProperties(
52
- { serviceTag, objectType: obj.objectType, linkType: 'one', requiredOnCreate: false },
53
- { serviceTag, objectType: attributeTreeLib.createAttributeLinkNodeLabel(attributeTreeTag), linkType: 'many', requiredOnCreate: true },
54
- cloneDeepStorageResources,
55
- 'from'
56
- )
57
- },
58
- {
59
- relationshipTag: attributeTreeLib.createDisabledAttributeLinkRelationshipType(upperCase(attributeTreeTag)),
60
- relationshipProperties: createBasicRelationshipsProperties(
61
- { serviceTag, objectType: obj.objectType, linkType: 'one', requiredOnCreate: false },
62
- { serviceTag, objectType: attributeTreeLib.createAttributeLinkNodeLabel(attributeTreeTag), linkType: 'many', requiredOnCreate: false },
63
- cloneDeepStorageResources,
64
- 'from'
65
- )
66
- },
67
- {
68
- relationshipTag: attributeTreeLib.createIsAttributeRelationshipType(upperCase(attributeTreeTag)),
69
- relationshipProperties: createBasicRelationshipsProperties(
70
- { serviceTag, objectType: attributeTreeLib.createAttributeLinkNodeLabel(attributeTreeTag), linkType: 'many', requiredOnCreate: true },
71
- { serviceTag, objectType: attributeTreeLib.createAttributeValue(attributeTreeTag), linkType: 'one', requiredOnCreate: false },
72
- cloneDeepStorageResources,
73
- 'from'
74
- )
75
- },
76
- {
77
- relationshipTag: attributeTreeLib.createIsAttributeLabelRelationshipType(upperCase(attributeTreeTag)),
78
- relationshipProperties: createBasicRelationshipsProperties(
79
- { serviceTag, objectType: attributeTreeLib.createAttributeValue(attributeTreeTag), linkType: 'many', requiredOnCreate: true },
80
- { serviceTag, objectType: attributeTreeLib.createAttributeLabelNodeLabel(attributeTreeTag), linkType: 'one', requiredOnCreate: false },
81
- cloneDeepStorageResources,
82
- 'from'
83
- )
84
- }
85
- ];
86
-
87
- await fs.mkdir(schemasOutputDir, { recursive: true });
88
-
89
- for (const schemaDef of schemasToGenerate) {
90
- const filePath = path.join(schemasOutputDir, `${schemaDef.relationshipTag}.js`);
91
-
92
- const fileContent = ejs.render(templateString, {
93
- relationshipTag: schemaDef.relationshipTag,
94
- relationshipProperties: JSON.stringify(schemaDef.relationshipProperties, null, 4)
95
- });
96
-
97
- await fs.writeFile(filePath, fileContent, 'utf-8');
98
- generatedCount++;
99
- }
100
- }
101
- }
102
- }
103
-
104
- if (generatedCount > 0) {
105
- console.log(` [AttributeTreeRelSchemaGenerator] Wrote ${generatedCount} dynamic AttributeTree RelationshipSchemas to ${schemasOutputDir}`);
106
- } else {
107
- console.log(' [AttributeTreeRelSchemaGenerator] No AttributeTree objects found.');
108
- }
109
- }
@@ -1,103 +0,0 @@
1
- import fs from 'fs/promises';
2
- import path from 'path';
3
- import ejs from 'ejs';
4
- import { fileURLToPath } from 'url';
5
- import propertyNode from '@izara_project/izara-property-nodes';
6
- import { createBasicRelationshipsProperties } from './relationshipSchemaHelpers.js';
7
-
8
- const __filename = fileURLToPath(import.meta.url);
9
- const __dirname = path.dirname(__filename);
10
-
11
- function upperCase(str) {
12
- if (!str) return str;
13
- return str.charAt(0).toUpperCase() + str.slice(1);
14
- }
15
-
16
- export async function generatePropertyValueRelationshipSchemas(hydratedObjectData, options) {
17
- console.log(' [PropertyValueRelSchemaGenerator] Generating dynamic PropertyValue RelationshipSchemas...');
18
- const schemasOutputDir = path.join(
19
- options.outputPath,
20
- 'app',
21
- 'src',
22
- 'schemas',
23
- 'RelationshipSchemas',
24
- 'generatedPropertyValue'
25
- );
26
-
27
- let generatedCount = 0;
28
-
29
- // Read the EJS template
30
- const templatePath = path.join(__dirname, 'templates', 'DynamicPropertyValueRelationshipSchemaTemplate.ejs');
31
- const templateString = await fs.readFile(templatePath, 'utf-8');
32
-
33
- const serviceTag = options.serviceTag;
34
-
35
- for (const obj of hydratedObjectData.objects) {
36
- if (obj.addOnDataStructure && Array.isArray(obj.addOnDataStructure)) {
37
- const pvSchema = obj.addOnDataStructure.find(addOn => addOn.type === 'propertyValue');
38
-
39
- if (pvSchema) {
40
- const propertyValue = pvSchema.propertyValuePrefix;
41
-
42
- // Clone and filter storageResources (remove dynamoDB)
43
- let cloneDeepStorageResources = JSON.parse(JSON.stringify(obj.storageResources || {}));
44
- for (const [tag, res] of Object.entries(cloneDeepStorageResources)) {
45
- if (res.storageType === 'dynamoDB') {
46
- delete cloneDeepStorageResources[tag];
47
- }
48
- }
49
-
50
- const schemasToGenerate = [
51
- {
52
- relationshipTag: propertyNode.createHasPropertyGraphRelationshipType(upperCase(propertyValue)),
53
- relationshipProperties: createBasicRelationshipsProperties(
54
- { serviceTag, objectType: obj.objectType, linkType: 'one', requiredOnCreate: false },
55
- { serviceTag, objectType: propertyNode.createPropertyValueGraphNodeLabel(propertyValue), linkType: 'many', requiredOnCreate: true },
56
- cloneDeepStorageResources,
57
- 'from'
58
- )
59
- },
60
- {
61
- relationshipTag: propertyNode.createDisabledPropertyGraphRelationshipType(upperCase(propertyValue)),
62
- relationshipProperties: createBasicRelationshipsProperties(
63
- { serviceTag, objectType: obj.objectType, linkType: 'one', requiredOnCreate: false },
64
- { serviceTag, objectType: propertyNode.createPropertyValueGraphNodeLabel(propertyValue), linkType: 'many', requiredOnCreate: false },
65
- cloneDeepStorageResources,
66
- 'from'
67
- )
68
- },
69
- {
70
- relationshipTag: propertyNode.createIsPropertyLabelGraphRelationshipType(upperCase(propertyValue)),
71
- relationshipProperties: createBasicRelationshipsProperties(
72
- { serviceTag, objectType: propertyNode.createPropertyValueGraphNodeLabel(propertyValue), linkType: 'many', requiredOnCreate: true },
73
- { serviceTag, objectType: propertyNode.createPropertyLabelGraphNodeLabel(propertyValue), linkType: 'one', requiredOnCreate: false },
74
- cloneDeepStorageResources,
75
- 'from'
76
- )
77
- }
78
- ];
79
-
80
- // Ensure directory exists
81
- await fs.mkdir(schemasOutputDir, { recursive: true });
82
-
83
- for (const schemaDef of schemasToGenerate) {
84
- const filePath = path.join(schemasOutputDir, `${schemaDef.relationshipTag}.js`);
85
-
86
- const fileContent = ejs.render(templateString, {
87
- relationshipTag: schemaDef.relationshipTag,
88
- relationshipProperties: JSON.stringify(schemaDef.relationshipProperties, null, 4)
89
- });
90
-
91
- await fs.writeFile(filePath, fileContent, 'utf-8');
92
- generatedCount++;
93
- }
94
- }
95
- }
96
- }
97
-
98
- if (generatedCount > 0) {
99
- console.log(` [PropertyValueRelSchemaGenerator] Wrote ${generatedCount} dynamic PropertyValue RelationshipSchemas to ${schemasOutputDir}`);
100
- } else {
101
- console.log(' [PropertyValueRelSchemaGenerator] No PropertyValue objects found.');
102
- }
103
- }
@@ -1,38 +0,0 @@
1
- import { describe, expect, it } from '@jest/globals';
2
- import { createBasicRelationshipsProperties } from '../relationshipSchemaHelpers.js';
3
-
4
- describe('createBasicRelationshipsProperties', () => {
5
- it('preserves the relationship schema shape and opposite direction', () => {
6
- expect(createBasicRelationshipsProperties(
7
- { serviceTag: 'Svc', objectType: 'Source', linkType: 'one', requiredOnCreate: false },
8
- { serviceTag: 'Svc', objectType: 'Target', linkType: 'many', requiredOnCreate: true },
9
- { graph: { storageType: 'graph' } },
10
- 'from'
11
- )).toEqual({
12
- fieldNames: {
13
- originTimeStamp: {
14
- type: 'number',
15
- requiredOnCreate: true,
16
- canUpdate: false,
17
- validation: { minimum: 1111111111111, maximum: 9999999999999 }
18
- }
19
- },
20
- storageResources: { graph: { storageType: 'graph' } },
21
- links: [{
22
- storageResourceTags: ['graph'],
23
- from: {
24
- objType: { serviceTag: 'Svc', objectType: 'Source' },
25
- linkType: 'one',
26
- direction: 'from',
27
- requiredOnCreate: false
28
- },
29
- to: {
30
- objType: { serviceTag: 'Svc', objectType: 'Target' },
31
- linkType: 'many',
32
- direction: 'to',
33
- requiredOnCreate: true
34
- }
35
- }]
36
- });
37
- });
38
- });
@@ -1,40 +0,0 @@
1
- export function createBasicRelationshipsProperties(from, to, storageResources, baseDirection) {
2
- const otherDirection = baseDirection === 'to' ? 'from' : 'to';
3
- return {
4
- fieldNames: {
5
- originTimeStamp: {
6
- type: 'number',
7
- requiredOnCreate: true,
8
- canUpdate: false,
9
- validation: {
10
- minimum: 1111111111111,
11
- maximum: 9999999999999
12
- }
13
- }
14
- },
15
- storageResources,
16
- links: [
17
- {
18
- storageResourceTags: Object.keys(storageResources),
19
- from: {
20
- objType: {
21
- objectType: from.objectType,
22
- serviceTag: from.serviceTag
23
- },
24
- linkType: from.linkType,
25
- direction: baseDirection,
26
- requiredOnCreate: from.requiredOnCreate
27
- },
28
- to: {
29
- objType: {
30
- objectType: to.objectType,
31
- serviceTag: to.serviceTag
32
- },
33
- linkType: to.linkType,
34
- direction: otherDirection,
35
- requiredOnCreate: to.requiredOnCreate
36
- }
37
- }
38
- ]
39
- };
40
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * GENERATED ATTRIBUTE TREE RELATIONSHIP SCHEMA
3
- * RelationshipTag: <%= relationshipTag %>
4
- */
5
- export default {
6
- <%= relationshipTag %>: <%- relationshipProperties %>
7
- };
@@ -1,7 +0,0 @@
1
- /**
2
- * GENERATED PROPERTY VALUE RELATIONSHIP SCHEMA
3
- * RelationshipTag: <%= relationshipTag %>
4
- */
5
- export default {
6
- <%= relationshipTag %>: <%- relationshipProperties %>
7
- };
@@ -1,102 +0,0 @@
1
- import fs from 'fs/promises';
2
- import path from 'path';
3
- import ejs from 'ejs';
4
- import { fileURLToPath } from 'url';
5
-
6
- const __filename = fileURLToPath(import.meta.url);
7
- const __dirname = path.dirname(__filename);
8
-
9
- export async function generateSystemTextSchemas(objectData, relationshipData, flowData, options) {
10
- console.log(' [SystemTextGenerator] Generating dynamic SystemTextSchemas...');
11
-
12
- const schemasOutputDir = path.join(options.outputPath, 'app', 'src', 'schemas', 'systemTextSchemas');
13
- await fs.mkdir(schemasOutputDir, { recursive: true });
14
-
15
- const createSourceArray = [];
16
- const serviceTag = options.serviceTag || 'DefaultServiceTag';
17
-
18
- // Process Objects
19
- if (objectData && objectData.objects) {
20
- for (const objectSchema of objectData.objects) {
21
- const objectType = objectSchema.objectType;
22
- const objTypeConcat = `${objectType}_${serviceTag}`;
23
-
24
- const fieldNames = objectSchema.fieldNames ? Object.keys(objectSchema.fieldNames) : [];
25
-
26
- if (objectSchema.addOnDataStructure) {
27
- for (const addOn of objectSchema.addOnDataStructure) {
28
- if (addOn.type === "versionedData" && addOn.fieldNames) {
29
- fieldNames.push(...Object.keys(addOn.fieldNames));
30
- }
31
- }
32
- }
33
-
34
- for (const fieldName of fieldNames) {
35
- createSourceArray.push({
36
- nameSpace: `${objTypeConcat}_description`,
37
- systemTextTag: `${fieldName}_${objTypeConcat}`,
38
- openHook: `//(<${objTypeConcat}${fieldName}Hook>)`,
39
- closeHook: `//(</${objTypeConcat}${fieldName}Hook>)`
40
- });
41
- }
42
- }
43
- }
44
-
45
- // Process Flows
46
- if (flowData && flowData.flows) {
47
- for (const flowSchema of flowData.flows) {
48
- const flowTag = flowSchema.flowTag;
49
- const flowTypeConcat = `${flowTag}_${serviceTag}`;
50
-
51
- createSourceArray.push({
52
- nameSpace: `${flowTypeConcat}`,
53
- systemTextTag: `errors_${flowTypeConcat}`,
54
- openHook: `//(<${flowTypeConcat}Hook>)`,
55
- closeHook: `//(</${flowTypeConcat}Hook>)`
56
- });
57
- }
58
- }
59
-
60
- // Process Relationships
61
- if (relationshipData && relationshipData.relationships) {
62
- for (const relSchema of relationshipData.relationships) {
63
- const relTag = relSchema.relationshipTag;
64
- if (!relTag) continue;
65
-
66
- const relTypeConcat = `${relTag}_${serviceTag}`;
67
-
68
- if (relSchema.fieldNames) {
69
- for (const fieldName of Object.keys(relSchema.fieldNames)) {
70
- createSourceArray.push({
71
- nameSpace: `${relTypeConcat}_description`,
72
- systemTextTag: `${fieldName}_${relTypeConcat}`,
73
- openHook: `//(<${relTypeConcat}${fieldName}Hook>)`,
74
- closeHook: `//(</${relTypeConcat}${fieldName}Hook>)`
75
- });
76
- }
77
- }
78
- }
79
- }
80
-
81
- const templatePath = path.join(__dirname, 'templates', 'SystemText_Template.ejs');
82
-
83
- // Ensure template exists
84
- await fs.mkdir(path.dirname(templatePath), { recursive: true });
85
- let templateString;
86
- try {
87
- templateString = await fs.readFile(templatePath, 'utf-8');
88
- } catch (e) {
89
- templateString = `export default [\n<% datas.forEach((data, index) => { -%>\n {\n nameSpace: "<%- data.nameSpace %>",\n systemTextTag: "<%- data.systemTextTag %>",\n <%- data.openHook %>\n <%- data.closeHook %>\n }<%= index < datas.length - 1 ? ',' : '' %>\n<% }); -%>\n];\n`;
90
- await fs.writeFile(templatePath, templateString, 'utf-8');
91
- }
92
-
93
- const fileContent = ejs.render(templateString, {
94
- datas: createSourceArray
95
- });
96
-
97
- const outputPath = path.join(options.outputPath, 'app', 'src', 'schemas', 'SystemTextSchemas', 'generatedCode', 'SystemTextSchemas.js');
98
- await fs.mkdir(path.dirname(outputPath), { recursive: true });
99
- await fs.writeFile(outputPath, fileContent, 'utf-8');
100
-
101
- console.log(` [SystemTextGenerator] Wrote SystemTextSchemas.js with ${createSourceArray.length} entries.`);
102
- }
@@ -1,10 +0,0 @@
1
- export default [
2
- <% datas.forEach((data, index) => { -%>
3
- {
4
- nameSpace: "<%- data.nameSpace %>",
5
- systemTextTag: "<%- data.systemTextTag %>",
6
- <%- data.openHook %>
7
- <%- data.closeHook %>
8
- }<%= index < datas.length - 1 ? ',' : '' %>
9
- <% }); -%>
10
- ];