@izara_project/izara-market-library-service-schemas 1.0.55 → 1.0.57

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/package.json +1 -1
  2. package/src/GenerateCodeLibs/src/GenerateCodeLibs.js +4 -27
  3. package/src/reStructure/TemplateData/EndpointPerService/handler/api/template.ejs +13 -14
  4. package/src/reStructure/TemplateData/EndpointPerService/handler/dsq/template.ejs +14 -11
  5. package/src/reStructure/TemplateData/EndpointPerService/handler/inv/template.ejs +9 -11
  6. package/src/reStructure/TemplateData/EndpointPerService/handler/sqs/template.ejs +16 -13
  7. package/src/reStructure/TemplateData/EndpointPerService/mainFunction/create/template.ejs +20 -10
  8. package/src/reStructure/TemplateData/EndpointPerService/mainFunction/get/template.ejs +6 -4
  9. package/src/reStructure/TemplateData/EndpointPerService/yaml/data.js +18 -15
  10. package/src/reStructure/TemplateData/flowSchema/components/upload/confirmReserved/handler/template.ejs +2 -0
  11. package/src/reStructure/TemplateData/flowSchema/components/upload/confirmReserved/mainFunction/template.ejs +15 -11
  12. package/src/reStructure/TemplateData/flowSchema/components/upload/createObject/handler/template.ejs +12 -8
  13. package/src/reStructure/TemplateData/flowSchema/components/upload/createObject/mainFunction/data.js +20 -3
  14. package/src/reStructure/TemplateData/flowSchema/components/upload/createObject/mainFunction/template.ejs +16 -21
  15. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/createPresignUrl/handler/template.ejs +2 -0
  16. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/createPresignUrl/mainFunction/data.js +3 -1
  17. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/createPresignUrl/mainFunction/template.ejs +60 -62
  18. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/handler/template.ejs +5 -3
  19. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/mainFunction/data.js +4 -3
  20. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/mainFunction/template.ejs +32 -44
  21. package/src/reStructure/TemplateData/flowSchema/components/upload/processFile/handler/handlerS3/template.ejs +3 -17
  22. package/src/reStructure/TemplateData/flowSchema/components/upload/processFile/mainFunction/ProcessCsvtemplate.ejs +391 -0
  23. package/src/reStructure/TemplateData/flowSchema/components/upload/processFile/mainFunction/template.ejs +9 -317
  24. package/src/reStructure/TemplateData/flowSchema/components/upload/relate/libs/template.ejs +7 -7
  25. package/src/reStructure/TemplateData/flowSchema/components/websocket/connect/handler/template.ejs +18 -0
  26. package/src/reStructure/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComponent/functionYaml/data.js +1 -1
  27. package/src/reStructure/TemplateData/flowSchema/flowSchemaOwnTopic/FlowSchemaComponent/handler/template.ejs +29 -5
  28. package/src/reStructure/TemplateData/flowSchema/flowSchemaOwnTopic/sns-in/data.js +11 -11
  29. package/src/reStructure/TemplateData/flowSchema/generateTemplateData.js +16 -16
  30. package/src/reStructure/TemplateData/flowSchema/register/complete/handler/template.ejs +3 -0
  31. package/src/reStructure/TemplateData/flowSchema/register/complete/mainFunction/template.ejs +1 -1
  32. package/src/reStructure/TemplateData/flowSchema/webSocketComplete/handler/template.ejs +4 -0
  33. package/src/reStructure/TemplateData/flowSchema/webSocketComplete/mainFunction/template.ejs +36 -7
  34. package/src/reStructure/TemplateData/perActionComplete/update/mainFunction/template.ejs +4 -4
  35. package/src/reStructure/TemplateData/perActionEndpoint/handler/api/template.ejs +2 -2
  36. package/src/reStructure/TemplateData/perActionEndpoint/handler/dsq/template.ejs +2 -2
  37. package/src/reStructure/TemplateData/perActionEndpoint/handler/sqs/template.ejs +2 -2
  38. package/src/reStructure/TemplateData/propertyValueSchema/relationshipPropertyValueSchema/data.js +1 -2
  39. package/src/reStructure/TemplateData/relationshipPerAction/create/action/handler/api/template.ejs +2 -2
  40. package/src/reStructure/TemplateData/relationshipPerAction/create/action/handler/dsq/template.ejs +2 -2
  41. package/src/reStructure/TemplateData/relationshipPerAction/create/action/handler/sqs/template.ejs +2 -2
  42. package/src/reStructure/TemplateData/relationshipPerAction/create/complete/mainFunction/template.ejs +6 -0
  43. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/handler/api/template.ejs +2 -2
  44. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/handler/dsq/template.ejs +2 -2
  45. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/handler/sqs/template.ejs +2 -2
  46. package/src/reStructure/TemplateData/relationshipPerAction/get/action/handler/api/template.ejs +23 -23
  47. package/src/reStructure/TemplateData/relationshipPerAction/get/action/handler/dsq/template.ejs +18 -16
  48. package/src/reStructure/TemplateData/relationshipPerAction/get/action/handler/inv/template.ejs +14 -12
  49. package/src/reStructure/TemplateData/relationshipPerAction/get/action/handler/sqs/template.ejs +21 -19
  50. package/src/reStructure/TemplateData/relationshipPerAction/get/action/mainFunction/template.ejs +2 -0
  51. package/src/reStructure/TemplateData/relationshipPerAction/get/complete/handler/sqs/template.ejs +3 -1
  52. package/src/reStructure/TemplateData/relationshipPerAction/update/action/handler/api/template.ejs +24 -22
  53. package/src/reStructure/TemplateData/relationshipPerAction/update/action/handler/dsq/template.ejs +21 -17
  54. package/src/reStructure/TemplateData/relationshipPerAction/update/action/handler/inv/template.ejs +21 -19
  55. package/src/reStructure/TemplateData/relationshipPerAction/update/action/handler/sqs/template.ejs +20 -20
  56. package/src/reStructure/TemplateData/relationshipPerAction/update/action/mainFunction/template.ejs +1 -1
  57. package/src/reStructure/TemplateData/relationshipPerAction/update/complete/handler/sqs/template.ejs +1 -1
  58. package/src/reStructure/TemplateData/resourceYaml/filterGenerateResource/data.js +22 -2
