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

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 (86) hide show
  1. package/.prettierrc +11 -0
  2. package/package.json +16 -12
  3. package/scripts/format-ejs.js +105 -0
  4. package/src/compile/compileProject.js +16 -1
  5. package/src/compile/loadSchemas.js +89 -4
  6. package/src/emit/crud/emitDynamicCrudFlowSchemas.js +1 -2
  7. package/src/emit/crud/templates/CreateEndpoint_Main.ejs +296 -105
  8. package/src/emit/crud/templates/DeleteEndpoint_Main.ejs +222 -144
  9. package/src/emit/crud/templates/FlowEndpointBeforeLogical_Main.ejs +22 -6
  10. package/src/emit/crud/templates/FlowEndpointComplete_Main.ejs +134 -43
  11. package/src/emit/crud/templates/FlowEndpoint_HdrWbs.ejs +51 -31
  12. package/src/emit/crud/templates/FlowHandler_HdrApi.ejs +53 -45
  13. package/src/emit/crud/templates/FlowHandler_HdrInv.ejs +28 -26
  14. package/src/emit/crud/templates/FlowHandler_HdrSqs.ejs +15 -11
  15. package/src/emit/crud/templates/FlowMain_Wbs.ejs +53 -38
  16. package/src/emit/crud/templates/GetEndpoint_Main.ejs +5 -2
  17. package/src/emit/crud/templates/GetRangeEndpoint_Main.ejs +2 -2
  18. package/src/emit/crud/templates/UpdateEndpoint_Main.ejs +402 -249
  19. package/src/emit/custom/customFlows.js +51 -21
  20. package/src/emit/custom/emitCustomFlowApplicationArtifacts.js +13 -18
  21. package/src/emit/custom/templates/FlowEndpoint_Main.ejs +48 -36
  22. package/src/emit/custom/templates/FlowStep_Main.ejs +7 -9
  23. package/src/emit/custom/templates/s3/ConfirmReserved_HdrSqs.ejs +59 -54
  24. package/src/emit/custom/templates/s3/ConfirmReserved_Main.ejs +33 -23
  25. package/src/emit/custom/templates/s3/CreateObject_HdrWbs.ejs +30 -23
  26. package/src/emit/custom/templates/s3/CreateObject_Main.ejs +56 -39
  27. package/src/emit/custom/templates/s3/CreatePreSignUrl_HdrSqs.ejs +56 -51
  28. package/src/emit/custom/templates/s3/CreatePreSignUrl_Main.ejs +112 -75
  29. package/src/emit/custom/templates/s3/FlowHandler_HdrS3.ejs +12 -7
  30. package/src/emit/custom/templates/s3/ProcessS3File_Main.ejs +11 -8
  31. package/src/emit/custom/templates/s3/ReservedLimit_HdrSqs.ejs +64 -55
  32. package/src/emit/custom/templates/s3/ReservedLimit_Main.ejs +74 -52
  33. package/src/emit/custom/templates/triggerCache/CheckTriggerCache_HdrSqs.ejs +58 -14
  34. package/src/emit/custom/templates/triggerCache/CheckTriggerCache_Main.ejs +12 -17
  35. package/src/emit/custom/templates/triggerCache/TriggerCacheComplete_Main.ejs +20 -13
  36. package/src/emit/custom/templates/triggerCache/TriggerCache_Main.ejs +4 -1
  37. package/src/emit/function/functionYamlArtifact.js +20 -0
  38. package/src/emit/rbac/emitDynamicRbacFlowSchemas.js +28 -15
  39. package/src/emit/rbac/emitRbacApplicationArtifacts.js +168 -69
  40. package/src/emit/rbac/templates/CreateTargetRole_HdrSqs.ejs +41 -18
  41. package/src/emit/rbac/templates/CreateTargetRole_Main.ejs +23 -3
  42. package/src/emit/rbac/templates/ListRbac_HdrApi.ejs +27 -5
  43. package/src/emit/rbac/templates/ListRbac_HdrSqs.ejs +41 -8
  44. package/src/emit/rbac/templates/ListRbac_Main.ejs +26 -6
  45. package/src/emit/rbac/templates/RbacMutation_Main.ejs +23 -3
  46. package/src/emit/rbac/templates/UserRbacFlow_HdrSqs.ejs +46 -0
  47. package/src/emit/rbac/templates/UserRbacFlow_Main.ejs +152 -33
  48. package/src/emit/rbac/templates/UserRoleMutation_Main.ejs +24 -4
  49. package/src/emit/relationship/emitDynamicRelationshipFlowSchemas.js +1 -2
  50. package/src/emit/relationship/templates/ChangeRelationshipComplete_Main.ejs +64 -37
  51. package/src/emit/relationship/templates/ChangeRelationship_Main.ejs +258 -142
  52. package/src/emit/relationship/templates/CreateRelationshipComplete_Main.ejs +68 -43
  53. package/src/emit/relationship/templates/CreateRelationship_Main.ejs +315 -171
  54. package/src/emit/relationship/templates/DeleteRelationshipComplete_Main.ejs +67 -41
  55. package/src/emit/relationship/templates/DeleteRelationship_Main.ejs +226 -115
  56. package/src/emit/relationship/templates/FlowHandler_HdrApi.ejs +41 -33
  57. package/src/emit/relationship/templates/FlowHandler_HdrDsq.ejs +15 -11
  58. package/src/emit/relationship/templates/FlowHandler_HdrInv.ejs +28 -26
  59. package/src/emit/relationship/templates/FlowHandler_HdrSqs.ejs +15 -11
  60. package/src/emit/relationship/templates/GetRelationshipComplete_Main.ejs +46 -26
  61. package/src/emit/relationship/templates/GetRelationship_Main.ejs +233 -126
  62. package/src/emit/relationship/templates/MoveRelationshipComplete_Main.ejs +72 -44
  63. package/src/emit/relationship/templates/MoveRelationship_Main.ejs +266 -150
  64. package/src/emit/relationship/templates/UpdateRelationshipComplete_Main.ejs +74 -45
  65. package/src/emit/relationship/templates/UpdateRelationship_Main.ejs +285 -152
  66. package/src/emit/resource/emitResourceArtifacts.js +107 -11
  67. package/src/emit/resource/templates/DynamoDBTable_Yaml.ejs +18 -18
  68. package/src/emit/resource/templates/FlowOut_Yaml.ejs +5 -5
  69. package/src/emit/resource/templates/GeneratedLambdaRoleServiceConfig.ejs +138 -0
  70. package/src/emit/resource/templates/ResourceBeforeLogicalYaml.ejs +44 -44
  71. package/src/emit/resource/templates/ResourceSqsYaml.ejs +36 -36
  72. package/src/emit/resource/templates/ResourceYaml.ejs +48 -48
  73. package/src/emit/resource/templates/S3Bucket_Yaml.ejs +19 -0
  74. package/src/emit/resource/templates/SharedResource_Yaml.ejs +11 -11
  75. package/src/emit/resource/templates/SystemDynamoDB_Yaml.ejs +105 -105
  76. package/src/generate.js +6 -2
  77. package/test/createTargetRoleHandler.test.js +63 -14
  78. package/test/customFlowApplicationArtifacts.test.js +48 -23
  79. package/test/dynamicCrudFlowSchemas.test.js +6 -6
  80. package/test/dynamicRbacFlowSchemas.test.js +8 -12
  81. package/test/dynamicRelationshipFlowSchemas.test.js +3 -3
  82. package/test/publicApi.test.js +10 -12
  83. package/test/resourceArtifacts.test.js +12 -2
  84. package/docs/test.png +0 -0
  85. package/src/emit/rbac/templates/UserRbacFlow_HdrInv.ejs +0 -10
  86. /package/docs/{test.mmd → TriggeredCacheFlow.mmd} +0 -0
