@izara_project/izara-market-library-service-schemas 1.0.8 → 1.0.10
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 +2 -2
- package/src/GenerateCodeLibs/src/GenerateCodeLibs.js +64 -19
- package/src/MainLibs/src/Utils.js +13 -0
- package/src/TemplateManager/src/FindData/FindDataYaml/data.js +3 -2
- package/src/TemplateManager/src/FindData/FindDataYaml/template.ejs +1 -1
- package/src/TemplateManager/src/FindData/Handler/data.js +1 -6
- package/src/TemplateManager/src/FindData/mainFunction/template.ejs +0 -7
- package/src/TemplateManager/src/GenerateCode.js +3 -5
- package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/functionYaml/data.js +4 -3
- package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/functionYaml/template.ejs +1 -1
- package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/handler/data.js +1 -3
- package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/handler/template.ejs +11 -11
- package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/mainFunction/data.js +1 -1
- package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/mainFunction/template.ejs +13 -13
- package/src/TemplateManager/src/OutPerActionComplete/OutDeleteComplete/functionYaml/data.js +4 -3
- package/src/TemplateManager/src/OutPerActionComplete/OutDeleteComplete/functionYaml/template.ejs +1 -1
- package/src/TemplateManager/src/OutPerActionComplete/OutDeleteComplete/handler/data.js +1 -3
- package/src/TemplateManager/src/OutPerActionComplete/OutDeleteComplete/mainFunction/data.js +1 -1
- package/src/TemplateManager/src/OutPerActionComplete/OutDeleteComplete/mainFunction/template.ejs +8 -5
- package/src/TemplateManager/src/OutPerActionComplete/OutUpdateComplete/functionYaml/data.js +4 -2
- package/src/TemplateManager/src/OutPerActionComplete/OutUpdateComplete/functionYaml/template.ejs +1 -1
- package/src/TemplateManager/src/OutPerActionComplete/OutUpdateComplete/handler/data.js +1 -3
- package/src/TemplateManager/src/OutPerActionComplete/OutUpdateComplete/mainFunction/data.js +1 -1
- package/src/TemplateManager/src/OutPerActionComplete/OutUpdateComplete/mainFunction/template.ejs +5 -1
- package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrApi/data.js +13 -7
- package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrApi/template.ejs +1 -1
- package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrDsq/data.js +12 -8
- package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrDsq/template.ejs +1 -1
- package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrInv/data.js +10 -12
- package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrInv/template.ejs +1 -1
- package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrSqs/data.js +13 -8
- package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrSqs/template.ejs +1 -1
- package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrApi/data.js +0 -2
- package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrDsq/data.js +1 -2
- package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrDsq/template.ejs +78 -62
- package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrInv/data.js +0 -2
- package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrInv/template.ejs +1 -2
- package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrSqs/data.js +2 -3
- package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrSqs/template.ejs +62 -53
- package/src/TemplateManager/src/PerActionEndpoint/MainFunction/Create/template.ejs +47 -8
- package/src/TemplateManager/src/ProcessLogical/Handler/data.js +0 -1
- package/src/TemplateManager/src/ProcessLogical/ProcessLogicalYaml/data.js +3 -2
- package/src/TemplateManager/src/ProcessLogical/ProcessLogicalYaml/template.ejs +1 -1
- package/src/TemplateManager/src/ProcessLogicalPagination/FunctionYaml/HdrDsq/data.js +3 -2
- package/src/TemplateManager/src/ProcessLogicalPagination/FunctionYaml/HdrDsq/template.ejs +1 -1
- package/src/TemplateManager/src/ProcessLogicalPagination/FunctionYaml/HdrSqs/data.js +3 -2
- package/src/TemplateManager/src/ProcessLogicalPagination/FunctionYaml/HdrSqs/template.ejs +1 -1
- package/src/TemplateManager/src/ProcessLogicalPagination/Handler/HdrDsq/data.js +1 -3
- package/src/TemplateManager/src/ProcessLogicalPagination/Handler/HdrSqs/data.js +1 -3
- package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrApi/data.js +3 -2
- package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrApi/template.ejs +1 -1
- package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrDsq/data.js +3 -2
- package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrDsq/template.ejs +1 -1
- package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrInv/data.js +3 -2
- package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrInv/template.ejs +1 -1
- package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrSqs/data.js +3 -3
- package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrSqs/template.ejs +1 -1
- package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/mainFunction/data.js +2 -0
- package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/mainFunction/template.ejs +63 -23
- package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/perAction/HdrApi/data.js +0 -2
- package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/perAction/HdrApi/template.ejs +45 -28
- package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/perAction/HdrDsq/data.js +0 -2
- package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/perAction/HdrDsq/template.ejs +42 -21
- package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/perAction/HdrInv/data.js +0 -2
- package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/perAction/HdrInv/template.ejs +41 -22
- package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/perAction/HdrSqs/data.js +0 -2
- package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/perAction/HdrSqs/template.ejs +42 -21
- package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationshipComplete/functionYaml/data.js +3 -2
- package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationshipComplete/functionYaml/template.ejs +1 -1
- package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationshipComplete/handler/HdrSqs/data.js +0 -2
- package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrApi/data.js +3 -2
- package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrApi/template.ejs +1 -1
- package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrDsq/data.js +3 -2
- package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrDsq/template.ejs +1 -1
- package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrInv/data.js +3 -2
- package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrInv/template.ejs +1 -1
- package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrSqs/data.js +3 -2
- package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrSqs/template.ejs +1 -1
- package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/mainFunction/data.js +2 -0
- package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/mainFunction/template.ejs +1 -1
- package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/perAction/HdrApi/data.js +0 -2
- package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/perAction/HdrDsq/data.js +0 -2
- package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/perAction/HdrInv/data.js +0 -2
- package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/perAction/HdrSqs/data.js +0 -2
- package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationshipComplete/functionYaml/data.js +3 -2
- package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationshipComplete/functionYaml/template.ejs +1 -1
- package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationshipComplete/handler/HdrSqs/data.js +0 -2
- package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRalationshipComplete/functionYaml/data.js +3 -2
- package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRalationshipComplete/functionYaml/template.ejs +1 -1
- package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRalationshipComplete/handler/HdrSqs/data.js +0 -2
- package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrApi/data.js +3 -2
- package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrApi/template.ejs +1 -1
- package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrDsq/data.js +3 -2
- package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrDsq/template.ejs +1 -1
- package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrInv/data.js +4 -2
- package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrInv/template.ejs +1 -1
- package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrSqs/data.js +3 -2
- package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrSqs/template.ejs +1 -1
- package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/mainFunction/data.js +1 -1
- package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/mainFunction/template.ejs +1 -1
- package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/perAction/HdrApi/data.js +0 -2
- package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/perAction/HdrDsq/data.js +0 -2
- package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/perAction/HdrDsq/template.ejs +1 -1
- package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/perAction/HdrInv/data.js +0 -2
- package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/perAction/HdrSqs/data.js +0 -2
- package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/perAction/HdrSqs/template.ejs +1 -1
- package/src/TemplateManager/src/ResourceYaml/dynamodb/mainResourcePerObjectSchemaData.js +3 -3
- package/src/TemplateManager/src/ResourceYaml/sns-in-sqs/defaultSnsInSqsForFindDataAndProcessLogical.js +6 -6
- package/src/TemplateManager/src/ResourceYaml/sns-out/defaultSnsOutForFindDataAndProcessLogical.js +2 -2
- package/src/TemplateManager/src/TranslateIdReq/ProcessingTranslateIds/functionYaml/data.js +3 -2
- package/src/TemplateManager/src/TranslateIdReq/ProcessingTranslateIds/functionYaml/template.ejs +1 -1
- package/src/TemplateManager/src/TranslateIdReq/ProcessingTranslateIds/handler/dataHdrDsq.js +0 -2
- package/src/TemplateManager/src/TranslateIdReq/TranslateIds/functionYaml/HdrDsq/data.js +4 -3
- package/src/TemplateManager/src/TranslateIdReq/TranslateIds/functionYaml/HdrDsq/template.ejs +30 -0
- package/src/TemplateManager/src/TranslateIdReq/TranslateIds/functionYaml/HdrSqs/data.js +4 -3
- package/src/TemplateManager/src/TranslateIdReq/TranslateIds/functionYaml/HdrSqs/template.ejs +30 -0
- package/src/TemplateManager/src/TranslateIdReq/TranslateIds/handler/HdrDsq/data.js +0 -2
- package/src/TemplateManager/src/TranslateIdReq/TranslateIds/handler/HdrSqs/data.js +0 -2
- package/src/TemplateManager/src/externalService/FunctionNameConfig/template.ejs +13 -2
- package/src/TemplateManager/src/externalService/LambdaRole/data.js +39 -38
- package/src/TemplateManager/src/externalService/SnsTopicSubscriotions/template.ejs +19 -0
- package/src/TemplateManager/src/libs/Consts.js +28 -5
- package/src/TemplateManager/src/CreateRelationship/createRelationship/functionYaml/HdrApi/data.js +0 -119
|
@@ -39,7 +39,6 @@ function data(_izContext, srcPath) {
|
|
|
39
39
|
|
|
40
40
|
function createParamForCreateSource(srcPath) {
|
|
41
41
|
const functionName = FUNCTION_NAME.updateNodeComplete;
|
|
42
|
-
let functionNameConfig = upperCase(functionName)
|
|
43
42
|
|
|
44
43
|
return {
|
|
45
44
|
templatePath: templatePath,
|
|
@@ -47,10 +46,9 @@ function createParamForCreateSource(srcPath) {
|
|
|
47
46
|
functionName,
|
|
48
47
|
queueName: upperCase(functionName),
|
|
49
48
|
functionName,
|
|
50
|
-
functionNameConfig
|
|
51
49
|
},
|
|
52
50
|
setting: {
|
|
53
|
-
savePath: path.join(srcPath, SOURCE_PATH.
|
|
51
|
+
savePath: path.join(srcPath, SOURCE_PATH.outPerActionComplete),
|
|
54
52
|
saveFileName: `${upperCase(functionName)}_${upperCase(HANDLER.hdrSqs)}`,
|
|
55
53
|
fileExtension: ".js",
|
|
56
54
|
isAppend: false
|
|
@@ -42,7 +42,7 @@ function createMainFunctionUpdateComplete(_izContext, srcPath) {
|
|
|
42
42
|
templatePath: templatePath,
|
|
43
43
|
templateData: {},
|
|
44
44
|
setting: {
|
|
45
|
-
savePath: path.join(srcPath, SOURCE_PATH.
|
|
45
|
+
savePath: path.join(srcPath, SOURCE_PATH.outPerActionComplete),
|
|
46
46
|
saveFileName: `${upperCase(FUNCTION_NAME.updateNodeComplete)}_Main`,
|
|
47
47
|
fileExtension: ".js",
|
|
48
48
|
isAppend: false
|
package/src/TemplateManager/src/OutPerActionComplete/OutUpdateComplete/mainFunction/template.ejs
CHANGED
|
@@ -117,7 +117,11 @@ module.exports.updateNodeComplete = async (
|
|
|
117
117
|
})
|
|
118
118
|
)
|
|
119
119
|
|
|
120
|
-
return {
|
|
120
|
+
return {
|
|
121
|
+
objType: returnValue.objType,
|
|
122
|
+
objInstanceFull: returnValue.objInstanceFull,
|
|
123
|
+
errorsFound: errorsFound
|
|
124
|
+
}
|
|
121
125
|
|
|
122
126
|
} catch (err) {
|
|
123
127
|
_izContext.logger.error("error UpdateNodeComplete : ", err)
|
|
@@ -21,8 +21,8 @@ const fs = require('fs');
|
|
|
21
21
|
|
|
22
22
|
const { ACTIONS, HANDLER, STORAGE_TYPES } = require('@izara_project/izara-core-library-service-schemas/src/Consts')
|
|
23
23
|
|
|
24
|
-
const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase } = require("../../../../../MainLibs/src/Utils")
|
|
25
|
-
const { DEFAULT_HANDLER_PER_ACTION, createIamRole, resourceNames, RESOURCE_CLASSES, DEFAULT_LAMBDA_ROLE_PER_ACTION, SOURCE_PATH, SAVE_FILE_NAME, DYNAMO_RESOURCE, SNS_RESOURCE, FUNCTION_NAME, defaultIamRolePerAction, awaitingMultipleStepsRole } = require("../../../libs/Consts");
|
|
24
|
+
const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase, renameObjectType } = require("../../../../../MainLibs/src/Utils")
|
|
25
|
+
const { DEFAULT_HANDLER_PER_ACTION, createIamRole, resourceNames, RESOURCE_CLASSES, DEFAULT_LAMBDA_ROLE_PER_ACTION, SOURCE_PATH, SAVE_FILE_NAME, DYNAMO_RESOURCE, SNS_RESOURCE, FUNCTION_NAME, defaultIamRolePerAction, awaitingMultipleStepsRole, shortNameHandler } = require("../../../libs/Consts");
|
|
26
26
|
|
|
27
27
|
const templatePath = path.join(__dirname, "./template.ejs")
|
|
28
28
|
|
|
@@ -36,12 +36,14 @@ const templatePath = path.join(__dirname, "./template.ejs")
|
|
|
36
36
|
function data(_izContext, objectSchema, srcPath) {
|
|
37
37
|
let createSourceArray = [];
|
|
38
38
|
|
|
39
|
+
let newObjectSchema = renameObjectType(objectSchema, srcPath);
|
|
40
|
+
|
|
39
41
|
for (const action of Object.values(ACTIONS)) {
|
|
40
42
|
if (objectSchema.overWriteHandlers?.[action]) {
|
|
41
43
|
// if have overWriteHander of action check hdrApi inside
|
|
42
44
|
if (objectSchema.overWriteHandlers[action].includes(HANDLER.hdrApi)) {
|
|
43
45
|
// create template data
|
|
44
|
-
const createSourceParam = createParamForCreateSource(
|
|
46
|
+
const createSourceParam = createParamForCreateSource(newObjectSchema, action, srcPath)
|
|
45
47
|
createSourceArray.push(createSourceParam)
|
|
46
48
|
}
|
|
47
49
|
} else {
|
|
@@ -49,7 +51,7 @@ function data(_izContext, objectSchema, srcPath) {
|
|
|
49
51
|
const defaultHandler = DEFAULT_HANDLER_PER_ACTION[action]
|
|
50
52
|
if (defaultHandler.includes(HANDLER.hdrApi)) {
|
|
51
53
|
// create template data and object for create source
|
|
52
|
-
const createSourceParam = createParamForCreateSource(
|
|
54
|
+
const createSourceParam = createParamForCreateSource(newObjectSchema, action, srcPath)
|
|
53
55
|
createSourceArray.push(createSourceParam)
|
|
54
56
|
}
|
|
55
57
|
}
|
|
@@ -58,11 +60,14 @@ function data(_izContext, objectSchema, srcPath) {
|
|
|
58
60
|
}
|
|
59
61
|
|
|
60
62
|
function createParamForCreateSource(objectSchema, action, srcPath) {
|
|
61
|
-
let objectType = objectSchema.objectType
|
|
62
|
-
let functionName = objectType + upperCase(action);
|
|
63
|
+
let objectType = objectSchema.objectType
|
|
64
|
+
let functionName = upperCase(objectType) + upperCase(action);
|
|
63
65
|
let additionalResourcePermission = defaultIamRolePerAction();
|
|
64
66
|
let tableForGetItem = [];
|
|
65
67
|
let hasGraphStorage = false;
|
|
68
|
+
let functionNameObjectType = objectSchema?.shortNameObjectType ? objectSchema.shortNameObjectType : objectSchema.objectType
|
|
69
|
+
let functionNameConfig = upperCase(functionNameObjectType) + upperCase(action) + upperCase(shortNameHandler(HANDLER.hdrApi))
|
|
70
|
+
|
|
66
71
|
for (let storageResource of Object.values(objectSchema.storageResources)) {
|
|
67
72
|
if (storageResource.storageType === STORAGE_TYPES.dynamoDB) {
|
|
68
73
|
// add IamRole for dynamodb depend on tableName in storageResources of objectSchema
|
|
@@ -147,7 +152,8 @@ function createParamForCreateSource(objectSchema, action, srcPath) {
|
|
|
147
152
|
additionalResourcePermission,
|
|
148
153
|
event: event,
|
|
149
154
|
objectType: objectType,
|
|
150
|
-
action: action
|
|
155
|
+
action: action,
|
|
156
|
+
functionNameConfig
|
|
151
157
|
},
|
|
152
158
|
setting: {
|
|
153
159
|
savePath: path.join(srcPath, SOURCE_PATH.appYaml),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<%_ const join = require('path').join; _%>
|
|
2
|
-
<%- firstLetterUpperCase(
|
|
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
5
|
events:
|
|
@@ -21,8 +21,8 @@ const fs = require('fs');
|
|
|
21
21
|
|
|
22
22
|
const { ACTIONS, HANDLER, STORAGE_TYPES } = require('@izara_project/izara-core-library-service-schemas/src/Consts')
|
|
23
23
|
|
|
24
|
-
const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase } = require("../../../../../MainLibs/src/Utils")
|
|
25
|
-
const { DEFAULT_HANDLER_PER_ACTION, createIamRole, resourceNames, RESOURCE_CLASSES, DEFAULT_LAMBDA_ROLE_PER_ACTION, SQS_RESOURCE, SOURCE_PATH, SAVE_FILE_NAME, DYNAMO_RESOURCE, SNS_RESOURCE, FUNCTION_NAME, defaultIamRolePerAction, awaitingMultipleStepsRole } = require("../../../libs/Consts");
|
|
24
|
+
const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase, renameObjectType } = require("../../../../../MainLibs/src/Utils")
|
|
25
|
+
const { DEFAULT_HANDLER_PER_ACTION, createIamRole, resourceNames, RESOURCE_CLASSES, DEFAULT_LAMBDA_ROLE_PER_ACTION, SQS_RESOURCE, SOURCE_PATH, SAVE_FILE_NAME, DYNAMO_RESOURCE, SNS_RESOURCE, FUNCTION_NAME, defaultIamRolePerAction, awaitingMultipleStepsRole, shortNameHandler } = require("../../../libs/Consts");
|
|
26
26
|
|
|
27
27
|
const templatePath = path.join(__dirname, "./template.ejs")
|
|
28
28
|
|
|
@@ -36,12 +36,14 @@ const templatePath = path.join(__dirname, "./template.ejs")
|
|
|
36
36
|
function data(_izContext, objectSchema, srcPath) {
|
|
37
37
|
let createSourceArray = [];
|
|
38
38
|
|
|
39
|
+
let newObjectSchema = renameObjectType(objectSchema, srcPath)
|
|
40
|
+
|
|
39
41
|
for (const action of Object.values(ACTIONS)) {
|
|
40
42
|
if (objectSchema.overWriteHandlers?.[action]) {
|
|
41
43
|
// if have overWriteHander of action check hdrApi inside
|
|
42
44
|
if (objectSchema.overWriteHandlers[action].includes(HANDLER.hdrDsq)) {
|
|
43
45
|
// create template data
|
|
44
|
-
const createSourceParam = createParamForCreateSource(
|
|
46
|
+
const createSourceParam = createParamForCreateSource(newObjectSchema, action, srcPath)
|
|
45
47
|
createSourceArray.push(createSourceParam)
|
|
46
48
|
}
|
|
47
49
|
} else {
|
|
@@ -49,7 +51,7 @@ function data(_izContext, objectSchema, srcPath) {
|
|
|
49
51
|
const defaultHandler = DEFAULT_HANDLER_PER_ACTION[action]
|
|
50
52
|
if (defaultHandler.includes(HANDLER.hdrDsq)) {
|
|
51
53
|
// create template data and object for create source
|
|
52
|
-
const createSourceParam = createParamForCreateSource(
|
|
54
|
+
const createSourceParam = createParamForCreateSource(newObjectSchema, action, srcPath)
|
|
53
55
|
createSourceArray.push(createSourceParam)
|
|
54
56
|
}
|
|
55
57
|
}
|
|
@@ -60,9 +62,10 @@ function data(_izContext, objectSchema, srcPath) {
|
|
|
60
62
|
|
|
61
63
|
function createParamForCreateSource(objectSchema, action, srcPath) {
|
|
62
64
|
let objectType = objectSchema.objectType;
|
|
63
|
-
let
|
|
64
|
-
let
|
|
65
|
-
|
|
65
|
+
let functionName = upperCase(objectType) + upperCase(action);
|
|
66
|
+
let functionNameObjectType = objectSchema?.shortNameObjectType ? objectSchema.shortNameObjectType : objectSchema.objectType;
|
|
67
|
+
let functionNameConfig = upperCase(functionNameObjectType) + upperCase(action) + upperCase(shortNameHandler(HANDLER.hdrDsq))
|
|
68
|
+
console.log("functionNameConfigInFunctionYamlHdrDsq", functionNameConfig)
|
|
66
69
|
let additionalResourcePermission = defaultIamRolePerAction();
|
|
67
70
|
let tableForGetItem = [];
|
|
68
71
|
|
|
@@ -156,7 +159,8 @@ function createParamForCreateSource(objectSchema, action, srcPath) {
|
|
|
156
159
|
functionName: functionName,
|
|
157
160
|
resourceLocation: SOURCE_PATH.resourceLocationPerAction,
|
|
158
161
|
handlerType: HANDLER.hdrDsq,
|
|
159
|
-
additionalResourcePermission
|
|
162
|
+
additionalResourcePermission,
|
|
163
|
+
functionNameConfig
|
|
160
164
|
},
|
|
161
165
|
setting: {
|
|
162
166
|
savePath: path.join(srcPath, SOURCE_PATH.appYaml),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<%_ const join = require('path').join; _%>
|
|
2
|
-
<%- firstLetterUpperCase(
|
|
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
5
|
events:
|
|
@@ -21,8 +21,8 @@ const fs = require('fs');
|
|
|
21
21
|
|
|
22
22
|
const { ACTIONS, HANDLER, STORAGE_TYPES } = require('@izara_project/izara-core-library-service-schemas/src/Consts')
|
|
23
23
|
|
|
24
|
-
const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase } = require("../../../../../MainLibs/src/Utils")
|
|
25
|
-
const { DEFAULT_HANDLER_PER_ACTION, createIamRole, resourceNames, RESOURCE_CLASSES, DEFAULT_LAMBDA_ROLE_PER_ACTION, SOURCE_PATH, SAVE_FILE_NAME, DYNAMO_RESOURCE, SNS_RESOURCE, FUNCTION_NAME, defaultIamRolePerAction, awaitingMultipleStepsRole } = require('../../../libs/Consts');
|
|
24
|
+
const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase, renameObjectType } = require("../../../../../MainLibs/src/Utils")
|
|
25
|
+
const { DEFAULT_HANDLER_PER_ACTION, createIamRole, resourceNames, RESOURCE_CLASSES, DEFAULT_LAMBDA_ROLE_PER_ACTION, SOURCE_PATH, SAVE_FILE_NAME, DYNAMO_RESOURCE, SNS_RESOURCE, FUNCTION_NAME, defaultIamRolePerAction, awaitingMultipleStepsRole, shortNameHandler } = require('../../../libs/Consts');
|
|
26
26
|
|
|
27
27
|
const templatePath = path.join(__dirname, "./template.ejs")
|
|
28
28
|
|
|
@@ -34,20 +34,15 @@ const templatePath = path.join(__dirname, "./template.ejs")
|
|
|
34
34
|
* @return {{ templatePath, templateData, setting } }
|
|
35
35
|
*/
|
|
36
36
|
function data(_izContext, objectSchema, srcPath) {
|
|
37
|
-
|
|
38
|
-
// const shortNamePath = path.join(srcPath, "./schemas/ShortNameObjectType.js");
|
|
39
|
-
// const shortName = fs.existsSync(shortNamePath) ? require(shortNamePath) : {};
|
|
40
|
-
// console.log("objectSchema in mainFunction: ", objectSchema)
|
|
41
|
-
|
|
42
|
-
|
|
43
37
|
let createSourceArray = [];
|
|
38
|
+
let newObjectSchema = renameObjectType(objectSchema, srcPath);
|
|
44
39
|
|
|
45
40
|
for (const action of Object.values(ACTIONS)) {
|
|
46
41
|
if (objectSchema.overWriteHandlers?.[action]) {
|
|
47
42
|
// if have overWriteHander of action check hdrInv inside
|
|
48
43
|
if (objectSchema.overWriteHandlers[action].includes(HANDLER.hdrInv)) {
|
|
49
44
|
// create template data
|
|
50
|
-
const createSourceParam = createParamForCreateSource(
|
|
45
|
+
const createSourceParam = createParamForCreateSource(newObjectSchema, action, srcPath)
|
|
51
46
|
createSourceArray.push(createSourceParam)
|
|
52
47
|
}
|
|
53
48
|
} else {
|
|
@@ -55,7 +50,7 @@ function data(_izContext, objectSchema, srcPath) {
|
|
|
55
50
|
const defaultHandler = DEFAULT_HANDLER_PER_ACTION[action]
|
|
56
51
|
if (defaultHandler.includes(HANDLER.hdrInv)) {
|
|
57
52
|
// create template data and object for create source
|
|
58
|
-
const createSourceParam = createParamForCreateSource(
|
|
53
|
+
const createSourceParam = createParamForCreateSource(newObjectSchema, action, srcPath)
|
|
59
54
|
createSourceArray.push(createSourceParam)
|
|
60
55
|
}
|
|
61
56
|
}
|
|
@@ -66,9 +61,10 @@ function data(_izContext, objectSchema, srcPath) {
|
|
|
66
61
|
|
|
67
62
|
|
|
68
63
|
function createParamForCreateSource(objectSchema, action, srcPath) {
|
|
64
|
+
let functionNameObjectType = objectSchema?.shortNameObjectType ? objectSchema.shortNameObjectType : objectSchema.objectType;
|
|
69
65
|
let objectType = objectSchema.objectType;
|
|
70
66
|
let actionHandler = action;
|
|
71
|
-
let functionName = objectType + upperCase(actionHandler);
|
|
67
|
+
let functionName = upperCase(objectType) + upperCase(actionHandler);
|
|
72
68
|
let additionalResourcePermission = defaultIamRolePerAction();
|
|
73
69
|
let tableForGetItem = [];
|
|
74
70
|
|
|
@@ -144,7 +140,9 @@ function createParamForCreateSource(objectSchema, action, srcPath) {
|
|
|
144
140
|
resourceLocation: SOURCE_PATH.resourceLocationPerAction,
|
|
145
141
|
handlerType: HANDLER.hdrInv,
|
|
146
142
|
additionalResourcePermission,
|
|
147
|
-
objectType
|
|
143
|
+
objectType,
|
|
144
|
+
// functionNameConfig: upperCase(objectType) + upperCase(action) + upperCase(shortNameHandler(HANDLER.hdrInv))
|
|
145
|
+
functionNameConfig: upperCase(functionNameObjectType) + upperCase(action) + upperCase(shortNameHandler(HANDLER.hdrInv))
|
|
148
146
|
},
|
|
149
147
|
setting: {
|
|
150
148
|
savePath: path.join(srcPath, SOURCE_PATH.appYaml),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<%_ const join = require('path').join; _%>
|
|
2
|
-
<%- firstLetterUpperCase(
|
|
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
5
|
iamRoleStatements:
|
|
@@ -21,8 +21,8 @@ const fs = require('fs');
|
|
|
21
21
|
|
|
22
22
|
const { ACTIONS, HANDLER, STORAGE_TYPES } = require('@izara_project/izara-core-library-service-schemas/src/Consts')
|
|
23
23
|
|
|
24
|
-
const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase } = require("../../../../../MainLibs/src/Utils")
|
|
25
|
-
const { DEFAULT_HANDLER_PER_ACTION, createIamRole, resourceNames, RESOURCE_CLASSES, DEFAULT_LAMBDA_ROLE_PER_ACTION, SQS_RESOURCE, SOURCE_PATH, SAVE_FILE_NAME, SNS_RESOURCE, FUNCTION_NAME, DYNAMO_RESOURCE, defaultIamRolePerAction, awaitingMultipleStepsRole } = require("../../../libs/Consts");
|
|
24
|
+
const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase, renameObjectType } = require("../../../../../MainLibs/src/Utils")
|
|
25
|
+
const { DEFAULT_HANDLER_PER_ACTION, createIamRole, resourceNames, RESOURCE_CLASSES, DEFAULT_LAMBDA_ROLE_PER_ACTION, SQS_RESOURCE, SOURCE_PATH, SAVE_FILE_NAME, SNS_RESOURCE, FUNCTION_NAME, DYNAMO_RESOURCE, defaultIamRolePerAction, awaitingMultipleStepsRole, shortNameHandler } = require("../../../libs/Consts");
|
|
26
26
|
|
|
27
27
|
const templatePath = path.join(__dirname, "./template.ejs")
|
|
28
28
|
|
|
@@ -35,12 +35,13 @@ const templatePath = path.join(__dirname, "./template.ejs")
|
|
|
35
35
|
*/
|
|
36
36
|
function data(_izContext, objectSchema, srcPath) {
|
|
37
37
|
let createSourceArray = [];
|
|
38
|
+
let newObjectSchema = renameObjectType(objectSchema, srcPath)
|
|
38
39
|
for (const action of Object.values(ACTIONS)) {
|
|
39
40
|
if (objectSchema.overWriteHandlers?.[action]) {
|
|
40
41
|
// if have overWriteHander of action check hdrApi inside
|
|
41
42
|
if (objectSchema.overWriteHandlers[action].includes(HANDLER.hdrSqs)) {
|
|
42
43
|
// create template data
|
|
43
|
-
const createSourceParam = createParamForCreateSource(
|
|
44
|
+
const createSourceParam = createParamForCreateSource(newObjectSchema, action, srcPath)
|
|
44
45
|
createSourceArray.push(createSourceParam)
|
|
45
46
|
}
|
|
46
47
|
} else {
|
|
@@ -48,7 +49,7 @@ function data(_izContext, objectSchema, srcPath) {
|
|
|
48
49
|
const defaultHandler = DEFAULT_HANDLER_PER_ACTION[action]
|
|
49
50
|
if (defaultHandler.includes(HANDLER.hdrSqs)) {
|
|
50
51
|
// create template data and object for create source
|
|
51
|
-
const createSourceParam = createParamForCreateSource(
|
|
52
|
+
const createSourceParam = createParamForCreateSource(newObjectSchema, action, srcPath)
|
|
52
53
|
createSourceArray.push(createSourceParam)
|
|
53
54
|
}
|
|
54
55
|
}
|
|
@@ -61,10 +62,13 @@ function data(_izContext, objectSchema, srcPath) {
|
|
|
61
62
|
function createParamForCreateSource(objectSchema, action, srcPath) {
|
|
62
63
|
let objectType = objectSchema.objectType;
|
|
63
64
|
let actionHandler = action;
|
|
64
|
-
let functionName = objectType + upperCase(actionHandler);
|
|
65
|
+
let functionName = upperCase(objectType) + upperCase(actionHandler);
|
|
65
66
|
let additionalResourcePermission = defaultIamRolePerAction();
|
|
66
67
|
let tableForGetItem = [];
|
|
67
68
|
let hasGraphStorage = false;
|
|
69
|
+
let functionNameObjectType = objectSchema?.shortNameObjectType ? objectSchema.shortNameObjectType : objectSchema.objectType
|
|
70
|
+
let functionNameConfig = upperCase(functionNameObjectType) + upperCase(action) + upperCase(shortNameHandler(HANDLER.hdrSqs))
|
|
71
|
+
|
|
68
72
|
for (let storageResource of Object.values(objectSchema.storageResources)) {
|
|
69
73
|
if (storageResource.storageType === STORAGE_TYPES.dynamoDB) {
|
|
70
74
|
// add IamRole for dynamodb depend on tableName in storageResources of objectSchema
|
|
@@ -104,8 +108,8 @@ function createParamForCreateSource(objectSchema, action, srcPath) {
|
|
|
104
108
|
SQS_RESOURCE.getQueueUrl
|
|
105
109
|
], [RESOURCE_CLASSES.sns]: ["Publish", "Subscribe"]
|
|
106
110
|
}, [
|
|
107
|
-
resourceNames(RESOURCE_CLASSES.sqs, functionName),
|
|
108
|
-
resourceNames(RESOURCE_CLASSES.sqs, functionName + "DLQ"),
|
|
111
|
+
resourceNames(RESOURCE_CLASSES.sqs, functionName + upperCase(HANDLER.hdrSqs)),
|
|
112
|
+
resourceNames(RESOURCE_CLASSES.sqs, functionName + upperCase(HANDLER.hdrSqs) + "DLQ"),
|
|
109
113
|
resourceNames(RESOURCE_CLASSES.sns, "In" + functionName),
|
|
110
114
|
resourceNames(RESOURCE_CLASSES.sns, "Out" + functionName)
|
|
111
115
|
]
|
|
@@ -156,7 +160,8 @@ function createParamForCreateSource(objectSchema, action, srcPath) {
|
|
|
156
160
|
actionHandler: actionHandler,
|
|
157
161
|
resourceLocation: SOURCE_PATH.resourceLocationPerAction,
|
|
158
162
|
handlerType: HANDLER.hdrSqs,
|
|
159
|
-
additionalResourcePermission
|
|
163
|
+
additionalResourcePermission,
|
|
164
|
+
functionNameConfig
|
|
160
165
|
},
|
|
161
166
|
setting: {
|
|
162
167
|
savePath: path.join(srcPath, SOURCE_PATH.appYaml),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<%_ const join = require('path').join; _%>
|
|
2
|
-
<%- firstLetterUpperCase(
|
|
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
5
|
events:
|
|
@@ -62,7 +62,6 @@ function data(_izContext, objectSchema, srcPath) {
|
|
|
62
62
|
function createParamForCreateSource(objectSchema, action, handler, srcPath) {
|
|
63
63
|
let objectType = objectSchema.objectType;
|
|
64
64
|
let functionName = objectType + firstLetterUpperCase(action);
|
|
65
|
-
let functionNameConfig = `${objectType + upperCase(action)}${upperCase(handler)}`
|
|
66
65
|
return {
|
|
67
66
|
templatePath: templatePath,
|
|
68
67
|
templateData: {
|
|
@@ -70,7 +69,6 @@ function createParamForCreateSource(objectSchema, action, handler, srcPath) {
|
|
|
70
69
|
objectType: objectType,
|
|
71
70
|
action: action,
|
|
72
71
|
isCreateMainFunction: checkOverWriteGenerateMainFunction(objectSchema, action),
|
|
73
|
-
functionNameConfig
|
|
74
72
|
},
|
|
75
73
|
setting: {
|
|
76
74
|
savePath: path.join(srcPath, SOURCE_PATH.lambdaPerAction),
|
|
@@ -62,7 +62,6 @@ function createParamForCreateSourceHandlerGet(objectSchema, action, handler, src
|
|
|
62
62
|
let objectType = objectSchema.objectType;
|
|
63
63
|
let functionName = objectType + upperCase(action);
|
|
64
64
|
let queueName = objectType + firstLetterUpperCase(action) + upperCase(handler);
|
|
65
|
-
let functionNameConfig = `${objectType + upperCase(action)}${upperCase(handler)}`
|
|
66
65
|
return {
|
|
67
66
|
templatePath: templatePath,
|
|
68
67
|
templateData: {
|
|
@@ -71,7 +70,7 @@ function createParamForCreateSourceHandlerGet(objectSchema, action, handler, src
|
|
|
71
70
|
queueName,
|
|
72
71
|
action,
|
|
73
72
|
isCreateMainFunction: checkOverWriteGenerateMainFunction(objectSchema, action),
|
|
74
|
-
|
|
73
|
+
handler
|
|
75
74
|
},
|
|
76
75
|
setting: {
|
|
77
76
|
savePath: path.join(srcPath, SOURCE_PATH.lambdaPerAction),
|
|
@@ -18,12 +18,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
18
18
|
'use strict';
|
|
19
19
|
const izara = require("@izara_project/izara-middleware");
|
|
20
20
|
const middleware = izara.middlewareHandler;
|
|
21
|
-
const callingFlowSharedLib = require('@izara_project/izara-shared/src/CallingFlowSharedLib')
|
|
22
|
-
const recordHandlerSharedLib = require('@izara_project/izara-shared').recordHandlerSharedLib;
|
|
23
|
-
const {
|
|
24
|
-
validateSchemaMiddleware
|
|
25
|
-
} = require('@izara_project/izara-market-library-service-schemas/src/GenerateCodeLibs/src/GenerateCodeLibs');
|
|
21
|
+
const callingFlowSharedLib = require('@izara_project/izara-shared/src/CallingFlowSharedLib')
|
|
26
22
|
const Logger = require('@izara_project/izara-core-library-logger');
|
|
23
|
+
const {validateSchemaPerRecord} = require('@izara_project/izara-market-library-service-schemas/src/GenerateCodeLibs/src/GenerateCodeLibs')
|
|
24
|
+
const recordHandlerSharedLib = require('@izara_project/izara-shared').recordHandlerSharedLib
|
|
27
25
|
|
|
28
26
|
<%_ if (isCreateMainFunction == true) { _%>
|
|
29
27
|
// user generate main function
|
|
@@ -31,78 +29,96 @@ const Logger = require('@izara_project/izara-core-library-logger');
|
|
|
31
29
|
const <%- functionName %> =require('./<%- firstLetterUpperCase(objectType) %><%- firstLetterUpperCase(action) %>_Main')
|
|
32
30
|
<%_ } _%>
|
|
33
31
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
middleware,
|
|
37
|
-
"<%- firstLetterUpperCase(objectType) %>",
|
|
38
|
-
"<%- action %>"
|
|
39
|
-
//(<validateSchemaSetting>
|
|
40
|
-
//</validateSchemaSetting>)
|
|
41
|
-
)
|
|
42
|
-
// if need to validate authorizer or additional params , add code to hook tag below
|
|
32
|
+
//(<globalVarible>
|
|
33
|
+
//</globalVarible>)
|
|
43
34
|
|
|
44
|
-
|
|
45
|
-
|
|
35
|
+
//validate event params in middleware before into main function
|
|
36
|
+
middleware.setValidatorSchema(
|
|
37
|
+
recordHandlerSharedLib.baseValidatorSchema(),
|
|
38
|
+
//(<middlewareSettings>)
|
|
39
|
+
//(</middlewareSettings>)
|
|
40
|
+
)
|
|
46
41
|
|
|
47
|
-
|
|
42
|
+
//(<globalValidatorSchema>)
|
|
43
|
+
const perRecordsValidatorSchema = {
|
|
44
|
+
type: "object",
|
|
45
|
+
required: [],
|
|
46
|
+
properties: {},
|
|
47
|
+
}
|
|
48
|
+
//(</globalValidatorSchema>)
|
|
48
49
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
let recordPromises = []; // final return
|
|
52
|
-
|
|
53
|
-
// loop each record and send to mainFunction
|
|
54
|
-
await Promise.all(event.Records.map(async record => { // promise.all for map() function
|
|
50
|
+
// if need to validate authorizer or additional params , add code to hook tag below
|
|
55
51
|
|
|
56
|
-
|
|
57
|
-
record = recordHandlerSharedLib.reformatDsqMessage(record._izContext, record);
|
|
58
|
-
record._izContext.logger.debug('record LambdaFunctionHdrDsq after reform', record);
|
|
52
|
+
module.exports.main = middleware.wrap(async (event,context, callback) => {
|
|
59
53
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
// --- validate message (and MessageAttributes)
|
|
63
|
-
await recordHandlerSharedLib.validateRecord(
|
|
64
|
-
record, // one record will send to mainFunction
|
|
65
|
-
"<%- queueName %>", // queue name that need to retry or send to dlq
|
|
66
|
-
perRecordsValidatorSchema, // schema for record.Message
|
|
67
|
-
// messageAttributeValidatorSchema // ----- for msgAttr default is null -> do not send this parameter if not want to validate msgAtt
|
|
68
|
-
);
|
|
54
|
+
try {
|
|
69
55
|
|
|
70
|
-
|
|
71
|
-
|
|
56
|
+
let recordPromises = [];
|
|
57
|
+
|
|
58
|
+
await Promise.all(event.Records.map(async record => {
|
|
59
|
+
record._izContext.logger.debug('record RecieveMsgOutHdrSqs', record);
|
|
60
|
+
|
|
61
|
+
let passOnProperties = [];
|
|
62
|
+
|
|
63
|
+
const OBJTYPE = {
|
|
64
|
+
objectType: "<%- objectType %>",
|
|
65
|
+
serviceTag: process.env.iz_serviceTag
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
await validateSchemaPerRecord(
|
|
69
|
+
record,
|
|
70
|
+
"<%- functionName %><%- firstLetterUpperCase(handler) %>",
|
|
71
|
+
"OBJTYPE,
|
|
72
|
+
<%- action %>"
|
|
73
|
+
//(<validateSchemaSetting>)
|
|
74
|
+
//(</validateSchemaSetting>)
|
|
75
|
+
)
|
|
76
|
+
|
|
77
|
+
//for validate additional params
|
|
78
|
+
//(<afterGenerateValidatorSchema>)
|
|
79
|
+
/*
|
|
80
|
+
await recordHandlerSharedLib.validateRecord(
|
|
81
|
+
record,
|
|
82
|
+
"<%- functionName %><%- firstLetterUpperCase(handler) %>",
|
|
83
|
+
perRecordsValidatorSchema
|
|
84
|
+
);
|
|
85
|
+
*/
|
|
86
|
+
//(</afterGenerateValidatorSchema>)
|
|
87
|
+
|
|
88
|
+
//(<additionalParams>)
|
|
89
|
+
//(</additionalParams>)
|
|
90
|
+
|
|
91
|
+
passOnProperties.push(record.body.Message);
|
|
92
|
+
passOnProperties.push(callingFlowSharedLib.addCallingFlowToPassOnProperties(record.body.Message));
|
|
72
93
|
record._izContext.logger.debug('passOnProperties in handler', passOnProperties);
|
|
73
94
|
|
|
74
|
-
// call recordHandlerSharedLib.recordHandler with 3 parameters and return promise(resolve)
|
|
75
95
|
let recordPromise = recordHandlerSharedLib.recordHandler(
|
|
76
|
-
record,
|
|
77
|
-
<%- functionName %>.<%- functionName %>Main,
|
|
78
|
-
|
|
79
|
-
passOnProperties
|
|
96
|
+
record,
|
|
97
|
+
<%- functionName %>.<%- functionName %>Main, // mainFunction
|
|
98
|
+
'<%- firstLetterUpperCase(queueName) %>', // queueName
|
|
99
|
+
passOnProperties
|
|
80
100
|
);
|
|
81
|
-
record._izContext.logger.debug('after
|
|
82
|
-
recordPromises.push(recordPromise);
|
|
83
|
-
}))
|
|
101
|
+
record._izContext.logger.debug('after record Promise in handler');
|
|
102
|
+
recordPromises.push(recordPromise);
|
|
103
|
+
}))
|
|
84
104
|
|
|
85
|
-
Logger.debug('before Promise.all(
|
|
105
|
+
Logger.debug('before Promise.all(recordPromise) in handler');
|
|
86
106
|
try {
|
|
87
|
-
await Promise.all(recordPromises);
|
|
88
|
-
return event.Records // return all for local test
|
|
89
|
-
} catch {
|
|
90
|
-
Logger.debug('Promise.all(recordPromises) in handler threw error (at least one record did no resolve)');
|
|
91
|
-
}
|
|
92
|
-
Logger.debug('after Promise.all(recordPromises) in handler');
|
|
93
|
-
} catch (err) {
|
|
94
|
-
Logger.error('Unhandled Error, <%- firstLetterUpperCase(objectType) %><%- firstLetterUpperCase(action) %>Dsq :', err);
|
|
95
|
-
throw (err);
|
|
96
|
-
}
|
|
97
|
-
})
|
|
98
|
-
|
|
99
|
-
|
|
107
|
+
await Promise.all(recordPromises);
|
|
100
108
|
|
|
109
|
+
return event.Records
|
|
110
|
+
} catch {
|
|
111
|
+
Logger.debug('Promise.all(recordPromises) in handler threw error (at least one record did no resolve)');
|
|
112
|
+
}
|
|
113
|
+
Logger.debug('after Promise.all(recordPromises) in handler');
|
|
101
114
|
|
|
115
|
+
} catch (err) {
|
|
116
|
+
Logger.debug('unhandled error <%- functionName %><%- handler %>')
|
|
117
|
+
throw err
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
)
|
|
102
121
|
|
|
103
122
|
<%_ function firstLetterUpperCase(text){
|
|
104
123
|
return text.charAt(0).toUpperCase() + text.slice(1)
|
|
105
124
|
} _%>
|
|
106
|
-
<%_ function firstLetterLowerCase(str) {
|
|
107
|
-
return str.charAt(0).toLowerCase() + str.slice(1)
|
|
108
|
-
} _%>
|
|
@@ -63,7 +63,6 @@ function data(_izContext, objectSchema, srcPath) {
|
|
|
63
63
|
function createParamForCreateHandlerGet(objectSchema, action, handler, srcPath) {
|
|
64
64
|
let objectType = objectSchema.objectType;
|
|
65
65
|
let functionName = objectType + upperCase(action);
|
|
66
|
-
let functionNameConfig = `${objectType + upperCase(action)}${upperCase(handler)}`
|
|
67
66
|
return {
|
|
68
67
|
templatePath: templatePath,
|
|
69
68
|
templateData: {
|
|
@@ -71,7 +70,6 @@ function createParamForCreateHandlerGet(objectSchema, action, handler, srcPath)
|
|
|
71
70
|
objectType: objectType,
|
|
72
71
|
action: action,
|
|
73
72
|
isCreateMainFunction: checkOverWriteGenerateMainFunction(objectSchema, action),
|
|
74
|
-
functionNameConfig
|
|
75
73
|
},
|
|
76
74
|
setting: {
|
|
77
75
|
savePath: path.join(srcPath, SOURCE_PATH.lambdaPerAction),
|
|
@@ -40,12 +40,11 @@ const {
|
|
|
40
40
|
//validate event params in middleware before into function
|
|
41
41
|
validateSchemaMiddleware(
|
|
42
42
|
middleware,
|
|
43
|
-
"<%- firstLetterUpperCase(objectType) %>",
|
|
43
|
+
"<%- firstLetterUpperCase(objectType) %>", // objectType
|
|
44
44
|
"<%- action %>", // action
|
|
45
45
|
//(<validateSchemaSetting>)
|
|
46
46
|
//(</validateSchemaSetting>)
|
|
47
47
|
)
|
|
48
|
-
|
|
49
48
|
// if need to validate authorizer or additional params, add code to hook tag below
|
|
50
49
|
|
|
51
50
|
//(<afterValidateWithGenereatedSchema>)
|
|
@@ -61,8 +61,7 @@ function data(_izContext, objectSchema, srcPath) {
|
|
|
61
61
|
function createParamForCreateSourceGetHandler(objectSchema, action, handler, srcPath) {
|
|
62
62
|
let objectType = objectSchema.objectType;
|
|
63
63
|
let functionName = objectType + firstLetterUpperCase(action);
|
|
64
|
-
let queueName = functionName + handler;
|
|
65
|
-
let functionNameConfig = `${objectType + upperCase(action)}${upperCase(handler)}`
|
|
64
|
+
let queueName = functionName + upperCase(handler);
|
|
66
65
|
return {
|
|
67
66
|
templatePath: templatePath,
|
|
68
67
|
templateData: {
|
|
@@ -71,7 +70,7 @@ function createParamForCreateSourceGetHandler(objectSchema, action, handler, src
|
|
|
71
70
|
queueName,
|
|
72
71
|
action,
|
|
73
72
|
isCreateMainFunction: checkOverWriteGenerateMainFunction(objectSchema, action),
|
|
74
|
-
|
|
73
|
+
handler
|
|
75
74
|
},
|
|
76
75
|
setting: {
|
|
77
76
|
savePath: path.join(srcPath, SOURCE_PATH.lambdaPerAction),
|