@@ -56,10 +56,11 @@ const { TOPIC_NAME_GENERATE_CODE } = require('@izara_project/izara-market-librar
56
56
 
57
57
  module.exports.<%- functionName %> = async (
58
58
  _izContext,
59
+ topicArn,
59
60
  requestParams,
60
- callingFlowConfig = {},
61
61
  //(<additionalParams>)
62
62
  //(</additionalParams>)
63
+ callingFlowConfig = {},
63
64
  ) => {
64
65
 
65
66
  try {
@@ -68,15 +69,43 @@ module.exports.<%- functionName %> = async (
68
69
  _izContext.logger.debug("<%- functionName %> callingFlowConfig", callingFlowConfig)
69
70
 
70
71
  let correlationId = _izContext.correlationIds.get(consts.X_CORRELATION_ID);
72
+ if (!topicArn) {
73
+ throw new NoRetryError('not have TopicArn for get FlowSchemas')
74
+ }
75
+
76
+ let topicName = topicArn.spilt(":")[5].split("_")
71
77
 
78
+ let flowSchema = await getObjectSchema.getFlowSchemaS3WithCache(_izContext, {
79
+ flowTag: topicName[2],
80
+ serviceTag: topicName[0]
81
+ })
82
+
83
+ //(<createIdentifiersFlow>)
84
+ let identifiers
85
+ //(</createIdentifiersFlow>)
86
+
87
+ if (!flowSchema) {
88
+ throw new NoRetryError("not have flowSchema in S3")
89
+ }
72
90
 
73
- let wbsTasks = await dynamodbSharedLib.query(
74
- _izContext,
75
- await dynamodbSharedLib.tableName(_izContext, "WebSocketTask"),
76
- {
77
- taskKey: correlationId,
91
+ let wbsTasks;
92
+ if (flowSchema.statusType === "statusField" || flowSchema.statusType === "storedCache" || flowSchema.statusType === "triggerCache") {
93
+ wbsTasks = await dynamodbSharedLib.query(
94
+ _izContext,
95
+ await dynamodbSharedLib.tableName(_izContext, "WebSocketTask"),
96
+ {
97
+ taskKey: `${createFlowTypeConcat(_izContext,{flowTag: topicName[2],serviceTag: topicName[0]})}${identifiers}`
98
+ }
99
+ )
100
+ } else if (flowSchema.statusType === "none") {
101
+ wbsTasks = await dynamodbSharedLib.query(
102
+ _izContext,
103
+ await dynamodbSharedLib.tableName(_izContext, "WebSocketTask"),
104
+ {
105
+ taskKey: correlationId,
106
+ }
107
+ )
78
108
  }
79
- )
80
109
 
81
110
  if (wbsTasks.Items.length) {
82
111
  await Promise.all(wbsTasks.Items.map(async ({ connectionId }) => {
@@ -54,10 +54,10 @@ module.exports.updateNodeComplete = async (
54
54
  // start create AwaitingStepId
55
55
  let awaitingStepId = asyncFlowSharedLib.createAwaitingStepId(
56
56
  hash({
57
- objectType: returnValue.queryResult.objType.objectType,
58
- serviceTag: returnValue.queryResult.objType.serviceTag,
59
- identifiers: returnValue.queryResult.objInstanceFull.identifiers,
60
- fields: returnValue.queryResult.objInstanceFull.fields
57
+ objectType: returnValue.requestParams.objType.objectType,
58
+ serviceTag: returnValue.requestParams.objType.objectType,
59
+ identifiers: returnValue.requestParams.objInstanceFull.identifiers,
60
+ fields: returnValue.requestParams.objInstanceFull.fields
61
61
  }),
62
62
  PREFIX.updateNode
63
63
  )
@@ -29,8 +29,8 @@ const {
29
29
  const <%- functionName %> =require('./<%- firstLetterUpperCase(objectType) %><%- firstLetterUpperCase(action) %>_Main')
30
30
  <%_ } _%>
31
31
 
32
- //(<globalVarible>
33
- //</globalVarible>)
32
+ //(<globalVariable>
33
+ //</globalVariable>)
34
34
 
35
35
  //validate event params in middleware before into main function
36
36
  validateSchemaMiddleware(
@@ -29,8 +29,8 @@ const recordHandlerSharedLib = require('@izara_project/izara-core-library-record
29
29
  const <%- functionName %> =require('./<%- firstLetterUpperCase(objectType) %><%- firstLetterUpperCase(action) %>_Main')
30
30
  <%_ } _%>
31
31
 
32
- //(<globalVarible>
33
- //</globalVarible>)
32
+ //(<globalVariable>
33
+ //</globalVariable>)
34
34
 
35
35
  //validate event params in middleware before into main function
36
36
  middleware.setValidatorSchema(
@@ -29,8 +29,8 @@ const recordHandlerSharedLib = require('@izara_project/izara-core-library-record
29
29
  const <%- functionName %> =require('./<%- firstLetterUpperCase(objectType) %><%- firstLetterUpperCase(action) %>_Main')
30
30
  <%_ } _%>
31
31
 
32
- //(<globalVarible>
33
- //</globalVarible>)
32
+ //(<globalVariable>
33
+ //</globalVariable>)
34
34
 
35
35
  //validate event params in middleware before into main function
36
36
  middleware.setValidatorSchema(
@@ -88,8 +88,7 @@ function createSourceParams(_izContext, objectSchema, settings, srcPath) {
88
88
  // const objectType = objectSchema.objectType; // main objectType
89
89
  let propertyValue = settings.propertyValueTag
90
90
  const storageResources = objectSchema.storageResources // storageResource from main objectType
91
- const serviceTag = getLocalConfig(srcPath, "iz_serviceTag")
92
-
91
+ const serviceTag = getLocalConfig(path.join(srcPath, "../"), "iz_serviceTag")
93
92
  attributeRelationships.push(
94
93
  { // has{objectType}propertyValue
95
94
  relationshipTag: PREFIX_RELATIONSHIP.has + upperCase(propertyValue) + PROPERTY_VALUE_TAG.property,
@@ -89,8 +89,8 @@ let validatorSchema = {
89
89
  };
90
90
 
91
91
 
92
- //(<globalVarible>
93
- //</globalVarible>)
92
+ //(<globalVariable>
93
+ //</globalVariable>)
94
94
 
95
95
  // validate event params in middleware before into main function
96
96
  validatorSchema = callingFlowSharedLib.addOptionalCallingFlowToValidatorSchema(validatorSchema);
@@ -110,8 +110,8 @@ let validatorSchema = {
110
110
  };
111
111
 
112
112
 
113
- //(<globalVarible>
114
- //</globalVarible>)
113
+ //(<globalVariable>
114
+ //</globalVariable>)
115
115
 
116
116
  // validate event params in middleware before into main function
117
117
  validatorSchema = callingFlowSharedLib.addOptionalCallingFlowToValidatorSchema(validatorSchema);
@@ -94,8 +94,8 @@ let validatorSchema = {
94
94
  };
95
95
 
96
96
 
97
- //(<globalVarible>
98
- //</globalVarible>)
97
+ //(<globalVariable>
98
+ //</globalVariable>)
99
99
 
100
100
  // validate event params in middleware before into main function
101
101
  validatorSchema = callingFlowSharedLib.addOptionalCallingFlowToValidatorSchema(validatorSchema);
@@ -34,8 +34,10 @@ const {
34
34
  TOPIC_NAME_GRAPH_HANDLER,
35
35
  PREFIX
36
36
  } = require('@izara_project/izara-market-library-service-schemas/src/GenerateCodeLibs/src/Consts')
37
+
37
38
  //(<optionalRequire>)
38
39
  //(</optionalRequire>)
40
+
39
41
  module.exports.createRelationshipComplete = async (
40
42
  _izContext,
41
43
  returnValue,
@@ -122,6 +124,8 @@ module.exports.createRelationshipComplete = async (
122
124
  _izContext.logger.debug("Send message to OutCreateRelationshipComplete :::>", sendMessageToOutCreateRelationshipComplete);
123
125
  await sns.publishAsync(_izContext, sendMessageToOutCreateRelationshipComplete);
124
126
 
127
+ //(<afterCheckAwaitingStep>)
128
+ //(</afterCheckAwaitingStep>)
125
129
  } // check pendingStepId finished
126
130
 
127
131
  // remove awaitingMultipleStep after finished
@@ -134,6 +138,8 @@ module.exports.createRelationshipComplete = async (
134
138
  }) // end per pendingStep
135
139
  );
136
140
 
141
+ //(<afterCheckAllAwaitingStep>)
142
+ //(</afterCheckAllAwaitingStep>)
137
143
 
138
144
  return {
139
145
  returnValue,
@@ -89,8 +89,8 @@ let validatorSchema = {
89
89
  };
90
90
 
91
91
 
92
- //(<globalVarible>
93
- //</globalVarible>)
92
+ //(<globalVariable>
93
+ //</globalVariable>)
94
94
 
95
95
  // validate event params in middleware before into main function
96
96
  validatorSchema = callingFlowSharedLib.addOptionalCallingFlowToValidatorSchema(validatorSchema);
@@ -110,8 +110,8 @@ let validatorSchema = {
110
110
  };
111
111
 
112
112
 
113
- //(<globalVarible>
114
- //</globalVarible>)
113
+ //(<globalVariable>
114
+ //</globalVariable>)
115
115
 
116
116
  // validate event params in middleware before into main function
117
117
  validatorSchema = callingFlowSharedLib.addOptionalCallingFlowToValidatorSchema(validatorSchema);
@@ -90,8 +90,8 @@ let validatorSchema = {
90
90
  }
91
91
  };
92
92
 
93
- //(<globalVarible>
94
- //</globalVarible>)
93
+ //(<globalVariable>
94
+ //</globalVariable>)
95
95
 
96
96
  // validate event params in middleware before into main function
97
97
  validatorSchema = callingFlowSharedLib.addOptionalCallingFlowToValidatorSchema(validatorSchema);
@@ -16,16 +16,18 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
16
16
  */
17
17
 
18
18
  'use strict';
19
- const izara = require("@izara_project/izara-middleware");
20
- const middleware = izara.middlewareHandler;
19
+
20
+ const { middlewareHandler, validatorSchema, response } = require("@izara_project/izara-middleware");
21
21
  const callingFlowSharedLib = require('@izara_project/izara-core-library-calling-flow');
22
- const {
23
- validateSchemaMiddleware
24
- } = require('@izara_project/izara-market-library-service-schemas/src/GenerateCodeLibs/src/GenerateCodeLibs');
22
+
23
+ //(<optionalRequire>)
24
+ //(</optionalRequire>)
25
25
 
26
26
  const <%- functionName %> = require('./<%- firstLetterUpperCase(functionName) %>_Main');
27
- // validate event params in middleware before into function
28
- let validatorSchema = {
27
+
28
+
29
+ // validate event params in middlewareHandler before into function
30
+ let basicValidatorSchema = {
29
31
  type: "object",
30
32
  required: ["firstObject", "secondObject", "relType", 'relId'],
31
33
  properties: {
@@ -37,8 +39,8 @@ let validatorSchema = {
37
39
  type: "object",
38
40
  required: ["serviceTag", "objectType"],
39
41
  properties: {
40
- serviceTag: izara.validatorSchema.stringNotEmpty(),
41
- objectType: izara.validatorSchema.stringNotEmpty()
42
+ serviceTag: validatorSchema.stringNotEmpty(),
43
+ objectType: validatorSchema.stringNotEmpty()
42
44
  }
43
45
  },
44
46
  identifiers: {
@@ -55,8 +57,8 @@ let validatorSchema = {
55
57
  type: "object",
56
58
  required: ["serviceTag", "objectType"],
57
59
  properties: {
58
- serviceTag: izara.validatorSchema.stringNotEmpty(),
59
- objectType: izara.validatorSchema.stringNotEmpty()
60
+ serviceTag: validatorSchema.stringNotEmpty(),
61
+ objectType: validatorSchema.stringNotEmpty()
60
62
  }
61
63
  },
62
64
  identifiers: {
@@ -69,7 +71,7 @@ let validatorSchema = {
69
71
  type: "object",
70
72
  required: ["relationshipTag", "serviceTag"],
71
73
  properties: {
72
- relationshipTag: izara.validatorSchema.stringNotEmpty(),
74
+ relationshipTag: validatorSchema.stringNotEmpty(),
73
75
  serviceTag: {
74
76
  type: 'string',
75
77
  pattern: "^[a-zA-Z0-9_-]+$",
@@ -87,21 +89,19 @@ let validatorSchema = {
87
89
  }
88
90
  };
89
91
 
92
+ //(<globalVariable>
93
+ //</globalVariable>)
90
94
 
91
-
92
- //(<globalVarible>
93
- //</globalVarible>)
94
-
95
- // validate event params in middleware before into main function
96
- validatorSchema = callingFlowSharedLib.addOptionalCallingFlowToValidatorSchema(validatorSchema);
97
- middleware.setValidatorSchema(validatorSchema)
95
+ // validate event params in middlewareHandler before into main function
96
+ basicValidatorSchema = callingFlowSharedLib.addOptionalCallingFlowToValidatorSchema(basicValidatorSchema);
97
+ middlewareHandler.setValidatorSchema(basicValidatorSchema)
98
98
  // if need to validate authorizer or additional params , add code to hook tag below
99
99
 
100
100
  //(<afterValidateWith>)
101
101
  //(</afterValidateWith>)
102
102
 
103
103
 
104
- module.exports.main = middleware.wrap(async (event, context, callback) => {
104
+ module.exports.main = middlewareHandler.wrap(async (event, context, callback) => {
105
105
  event._izContext.logger.debug('Event:', event);
106
106
  try {
107
107
  // invoke LambdaFunction
@@ -119,15 +119,15 @@ module.exports.main = middleware.wrap(async (event, context, callback) => {
119
119
 
120
120
  // return error to client
121
121
  if (lambdaFunctionResponse instanceof Error) {
122
- return (izara.response.failure(lambdaFunctionResponse));
122
+ return (response.failure(lambdaFunctionResponse));
123
123
  }
124
124
 
125
125
  // return success to client
126
- return (izara.response.success(lambdaFunctionResponse));
126
+ return (response.success(lambdaFunctionResponse));
127
127
 
128
128
  } catch (err) {
129
129
  event._izContext.logger.error('Error, <%- functionName %>HdrApi: ', err);
130
- return (izara.response.failure(err));
130
+ return (response.failure(err));
131
131
  }
132
132
  });
133
133
  <%_ function firstLetterUpperCase(text) {
@@ -17,8 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
17
17
 
18
18
  'use strict';
19
19
 
20
- const izara = require("@izara_project/izara-middleware");
21
- const middleware = izara.middlewareHandler;
20
+ const { middlewareHandler, validatorSchema, response } = require("@izara_project/izara-middleware");
22
21
 
23
22
  const callingFlowSharedLib = require('@izara_project/izara-core-library-calling-flow');
24
23
 
@@ -27,10 +26,13 @@ const callingFlowSharedLib = require('@izara_project/izara-core-library-calling-
27
26
  const Logger = require('@izara_project/izara-core-library-logger');
28
27
  const recordHandlerSharedLib = require('@izara_project/izara-core-library-record-handler');
29
28
 
29
+ //(<optionalRequire>)
30
+ //(</optionalRequire>)
30
31
 
31
32
  const <%- functionName %> = require('./<%- firstLetterUpperCase(functionName) %>_Main');
33
+
32
34
  // validate event properties in body.Message of sqs event
33
- middleware.setValidatorSchema(recordHandlerSharedLib.baseValidatorSchema(
35
+ middlewareHandler.setValidatorSchema(recordHandlerSharedLib.baseValidatorSchema(
34
36
  {
35
37
  type: "object",
36
38
  required: ['body', 'messageAttributes'],
@@ -45,8 +47,8 @@ middleware.setValidatorSchema(recordHandlerSharedLib.baseValidatorSchema(
45
47
  }
46
48
  ));
47
49
 
48
- // validate event params in middlewware before into function.
49
- let validatorSchema = {
50
+ // validate event params in middleware before into function.
51
+ let basicValidatorSchema = {
50
52
  type: "object",
51
53
  required: ["firstObject", "secondObject", "relType", 'relId'],
52
54
  properties: {
@@ -58,8 +60,8 @@ let validatorSchema = {
58
60
  type: "object",
59
61
  required: ["serviceTag", "objectType"],
60
62
  properties: {
61
- serviceTag: izara.validatorSchema.stringNotEmpty(),
62
- objectType: izara.validatorSchema.stringNotEmpty()
63
+ serviceTag: validatorSchema.stringNotEmpty(),
64
+ objectType: validatorSchema.stringNotEmpty()
63
65
  }
64
66
  },
65
67
  identifiers: {
@@ -76,8 +78,8 @@ let validatorSchema = {
76
78
  type: "object",
77
79
  required: ["serviceTag", "objectType"],
78
80
  properties: {
79
- serviceTag: izara.validatorSchema.stringNotEmpty(),
80
- objectType: izara.validatorSchema.stringNotEmpty()
81
+ serviceTag: validatorSchema.stringNotEmpty(),
82
+ objectType: validatorSchema.stringNotEmpty()
81
83
  }
82
84
  },
83
85
  identifiers: {
@@ -90,7 +92,7 @@ let validatorSchema = {
90
92
  type: "object",
91
93
  required: ["relationshipTag", "serviceTag"],
92
94
  properties: {
93
- relationshipTag: izara.validatorSchema.stringNotEmpty(),
95
+ relationshipTag: validatorSchema.stringNotEmpty(),
94
96
  serviceTag: {
95
97
  type: 'string',
96
98
  pattern: "^[a-zA-Z0-9_-]+$",
@@ -109,18 +111,18 @@ let validatorSchema = {
109
111
  };
110
112
 
111
113
 
112
- //(<globalVarible>
113
- //</globalVarible>)
114
+ //(<globalVariable>
115
+ //</globalVariable>)
114
116
 
115
- // validate event params in middleware before into main function
116
- validatorSchema = callingFlowSharedLib.addOptionalCallingFlowToValidatorSchema(validatorSchema);
117
+ // validate event params in middlewareHandler before into main function
118
+ basicValidatorSchema = callingFlowSharedLib.addOptionalCallingFlowToValidatorSchema(basicValidatorSchema);
117
119
  // if need to validate authorizer or additional params , add code to hook tag below
118
120
 
119
121
  //(<afterValidateWith>)
120
122
  //(</afterValidateWith>)
121
123
 
122
124
 
123
- module.exports.main = middleware.wrap(async (event, context, callback) => {
125
+ module.exports.main = middlewareHandler.wrap(async (event, context, callback) => {
124
126
  Logger.debug('event:', event);
125
127
  Logger.debug('context:', context);
126
128
  try {
@@ -140,7 +142,7 @@ let validatorSchema = {
140
142
  await recordHandlerSharedLib.validateRecord(
141
143
  record, // one record will send to mainFunction
142
144
  "<%- queueName %>", // queue name that need to retry or send to dlq
143
- validatorSchema, // schema for record.Message
145
+ basicValidatorSchema, // schema for record.Message
144
146
  // messageAttributeValidatorSchema // ----- for msgAttr default is null -> do not send this parameter if not want to validate msgAtt
145
147
  );
146
148
 
@@ -17,8 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
17
17
 
18
18
  'use strict';
19
19
 
20
- const izara = require("@izara_project/izara-middleware");
21
- const middleware = izara.middlewareHandler;
20
+ const { middlewareHandler, validatorSchema, response } = require("@izara_project/izara-middleware");
22
21
 
23
22
  const callingFlowSharedLib = require('@izara_project/izara-core-library-calling-flow');
24
23
 
@@ -26,10 +25,13 @@ const callingFlowSharedLib = require('@izara_project/izara-core-library-calling-
26
25
  // const Logger = require('@izara_project/izara-core-library-logger');
27
26
  // const IntegrationTestDetail = require('@izara_project/izara-core-library-integration-tests')
28
27
 
28
+ //(<optionalRequire>)
29
+ //(</optionalRequire>)
30
+
29
31
  const <%- functionName %> = require('./<%- firstLetterUpperCase(functionName) %>_Main');
30
32
 
31
- // validate event params in middlewware before into function.
32
- let validatorSchema = {
33
+ // validate event params in middleware before into function.
34
+ let basicValidatorSchema = {
33
35
  type: "object",
34
36
  required: ["firstObject", "secondObject", "relType", 'relId'],
35
37
  properties: {
@@ -41,8 +43,8 @@ let validatorSchema = {
41
43
  type: "object",
42
44
  required: ["serviceTag", "objectType"],
43
45
  properties: {
44
- serviceTag: izara.validatorSchema.stringNotEmpty(),
45
- objectType: izara.validatorSchema.stringNotEmpty()
46
+ serviceTag: validatorSchema.stringNotEmpty(),
47
+ objectType: validatorSchema.stringNotEmpty()
46
48
  }
47
49
  },
48
50
  identifiers: {
@@ -59,8 +61,8 @@ let validatorSchema = {
59
61
  type: "object",
60
62
  required: ["serviceTag", "objectType"],
61
63
  properties: {
62
- serviceTag: izara.validatorSchema.stringNotEmpty(),
63
- objectType: izara.validatorSchema.stringNotEmpty()
64
+ serviceTag: validatorSchema.stringNotEmpty(),
65
+ objectType: validatorSchema.stringNotEmpty()
64
66
  }
65
67
  },
66
68
  identifiers: {
@@ -73,7 +75,7 @@ let validatorSchema = {
73
75
  type: "object",
74
76
  required: ["relationshipTag", "serviceTag"],
75
77
  properties: {
76
- relationshipTag: izara.validatorSchema.stringNotEmpty(),
78
+ relationshipTag: validatorSchema.stringNotEmpty(),
77
79
  serviceTag: {
78
80
  type: 'string',
79
81
  pattern: "^[a-zA-Z0-9_-]+$",
@@ -91,10 +93,10 @@ let validatorSchema = {
91
93
  }
92
94
  };
93
95
 
94
- validatorSchema = callingFlowSharedLib.addOptionalCallingFlowToValidatorSchema(validatorSchema); // is Ok callinfFlow
95
- middleware.setValidatorSchema(validatorSchema)
96
+ basicValidatorSchema = callingFlowSharedLib.addOptionalCallingFlowToValidatorSchema(basicValidatorSchema); // is Ok callingFlow
97
+ middlewareHandler.setValidatorSchema(basicValidatorSchema)
96
98
 
97
- module.exports.main = middleware.wrap(async (event, context, callback) => {
99
+ module.exports.main = middlewareHandler.wrap(async (event, context, callback) => {
98
100
  event._izContext.logger.debug('Event:', event);
99
101
  event._izContext.logger.debug('context:', context);
100
102
 
@@ -16,21 +16,23 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
16
16
  */
17
17
 
18
18
  'use strict';
19
- const izara = require("@izara_project/izara-middleware");
20
- const middleware = izara.middlewareHandler;
19
+
20
+ const { middlewareHandler, validatorSchema, response } = require("@izara_project/izara-middleware");
21
+
21
22
  const callingFlowSharedLib = require('@izara_project/izara-core-library-calling-flow');
22
- const {
23
- validateSchemaMiddleware
24
- } = require('@izara_project/izara-market-library-service-schemas/src/GenerateCodeLibs/src/GenerateCodeLibs');
23
+
25
24
  const Logger = require('@izara_project/izara-core-library-logger');
26
25
  const recordHandlerSharedLib = require('@izara_project/izara-core-library-record-handler');
27
26
 
27
+ //(<optionalRequire>)
28
+ //(</optionalRequire>)
29
+
28
30
  const <%- functionName %> = require('./<%- firstLetterUpperCase(functionName) %>_Main');
29
31
 
30
- middleware.setValidatorSchema(recordHandlerSharedLib.baseValidatorSchema());
32
+ middlewareHandler.setValidatorSchema(recordHandlerSharedLib.baseValidatorSchema());
31
33
 
32
- // validate event params in middleware before into function
33
- let validatorSchema = {
34
+ // validate event params in middlewareHandler before into function
35
+ let basicValidatorSchema = {
34
36
  type: "object",
35
37
  required: ["firstObject", "secondObject", "relType", 'relId'],
36
38
  properties: {
@@ -42,8 +44,8 @@ let validatorSchema = {
42
44
  type: "object",
43
45
  required: ["serviceTag", "objectType"],
44
46
  properties: {
45
- serviceTag: izara.validatorSchema.stringNotEmpty(),
46
- objectType: izara.validatorSchema.stringNotEmpty()
47
+ serviceTag: validatorSchema.stringNotEmpty(),
48
+ objectType: validatorSchema.stringNotEmpty()
47
49
  }
48
50
  },
49
51
  identifiers: {
@@ -60,8 +62,8 @@ let validatorSchema = {
60
62
  type: "object",
61
63
  required: ["serviceTag", "objectType"],
62
64
  properties: {
63
- serviceTag: izara.validatorSchema.stringNotEmpty(),
64
- objectType: izara.validatorSchema.stringNotEmpty()
65
+ serviceTag: validatorSchema.stringNotEmpty(),
66
+ objectType: validatorSchema.stringNotEmpty()
65
67
  }
66
68
  },
67
69
  identifiers: {
@@ -74,7 +76,7 @@ let validatorSchema = {
74
76
  type: "object",
75
77
  required: ["relationshipTag", "serviceTag"],
76
78
  properties: {
77
- relationshipTag: izara.validatorSchema.stringNotEmpty(),
79
+ relationshipTag: validatorSchema.stringNotEmpty(),
78
80
  serviceTag: {
79
81
  type: 'string',
80
82
  pattern: "^[a-zA-Z0-9_-]+$",
@@ -94,17 +96,17 @@ let validatorSchema = {
94
96
 
95
97
 
96
98
 
97
- //(<globalVarible>
98
- //</globalVarible>)
99
+ //(<globalVariable>
100
+ //</globalVariable>)
99
101
 
100
- // validate event params in middleware before into main function
101
- validatorSchema = callingFlowSharedLib.addOptionalCallingFlowToValidatorSchema(validatorSchema);
102
+ // validate event params in middlewareHandler before into main function
103
+ basicValidatorSchema = callingFlowSharedLib.addOptionalCallingFlowToValidatorSchema(basicValidatorSchema);
102
104
  // if need to validate authorizer or additional params , add code to hook tag below
103
105
 
104
106
  //(<afterValidateWith>)
105
107
  //(</afterValidateWith>)
106
108
 
107
- module.exports.main = middleware.wrap(async (event, context, callback) => {
109
+ module.exports.main = middlewareHandler.wrap(async (event, context, callback) => {
108
110
 
109
111
  try {
110
112
 
@@ -119,7 +121,7 @@ let validatorSchema = {
119
121
  await recordHandlerSharedLib.validateRecord(
120
122
  record, // one record will send to mainFunction
121
123
  "<%-firstLetterUpperCase(queueName) %>", // queue name that need to retry or send to dlq
122
- validatorSchema, // schema for record.Message
124
+ basicValidatorSchema, // schema for record.Message
123
125
  // messageAttributeValidatorSchema // ----- for msgAttr default is null -> do not send this parameter if not want to validate msgAtt
124
126
  );
125
127
 
@@ -53,8 +53,10 @@ const {
53
53
  TOPIC_NAME_GRAPH_HANDLER
54
54
  } = require('@izara_project/izara-market-library-service-schemas/src/GenerateCodeLibs/src/Consts');
55
55
  const graphSharedLib = require('@izara_project/izara-core-library-graph-service')
56
+
56
57
  //(<optionalRequire>)
57
58
  //(</optionalRequire>)
59
+
58
60
  /**
59
61
  * update relationship endpoint
60
62
  *
@@ -27,8 +27,10 @@ const recordHandlerSharedLib = require('@izara_project/izara-core-library-record
27
27
 
28
28
  const getRelationshipComplete = require('./GetRelationshipComplete_Main');
29
29
  const Logger = require('@izara_project/izara-core-library-logger');
30
+
30
31
  // validate event properties in body.Message of sqs event
31
32
  middleware.setValidatorSchema(recordHandlerSharedLib.baseValidatorSchema());
33
+
32
34
  // set schema for record.body.Message
33
35
  let perRecordsValidatorSchema = {
34
36
  type: "object",
@@ -96,7 +98,7 @@ module.exports.main = middleware.wrap(async (event, context, callback) => {
96
98
  passOnProperties.push(record.body.Message.errorsFound)
97
99
  passOnProperties.push(record.body.Message.graphServiceTag)
98
100
  passOnProperties.push(callingFlowSharedLib.addPassBackPropertiesToPassOnProperties(record.body.Message)) // is Ok PassBackProperties
99
- // passOnProperties.push(callingFlowSharedLib.addCallingFlowToPassOnProperties(record.body.Message)) // is Ok callinfFlow
101
+ // passOnProperties.push(callingFlowSharedLib.addCallingFlowToPassOnProperties(record.body.Message)) // is Ok callingFlow
100
102
  record._izContext.logger.debug('passOnProperties in handler', passOnProperties);
101
103
 
102
104
  // call recordHandlerSharedLib.recordHandler with 3 parameters and return promise(resolve)