@izara_project/izara-market-library-service-schemas 1.0.14 → 1.0.16
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/package.json +5 -5
- package/src/GenerateCodeLibs/src/Consts.js +3 -1
- package/src/GenerateCodeLibs/src/GenerateCodeLibs.js +122 -98
- package/src/MainLibs/src/Utils.js +10 -9
- package/src/TemplateManager/src/FindData/GetByStorage/getByGraph.ejs +2 -1
- package/src/TemplateManager/src/GenerateCode.js +55 -12
- package/src/TemplateManager/src/OutPerActionComplete/OutGetComplete/functionYaml/data.js +86 -0
- package/src/TemplateManager/src/OutPerActionComplete/OutGetComplete/functionYaml/template.ejs +33 -0
- package/src/TemplateManager/src/OutPerActionComplete/OutGetComplete/handler/data.js +59 -0
- package/src/TemplateManager/src/OutPerActionComplete/OutGetComplete/handler/template.ejs +129 -0
- package/src/TemplateManager/src/OutPerActionComplete/OutGetComplete/mainFunction/data.js +53 -0
- package/src/TemplateManager/src/OutPerActionComplete/OutGetComplete/mainFunction/template.ejs +130 -0
- package/src/TemplateManager/src/OutPerActionComplete/OutGetComplete/sns-out/data.js +62 -0
- package/src/TemplateManager/src/OutPerActionComplete/OutGetComplete/sqs-in-sns/data.js +58 -0
- package/src/TemplateManager/src/OutPerActionComplete/OutGetComplete/sqs-in-sns/template.ejs +47 -0
- package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrApi/data.js +15 -7
- package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrDsq/data.js +14 -6
- package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrInv/data.js +14 -4
- package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrSqs/data.js +14 -4
- package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrWbs/data.js +171 -0
- package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrWbs/request.json +19 -0
- package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrWbs/template.ejs +29 -0
- package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/webSocketConnect/data.js +60 -0
- package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/webSocketConnect/template.ejs +10 -0
- package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrDsq/template.ejs +15 -12
- package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrSqs/template.ejs +14 -13
- package/src/TemplateManager/src/PerActionEndpoint/Handler/WebSocket/data.js +76 -0
- package/src/TemplateManager/src/PerActionEndpoint/Handler/WebSocket/template.ejs +141 -0
- package/src/TemplateManager/src/PerActionEndpoint/Handler/WebSocketConnect/data.js +56 -0
- package/src/TemplateManager/src/PerActionEndpoint/Handler/WebSocketConnect/template.ejs +55 -0
- package/src/TemplateManager/src/PerActionEndpoint/MainFunction/Create/template.ejs +40 -36
- package/src/TemplateManager/src/PerActionEndpoint/MainFunction/Delete/template.ejs +0 -1
- package/src/TemplateManager/src/PerActionEndpoint/MainFunction/Get/template.ejs +54 -22
- package/src/TemplateManager/src/PerActionEndpoint/MainFunction/Update/template.ejs +23 -27
- package/src/TemplateManager/src/ProcessLogical/mainFunction/template.ejs +2 -2
- package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrSqs/template.ejs +4 -0
- package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/perAction/HdrApi/template.ejs +2 -1
- package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/perAction/HdrDsq/template.ejs +1 -5
- package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/perAction/HdrSqs/template.ejs +1 -5
- package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationshipComplete/mainFunction/template.ejs +11 -7
- package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrSqs/template.ejs +4 -0
- package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/perAction/HdrApi/template.ejs +5 -4
- package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/perAction/HdrInv/template.ejs +3 -2
- package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationshipComplete/mainFunction/template.ejs +16 -13
- package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRalationshipComplete/mainFunction/template.ejs +9 -6
- package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrSqs/template.ejs +4 -0
- package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/perAction/HdrApi/template.ejs +8 -5
- package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/perAction/HdrDsq/template.ejs +1 -1
- package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/perAction/HdrInv/template.ejs +10 -8
- package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/perAction/HdrSqs/template.ejs +1 -1
- package/src/TemplateManager/src/ResourceYaml/dynamodb/{awaitingMultipleStepData.js → defaultDynamoDbTable.js} +39 -3
- package/src/TemplateManager/src/ResourceYaml/sns-in-sqs/defaultSnsInSqsForFindDataAndProcessLogical.js +6 -3
- package/src/TemplateManager/src/externalService/FunctionNameConfig/data.js +1 -1
- package/src/TemplateManager/src/externalService/LambdaRole/data.js +5 -10
- package/src/TemplateManager/src/externalService/SnsTopicSubscriotions/data.js +14 -0
- package/src/TemplateManager/src/flowTag/resources/dynamoDb/data.js +65 -0
- package/src/TemplateManager/src/flowTag/webSocket/webSocketConnect/functionYaml/data.js +56 -0
- package/src/TemplateManager/src/flowTag/webSocket/webSocketConnect/functionYaml/template.ejs +10 -0
- package/src/TemplateManager/src/flowTag/webSocket/webSocketConnect/handler/data.js +55 -0
- package/src/TemplateManager/src/flowTag/webSocket/webSocketConnect/handler/template.ejs +63 -0
- package/src/TemplateManager/src/flowTag/webSocket/websocketHandler/functionYaml/data.js +75 -0
- package/src/TemplateManager/src/flowTag/webSocket/websocketHandler/functionYaml/template.ejs +33 -0
- package/src/TemplateManager/src/flowTag/webSocket/websocketHandler/lambda/data.js +57 -0
- package/src/TemplateManager/src/flowTag/webSocket/websocketHandler/lambda/template.ejs +131 -0
- package/src/TemplateManager/src/libs/Consts.js +7 -2
- package/src/TemplateManager/src/libs/GenerateCodeUtils.js +3 -1
- package/src/TemplateManager/src/ResourceYaml/dynamodb/processLogicalAndFindData.js +0 -99
|
@@ -23,22 +23,16 @@ const {
|
|
|
23
23
|
getObjSchemaS3WithHierarchy,
|
|
24
24
|
} = require('@izara_project/izara-core-library-service-schemas/src/GetObjectSchema');
|
|
25
25
|
|
|
26
|
-
const {
|
|
27
|
-
getGraphServiceTagWithCache,
|
|
28
|
-
getServiceNameWithCache
|
|
29
|
-
} = require('@izara_project/izara-core-library-service-schemas/src/ServiceConfig');
|
|
30
26
|
|
|
31
27
|
const consts = require('@izara_project/izara-core-library-service-schemas/src/Consts');
|
|
32
28
|
|
|
33
29
|
|
|
34
30
|
const {
|
|
35
|
-
dynamoDbIdentifiersByStorageResource,
|
|
36
|
-
collectGetData
|
|
31
|
+
dynamoDbIdentifiersByStorageResource, createFieldForUpdateDynamoDb
|
|
37
32
|
} = require('@izara_project/izara-market-library-service-schemas/src/GenerateCodeLibs/src/GenerateCodeLibs');
|
|
38
33
|
|
|
39
34
|
const izaraShared = require('@izara_project/izara-shared');
|
|
40
35
|
const dynamodbSharedLib = izaraShared.dynamodbSharedLib;
|
|
41
|
-
const graphSharedLib = izaraShared.graphSharedLib;
|
|
42
36
|
const snsSharedLib = izaraShared.snsSharedLib;
|
|
43
37
|
const asyncFlowSharedLib = izaraShared.asyncFlowSharedLib;
|
|
44
38
|
const callingFlowSharedLib = izaraShared.callingFlowSharedLib;
|
|
@@ -47,14 +41,10 @@ const lambdaSharedLib = izaraShared.lambdaSharedLib
|
|
|
47
41
|
const externalRequest = require('@izara_project/izara-core-library-external-request');
|
|
48
42
|
const sns = externalRequest.sns
|
|
49
43
|
|
|
50
|
-
const serviceSchema = require('@izara_project/izara-core-library-service-schemas/src/Utils')
|
|
51
|
-
|
|
52
44
|
const { createUpdateDataDetail } = require("@izara_project/izara-market-library-service-schemas/src/GenerateCodeLibs/src/GenerateCodeLibs")
|
|
53
|
-
const NoRetryError = require('@izara_project/izara-core-library-core/src/NoRetryError');
|
|
54
45
|
const { PREFIX, TOPIC_NAME_GENERATE_CODE, TOPIC_NAME_GRAPH_HANDLER } = require('@izara_project/izara-market-library-service-schemas/src/GenerateCodeLibs/src/Consts');
|
|
55
46
|
const coreConsts = require('@izara_project/izara-core-library-core/src/Consts')
|
|
56
47
|
|
|
57
|
-
|
|
58
48
|
/**
|
|
59
49
|
*
|
|
60
50
|
*
|
|
@@ -84,23 +74,24 @@ module.exports.<%- functionName %>Main = async (
|
|
|
84
74
|
_izContext.logger.debug("<%- functionName %> callingFlowConfig", callingFlowConfig)
|
|
85
75
|
|
|
86
76
|
let errorFounds = [];
|
|
87
|
-
|
|
88
|
-
_izContext.correlationIds.set(coreConsts.BASE_USER_ID, "BasDev");
|
|
89
77
|
const userId = _izContext.correlationIds.get(coreConsts.BASE_USER_ID)
|
|
90
78
|
if (!userId) {
|
|
91
79
|
errorFounds.push("Not Have UserId")
|
|
92
80
|
}
|
|
93
81
|
|
|
94
|
-
const OBJECT_TYPE = "
|
|
82
|
+
const OBJECT_TYPE = "Address"
|
|
95
83
|
const SERVICE_TAG = process.env.iz_serviceTag;
|
|
96
84
|
//(<beforeQuery>)
|
|
97
85
|
//(</beforeQuery>)
|
|
98
86
|
|
|
99
|
-
const fields = requestParams.objInstanceFull.fields;
|
|
100
87
|
const identifiers = requestParams.objInstanceFull.identifiers;
|
|
88
|
+
const fields = requestParams.objInstanceFull.fields
|
|
89
|
+
let versionedDataIds = requestParams.versionedDataIds || {}
|
|
90
|
+
|
|
101
91
|
_izContext.logger.debug("explode requestParams", {
|
|
92
|
+
identifiers: identifiers,
|
|
102
93
|
fields: fields,
|
|
103
|
-
|
|
94
|
+
versionedDataIds: versionedDataIds
|
|
104
95
|
})
|
|
105
96
|
let objectSchema = await getObjSchemaS3WithHierarchy(
|
|
106
97
|
_izContext,
|
|
@@ -128,8 +119,9 @@ module.exports.<%- functionName %>Main = async (
|
|
|
128
119
|
},
|
|
129
120
|
objInstanceFull: {
|
|
130
121
|
identifiers: identifiers,
|
|
131
|
-
fields: fields
|
|
122
|
+
fields: fields,
|
|
132
123
|
},
|
|
124
|
+
versionedDataIds: versionedDataIds,
|
|
133
125
|
status: 'error',
|
|
134
126
|
errorFounds: errorFounds
|
|
135
127
|
};
|
|
@@ -181,7 +173,7 @@ module.exports.<%- functionName %>Main = async (
|
|
|
181
173
|
hash(
|
|
182
174
|
{
|
|
183
175
|
identifiers,
|
|
184
|
-
fields
|
|
176
|
+
fields,
|
|
185
177
|
})
|
|
186
178
|
)
|
|
187
179
|
)
|
|
@@ -195,8 +187,9 @@ module.exports.<%- functionName %>Main = async (
|
|
|
195
187
|
},
|
|
196
188
|
objInstanceFull: {
|
|
197
189
|
identifiers: identifiers,
|
|
198
|
-
fields: fields
|
|
190
|
+
fields: fields,
|
|
199
191
|
},
|
|
192
|
+
versionedDataIds: versionedDataIds,
|
|
200
193
|
originTimestamp
|
|
201
194
|
}
|
|
202
195
|
|
|
@@ -205,8 +198,7 @@ module.exports.<%- functionName %>Main = async (
|
|
|
205
198
|
callingFlowSharedLib.addParentCallingFlowConfig(
|
|
206
199
|
callingFlowConfig,
|
|
207
200
|
callingFlowSharedLib.createCallingFlowConfig(
|
|
208
|
-
await lambdaSharedLib.lambdaFunctionName(_izContext, TOPIC_NAME_GENERATE_CODE.updateNodeComplete),
|
|
209
|
-
{}
|
|
201
|
+
await lambdaSharedLib.lambdaFunctionName(_izContext, TOPIC_NAME_GENERATE_CODE.updateNodeComplete), {}
|
|
210
202
|
)
|
|
211
203
|
)
|
|
212
204
|
)
|
|
@@ -225,7 +217,7 @@ module.exports.<%- functionName %>Main = async (
|
|
|
225
217
|
let resSNS = await sns.publishAsync(_izContext, updateNodeMessageBody)
|
|
226
218
|
_izContext.logger.debug('resSNS send to topic InUpdateNode finish!', resSNS);
|
|
227
219
|
|
|
228
|
-
} else {
|
|
220
|
+
} else if (updateDataDetail.storageType === consts.STORAGE_TYPES.dynamoDB) {
|
|
229
221
|
|
|
230
222
|
let identifiersForUpdateData = await dynamoDbIdentifiersByStorageResource(
|
|
231
223
|
_izContext,
|
|
@@ -233,14 +225,17 @@ module.exports.<%- functionName %>Main = async (
|
|
|
233
225
|
updateDataDetail,
|
|
234
226
|
identifiers
|
|
235
227
|
)
|
|
228
|
+
|
|
229
|
+
let fieldForUpdateTableDynamo = createFieldForUpdateDynamoDb(_izContext, objectSchema, updateDataDetail, fields)
|
|
230
|
+
|
|
236
231
|
_izContext.logger.debug("identifiersForUpdateData", identifiersForUpdateData)
|
|
237
|
-
_izContext.logger.debug("
|
|
232
|
+
_izContext.logger.debug("fieldForUpdateTableDynamo", fieldForUpdateTableDynamo)
|
|
238
233
|
|
|
239
234
|
await dynamodbSharedLib.updateItem(
|
|
240
235
|
_izContext,
|
|
241
236
|
await dynamodbSharedLib.tableName(_izContext, updateDataDetail.tableName),
|
|
242
237
|
identifiersForUpdateData,
|
|
243
|
-
|
|
238
|
+
fieldForUpdateTableDynamo
|
|
244
239
|
)
|
|
245
240
|
}
|
|
246
241
|
}
|
|
@@ -254,14 +249,15 @@ module.exports.<%- functionName %>Main = async (
|
|
|
254
249
|
},
|
|
255
250
|
objInstanceFull: {
|
|
256
251
|
identifiers: identifiers,
|
|
257
|
-
fields: fields
|
|
258
|
-
}
|
|
252
|
+
fields: fields,
|
|
253
|
+
},
|
|
254
|
+
versionedDataIds: versionedDataIds
|
|
259
255
|
},
|
|
260
256
|
status: "complete",
|
|
261
257
|
errorFounds
|
|
262
258
|
}
|
|
263
259
|
} catch (err) {
|
|
264
|
-
_izContext.logger.error('error
|
|
260
|
+
_izContext.logger.error('error AddressUpdate: ', err)
|
|
265
261
|
throw (err)
|
|
266
262
|
}
|
|
267
263
|
}
|
|
@@ -167,7 +167,7 @@ module.exports.processLogical = async (
|
|
|
167
167
|
_izContext.logger.debug("Have errorsFound: ", errorsFound)
|
|
168
168
|
standardErrorParams.push(errorsFound)
|
|
169
169
|
await logicalResultsSharedLib.completeLogicalResultsMain(...standardErrorParams);
|
|
170
|
-
return;
|
|
170
|
+
return errorsFound;
|
|
171
171
|
}
|
|
172
172
|
|
|
173
173
|
const graphHandlerServiceTag = await serviceConfig.getGraphServiceTagWithCache(
|
|
@@ -347,7 +347,7 @@ module.exports.processLogical = async (
|
|
|
347
347
|
errorsFound.push(`can't find data in table ${tableName} by query`)
|
|
348
348
|
standardErrorParams.push(errorsFound)
|
|
349
349
|
await logicalResultsSharedLib.completeLogicalResultsMain(...standardErrorParams);
|
|
350
|
-
return;
|
|
350
|
+
return errorsFound;
|
|
351
351
|
}
|
|
352
352
|
|
|
353
353
|
for (const objInstanceBase of queryDatas.Items) {
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
<%- firstLetterUpperCase(functionNameConfig) %>:
|
|
3
3
|
handler: <%- join(resourceLocation, `${firstLetterUpperCase(functionName)}_${firstLetterUpperCase(handlerType)}.main`)%>
|
|
4
4
|
name: ${self:custom.iz_resourcePrefix}<%- firstLetterUpperCase(functionName) %><%- firstLetterUpperCase(handlerType) %>
|
|
5
|
+
events:
|
|
6
|
+
- sqs:
|
|
7
|
+
arn: arn:aws:sqs:${self:custom.iz_region}:${self:custom.iz_accountId}:${self:custom.iz_resourcePrefix}<%- firstLetterUpperCase(functionName) %><%- firstLetterUpperCase(handlerType) %>
|
|
8
|
+
batchSize: 10
|
|
5
9
|
iamRoleStatements:
|
|
6
10
|
<%_ additionalResourcePermission.forEach(resourcePermission => { _%>
|
|
7
11
|
- Effect: <%- resourcePermission.effect %>
|
|
@@ -113,7 +113,8 @@ module.exports.main = middleware.wrap(async (event, context, callback) => {
|
|
|
113
113
|
relType: event.relType,
|
|
114
114
|
relationshipDirection: event.relationshipDirection,
|
|
115
115
|
relationshipProperties: event.relationshipProperties,
|
|
116
|
-
}
|
|
116
|
+
},
|
|
117
|
+
callingFlowSharedLib.addCallingFlowToPassOnProperties(event)
|
|
117
118
|
);
|
|
118
119
|
|
|
119
120
|
// return error to client
|
|
@@ -146,11 +146,7 @@ let validatorSchema = {
|
|
|
146
146
|
);
|
|
147
147
|
|
|
148
148
|
// add argument (to invoke lambda) to passOnProperties[]
|
|
149
|
-
passOnProperties.push(record.body.Message
|
|
150
|
-
passOnProperties.push(record.body.Message.secondObject)
|
|
151
|
-
passOnProperties.push(record.body.Message.relType)
|
|
152
|
-
passOnProperties.push(record.body.Message.relationshipDirection)
|
|
153
|
-
passOnProperties.push(record.body.Message.relationshipProperties)
|
|
149
|
+
passOnProperties.push(record.body.Message)
|
|
154
150
|
passOnProperties.push(callingFlowSharedLib.addCallingFlowToPassOnProperties(record.body.Message));
|
|
155
151
|
//(<afterPutParamIntoMainFunction>)
|
|
156
152
|
//(</afterPutParamIntoMainFunction>)
|
|
@@ -124,11 +124,7 @@ let validatorSchema = {
|
|
|
124
124
|
);
|
|
125
125
|
|
|
126
126
|
// add argument (to invoke lambda) to passOnProperties[]
|
|
127
|
-
passOnProperties.push(record.body.Message
|
|
128
|
-
passOnProperties.push(record.body.Message.secondObject)
|
|
129
|
-
passOnProperties.push(record.body.Message.relType)
|
|
130
|
-
passOnProperties.push(record.body.Message.relationshipDirection)
|
|
131
|
-
passOnProperties.push(record.body.Message.relationshipProperties)
|
|
127
|
+
passOnProperties.push(record.body.Message)
|
|
132
128
|
passOnProperties.push(callingFlowSharedLib.addCallingFlowToPassOnProperties(record.body.Message));
|
|
133
129
|
//(<afterPutParamIntoMainFunction>)
|
|
134
130
|
//(</afterPutParamIntoMainFunction>)
|
|
@@ -56,11 +56,10 @@ module.exports.createRelationshipComplete = async (
|
|
|
56
56
|
// start create awaitingStepId
|
|
57
57
|
const linkTypeId = createLinkTypeId(
|
|
58
58
|
_izContext,
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
returnValue.relType
|
|
59
|
+
returnValue.firstObject.objType,
|
|
60
|
+
returnValue.secondObject.objType,
|
|
61
|
+
returnValue.relType,
|
|
62
|
+
returnValue.direction
|
|
64
63
|
);
|
|
65
64
|
|
|
66
65
|
let awaitingStepId = asyncFlowSharedLib.createAwaitingStepId(
|
|
@@ -94,7 +93,8 @@ module.exports.createRelationshipComplete = async (
|
|
|
94
93
|
_izContext.logger.debug("finished all awaitingStep");
|
|
95
94
|
|
|
96
95
|
let createCompleteMsg = {
|
|
97
|
-
|
|
96
|
+
firstObject: returnValue.firstObject,
|
|
97
|
+
secondObject: returnValue.secondObject,
|
|
98
98
|
relType: returnValue.relType,
|
|
99
99
|
relationshipProperties: returnValue.relationshipProperties,
|
|
100
100
|
status: status,
|
|
@@ -128,7 +128,11 @@ module.exports.createRelationshipComplete = async (
|
|
|
128
128
|
);
|
|
129
129
|
|
|
130
130
|
|
|
131
|
-
return {
|
|
131
|
+
return {
|
|
132
|
+
returnValue,
|
|
133
|
+
status,
|
|
134
|
+
errorsFound
|
|
135
|
+
}
|
|
132
136
|
|
|
133
137
|
} catch (err) {
|
|
134
138
|
_izContext.logger.error('error createRelationshipComplete:', err)
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
<%- firstLetterUpperCase(functionNameConfig) %>:
|
|
3
3
|
handler: <%- join(resourceLocation, `${firstLetterUpperCase(functionName)}_${firstLetterUpperCase(handlerType)}.main`)%>
|
|
4
4
|
name: ${self:custom.iz_resourcePrefix}<%- firstLetterUpperCase(functionName) %><%- firstLetterUpperCase(handlerType) %>
|
|
5
|
+
events:
|
|
6
|
+
- sqs:
|
|
7
|
+
arn: arn:aws:sqs:${self:custom.iz_region}:${self:custom.iz_accountId}:${self:custom.iz_resourcePrefix}<%- firstLetterUpperCase(functionName) %><%- firstLetterUpperCase(handlerType) %>
|
|
8
|
+
batchSize: 10
|
|
5
9
|
iamRoleStatements:
|
|
6
10
|
<%_ additionalResourcePermission.forEach(resourcePermission => { _%>
|
|
7
11
|
- Effect: <%- resourcePermission.effect %>
|
|
@@ -108,12 +108,13 @@ module.exports.main = middleware.wrap(async (event, context, callback) => {
|
|
|
108
108
|
let lambdaFunctionResponse = await <%- functionName %>.<%- functionName %>(
|
|
109
109
|
event._izContext, // correlationId/logger/integrationTestDetail/uniqueRequestId/userId
|
|
110
110
|
{
|
|
111
|
-
|
|
111
|
+
firstObject: event.firstObject,
|
|
112
|
+
secondObject: event.secondObject,
|
|
112
113
|
relType: event.relType,
|
|
113
|
-
|
|
114
|
+
relationshipDirection: event.relationshipDirection,
|
|
114
115
|
relationshipProperties: event.relationshipProperties,
|
|
115
|
-
|
|
116
|
-
|
|
116
|
+
},
|
|
117
|
+
callingFlowSharedLib.addCallingFlowToPassOnProperties(event)
|
|
117
118
|
);
|
|
118
119
|
|
|
119
120
|
// return error to client
|
|
@@ -104,10 +104,11 @@ module.exports.main = middleware.wrap(async (event, context, callback) => {
|
|
|
104
104
|
return await <%- functionName %>.<%- functionName %>(
|
|
105
105
|
event._izContext, // correlationId/logger/integrationTestDetail/uniqueRequestId
|
|
106
106
|
{
|
|
107
|
-
|
|
107
|
+
firstObject: event.firstObject,
|
|
108
|
+
secondObject: event.secondObject,
|
|
108
109
|
relType: event.relType,
|
|
110
|
+
relationshipDirection: event.relationshipDirection,
|
|
109
111
|
relationshipProperties: event.relationshipProperties,
|
|
110
|
-
relationshipDirection: event.relationshipDirection
|
|
111
112
|
},
|
|
112
113
|
callingFlowSharedLib.addCallingFlowToPassOnProperties(event)
|
|
113
114
|
);
|
|
@@ -56,11 +56,10 @@ module.exports.createRelationshipComplete = async (
|
|
|
56
56
|
// start create awaitingStepId
|
|
57
57
|
const linkTypeId = createLinkTypeId(
|
|
58
58
|
_izContext,
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
returnValue.relType
|
|
59
|
+
returnValue.firstObject.objType,
|
|
60
|
+
returnValue.secondObject.objType,
|
|
61
|
+
returnValue.relType,
|
|
62
|
+
returnValue.direction
|
|
64
63
|
);
|
|
65
64
|
|
|
66
65
|
let awaitingStepId = asyncFlowSharedLib.createAwaitingStepId(
|
|
@@ -93,22 +92,23 @@ module.exports.createRelationshipComplete = async (
|
|
|
93
92
|
)) {
|
|
94
93
|
_izContext.logger.debug("finished all awaitingStep");
|
|
95
94
|
|
|
96
|
-
let
|
|
97
|
-
|
|
95
|
+
let deleteRelComp = {
|
|
96
|
+
firstObject: returnValue.firstObject,
|
|
97
|
+
secondObject: returnValue.secondObject,
|
|
98
98
|
relType: returnValue.relType,
|
|
99
99
|
relationshipProperties: returnValue.relationshipProperties,
|
|
100
100
|
status: status,
|
|
101
101
|
errorFounds: errorsFound
|
|
102
102
|
};
|
|
103
103
|
|
|
104
|
-
|
|
105
|
-
_izContext.logger.debug("After addCallingFlowToSnsResponseMessageObject",
|
|
104
|
+
deleteRelComp = callingFlowSharedLib.addParentPassBackPropertiesToSnsResponseMessageObject(passBackProperties, deleteRelComp);
|
|
105
|
+
_izContext.logger.debug("After addCallingFlowToSnsResponseMessageObject", deleteRelComp);
|
|
106
106
|
|
|
107
107
|
let messageAttributes = callingFlowSharedLib.addParentPassBackCallingFlowToSnsResponseMessageAttributes(passBackProperties, {});
|
|
108
|
-
_izContext.logger.debug("After addCallingFlowToSnsResponseMessageAttributes",
|
|
108
|
+
_izContext.logger.debug("After addCallingFlowToSnsResponseMessageAttributes", deleteRelComp);
|
|
109
109
|
|
|
110
110
|
let sendMessageToOutCreateRelatonshipComplete = {
|
|
111
|
-
Message: JSON.stringify(
|
|
111
|
+
Message: JSON.stringify(deleteRelComp),
|
|
112
112
|
MessageAttributes: sns.createStringMessageAttributes(_izContext, messageAttributes),
|
|
113
113
|
TopicArn: await snsSharedLib.snsTopicArn(_izContext, TOPIC_NAME_GENERATE_CODE.outCreateRelComplete)
|
|
114
114
|
};
|
|
@@ -128,8 +128,11 @@ module.exports.createRelationshipComplete = async (
|
|
|
128
128
|
);
|
|
129
129
|
|
|
130
130
|
|
|
131
|
-
return {
|
|
132
|
-
|
|
131
|
+
return {
|
|
132
|
+
returnValue,
|
|
133
|
+
status,
|
|
134
|
+
errorsFound
|
|
135
|
+
}
|
|
133
136
|
} catch (err) {
|
|
134
137
|
_izContext.logger.error('error createRelationshipComplete:', err)
|
|
135
138
|
throw (err)
|
|
@@ -57,11 +57,10 @@ module.exports.updateRelationshipComplete = async (
|
|
|
57
57
|
// start create awaitingStepId
|
|
58
58
|
const linkTypeId = createLinkTypeId(
|
|
59
59
|
_izContext,
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
returnValue.relType
|
|
60
|
+
returnValue.firstObject.objType,
|
|
61
|
+
returnValue.secondObject.objType,
|
|
62
|
+
returnValue.relType,
|
|
63
|
+
returnValue.direction
|
|
65
64
|
);
|
|
66
65
|
|
|
67
66
|
let awaitingStepId = asyncFlowSharedLib.createAwaitingStepId(
|
|
@@ -131,7 +130,11 @@ module.exports.updateRelationshipComplete = async (
|
|
|
131
130
|
);
|
|
132
131
|
|
|
133
132
|
|
|
134
|
-
return {
|
|
133
|
+
return {
|
|
134
|
+
returnValue,
|
|
135
|
+
status,
|
|
136
|
+
errorsFound
|
|
137
|
+
}
|
|
135
138
|
|
|
136
139
|
} catch (err) {
|
|
137
140
|
_izContext.logger.error('error updateRelationshipComplete:', err)
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
<%- firstLetterUpperCase(functionNameConfig) %>:
|
|
3
3
|
handler: <%- join(resourceLocation, `${firstLetterUpperCase(functionName)}_${firstLetterUpperCase(handlerType)}.main`)%>
|
|
4
4
|
name: ${self:custom.iz_resourcePrefix}<%- firstLetterUpperCase(functionName) %><%- firstLetterUpperCase(handlerType) %>
|
|
5
|
+
events:
|
|
6
|
+
- sqs:
|
|
7
|
+
arn: arn:aws:sqs:${self:custom.iz_region}:${self:custom.iz_accountId}:${self:custom.iz_resourcePrefix}<%- firstLetterUpperCase(functionName) %><%- firstLetterUpperCase(handlerType) %>
|
|
8
|
+
batchSize: 10
|
|
5
9
|
iamRoleStatements:
|
|
6
10
|
<%_ additionalResourcePermission.forEach(resourcePermission => { _%>
|
|
7
11
|
- Effect: <%- resourcePermission.effect %>
|
|
@@ -27,7 +27,7 @@ const <%- functionName %> = require('./<%- firstLetterUpperCase(functionName) %>
|
|
|
27
27
|
// validate event params in middleware before into function
|
|
28
28
|
let validatorSchema = {
|
|
29
29
|
type: "object",
|
|
30
|
-
required: ["firstObject","secondObject", "relType", "relationshipProperties","relationshipDirection"],
|
|
30
|
+
required: ["firstObject","secondObject", "relType", "relationshipProperties","relationshipDirection","relId"],
|
|
31
31
|
properties: {
|
|
32
32
|
firstObject: {
|
|
33
33
|
type: "object",
|
|
@@ -109,11 +109,14 @@ module.exports.main = middleware.wrap(async (event, context, callback) => {
|
|
|
109
109
|
let lambdaFunctionResponse = await <%- functionName %>.<%- functionName %>(
|
|
110
110
|
event._izContext, // correlationId/logger/integrationTestDetail/uniqueRequestId/userId
|
|
111
111
|
{
|
|
112
|
-
|
|
112
|
+
firstObject: event.firstObject,
|
|
113
|
+
secondObject: event.secondObject,
|
|
113
114
|
relType: event.relType,
|
|
114
|
-
|
|
115
|
-
relationshipProperties: event.relationshipProperties
|
|
116
|
-
|
|
115
|
+
relationshipDirection: event.relationshipDirection,
|
|
116
|
+
relationshipProperties: event.relationshipProperties,
|
|
117
|
+
relId: event.relId
|
|
118
|
+
},
|
|
119
|
+
callingFlowSharedLib.addCallingFlowToPassOnProperties(event)
|
|
117
120
|
);
|
|
118
121
|
|
|
119
122
|
// return error to client
|
|
@@ -47,7 +47,7 @@ middleware.setValidatorSchema(recordHandlerSharedLib.baseValidatorSchema(
|
|
|
47
47
|
// validate event params in middleware before into function
|
|
48
48
|
let validatorSchema = {
|
|
49
49
|
type: "object",
|
|
50
|
-
required: ["firstObject","secondObject", "relType", "relationshipProperties","relationshipDirection"],
|
|
50
|
+
required: ["firstObject","secondObject", "relType", "relationshipProperties","relationshipDirection","relId"],
|
|
51
51
|
properties: {
|
|
52
52
|
firstObject: {
|
|
53
53
|
type: "object",
|
|
@@ -29,7 +29,7 @@ const <%- functionName %> = require('./<%- firstLetterUpperCase(functionName) %>
|
|
|
29
29
|
// validate event params in middlewware before into function.
|
|
30
30
|
let validatorSchema = {
|
|
31
31
|
type: "object",
|
|
32
|
-
required: ["firstObject","secondObject", "relType", "relationshipProperties","relationshipDirection"],
|
|
32
|
+
required: ["firstObject","secondObject", "relType", "relationshipProperties","relationshipDirection","relId"],
|
|
33
33
|
properties: {
|
|
34
34
|
firstObject: {
|
|
35
35
|
type: "object",
|
|
@@ -111,13 +111,15 @@ module.exports.main = middleware.wrap(async (event, context, callback) => {
|
|
|
111
111
|
// invoke LambdaFunction
|
|
112
112
|
let lambdaFunctionResponse = await <%- functionName %>.<%- functionName %>(
|
|
113
113
|
event._izContext, // correlationId/logger/integrationTestDetail/uniqueRequestId/userId
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
114
|
+
{
|
|
115
|
+
firstObject: event.firstObject,
|
|
116
|
+
secondObject: event.secondObject,
|
|
117
|
+
relType: event.relType,
|
|
118
|
+
relationshipDirection: event.relationshipDirection,
|
|
119
|
+
relationshipProperties: event.relationshipProperties,
|
|
120
|
+
relId: event.relId
|
|
121
|
+
},
|
|
122
|
+
callingFlowSharedLib.addCallingFlowToPassOnProperties(event)
|
|
121
123
|
//(<afterPutParamIntoMainFunction>)
|
|
122
124
|
//(</afterPutParamIntoMainFunction>)
|
|
123
125
|
);
|
|
@@ -32,7 +32,7 @@ middleware.setValidatorSchema(recordHandlerSharedLib.baseValidatorSchema());
|
|
|
32
32
|
// validate event params in middleware before into function
|
|
33
33
|
let validatorSchema = {
|
|
34
34
|
type: "object",
|
|
35
|
-
required: ["firstObject","secondObject", "relType", "relationshipProperties","relationshipDirection"],
|
|
35
|
+
required: ["firstObject","secondObject", "relType", "relationshipProperties","relationshipDirection","relId"],
|
|
36
36
|
properties: {
|
|
37
37
|
firstObject: {
|
|
38
38
|
type: "object",
|
|
@@ -42,8 +42,9 @@ const { SOURCE_PATH, SAVE_FILE_NAME } = require('../../libs/Consts');
|
|
|
42
42
|
const createAwaitingMultipleStepDynamoDbData = (_izContext, srcPath) => {
|
|
43
43
|
|
|
44
44
|
let resultsForCreateSource = [];
|
|
45
|
+
const defaultDynamoDataLists = []
|
|
45
46
|
|
|
46
|
-
|
|
47
|
+
defaultDynamoDataLists.push(
|
|
47
48
|
{
|
|
48
49
|
"tableName": "AwaitingMultipleSteps",
|
|
49
50
|
"attributes": [
|
|
@@ -73,10 +74,45 @@ const createAwaitingMultipleStepDynamoDbData = (_izContext, srcPath) => {
|
|
|
73
74
|
"AttributeType": "S"
|
|
74
75
|
}
|
|
75
76
|
]
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"tableName": "FindDataMain",
|
|
80
|
+
"attributes": [
|
|
81
|
+
{
|
|
82
|
+
"keyType": "partitionKey",
|
|
83
|
+
"AttributeName": "findDataId",
|
|
84
|
+
"AttributeType": "S"
|
|
85
|
+
}
|
|
86
|
+
]
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"tableName": "LogicalResultsMain",
|
|
90
|
+
"attributes": [
|
|
91
|
+
{
|
|
92
|
+
"keyType": "partitionKey",
|
|
93
|
+
"AttributeName": "logicalResultId",
|
|
94
|
+
"AttributeType": "S"
|
|
95
|
+
}
|
|
96
|
+
]
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"tableName": "LogicalResultsData",
|
|
100
|
+
"attributes": [
|
|
101
|
+
{
|
|
102
|
+
"keyType": "partitionKey",
|
|
103
|
+
"AttributeName": "logicalResultId",
|
|
104
|
+
"AttributeType": "S"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"keyType": "sortKey",
|
|
108
|
+
"AttributeName": "identifiersId",
|
|
109
|
+
"AttributeType": "S"
|
|
110
|
+
}
|
|
111
|
+
]
|
|
76
112
|
}
|
|
77
|
-
|
|
113
|
+
)
|
|
78
114
|
|
|
79
|
-
for (let defaultlDynamoData of
|
|
115
|
+
for (let defaultlDynamoData of defaultDynamoDataLists) {
|
|
80
116
|
resultsForCreateSource.push({
|
|
81
117
|
templatePath: templatePath,
|
|
82
118
|
templateData: defaultlDynamoData,
|
|
@@ -47,6 +47,8 @@ const { SOURCE_PATH, SAVE_FILE_NAME, FUNCTION_NAME, HANDLER } = require('../../l
|
|
|
47
47
|
*/
|
|
48
48
|
|
|
49
49
|
function createDataForDefaultSnsInSqs(_izContext, srcPath) {
|
|
50
|
+
let resultsForCreateDefaultSnsInSqs = [];
|
|
51
|
+
const defaultSnsInSqsDataList = [];
|
|
50
52
|
const setting = {
|
|
51
53
|
initialData: "Resources:\n",
|
|
52
54
|
savePath: path.join(srcPath, SOURCE_PATH.resourceYaml),
|
|
@@ -54,8 +56,9 @@ function createDataForDefaultSnsInSqs(_izContext, srcPath) {
|
|
|
54
56
|
fileExtension: ".yml",
|
|
55
57
|
isAppend: true
|
|
56
58
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
defaultSnsInSqsDataList.push(
|
|
59
62
|
{
|
|
60
63
|
queueName: upperCase(FUNCTION_NAME.findData)
|
|
61
64
|
},
|
|
@@ -65,7 +68,7 @@ function createDataForDefaultSnsInSqs(_izContext, srcPath) {
|
|
|
65
68
|
{
|
|
66
69
|
queueName: upperCase(FUNCTION_NAME.paginateProcessLogical)
|
|
67
70
|
}
|
|
68
|
-
|
|
71
|
+
)
|
|
69
72
|
|
|
70
73
|
for (let defaultSnsInSqsData of defaultSnsInSqsDataList) {
|
|
71
74
|
resultsForCreateDefaultSnsInSqs.push({
|
|
@@ -30,7 +30,7 @@ function data(_izContext, createSourceParams, srcPath) {
|
|
|
30
30
|
const functionNameConfigs = new Set();
|
|
31
31
|
let createFunctionNameConfig = []
|
|
32
32
|
for (let { templatePath, templateData, setting } of createSourceParams) {
|
|
33
|
-
if (templateData
|
|
33
|
+
if (templateData?.functionNameConfig !== undefined) {
|
|
34
34
|
functionNameConfigs.add(templateData.functionNameConfig)
|
|
35
35
|
}
|
|
36
36
|
}
|
|
@@ -24,12 +24,8 @@ const { getGraphServiceNameFromGraphServerTagWithCache,
|
|
|
24
24
|
getGraphServiceTagWithCache
|
|
25
25
|
} = require('@izara_project/izara-core-library-service-schemas/src/ServiceConfig')
|
|
26
26
|
|
|
27
|
-
const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase
|
|
28
|
-
const {
|
|
29
|
-
DEFAULT_HANDLER_PER_ACTION, createIamRole, resourceNames, RESOURCE_CLASSES, DEFAULT_LAMBDA_ROLE_PER_ACTION, SOURCE_PATH, externalResourceName, externalResourceSns, FUNCTION_NAME, getGraphServiceNameFromAllRelSchema, SAVE_FILE_NAME, getComplexFilterServiceTag,
|
|
30
|
-
LAMBDA_RESOURCE, SNS_RESOURCE, DYNAMO_RESOURCE, getGraphServiceNameFromObjectSchema,
|
|
31
|
-
shortNameHandler,
|
|
32
|
-
SHORT_FUNCTION_NAME } = require("../../libs/Consts");
|
|
27
|
+
const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase } = require("../../../../MainLibs/src/Utils")
|
|
28
|
+
const { DEFAULT_HANDLER_PER_ACTION, createIamRole, RESOURCE_CLASSES, SOURCE_PATH, externalResourceName, externalResourceSns, getGraphServiceNameFromAllRelSchema, SAVE_FILE_NAME, LAMBDA_RESOURCE, SNS_RESOURCE, getGraphServiceNameFromObjectSchema, shortNameHandler, SHORT_FUNCTION_NAME } = require("../../libs/Consts");
|
|
33
29
|
// const templatePath = path.join(__dirname, "./template.ejs");
|
|
34
30
|
const templatePath = path.join(__dirname, "./template.ejs");
|
|
35
31
|
const { getAllLocalRelationshipSchemas } = require('@izara_project/izara-core-library-service-schemas/src/GetObjectSchema')
|
|
@@ -40,18 +36,17 @@ const createExternalLambdaRole = async (_izContext, allObjSchemas, allRelSchemas
|
|
|
40
36
|
const externalLambdaIamRoleArray = [];
|
|
41
37
|
for (const objectSchema of allObjSchemas) {
|
|
42
38
|
|
|
43
|
-
const newObjectSchema = renameObjectType(objectSchema, srcPath)
|
|
44
39
|
// per action external lambda role
|
|
45
40
|
for (const action of Object.values(ACTIONS)) {
|
|
46
41
|
if (objectSchema.overWriteHandlers?.[action]) {
|
|
47
42
|
for (const handler of objectSchema.overWriteHandlers[action]) {
|
|
48
|
-
const externalLambdaIamRole = await externalLambdaIamRoleDataPerAction(_izContext,
|
|
43
|
+
const externalLambdaIamRole = await externalLambdaIamRoleDataPerAction(_izContext, objectSchema, action, handler)
|
|
49
44
|
externalLambdaIamRole && externalLambdaIamRoleArray.push(externalLambdaIamRole);
|
|
50
45
|
}
|
|
51
46
|
|
|
52
47
|
} else {
|
|
53
48
|
for (const handler of DEFAULT_HANDLER_PER_ACTION[action]) {
|
|
54
|
-
const externalLambdaIamRole = await externalLambdaIamRoleDataPerAction(_izContext,
|
|
49
|
+
const externalLambdaIamRole = await externalLambdaIamRoleDataPerAction(_izContext, objectSchema, action, handler)
|
|
55
50
|
externalLambdaIamRole && externalLambdaIamRoleArray.push(externalLambdaIamRole);
|
|
56
51
|
}
|
|
57
52
|
}
|
|
@@ -250,7 +245,7 @@ async function externalLambdaIamRoleDataDeleteRelationshipSchema(_izContext, all
|
|
|
250
245
|
[RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish]
|
|
251
246
|
},
|
|
252
247
|
graphServiceNamesFromAllRelSchemas.map(graphServiceName =>
|
|
253
|
-
externalResourceSns("
|
|
248
|
+
externalResourceSns("InDeleteRelationshipV2", graphServiceName)
|
|
254
249
|
)
|
|
255
250
|
)
|
|
256
251
|
)
|