@@ -15,22 +15,21 @@ You should have received a copy of the GNU Affero General Public License
15
15
  along with this program. If not, see <http://www.gnu.org/licenses/>.
16
16
  */
17
17
 
18
-
19
18
  import { objectHash as hash } from '@izara_project/izara-shared-core';
20
19
 
21
20
  import callingFlowSharedLib from '@izara_project/izara-core-library-calling-flow';
22
- import snsSharedLib from "@izara_project/izara-core-library-sns";
23
- import dynamodbSharedLib from "@izara_project/izara-core-library-dynamodb";
24
- import asyncFlowSharedLib from "@izara_project/izara-core-library-asynchronous-flow";
25
-
26
- import { sns } from "@izara_project/izara-core-library-external-request";
27
- import { utils, consts } from '@izara_project/izara-core-library-service-schemas';
21
+ import snsSharedLib from '@izara_project/izara-core-library-sns';
22
+ import dynamodbSharedLib from '@izara_project/izara-core-library-dynamodb';
23
+ import asyncFlowSharedLib from '@izara_project/izara-core-library-asynchronous-flow';
24
+
25
+ import { sns } from '@izara_project/izara-core-library-external-request';
26
+ import {
27
+ utils,
28
+ consts
29
+ } from '@izara_project/izara-core-library-service-schemas';
28
30
  const { createLinkTypeId } = utils;
