@izara_project/izara-market-library-service-schemas 1.0.52 → 1.0.54
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/GenerateCodeLibs.js +1 -1
- package/src/reStructure/TemplateConfig.js +4 -1
- package/src/reStructure/TemplateData/Auth/generateAuthYml/data.js +58 -0
- package/src/reStructure/TemplateData/Auth/generateAuthYml/template.ejs +17 -0
- package/src/reStructure/TemplateData/Auth/generateTemplateData.js +51 -0
- package/src/reStructure/TemplateData/EndpointPerService/handler/api/template.ejs +2 -1
- package/src/reStructure/TemplateData/EndpointPerService/handler/dsq/template.ejs +2 -1
- package/src/reStructure/TemplateData/EndpointPerService/handler/inv/template.ejs +2 -0
- package/src/reStructure/TemplateData/EndpointPerService/handler/sqs/template.ejs +2 -0
- package/src/reStructure/TemplateData/EndpointPerService/mainFunction/create/template.ejs +52 -41
- package/src/reStructure/TemplateData/EndpointPerService/mainFunction/delete/template.ejs +3 -1
- package/src/reStructure/TemplateData/EndpointPerService/mainFunction/get/template.ejs +4 -4
- package/src/reStructure/TemplateData/EndpointPerService/mainFunction/update/template.ejs +4 -1
- package/src/reStructure/TemplateData/EndpointPerService/yaml/data.js +2 -2
- package/src/reStructure/TemplateData/EndpointPerService/yaml/template.ejs +12 -14
- package/src/reStructure/TemplateData/externalService/lambdaRole/data.js +22 -6
- package/src/reStructure/TemplateData/externalService/snsTopicSubscriptions/template.ejs +2 -2
- package/src/reStructure/TemplateData/flowSchema/externalTopic/Process/functionYaml/data.js +13 -10
- package/src/reStructure/TemplateData/flowSchema/externalTopic/Process/handler/data.js +1 -46
- package/src/reStructure/TemplateData/flowSchema/externalTopic/Process/handler/template.ejs +4 -1
- package/src/reStructure/TemplateData/flowSchema/externalTopic/sns-in-sqs/data.js +8 -12
- package/src/reStructure/TemplateData/flowSchema/{flowSchemaOwnTopic/EndpointComponent/mainFunction → flowSchemaMainFunction}/data.js +5 -5
- package/src/reStructure/TemplateData/flowSchema/{flowSchemaOwnTopic/EndpointComponent/mainFunction → flowSchemaMainFunction}/template.ejs +7 -12
- package/src/reStructure/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComponent/functionYaml/data.js +12 -8
- package/src/reStructure/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComponent/handler/template.ejs +6 -2
- package/src/reStructure/TemplateData/flowSchema/flowSchemaOwnTopic/FlowSchemaComponent/functionYaml/data.js +1 -1
- package/src/reStructure/TemplateData/flowSchema/flowSchemaOwnTopic/FlowSchemaComponent/handler/data.js +1 -1
- package/src/reStructure/TemplateData/flowSchema/flowSchemaOwnTopic/FlowSchemaComponent/handler/template.ejs +1 -1
- package/src/reStructure/TemplateData/flowSchema/flowSchemaOwnTopic/FlowSchemaComponent/mainFunction/data.js +1 -1
- package/src/reStructure/TemplateData/flowSchema/flowSchemaOwnTopic/FlowSchemaComponent/mainFunction/template.ejs +1 -1
- package/src/reStructure/TemplateData/flowSchema/flowStep/functionYaml/data.js +1 -1
- package/src/reStructure/TemplateData/flowSchema/flowStep/handler/template.ejs +7 -1
- package/src/reStructure/TemplateData/flowSchema/flowStep/mainFunction/data.js +2 -2
- package/src/reStructure/TemplateData/flowSchema/flowStep/mainFunction/template.ejs +2 -7
- package/src/reStructure/TemplateData/flowSchema/generateTemplateData.js +37 -24
- package/src/reStructure/TemplateData/flowSchema/lambdaSync/Api/functionYaml/data.js +79 -0
- package/src/reStructure/TemplateData/flowSchema/lambdaSync/{functionYaml/templateApi.ejs → Api/functionYaml/template.ejs} +11 -5
- package/src/reStructure/TemplateData/flowSchema/lambdaSync/{handler → Api/handler}/data.js +7 -33
- package/src/reStructure/TemplateData/flowSchema/lambdaSync/{handler/templateApi.ejs → Api/handler/template.ejs} +28 -24
- package/src/reStructure/TemplateData/flowSchema/lambdaSync/Inv/functionYaml/data.js +78 -0
- package/src/reStructure/TemplateData/flowSchema/lambdaSync/Inv/handler/data.js +58 -0
- package/src/reStructure/TemplateData/flowSchema/lambdaSync/{handler/templateInv.ejs → Inv/handler/template.ejs} +11 -5
- package/src/reStructure/TemplateData/flowSchema/webSocketComplete/functionYaml/data.js +15 -7
- package/src/reStructure/TemplateData/propertyValueSchema/relationshipPropertyValueSchema/data.js +1 -1
- package/src/reStructure/TemplateData/relationshipPerAction/create/action/mainFunction/template.ejs +9 -1
- package/src/reStructure/TemplateData/relationshipPerAction/create/complete/mainFunction/template.ejs +5 -1
- package/src/reStructure/TemplateData/relationshipPerAction/get/action/mainFunction/template.ejs +9 -10
- package/src/reStructure/TemplateData/flowSchema/externalTopic/Process/mainFunction/data.js +0 -75
- package/src/reStructure/TemplateData/flowSchema/externalTopic/Process/mainFunction/template.ejs +0 -98
- package/src/reStructure/TemplateData/flowSchema/externalTopic/sns-in-sqs/sqsTemplate.ejs +0 -52
- package/src/reStructure/TemplateData/flowSchema/lambdaSync/functionYaml/data.js +0 -128
- package/src/reStructure/TemplateData/flowSchema/lambdaSync/mainFunction/data.js +0 -74
- package/src/reStructure/TemplateData/flowSchema/lambdaSync/mainFunction/template.ejs +0 -96
- /package/src/reStructure/TemplateData/flowSchema/lambdaSync/{functionYaml/templateInv.ejs → Inv/functionYaml/template.ejs} +0 -0
- /package/src/reStructure/TemplateData/flowSchema/{templateBystatusType → templateByStatusType}/statusFieldTemplate.ejs +0 -0
- /package/src/reStructure/TemplateData/flowSchema/{templateBystatusType → templateByStatusType}/storedCacheTemplate.ejs +0 -0
- /package/src/reStructure/TemplateData/flowSchema/{templateBystatusType → templateByStatusType}/triggerCacheTemplate.ejs +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@izara_project/izara-market-library-service-schemas",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.54",
|
|
4
4
|
"description": "Schemas for Izara Market project",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -14,21 +14,21 @@
|
|
|
14
14
|
"license": "AGPL-3.0-or-later",
|
|
15
15
|
"homepage": "https://bitbucket.org/izara-market-libraries/izara-market-library-service-schemas/src/master/README.md",
|
|
16
16
|
"devDependencies": {
|
|
17
|
-
"jest": "^30.0.
|
|
17
|
+
"jest": "^30.0.5"
|
|
18
18
|
},
|
|
19
19
|
"jest": {
|
|
20
20
|
"testEnvironment": "node"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"@izara_project/izara-core-library-calling-flow": "^1.0.3",
|
|
24
|
-
"@izara_project/izara-core-library-core": "^1.0.
|
|
24
|
+
"@izara_project/izara-core-library-core": "^1.0.20",
|
|
25
25
|
"@izara_project/izara-core-library-external-request": "^1.0.20",
|
|
26
26
|
"@izara_project/izara-core-library-logger": "^1.0.7",
|
|
27
|
-
"@izara_project/izara-core-library-service-schemas": "^1.0.
|
|
27
|
+
"@izara_project/izara-core-library-service-schemas": "^1.0.84",
|
|
28
28
|
"@izara_project/izara-core-library-sns": "^1.0.6",
|
|
29
29
|
"@izara_project/izara-core-library-sqs": "^1.0.4",
|
|
30
30
|
"@izara_project/izara-shared": "^1.0.126",
|
|
31
|
-
"@izara_project/izara-shared-service-schemas": "^1.0.
|
|
31
|
+
"@izara_project/izara-shared-service-schemas": "^1.0.26",
|
|
32
32
|
"@izara_project/izara-shared-core": "^1.0.2",
|
|
33
33
|
"ejs": "^3.1.10",
|
|
34
34
|
"js-beautify": "^1.15.4",
|
|
@@ -108,7 +108,7 @@ async function validateSchemaPerRecord(
|
|
|
108
108
|
lambdaFunctionName,
|
|
109
109
|
objType,
|
|
110
110
|
action,
|
|
111
|
-
setting = { bucketName: consts.OBJECT_SCHEMA_BUCKET_NAME }
|
|
111
|
+
setting = { bucketName: consts.OBJECT_SCHEMA_BUCKET_NAME, specificFieldNames: [] }
|
|
112
112
|
) {
|
|
113
113
|
try {
|
|
114
114
|
record._izContext.logger.debug("validateSchemaPerRecord: ",
|
|
@@ -47,7 +47,10 @@ module.exports = {
|
|
|
47
47
|
flowSchema: './TemplateData/flowSchema/generateTemplateData.js',
|
|
48
48
|
|
|
49
49
|
// ** endpoint per service **
|
|
50
|
-
endpointPerServiceConfig: './TemplateData/EndpointPerService/generateTemplateData.js'
|
|
50
|
+
endpointPerServiceConfig: './TemplateData/EndpointPerService/generateTemplateData.js',
|
|
51
|
+
|
|
52
|
+
// ** Auth **
|
|
53
|
+
auth: "./TemplateData/Auth/generateTemplateData.js"
|
|
51
54
|
},
|
|
52
55
|
Plugin: {
|
|
53
56
|
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Copyright (C) 2020 Sven Mason <http://izara.io>
|
|
3
|
+
|
|
4
|
+
This program is free software: you can redistribute it and/or modify
|
|
5
|
+
it under the terms of the GNU Affero General Public License as
|
|
6
|
+
published by the Free Software Foundation, either version 3 of the
|
|
7
|
+
License, or (at your option) any later version.
|
|
8
|
+
|
|
9
|
+
This program is distributed in the hope that it will be useful,
|
|
10
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
12
|
+
GNU Affero General Public License for more details.
|
|
13
|
+
|
|
14
|
+
You should have received a copy of the GNU Affero General Public License
|
|
15
|
+
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
'use strict';
|
|
19
|
+
|
|
20
|
+
const path = require('path');
|
|
21
|
+
const fs = require('fs');
|
|
22
|
+
const yaml = require('yaml');
|
|
23
|
+
const { ACTIONS, HANDLER, STORAGE_TYPES } = require('@izara_project/izara-core-library-service-schemas/src/Consts');
|
|
24
|
+
const {
|
|
25
|
+
SOURCE_PATH,
|
|
26
|
+
} = require("../../../../MainLibs/src/Consts.js");
|
|
27
|
+
const {
|
|
28
|
+
firstLetterLowerCase: lowerCase,
|
|
29
|
+
firstLetterUpperCase: upperCase,
|
|
30
|
+
} = require('../../../../MainLibs/src/Utils.js');
|
|
31
|
+
|
|
32
|
+
const templatePath = path.join(__dirname, "./template.ejs")
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* receive objectSchema
|
|
36
|
+
* create data for hdrInv template
|
|
37
|
+
*
|
|
38
|
+
* @param {Object} objectSchema
|
|
39
|
+
* @return {{ templatePath, templateData, setting } }
|
|
40
|
+
*/
|
|
41
|
+
function data(_izContext, srcPath) {
|
|
42
|
+
return {
|
|
43
|
+
templatePath: templatePath,
|
|
44
|
+
templateData: {},
|
|
45
|
+
setting: {
|
|
46
|
+
savePath: path.join(srcPath, SOURCE_PATH.appYaml),
|
|
47
|
+
saveFileName: "Authorizer",
|
|
48
|
+
fileExtension: '.yml',
|
|
49
|
+
isAppend: true
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
module.exports = data;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
authorizer:
|
|
2
|
+
authorizerServiceSchema:
|
|
3
|
+
type: request
|
|
4
|
+
functionArn: ${self:custom.iz_authorizerServiceSchemaV2}
|
|
5
|
+
identitySource:
|
|
6
|
+
- $request.header.Authorization
|
|
7
|
+
- $context.routeKey
|
|
8
|
+
resultTtlInSeconds: 300
|
|
9
|
+
|
|
10
|
+
authorizerIdentifiers:
|
|
11
|
+
type: request
|
|
12
|
+
functionArn: ${self:custom.iz_authorizerServiceSchemaV2}
|
|
13
|
+
identitySource:
|
|
14
|
+
- $request.header.Authorization
|
|
15
|
+
- $context.routeKey
|
|
16
|
+
- $request.querystring.identifiers
|
|
17
|
+
resultTtlInSeconds: 300
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Copyright (C) 2020 Sven Mason <http://izara.io>
|
|
3
|
+
|
|
4
|
+
This program is free software: you can redistribute it and/or modify
|
|
5
|
+
it under the terms of the GNU Affero General Public License as
|
|
6
|
+
published by the Free Software Foundation, either version 3 of the
|
|
7
|
+
License, or (at your option) any later version.
|
|
8
|
+
|
|
9
|
+
This program is distributed in the hope that it will be useful,
|
|
10
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
12
|
+
GNU Affero General Public License for more details.
|
|
13
|
+
|
|
14
|
+
You should have received a copy of the GNU Affero General Public License
|
|
15
|
+
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
'use strict';
|
|
19
|
+
|
|
20
|
+
const { join } = require('path');
|
|
21
|
+
const {
|
|
22
|
+
getAllLocalObjectSchemasWithHierarchy
|
|
23
|
+
} = require('@izara_project/izara-core-library-service-schemas/src/GetObjectSchema');
|
|
24
|
+
const NoRetryError = require('@izara_project/izara-core-library-core').NoRetryError
|
|
25
|
+
// Import handlers and generators
|
|
26
|
+
const generateAuth = require('./generateAuthYml/data')
|
|
27
|
+
|
|
28
|
+
// Import code libs generator
|
|
29
|
+
// const createGenerateCodeLibs = require('./libs/data');
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Generates code from templates based on object schemas
|
|
33
|
+
* @param {Object} _izContext - Context object
|
|
34
|
+
* @param {string} objSchemaPath - Path to object schema
|
|
35
|
+
* @returns {Promise<Array>} - Array of parameter objects for code generation
|
|
36
|
+
*/
|
|
37
|
+
async function generateCodeWithTemplate(_izContext, objSchemaPath) {
|
|
38
|
+
try {
|
|
39
|
+
const saveFilePath = join(objSchemaPath, `../`);
|
|
40
|
+
let authYamlFile = generateAuth(_izContext, saveFilePath)
|
|
41
|
+
|
|
42
|
+
const createSourceParams = [authYamlFile];
|
|
43
|
+
|
|
44
|
+
return createSourceParams;
|
|
45
|
+
} catch (error) {
|
|
46
|
+
_izContext.logger.error('Error generating code with template endpointPerService:', error);
|
|
47
|
+
return [];
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
module.exports = generateCodeWithTemplate;
|
|
@@ -48,8 +48,9 @@ module.exports.main = middleware.wrap(async (event, context, callback) => {
|
|
|
48
48
|
let lambdaFunctionResponse = await <%- action %>Main(
|
|
49
49
|
event._izContext, // correlationId/logger/integrationTestDetail/uniqueRequestId/userId
|
|
50
50
|
event.body,
|
|
51
|
+
//(<additionalParams>)
|
|
52
|
+
//(</additionalParams>)
|
|
51
53
|
callingFlowSharedLib.addCallingFlowToPassOnProperties(event)
|
|
52
|
-
|
|
53
54
|
);
|
|
54
55
|
|
|
55
56
|
// return error to client
|
|
@@ -89,7 +89,8 @@ module.exports.main = middleware.wrap(async (event,context, callback) => {
|
|
|
89
89
|
//(</additionalParams>)
|
|
90
90
|
|
|
91
91
|
passOnProperties.push(record.body.Message);
|
|
92
|
-
|
|
92
|
+
//(<additionalParams>)
|
|
93
|
+
//(</additionalParams>)
|
|
93
94
|
passOnProperties.push(callingFlowSharedLib.addCallingFlowToPassOnProperties(record.body.Message));
|
|
94
95
|
record._izContext.logger.debug('passOnProperties in handler', passOnProperties);
|
|
95
96
|
|
|
@@ -56,6 +56,8 @@ module.exports.main = middleware.wrap(async (event, context, callback) => {
|
|
|
56
56
|
return await <%- action %>Main(
|
|
57
57
|
event._izContext, // correlationId/logger/integrationTestDetail/uniqueRequestId
|
|
58
58
|
event,
|
|
59
|
+
//(<additionalParams>)
|
|
60
|
+
//(</additionalParams>)
|
|
59
61
|
callingFlowSharedLib.addCallingFlowToPassOnProperties(event)
|
|
60
62
|
);
|
|
61
63
|
|
|
@@ -86,6 +86,8 @@ module.exports.main = middleware.wrap(async (event,context, callback) => {
|
|
|
86
86
|
//(</additionalParams>)
|
|
87
87
|
|
|
88
88
|
passOnProperties.push(record.body.Message);
|
|
89
|
+
//(<additionalParams>)
|
|
90
|
+
//(</additionalParams>)
|
|
89
91
|
passOnProperties.push(callingFlowSharedLib.addCallingFlowToPassOnProperties(record.body.Message));
|
|
90
92
|
record._izContext.logger.debug('passOnProperties in handler', passOnProperties);
|
|
91
93
|
|
|
@@ -16,6 +16,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
18
|
'use strict';
|
|
19
|
+
const lodash = require("lodash")
|
|
19
20
|
const dynamodbSharedLib = require('@izara_project/izara-core-library-dynamodb');
|
|
20
21
|
const snsSharedLib = require('@izara_project/izara-core-library-sns');
|
|
21
22
|
const asyncFlowSharedLib = require('@izara_project/izara-core-library-asynchronous-flow');
|
|
@@ -24,24 +25,19 @@ const lambdaSharedLib = require('@izara_project/izara-core-library-lambda');
|
|
|
24
25
|
|
|
25
26
|
const externalRequest = require('@izara_project/izara-core-library-external-request');
|
|
26
27
|
const sns = externalRequest.sns;
|
|
27
|
-
const lambda = externalRequest.lambda
|
|
28
28
|
|
|
29
29
|
const getObjectSchema = require('@izara_project/izara-core-library-service-schemas/src/GetObjectSchema');
|
|
30
|
-
const serviceConfigLib = require('@izara_project/izara-core-library-service-schemas/src/ServiceConfig')
|
|
31
30
|
|
|
32
31
|
const uploadUseCase = require('@izara_project/izara-core-library-service-schemas/src/libs/UploadUseCase')
|
|
33
32
|
|
|
34
33
|
const hash = require('@izara_project/izara-shared-core').objectHash;
|
|
35
34
|
const NoRetryError = require('@izara_project/izara-core-library-core/src/NoRetryError');
|
|
36
|
-
const path = require('path')
|
|
37
|
-
const schemasPath = path.join(__dirname, '../schemas');
|
|
38
35
|
const consts = require('@izara_project/izara-core-library-service-schemas/src/Consts');
|
|
39
36
|
const coreConsts = require("@izara_project/izara-core-library-core/src/Consts");
|
|
40
|
-
|
|
37
|
+
const middlewareConsts = require('@izara_project/izara-middleware').consts
|
|
38
|
+
const graphSharedLibs = require('@izara_project/izara-core-library-graph-service')
|
|
41
39
|
const {
|
|
42
|
-
generateDynamoDbIdentifiers,
|
|
43
40
|
dynamoDbIdentifiersByStorageResource,
|
|
44
|
-
collectGetData
|
|
45
41
|
} = require('@izara_project/izara-market-library-service-schemas/src/GenerateCodeLibs/src/GenerateCodeLibs');
|
|
46
42
|
|
|
47
43
|
|
|
@@ -56,10 +52,6 @@ const PREFIX = {
|
|
|
56
52
|
//-----------------------------------------------------------------------------------------------------------
|
|
57
53
|
const { TOPIC_NAME_GENERATE_CODE, TOPIC_NAME_GRAPH_HANDLER, GRAPH_HANDLER_SERVICE_NAME } = require('@izara_project/izara-market-library-service-schemas/src/GenerateCodeLibs/src/Consts')
|
|
58
54
|
const { createDataDetailsLib } = require('@izara_project/izara-market-library-service-schemas/src/GenerateCodeLibs/src/GenerateCodeLibs')
|
|
59
|
-
const { createLinkTypeId, createObjType } = require('@izara_project/izara-core-library-service-schemas/src/Utils');
|
|
60
|
-
const { findLinksByObjTypes } = require("@izara_project/izara-core-library-service-schemas/src/libs/RelSchemaLib")
|
|
61
|
-
const lodash = require("lodash")
|
|
62
|
-
const { createRelTypeConcat } = require('@izara_project/izara-core-library-service-schemas').utils
|
|
63
55
|
const createNodeLib = require('@izara_project/izara-core-library-service-schemas').createNodeLib
|
|
64
56
|
//(<optionalRequire>)
|
|
65
57
|
//(</optionalRequire>)
|
|
@@ -74,7 +66,9 @@ const createNodeLib = require('@izara_project/izara-core-library-service-schemas
|
|
|
74
66
|
module.exports.createMain = async (
|
|
75
67
|
_izContext,
|
|
76
68
|
requestParams,
|
|
77
|
-
|
|
69
|
+
//(<additionalParams>)
|
|
70
|
+
//(</additionalParams>)
|
|
71
|
+
callingFlowConfig = {}
|
|
78
72
|
) => {
|
|
79
73
|
try {
|
|
80
74
|
_izContext.logger.debug("function CreateMain:", {
|
|
@@ -117,12 +111,13 @@ module.exports.createMain = async (
|
|
|
117
111
|
);
|
|
118
112
|
_izContext.logger.debug("objectSchemas", objectSchemas);
|
|
119
113
|
|
|
120
|
-
|
|
114
|
+
let userAgent = _izContext.correlationIds.get(middlewareConsts.USER_AGENT)
|
|
115
|
+
_izContext.logger.debug("userAgent::", userAgent);
|
|
121
116
|
|
|
122
117
|
let createDataDetails = await createDataDetailsLib(
|
|
123
118
|
_izContext,
|
|
124
119
|
objectSchemas,
|
|
125
|
-
|
|
120
|
+
);
|
|
126
121
|
_izContext.logger.debug("createDataDetails is =", createDataDetails);
|
|
127
122
|
|
|
128
123
|
|
|
@@ -132,11 +127,11 @@ module.exports.createMain = async (
|
|
|
132
127
|
}
|
|
133
128
|
errorsFound.push(
|
|
134
129
|
...await createNodeLib.validateRequiredOnCreateLinks(
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
130
|
+
_izContext,
|
|
131
|
+
objType,
|
|
132
|
+
requestParams.relationships,
|
|
138
133
|
)
|
|
139
|
-
|
|
134
|
+
)
|
|
140
135
|
_izContext.logger.debug("errorsFound", errorsFound)
|
|
141
136
|
|
|
142
137
|
// end validate
|
|
@@ -391,12 +386,14 @@ module.exports.createMain = async (
|
|
|
391
386
|
return fields
|
|
392
387
|
}
|
|
393
388
|
/// step save awaitingMultipleStep of storageType graph ...........................................................
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
389
|
+
if (!userAgent) {
|
|
390
|
+
_izContext.logger.debug("not api will create awaitingStep")
|
|
391
|
+
await asyncFlowSharedLib.createAwaitingMultipleSteps(
|
|
392
|
+
_izContext,
|
|
393
|
+
allAwaitingStepsId,
|
|
394
|
+
asyncFlowSharedLib.createPendingStepId((hash({ objType: objType, identifiers: objInstanceFull.identifiers })), PREFIX.CREATE_OBJECT_ASYNC_COMPLETE)
|
|
395
|
+
);
|
|
396
|
+
}
|
|
400
397
|
//............................................................................................................
|
|
401
398
|
|
|
402
399
|
// process storageType : graph
|
|
@@ -427,25 +424,39 @@ module.exports.createMain = async (
|
|
|
427
424
|
settings: { updatePropertiesOnMatch: false },
|
|
428
425
|
originTimestamp: Date.now(),
|
|
429
426
|
});
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
427
|
+
if (userAgent) {
|
|
428
|
+
_izContext.logger.debug("have userAgent will invoke GraphHandler")
|
|
429
|
+
let createNodeResult = await graphSharedLibs.createNodeV2(
|
|
430
|
+
_izContext,
|
|
431
|
+
graphServiceName,
|
|
432
|
+
objType,
|
|
433
|
+
objInstanceFullForGraph,
|
|
434
|
+
requestParams.relationships || [],
|
|
435
|
+
Date.now(),
|
|
436
|
+
{ updatePropertiesOnMatch: false },
|
|
440
437
|
)
|
|
441
|
-
|
|
438
|
+
return createNodeResult
|
|
439
|
+
} else {
|
|
440
|
+
_izContext.logger.debug("not have userAgent will send Message to GraphHandler")
|
|
441
|
+
messageObject = callingFlowSharedLib.addCallingFlowToSnsRequestMessageObject(
|
|
442
|
+
messageObject,
|
|
443
|
+
callingFlowSharedLib.addParentCallingFlowConfig(
|
|
444
|
+
callingFlowConfig, // receive parent callingFlowConfig.
|
|
445
|
+
callingFlowSharedLib.createCallingFlowConfig( // calling flow own service
|
|
446
|
+
//(<callingFlowProperties>)
|
|
447
|
+
await lambdaSharedLib.lambdaFunctionName(_izContext, TOPIC_NAME_GENERATE_CODE.createNodeComplete), {}
|
|
448
|
+
//(</callingFlowProperties>)
|
|
449
|
+
)
|
|
450
|
+
)
|
|
451
|
+
);
|
|
442
452
|
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
453
|
+
let messageToCreateObject = {
|
|
454
|
+
Message: JSON.stringify(messageObject),
|
|
455
|
+
TopicArn: await snsSharedLib.snsTopicArnByFlowSchema(_izContext, TOPIC_NAME_GRAPH_HANDLER.inCreateNode, graphServiceName)
|
|
456
|
+
};
|
|
457
|
+
_izContext.logger.debug("RequestParams before send to sqs messageToCreateObject ::::::: ", messageToCreateObject);
|
|
458
|
+
await sns.publishAsync(_izContext, messageToCreateObject);
|
|
459
|
+
}
|
|
449
460
|
|
|
450
461
|
//(<afterSendMessageToGraph>)
|
|
451
462
|
//(</afterSendMessageToGraph>)
|
|
@@ -62,7 +62,9 @@ const { createObjType } = require("@izara_project/izara-core-library-service-sch
|
|
|
62
62
|
module.exports.deleteMain = async (
|
|
63
63
|
_izContext,
|
|
64
64
|
requestParams,
|
|
65
|
-
|
|
65
|
+
//(<additionalParams>)
|
|
66
|
+
//(</additionalParams>)
|
|
67
|
+
callingFlowConfig = {}
|
|
66
68
|
) => {
|
|
67
69
|
try {
|
|
68
70
|
_izContext.logger.debug("function:DeleteMain::", {
|
|
@@ -29,7 +29,7 @@ const {
|
|
|
29
29
|
const consts = require('@izara_project/izara-core-library-service-schemas/src/Consts');
|
|
30
30
|
|
|
31
31
|
const {
|
|
32
|
-
|
|
32
|
+
objInstanceFromObjInstanceBase
|
|
33
33
|
} = require('@izara_project/izara-core-library-service-schemas/src/IdentifiersObject');
|
|
34
34
|
|
|
35
35
|
const {
|
|
@@ -72,9 +72,9 @@ const coreConsts = require("@izara_project/izara-core-library-core/src/Consts");
|
|
|
72
72
|
module.exports.getMain = async (
|
|
73
73
|
_izContext,
|
|
74
74
|
requestParams,
|
|
75
|
-
callingFlowConfig = {},
|
|
76
75
|
//(<additionalParams>)
|
|
77
76
|
//(</additionalParams>)
|
|
77
|
+
callingFlowConfig = {},
|
|
78
78
|
) => {
|
|
79
79
|
try {
|
|
80
80
|
_izContext.logger.debug('function GetMain: ', {
|
|
@@ -155,7 +155,7 @@ module.exports.getMain = async (
|
|
|
155
155
|
|
|
156
156
|
let messageObject = {
|
|
157
157
|
objType: objType,
|
|
158
|
-
objInstanceFull: dataFromGraph.objInstanceFull
|
|
158
|
+
objInstanceFull: dataFromGraph.queryResults.refactoredNodes.objInstanceFull
|
|
159
159
|
}
|
|
160
160
|
// send message to SNS ProcessFindRequiredData
|
|
161
161
|
_izContext.logger.debug("HAVE CallingFlow");
|
|
@@ -199,7 +199,7 @@ module.exports.getMain = async (
|
|
|
199
199
|
|
|
200
200
|
|
|
201
201
|
if (dataFromDynamoDb) {
|
|
202
|
-
dataFromDynamoDb = await
|
|
202
|
+
dataFromDynamoDb = await objInstanceFromObjInstanceBase(
|
|
203
203
|
_izContext,
|
|
204
204
|
objType,
|
|
205
205
|
dataFromDynamoDb
|
|
@@ -58,9 +58,9 @@ const { createObjType } = require("@izara_project/izara-core-library-service-sch
|
|
|
58
58
|
module.exports.updateMain = async (
|
|
59
59
|
_izContext,
|
|
60
60
|
requestParams,
|
|
61
|
-
callingFlowConfig = {},
|
|
62
61
|
//(<additionalParams>)
|
|
63
62
|
//(</additionalParams>)
|
|
63
|
+
callingFlowConfig = {},
|
|
64
64
|
) => {
|
|
65
65
|
|
|
66
66
|
try {
|
|
@@ -283,6 +283,9 @@ module.exports.updateMain = async (
|
|
|
283
283
|
_izContext.logger.debug("identifiersForUpdateData", identifiersForUpdateData)
|
|
284
284
|
_izContext.logger.debug("fieldForUpdateTableDynamo", fieldForUpdateTableDynamo)
|
|
285
285
|
|
|
286
|
+
//(<beforeUpdateDynamoDb>)
|
|
287
|
+
//(</beforeUpdateDynamoDb>)
|
|
288
|
+
|
|
286
289
|
let updateItem = await dynamodbSharedLib.updateItem(
|
|
287
290
|
_izContext,
|
|
288
291
|
await dynamodbSharedLib.tableName(_izContext, updateDataDetail.tableName),
|
|
@@ -183,10 +183,10 @@ async function createParamForCreateSource(_izContext, allObjSchemas, action, han
|
|
|
183
183
|
}
|
|
184
184
|
|
|
185
185
|
let resourceApis = [];
|
|
186
|
-
if (
|
|
186
|
+
if (handler === HANDLER.hdrApi) {
|
|
187
187
|
for (const objectSchema of allObjSchemas.records) {
|
|
188
188
|
resourceApis.push({
|
|
189
|
-
event: objectSchema.objectType,
|
|
189
|
+
event: lowerCase(objectSchema.objectType),
|
|
190
190
|
method: httpEvent(action)
|
|
191
191
|
})
|
|
192
192
|
}
|
|
@@ -9,20 +9,18 @@
|
|
|
9
9
|
batchSize: 10
|
|
10
10
|
<%_ } else if (handlerType === "hdrApi") { _%>
|
|
11
11
|
<%_ resourceApis.forEach(resourceApi => { _%>
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
#<#<%- firstLetterUpperCase(resourceApi.event) _%><%- firstLetterUpperCase(handlerType) %>UserLevelAuthorizer#>
|
|
25
|
-
#<#/<%- firstLetterUpperCase(resourceApi.event) _%><%- firstLetterUpperCase(handlerType) %>UserLevelAuthorizer#>
|
|
12
|
+
- httpApi:
|
|
13
|
+
path: /<%- resourceApi.event %>/<%- action %>
|
|
14
|
+
method: <%- resourceApi.method %>
|
|
15
|
+
authorizer: authorizerServiceSchema
|
|
16
|
+
#<#<%- firstLetterUpperCase(resourceApi.event) _%><%- firstLetterUpperCase(handlerType) %>AppLevelAuthorizer#>
|
|
17
|
+
#<#/<%- firstLetterUpperCase(resourceApi.event) _%><%- firstLetterUpperCase(handlerType) %>AppLevelAuthorizer#>
|
|
18
|
+
- httpApi:
|
|
19
|
+
path: /<%- resourceApi.event %>/<%- action %>/{targetUserId}
|
|
20
|
+
method: <%- resourceApi.method %>
|
|
21
|
+
authorizer: authorizerIdentifiers
|
|
22
|
+
#<#<%- firstLetterUpperCase(resourceApi.event) _%><%- firstLetterUpperCase(handlerType) %>UserLevelAuthorizer#>
|
|
23
|
+
#<#/<%- firstLetterUpperCase(resourceApi.event) _%><%- firstLetterUpperCase(handlerType) %>UserLevelAuthorizer#>
|
|
26
24
|
<%_ }) _%>
|
|
27
25
|
<%_ } _%>
|
|
28
26
|
role: <%- firstLetterUpperCase(roleName) _%>Role
|
|
@@ -109,24 +109,40 @@ async function externalLambdaIamRoleDataPerAction(_izContext, allObjSchemas) {
|
|
|
109
109
|
additionalResourcePermission.push(
|
|
110
110
|
createIamRole(
|
|
111
111
|
{ [RESOURCE_CLASSES.lambda]: [LAMBDA_RESOURCE.invokeFunction] },
|
|
112
|
-
storageResourceAllLocalObjectSchemas.resourceGraphServiceTag.map(
|
|
113
|
-
externalResourceName(RESOURCE_CLASSES.lambda, "GetNodeV2HdrInv",
|
|
112
|
+
storageResourceAllLocalObjectSchemas.resourceGraphServiceTag.map(graphServerTag =>
|
|
113
|
+
externalResourceName(RESOURCE_CLASSES.lambda, "GetNodeV2HdrInv", graphServerTag),
|
|
114
114
|
)
|
|
115
115
|
),
|
|
116
116
|
createIamRole(
|
|
117
117
|
{
|
|
118
118
|
[RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish]
|
|
119
119
|
},
|
|
120
|
-
storageResourceAllLocalObjectSchemas.resourceGraphServiceTag.map(
|
|
121
|
-
externalResourceName(RESOURCE_CLASSES.sns, "UpdateNode_In",
|
|
120
|
+
storageResourceAllLocalObjectSchemas.resourceGraphServiceTag.map(graphServerTag =>
|
|
121
|
+
externalResourceName(RESOURCE_CLASSES.sns, "UpdateNode_In", graphServerTag)
|
|
122
122
|
)
|
|
123
123
|
),
|
|
124
124
|
createIamRole(
|
|
125
125
|
{
|
|
126
126
|
[RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish]
|
|
127
127
|
},
|
|
128
|
-
storageResourceAllLocalObjectSchemas.resourceGraphServiceTag.map(
|
|
129
|
-
externalResourceName(RESOURCE_CLASSES.sns, "CreateNode_In",
|
|
128
|
+
storageResourceAllLocalObjectSchemas.resourceGraphServiceTag.map(graphServerTag =>
|
|
129
|
+
externalResourceName(RESOURCE_CLASSES.sns, "CreateNode_In", graphServerTag)
|
|
130
|
+
)
|
|
131
|
+
),
|
|
132
|
+
createIamRole(
|
|
133
|
+
{
|
|
134
|
+
[RESOURCE_CLASSES.lambda]: [LAMBDA_RESOURCE.invokeFunction]
|
|
135
|
+
},
|
|
136
|
+
storageResourceAllLocalObjectSchemas.resourceGraphServiceTag.map(graphServerTag =>
|
|
137
|
+
externalResourceName(RESOURCE_CLASSES.lambda, "CreateNodeHdrInv", graphServerTag)
|
|
138
|
+
)
|
|
139
|
+
),
|
|
140
|
+
createIamRole(
|
|
141
|
+
{
|
|
142
|
+
[RESOURCE_CLASSES.lambda]: [LAMBDA_RESOURCE.invokeFunction]
|
|
143
|
+
},
|
|
144
|
+
storageResourceAllLocalObjectSchemas.resourceGraphServiceTag.map(graphServerTag =>
|
|
145
|
+
externalResourceName(RESOURCE_CLASSES.lambda, "UpdateNodeHdrInv", graphServerTag)
|
|
130
146
|
)
|
|
131
147
|
)
|
|
132
148
|
)
|
|
@@ -68,15 +68,7 @@ async function createSourceParams(_izContext, flowSchema, srcPath) {
|
|
|
68
68
|
resourceNames(RESOURCE_CLASSES.sqs, queueName),
|
|
69
69
|
resourceNames(RESOURCE_CLASSES.sqs, queueName + "DLQ")
|
|
70
70
|
]
|
|
71
|
-
)
|
|
72
|
-
createIamRole(
|
|
73
|
-
{
|
|
74
|
-
[RESOURCE_CLASSES.lambda]: Object.values(LAMBDA_RESOURCE)
|
|
75
|
-
},
|
|
76
|
-
[
|
|
77
|
-
resourceNames(RESOURCE_CLASSES.lambda, 'CreateHdrInv')
|
|
78
|
-
]
|
|
79
|
-
),
|
|
71
|
+
)
|
|
80
72
|
)
|
|
81
73
|
|
|
82
74
|
if (Object.keys(flowSchema.flowSteps).includes("In")) {
|
|
@@ -117,12 +109,23 @@ async function createSourceParams(_izContext, flowSchema, srcPath) {
|
|
|
117
109
|
tableName => resourceNames(RESOURCE_CLASSES.dynamoDbTable, tableName))
|
|
118
110
|
)
|
|
119
111
|
)
|
|
112
|
+
} else if (flowSchema.statusType === "statusField") {
|
|
113
|
+
additionalResourcePermission.push(
|
|
114
|
+
createIamRole(
|
|
115
|
+
{
|
|
116
|
+
[RESOURCE_CLASSES.lambda]: Object.values(LAMBDA_RESOURCE)
|
|
117
|
+
},
|
|
118
|
+
[
|
|
119
|
+
resourceNames(RESOURCE_CLASSES.lambda, 'CreateHdrInv')
|
|
120
|
+
]
|
|
121
|
+
)
|
|
122
|
+
)
|
|
120
123
|
}
|
|
121
124
|
|
|
122
125
|
return {
|
|
123
126
|
templatePath: templatePath,
|
|
124
127
|
templateData: {
|
|
125
|
-
resourceLocation: path.join(SOURCE_PATH.resourceLocationFlowSchema, flowSchema.flowTag, "source/"),
|
|
128
|
+
resourceLocation: path.join(SOURCE_PATH.resourceLocationFlowSchema, upperCase(flowSchema.flowTag), "source/"),
|
|
126
129
|
functionName,
|
|
127
130
|
handlerType,
|
|
128
131
|
additionalResourcePermission,
|