@izara_project/izara-core-generate-service-code 1.0.67 → 1.0.69
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.
- package/.prettierrc +11 -0
- package/package.json +16 -12
- package/scripts/format-ejs.js +104 -0
- package/src/compile/compileProject.js +40 -9
- package/src/compile/loadSchemas.js +120 -11
- package/src/emit/crud/emitCrudApplicationArtifacts.js +188 -41
- package/src/emit/crud/emitDynamicCrudFlowSchemas.js +34 -18
- package/src/emit/crud/generateCrudApplicationArtifacts.js +14 -6
- package/src/emit/crud/generateDynamicCrudFlowSchemas.js +4 -1
- package/src/emit/crud/templates/CreateEndpoint_Main.ejs +296 -105
- package/src/emit/crud/templates/DeleteEndpoint_Main.ejs +222 -144
- package/src/emit/crud/templates/FlowEndpointBeforeLogical_Main.ejs +22 -6
- package/src/emit/crud/templates/FlowEndpointComplete_Main.ejs +134 -43
- package/src/emit/crud/templates/FlowEndpoint_HdrWbs.ejs +51 -31
- package/src/emit/crud/templates/FlowHandler_HdrApi.ejs +53 -45
- package/src/emit/crud/templates/FlowHandler_HdrInv.ejs +28 -26
- package/src/emit/crud/templates/FlowHandler_HdrSqs.ejs +15 -11
- package/src/emit/crud/templates/FlowMain_Wbs.ejs +53 -38
- package/src/emit/crud/templates/GetEndpoint_Main.ejs +6 -3
- package/src/emit/crud/templates/GetRangeEndpoint_Main.ejs +2 -2
- package/src/emit/crud/templates/UpdateEndpoint_Main.ejs +402 -249
- package/src/emit/custom/customFlows.js +68 -28
- package/src/emit/custom/emitCustomFlowApplicationArtifacts.js +520 -123
- package/src/emit/custom/generateCustomFlowApplicationArtifacts.js +28 -8
- package/src/emit/custom/templates/FlowEndpoint_Main.ejs +48 -36
- package/src/emit/custom/templates/FlowStep_Main.ejs +7 -9
- package/src/emit/custom/templates/s3/ConfirmReserved_HdrSqs.ejs +59 -54
- package/src/emit/custom/templates/s3/ConfirmReserved_Main.ejs +33 -23
- package/src/emit/custom/templates/s3/CreateObject_HdrWbs.ejs +30 -23
- package/src/emit/custom/templates/s3/CreateObject_Main.ejs +56 -39
- package/src/emit/custom/templates/s3/CreatePreSignUrl_HdrSqs.ejs +56 -51
- package/src/emit/custom/templates/s3/CreatePreSignUrl_Main.ejs +112 -75
- package/src/emit/custom/templates/s3/FlowHandler_HdrS3.ejs +14 -9
- package/src/emit/custom/templates/s3/ProcessS3File_Main.ejs +11 -8
- package/src/emit/custom/templates/s3/ReservedLimit_HdrSqs.ejs +65 -56
- package/src/emit/custom/templates/s3/ReservedLimit_Main.ejs +74 -52
- package/src/emit/custom/templates/triggerCache/CheckTriggerCache_HdrSqs.ejs +58 -14
- package/src/emit/custom/templates/triggerCache/CheckTriggerCache_Main.ejs +12 -17
- package/src/emit/custom/templates/triggerCache/TriggerCacheComplete_Main.ejs +20 -13
- package/src/emit/custom/templates/triggerCache/TriggerCache_Main.ejs +4 -1
- package/src/emit/function/functionYamlArtifact.js +272 -79
- package/src/emit/function/templates/ApiFunction_Yaml.ejs +7 -0
- package/src/emit/function/templates/EventBridgeFunction_Yaml.ejs +6 -0
- package/src/emit/function/templates/InvFunction_Yaml.ejs +5 -0
- package/src/emit/function/templates/S3Function_Yaml.ejs +16 -0
- package/src/emit/function/templates/SqsFunction_Yaml.ejs +10 -0
- package/src/emit/function/templates/WbsFunction_Yaml.ejs +10 -0
- package/src/emit/rbac/emitDynamicRbacFlowSchemas.js +40 -29
- package/src/emit/rbac/emitRbacApplicationArtifacts.js +171 -72
- package/src/emit/rbac/generateCreateTargetRoleHandler.js +6 -4
- package/src/emit/rbac/generateDynamicRbacFlowSchemas.js +8 -2
- package/src/emit/rbac/rbacFlowTag.js +3 -1
- package/src/emit/rbac/templates/CreateTargetRole_HdrSqs.ejs +41 -18
- package/src/emit/rbac/templates/CreateTargetRole_Main.ejs +23 -3
- package/src/emit/rbac/templates/ListRbac_HdrApi.ejs +27 -5
- package/src/emit/rbac/templates/ListRbac_HdrSqs.ejs +41 -8
- package/src/emit/rbac/templates/ListRbac_Main.ejs +26 -6
- package/src/emit/rbac/templates/RbacMutation_Main.ejs +23 -3
- package/src/emit/rbac/templates/UserRbacFlow_HdrSqs.ejs +46 -0
- package/src/emit/rbac/templates/UserRbacFlow_Main.ejs +152 -33
- package/src/emit/rbac/templates/UserRoleMutation_Main.ejs +24 -4
- package/src/emit/relationship/emitDynamicRelationshipFlowSchemas.js +26 -11
- package/src/emit/relationship/emitRelationshipApplicationArtifacts.js +179 -37
- package/src/emit/relationship/generateDynamicRelationshipFlowSchemas.js +8 -2
- package/src/emit/relationship/generateRelationshipApplicationArtifacts.js +15 -6
- package/src/emit/relationship/templates/ChangeRelationshipComplete_Main.ejs +64 -37
- package/src/emit/relationship/templates/ChangeRelationship_Main.ejs +258 -142
- package/src/emit/relationship/templates/CreateRelationshipComplete_Main.ejs +68 -43
- package/src/emit/relationship/templates/CreateRelationship_Main.ejs +315 -171
- package/src/emit/relationship/templates/DeleteRelationshipComplete_Main.ejs +67 -41
- package/src/emit/relationship/templates/DeleteRelationship_Main.ejs +226 -115
- package/src/emit/relationship/templates/FlowHandler_HdrApi.ejs +41 -33
- package/src/emit/relationship/templates/FlowHandler_HdrDsq.ejs +15 -11
- package/src/emit/relationship/templates/FlowHandler_HdrInv.ejs +28 -26
- package/src/emit/relationship/templates/FlowHandler_HdrSqs.ejs +15 -11
- package/src/emit/relationship/templates/GetRelationshipComplete_Main.ejs +46 -26
- package/src/emit/relationship/templates/GetRelationship_Main.ejs +233 -126
- package/src/emit/relationship/templates/MoveRelationshipComplete_Main.ejs +72 -44
- package/src/emit/relationship/templates/MoveRelationship_Main.ejs +266 -150
- package/src/emit/relationship/templates/UpdateRelationshipComplete_Main.ejs +74 -45
- package/src/emit/relationship/templates/UpdateRelationship_Main.ejs +285 -152
- package/src/emit/resource/emitResourceArtifacts.js +274 -105
- package/src/emit/resource/generateResourceArtifacts.js +15 -6
- package/src/emit/resource/templates/GeneratedLambdaRoleServiceConfig.ejs +139 -0
- package/src/emit/resource/templates/S3Bucket_Yaml.ejs +19 -0
- package/src/emit/resource/templates/S3Subscription_Yaml.ejs +7 -0
- package/src/emit/resource/templates/WebSocketSubscription_Yaml.ejs +7 -0
- package/src/emit/system/emitSystemWebSocketArtifacts.js +61 -165
- package/src/emit/system/templates/WebSocketComplete_HdrSqs.ejs +32 -0
- package/src/emit/system/templates/WebSocketComplete_Main.ejs +46 -0
- package/src/emit/system/templates/WebSocketComplete_Yaml.ejs +19 -0
- package/src/emit/system/templates/WebSocketConnect.ejs +25 -0
- package/src/emit/system/templates/WebSocketConnect_Yaml.ejs +11 -0
- package/src/generate.js +141 -34
- package/src/generateIntTest.js +76 -28
- package/src/generateResourceIntTest.js +35 -12
- package/src/generateResources/IntTest/generateResources/generateResources.js +5 -2
- package/src/generateResources/IntTest/generateResources/templateResources.ejs +18 -30
- package/src/generateResources/IntTest/generateTests/events/events.js +1 -1
- package/src/generateResources/IntTest/generateTests/events/templateEvents.ejs +13 -10
- package/src/generateResources/IntTest/generateTests/generateTemplate.js +2 -2
- package/src/generateResources/IntTest/generateTests/pathIntTest/pathIntTest.js +2 -1
- package/src/generateResources/IntTest/generateTests/pathIntTest/template.ejs +1 -3
- package/src/generateResources/IntTest/generateTests/tests/templateTests.ejs +1 -1
- package/src/generateResources/IntTest/generateTests/tests/tests.js +7 -3
- package/src/generateResources/IntTest/libs/{libs.js → IntTestGenerateLib.js} +34 -23
- package/src/generateResources/IntTest/upload/uploadIntTest.js +33 -19
- package/src/intTestGeneratorShared.js +15 -10
- package/src/output/commitArtifacts.js +99 -39
- package/src/output/mergeHooks.js +24 -10
- package/src/output/validateArtifacts.js +37 -27
- package/src/plan/buildGenerationPlan.js +24 -13
- package/test/core.test.js +116 -49
- package/test/createTargetRoleHandler.test.js +63 -14
- package/test/crudApplicationArtifacts.test.js +128 -23
- package/test/customFlowApplicationArtifacts.test.js +391 -84
- package/test/dynamicCrudFlowSchemas.test.js +74 -26
- package/test/dynamicRbacFlowSchemas.test.js +63 -20
- package/test/dynamicRelationshipFlowSchemas.test.js +65 -18
- package/test/functionYamlArtifact.test.js +67 -10
- package/test/intTestApi.test.js +9 -10
- package/test/publicApi.test.js +184 -44
- package/test/relationshipApplicationArtifacts.test.js +90 -19
- package/test/resourceArtifacts.test.js +183 -33
- package/docs/test.png +0 -0
- package/src/emit/rbac/templates/UserRbacFlow_HdrInv.ejs +0 -10
- package/src/emit/relationship/dynamicRelationshipFlowSchemaTemplate.js +0 -11
- /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
|
|
23
|
-
import dynamodbSharedLib from
|
|
24
|
-
import asyncFlowSharedLib from
|
|
25
|
-
|
|
26
|
-
import { sns } from
|
|
27
|
-
import {
|
|
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(
|
|
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,
|
|
70
|
+
await dynamodbSharedLib.tableName(_izContext, 'AwaitingMultipleSteps'),
|
|
75
71
|
{
|
|
76
72
|
awaitingStepId: awaitingStepId
|
|
77
73
|
}
|
|
78
74
|
);
|
|
79
|
-
_izContext.logger.debug(
|
|
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 (
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
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:
|
|
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 =
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
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(
|
|
112
|
-
|
|
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(
|
|
115
|
-
|
|
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
|
|
166
|
+
_izContext.logger.error('error createRelationshipComplete:', err);
|
|
167
|
+
throw err;
|
|
143
168
|
}
|
|
144
169
|
}
|