29
31
 
30
- const {
31
- TOPIC_NAME_GENERATE_CODE,
32
- PREFIX
33
- } = consts;
32
+ const { TOPIC_NAME_GENERATE_CODE, PREFIX } = consts;
34
33
 
35
34
  //(<optionalRequire>)
36
35
  //(</optionalRequire>)
@@ -41,19 +40,17 @@ export default async function createRelationshipComplete(
41
40
  status,
42
41
  errorsFound,
43
42
  graphServiceTag,
44
- passBackProperties = {},
45
-
43
+ passBackProperties = {}
46
44
  ) {
47
45
  try {
48
- _izContext.logger.debug("Function:createRelationshipComplete", {
46
+ _izContext.logger.debug('Function:createRelationshipComplete', {
49
47
  returnValue: returnValue,
50
48
  status: status,
51
49
  errorsFound: errorsFound,
52
50
  graphServiceTag: graphServiceTag,
53
- passBackProperties: passBackProperties,
51
+ passBackProperties: passBackProperties
54
52
  });
55
53
 
56
-
57
54
  // start create awaitingStepId
58
55
  const linkTypeId = createLinkTypeId(
59
56
  _izContext,
@@ -66,53 +63,82 @@ export default async function createRelationshipComplete(
66
63
  let awaitingStepId = asyncFlowSharedLib.createAwaitingStepId(
67
64
  returnValue.parentFlowId, // hash id
68
65
  PREFIX.createRel // prefix, use constant further
69
- )
70
-
66
+ );
71
67
 
72
68
  let createRelPendingObjects = await dynamodbSharedLib.query(
73
69
  _izContext,
74
- await dynamodbSharedLib.tableName(_izContext, "AwaitingMultipleSteps"),
70
+ await dynamodbSharedLib.tableName(_izContext, 'AwaitingMultipleSteps'),
75
71
  {
76
72
  awaitingStepId: awaitingStepId
77
73
  }
78
74
  );
79
- _izContext.logger.debug("record of createRelPendingObjects ::", createRelPendingObjects);
80
-
81
-
75
+ _izContext.logger.debug(
76
+ 'record of createRelPendingObjects ::',
77
+ createRelPendingObjects
78
+ );
82
79
 
83
80
  await Promise.all(
84
81
  createRelPendingObjects.Items.map(async ({ pendingStepId }) => {
85
- if (await asyncFlowSharedLib.checkAllAwaitingStepsFinished(
86
- _izContext,
87
- pendingStepId, // task waiting
88
- awaitingStepId,
89
- errorsFound
90
- )) {
91
- _izContext.logger.debug("finished all awaitingStep");
82
+ if (
83
+ await asyncFlowSharedLib.checkAllAwaitingStepsFinished(
84
+ _izContext,
85
+ pendingStepId, // task waiting
86
+ awaitingStepId,
87
+ errorsFound
88
+ )
89
+ ) {
90
+ _izContext.logger.debug('finished all awaitingStep');
92
91
 
93
92
  let createCompleteMsg = {
94
93
  firstObject: returnValue.requestParams.firstObject,
95
94
  secondObject: returnValue.requestParams.secondObject,
96
95
  relType: returnValue.requestParams.relType,
97
- relationshipProperties: returnValue.requestParams.relationshipProperties,
96
+ relationshipProperties:
97
+ returnValue.requestParams.relationshipProperties,
98
98
  parentFlowId: returnValue.parentFlowId,
99
99
  status: status,
100
100
  errorsFound: errorsFound
101
101
  };
102
102
 
103
- createCompleteMsg = callingFlowSharedLib.addParentPassBackPropertiesToSnsResponseMessageObject(passBackProperties, createCompleteMsg);
104
- _izContext.logger.debug("After addCallingFlowToSnsResponseMessageObject", createCompleteMsg);
105
-
106
- let messageAttributes = callingFlowSharedLib.addParentPassBackCallingFlowToSnsResponseMessageAttributes(passBackProperties, {});
107
- _izContext.logger.debug("After addCallingFlowToSnsResponseMessageAttributes", createCompleteMsg);
103
+ createCompleteMsg =
104
+ callingFlowSharedLib.addParentPassBackPropertiesToSnsResponseMessageObject(
105
+ passBackProperties,
106
+ createCompleteMsg
107
+ );
108
+ _izContext.logger.debug(
109
+ 'After addCallingFlowToSnsResponseMessageObject',
110
+ createCompleteMsg
111
+ );
112
+
113
+ let messageAttributes =
114
+ callingFlowSharedLib.addParentPassBackCallingFlowToSnsResponseMessageAttributes(
115
+ passBackProperties,
116
+ {}
117
+ );
118
+ _izContext.logger.debug(
119
+ 'After addCallingFlowToSnsResponseMessageAttributes',
120
+ createCompleteMsg
121
+ );
108
122
 
109
123
  let sendMessageToOutCreateRelationshipComplete = {
110
124
  Message: JSON.stringify(createCompleteMsg),
111
- MessageAttributes: sns.createStringMessageAttributes(_izContext, messageAttributes),
112
- TopicArn: await snsSharedLib.snsTopicArnByFlowSchema(_izContext, TOPIC_NAME_GENERATE_CODE.outCreateRelComplete)
125
+ MessageAttributes: sns.createStringMessageAttributes(
126
+ _izContext,
127
+ messageAttributes
128
+ ),
129
+ TopicArn: snsSharedLib.snsTopicArnByFlowSchema(
130
+ _izContext,
131
+ TOPIC_NAME_GENERATE_CODE.outCreateRelComplete
132
+ )
113
133
  };
114
- _izContext.logger.debug("Send message to OutCreateRelationshipComplete :::>", sendMessageToOutCreateRelationshipComplete);
115
- await sns.publishAsync(_izContext, sendMessageToOutCreateRelationshipComplete);
134
+ _izContext.logger.debug(
135
+ 'Send message to OutCreateRelationshipComplete :::>',
136
+ sendMessageToOutCreateRelationshipComplete
137
+ );
138
+ await sns.publishAsync(
139
+ _izContext,
140
+ sendMessageToOutCreateRelationshipComplete
141
+ );
116
142
 
117
143
  //(<afterCheckAwaitingStep>)
118
144
  //(</afterCheckAwaitingStep>)
@@ -135,10 +161,9 @@ export default async function createRelationshipComplete(
135
161
  returnValue,
136
162
  status,
137
163
  errorsFound
138
- }
139
-
164
+ };
140
165
  } catch (err) {
141
- _izContext.logger.error('error createRelationshipComplete:', err)
142
- throw (err)
166
+ _izContext.logger.error('error createRelationshipComplete:', err);
167
+ throw err;
143
168
  }
144
169
  }