@izara_project/izara-market-library-service-schemas 1.0.29 → 1.0.31

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 (170) hide show
  1. package/package.json +1 -1
  2. package/src/GenerateCodeLibs/src/Consts.js +11 -9
  3. package/src/GenerateCodeLibs/src/GenerateCodeLibs.js +54 -21
  4. package/src/MainLibs/src/Consts.js +43 -20
  5. package/src/reStructure/GenerateCode.js +2 -1
  6. package/src/reStructure/TemplateConfig.js +5 -1
  7. package/src/reStructure/TemplateData/EndpointPerService/generateTemplateData.js +108 -0
  8. package/src/reStructure/TemplateData/EndpointPerService/handler/api/data.js +76 -0
  9. package/src/reStructure/TemplateData/EndpointPerService/handler/api/request.json +7 -0
  10. package/src/reStructure/TemplateData/EndpointPerService/handler/api/template.ejs +73 -0
  11. package/src/reStructure/TemplateData/EndpointPerService/handler/dsq/data.js +81 -0
  12. package/src/reStructure/TemplateData/EndpointPerService/handler/dsq/request.json +7 -0
  13. package/src/reStructure/TemplateData/EndpointPerService/handler/dsq/template.ejs +125 -0
  14. package/src/reStructure/TemplateData/EndpointPerService/handler/inv/data.js +70 -0
  15. package/src/reStructure/TemplateData/EndpointPerService/handler/inv/request.json +7 -0
  16. package/src/reStructure/TemplateData/EndpointPerService/handler/inv/template.ejs +73 -0
  17. package/src/reStructure/TemplateData/EndpointPerService/handler/sqs/data.js +79 -0
  18. package/src/reStructure/TemplateData/EndpointPerService/handler/sqs/request.json +7 -0
  19. package/src/reStructure/TemplateData/EndpointPerService/handler/sqs/template.ejs +126 -0
  20. package/src/reStructure/TemplateData/{flowSchema/components/schema/inProcess/handler → EndpointPerService/mainFunction/create}/data.js +20 -13
  21. package/src/reStructure/TemplateData/EndpointPerService/mainFunction/create/template.ejs +624 -0
  22. package/src/reStructure/TemplateData/{flowSchema/components/schema/inProcess/mainFunction → EndpointPerService/mainFunction/delete}/data.js +18 -11
  23. package/src/reStructure/TemplateData/EndpointPerService/mainFunction/delete/template.ejs +176 -0
  24. package/src/reStructure/TemplateData/EndpointPerService/mainFunction/get/data.js +56 -0
  25. package/src/reStructure/TemplateData/EndpointPerService/mainFunction/get/template.ejs +234 -0
  26. package/src/reStructure/TemplateData/EndpointPerService/mainFunction/update/data.js +56 -0
  27. package/src/reStructure/TemplateData/EndpointPerService/mainFunction/update/template.ejs +330 -0
  28. package/src/reStructure/TemplateData/EndpointPerService/yaml/data.js +177 -0
  29. package/src/reStructure/TemplateData/EndpointPerService/yaml/template.ejs +26 -0
  30. package/src/reStructure/TemplateData/externalService/generateTemplateData.js +1 -1
  31. package/src/reStructure/TemplateData/externalService/lambdaRole/data.js +91 -249
  32. package/src/reStructure/TemplateData/externalService/lambdaRole/template.ejs +1 -1
  33. package/src/reStructure/TemplateData/externalService/snsTopicSubscriptions/data.js +10 -8
  34. package/src/reStructure/TemplateData/externalService/snsTopicSubscriptions/template.ejs +1 -1
  35. package/src/reStructure/TemplateData/findData/findDataYaml/data.js +2 -2
  36. package/src/reStructure/TemplateData/flowSchema/components/upload/confirmReserved/functionYaml/data.js +8 -7
  37. package/src/reStructure/TemplateData/flowSchema/components/upload/confirmReserved/handler/data.js +4 -4
  38. package/src/reStructure/TemplateData/flowSchema/components/upload/confirmReserved/mainFunction/data.js +2 -2
  39. package/src/reStructure/TemplateData/flowSchema/components/upload/createObject/functionYaml/data.js +5 -31
  40. package/src/reStructure/TemplateData/flowSchema/components/upload/createObject/handler/data.js +4 -22
  41. package/src/reStructure/TemplateData/flowSchema/components/upload/createObject/handler/template.ejs +3 -31
  42. package/src/reStructure/TemplateData/flowSchema/components/upload/createObject/mainFunction/data.js +1 -1
  43. package/src/reStructure/TemplateData/flowSchema/components/upload/createObjectComplete/functionYaml/data.js +6 -6
  44. package/src/reStructure/TemplateData/flowSchema/components/upload/createObjectComplete/handler/data.js +4 -4
  45. package/src/reStructure/TemplateData/flowSchema/components/upload/createObjectComplete/mainFunction/data.js +4 -4
  46. package/src/reStructure/TemplateData/flowSchema/components/upload/createObjectComplete/sns-sqs/data.js +1 -1
  47. package/src/reStructure/TemplateData/flowSchema/components/upload/createObjectComplete/sns-sqs/template.ejs +1 -1
  48. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/{getSignUrls → createPresignUrl}/functionYaml/data.js +45 -14
  49. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/{getSignUrls → createPresignUrl}/functionYaml/template.ejs +3 -0
  50. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/{getSignUrls → createPresignUrl}/handler/data.js +6 -6
  51. package/src/reStructure/TemplateData/flowSchema/{legacy/hookCode-old/handler/templateAsyncHandler.ejs → components/upload/preSignUrl/createPresignUrl/handler/template.ejs} +26 -11
  52. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/{getSignUrls → createPresignUrl}/mainFunction/data.js +11 -8
  53. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/createPresignUrl/mainFunction/template.ejs +253 -0
  54. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/{reservedLimit → createPresignUrl}/queue/data.js +1 -1
  55. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/functionYaml/data.js +14 -42
  56. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/functionYaml/template.ejs +0 -3
  57. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/handler/data.js +6 -6
  58. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/handler/template.ejs +40 -45
  59. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/mainFunction/data.js +5 -8
  60. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/mainFunction/template.ejs +100 -190
  61. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/{getSignUrls → reservedLimit}/sqs/data.js +4 -4
  62. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/{getSignUrls → reservedLimit}/sqs/template.ejs +2 -2
  63. package/src/reStructure/TemplateData/flowSchema/components/upload/processFile/functionYml/HdrS3/data.js +9 -7
  64. package/src/reStructure/TemplateData/flowSchema/components/upload/processFile/handler/handlerS3/data.js +4 -4
  65. package/src/reStructure/TemplateData/flowSchema/components/upload/processFile/mainFunction/data.js +4 -4
  66. package/src/reStructure/TemplateData/flowSchema/components/upload/processFile/queue/s3Template.ejs +1 -1
  67. package/src/reStructure/TemplateData/flowSchema/components/upload/relate/S3/data.js +5 -2
  68. package/src/reStructure/TemplateData/flowSchema/components/websocket/connect/functionYaml/data.js +3 -3
  69. package/src/reStructure/TemplateData/flowSchema/components/websocket/connect/functionYaml/template.ejs +2 -0
  70. package/src/reStructure/TemplateData/flowSchema/components/websocket/connect/handler/data.js +3 -2
  71. package/src/reStructure/TemplateData/flowSchema/components/websocket/connect/handler/template.ejs +4 -16
  72. package/src/reStructure/TemplateData/flowSchema/flowSchemaOwnTopic/flowSchema/functionYaml/data.js +115 -0
  73. package/src/reStructure/TemplateData/flowSchema/{components/schema/inProcess → flowSchemaOwnTopic/flowSchema}/functionYaml/template.ejs +1 -20
  74. package/src/reStructure/TemplateData/flowSchema/flowSchemaOwnTopic/flowSchema/handler/data.js +70 -0
  75. package/src/reStructure/TemplateData/flowSchema/{components/schema/inProcess → flowSchemaOwnTopic/flowSchema}/handler/template.ejs +14 -32
  76. package/src/reStructure/TemplateData/flowSchema/flowSchemaOwnTopic/flowSchema/mainFunction/data.js +64 -0
  77. package/src/reStructure/TemplateData/flowSchema/flowSchemaOwnTopic/flowSchema/mainFunction/template.ejs +104 -0
  78. package/src/reStructure/TemplateData/flowSchema/flowSchemaOwnTopic/flowSchemaComplete/functionYaml/data.js +115 -0
  79. package/src/reStructure/TemplateData/flowSchema/flowSchemaOwnTopic/flowSchemaComplete/functionYaml/template.ejs +20 -0
  80. package/src/reStructure/TemplateData/flowSchema/flowSchemaOwnTopic/flowSchemaComplete/handler/data.js +71 -0
  81. package/src/reStructure/TemplateData/flowSchema/flowSchemaOwnTopic/flowSchemaComplete/handler/template.ejs +85 -0
  82. package/src/reStructure/TemplateData/flowSchema/{components/upload/hook/hookLogic → flowSchemaOwnTopic/flowSchemaComplete/mainFunction}/data.js +30 -10
  83. package/src/reStructure/TemplateData/flowSchema/flowSchemaOwnTopic/flowSchemaComplete/mainFunction/template.ejs +105 -0
  84. package/src/reStructure/TemplateData/flowSchema/generateTemplateData.js +78 -55
  85. package/src/reStructure/TemplateData/generateRole/createSharedResource.js +21 -1
  86. package/src/reStructure/TemplateData/perActionComplete/create/mainFunction/template.ejs +35 -44
  87. package/src/reStructure/TemplateData/perActionComplete/create/sns-out/template.ejs +1 -1
  88. package/src/reStructure/TemplateData/perActionComplete/create/yaml/data.js +4 -5
  89. package/src/reStructure/TemplateData/perActionComplete/delete/yaml/data.js +5 -4
  90. package/src/reStructure/TemplateData/perActionComplete/generateTemplateData.js +15 -2
  91. package/src/reStructure/TemplateData/perActionComplete/get/yaml/data.js +7 -4
  92. package/src/reStructure/TemplateData/perActionComplete/update/sns-out/data.js +1 -1
  93. package/src/reStructure/TemplateData/perActionComplete/update/yaml/data.js +5 -4
  94. package/src/reStructure/TemplateData/processLogical/yaml/data.js +3 -3
  95. package/src/reStructure/TemplateData/processLogicalPagination/yaml/dsq/data.js +1 -1
  96. package/src/reStructure/TemplateData/processLogicalPagination/yaml/sqs/data.js +2 -2
  97. package/src/reStructure/TemplateData/relationshipPerAction/create/action/functionYaml/api/data.js +1 -1
  98. package/src/reStructure/TemplateData/relationshipPerAction/create/action/functionYaml/dsq/data.js +1 -1
  99. package/src/reStructure/TemplateData/relationshipPerAction/create/action/functionYaml/inv/data.js +1 -1
  100. package/src/reStructure/TemplateData/relationshipPerAction/create/action/functionYaml/sqs/data.js +3 -3
  101. package/src/reStructure/TemplateData/relationshipPerAction/create/action/sns-in-sqs/snsTemplate.ejs +1 -1
  102. package/src/reStructure/TemplateData/relationshipPerAction/create/complete/functionYaml/data.js +2 -2
  103. package/src/reStructure/TemplateData/relationshipPerAction/create/complete/mainFunction/data.js +1 -1
  104. package/src/reStructure/TemplateData/relationshipPerAction/create/complete/sns-in-sqs/template.ejs +0 -1
  105. package/src/reStructure/TemplateData/relationshipPerAction/create/complete/sns-out/template.ejs +1 -1
  106. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/functionYaml/api/data.js +1 -1
  107. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/functionYaml/dsq/data.js +1 -1
  108. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/functionYaml/inv/data.js +1 -1
  109. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/functionYaml/sqs/data.js +3 -3
  110. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/sns-in-sqs/snsTemplate.ejs +1 -1
  111. package/src/reStructure/TemplateData/relationshipPerAction/delete/complete/functionYaml/data.js +2 -2
  112. package/src/reStructure/TemplateData/relationshipPerAction/delete/complete/sns-out/template.ejs +1 -1
  113. package/src/reStructure/TemplateData/relationshipPerAction/get/action/functionYaml/api/data.js +1 -1
  114. package/src/reStructure/TemplateData/relationshipPerAction/get/action/functionYaml/dsq/data.js +1 -1
  115. package/src/reStructure/TemplateData/relationshipPerAction/get/action/functionYaml/inv/data.js +1 -1
  116. package/src/reStructure/TemplateData/relationshipPerAction/get/action/functionYaml/sqs/data.js +4 -4
  117. package/src/reStructure/TemplateData/relationshipPerAction/get/action/sns-in-sqs/snsTemplate.ejs +1 -1
  118. package/src/reStructure/TemplateData/relationshipPerAction/get/complete/functionYaml/data.js +2 -2
  119. package/src/reStructure/TemplateData/relationshipPerAction/get/complete/sns-out/template.ejs +1 -1
  120. package/src/reStructure/TemplateData/relationshipPerAction/update/action/functionYaml/api/data.js +1 -1
  121. package/src/reStructure/TemplateData/relationshipPerAction/update/action/functionYaml/dsq/data.js +1 -1
  122. package/src/reStructure/TemplateData/relationshipPerAction/update/action/functionYaml/inv/data.js +1 -1
  123. package/src/reStructure/TemplateData/relationshipPerAction/update/action/functionYaml/sqs/data.js +4 -4
  124. package/src/reStructure/TemplateData/relationshipPerAction/update/action/sns-in-sqs/snsTemplate.ejs +1 -1
  125. package/src/reStructure/TemplateData/relationshipPerAction/update/complete/functionYaml/data.js +2 -2
  126. package/src/reStructure/TemplateData/relationshipPerAction/update/complete/sns-out/template.ejs +1 -1
  127. package/src/reStructure/TemplateData/resourceYaml/dynamodb/defaultDynamoDbTable.js +1 -1
  128. package/src/reStructure/TemplateData/resourceYaml/dynamodb/generateDynamoPerLink.js +1 -1
  129. package/src/reStructure/TemplateData/resourceYaml/dynamodb/mainResourcePerObjectSchemaData.js +1 -1
  130. package/src/reStructure/TemplateData/resourceYaml/generateTemplateData.js +6 -12
  131. package/src/reStructure/TemplateData/resourceYaml/sns-in-sqs/defaultSnsInSqsForFindDataAndProcessLogical.js +1 -1
  132. package/src/reStructure/TemplateData/resourceYaml/sns-in-sqs/snsAndSqsPerActionData.js +22 -49
  133. package/src/reStructure/TemplateData/resourceYaml/sns-in-sqs/snsTemplate.ejs +1 -1
  134. package/src/reStructure/TemplateData/resourceYaml/sns-out/data.js +8 -24
  135. package/src/reStructure/TemplateData/resourceYaml/sns-out/template.ejs +1 -1
  136. package/src/reStructure/TemplateData/testTemplate/template.ejs +0 -5
  137. package/src/reStructure/TemplateData/flowSchema/components/schema/inProcess/functionYaml/data.js +0 -76
  138. package/src/reStructure/TemplateData/flowSchema/components/schema/inProcess/sns-sqs/data.js +0 -35
  139. package/src/reStructure/TemplateData/flowSchema/components/schema/outComplete/functionYaml/data.js +0 -34
  140. package/src/reStructure/TemplateData/flowSchema/components/schema/outComplete/functionYaml/template.ejs +0 -0
  141. package/src/reStructure/TemplateData/flowSchema/components/schema/outComplete/handler/data.js +0 -34
  142. package/src/reStructure/TemplateData/flowSchema/components/schema/outComplete/handler/template.ejs +0 -0
  143. package/src/reStructure/TemplateData/flowSchema/components/schema/outComplete/mainFunction/data.js +0 -34
  144. package/src/reStructure/TemplateData/flowSchema/components/schema/outComplete/mainFunction/template.ejs +0 -0
  145. package/src/reStructure/TemplateData/flowSchema/components/schema/outComplete/sns-sqs/data.js +0 -34
  146. package/src/reStructure/TemplateData/flowSchema/components/schema/outComplete/sns-sqs/template.ejs +0 -0
  147. package/src/reStructure/TemplateData/flowSchema/components/upload/hook/handler/data.js +0 -93
  148. package/src/reStructure/TemplateData/flowSchema/components/upload/hook/handler/templateAsyncHandler.ejs +0 -110
  149. package/src/reStructure/TemplateData/flowSchema/components/upload/hook/handler/templateSyncHandler.ejs +0 -49
  150. package/src/reStructure/TemplateData/flowSchema/components/upload/hook/mainFunction/data.js +0 -65
  151. package/src/reStructure/TemplateData/flowSchema/components/upload/hook/mainFunction/template.ejs +0 -7
  152. package/src/reStructure/TemplateData/flowSchema/components/upload/hook/queue/data.js +0 -72
  153. package/src/reStructure/TemplateData/flowSchema/components/upload/hook/queue/snsTemplate.ejs +0 -59
  154. package/src/reStructure/TemplateData/flowSchema/components/upload/hook/queue/sqsTemplate.ejs +0 -43
  155. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/getSignUrls/handler/template.ejs +0 -120
  156. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/getSignUrls/mainFunction/template.ejs +0 -163
  157. package/src/reStructure/TemplateData/flowSchema/legacy/hookCode-old/functionYaml/data.js +0 -101
  158. package/src/reStructure/TemplateData/flowSchema/legacy/hookCode-old/functionYaml/template.ejs +0 -43
  159. package/src/reStructure/TemplateData/flowSchema/legacy/hookCode-old/handler/data.js +0 -93
  160. package/src/reStructure/TemplateData/flowSchema/legacy/hookCode-old/handler/templateSyncHandler.ejs +0 -49
  161. package/src/reStructure/TemplateData/flowSchema/legacy/hookCode-old/hookLogic/data.js +0 -64
  162. package/src/reStructure/TemplateData/flowSchema/legacy/hookCode-old/mainFunction/data.js +0 -66
  163. package/src/reStructure/TemplateData/flowSchema/legacy/hookCode-old/mainFunction/template.ejs +0 -30
  164. package/src/reStructure/TemplateData/flowSchema/legacy/hookCode-old/queue/data.js +0 -124
  165. package/src/reStructure/TemplateData/flowSchema/legacy/hookCode-old/queue/snsTemplate.ejs +0 -59
  166. package/src/reStructure/TemplateData/flowSchema/legacy/hookCode-old/queue/sqsTemplate.ejs +0 -43
  167. package/src/reStructure/TemplateData/relationshipPerAction.zip +0 -0
  168. /package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/{reservedLimit → createPresignUrl}/queue/template.ejs +0 -0
  169. /package/src/reStructure/TemplateData/flowSchema/{components/schema/inProcess/mainFunction/template.ejs → flowSchemaOwnTopic/sns-in/data.js} +0 -0
  170. /package/src/reStructure/TemplateData/flowSchema/{components/schema/inProcess/sns-sqs/template.ejs → flowSchemaOwnTopic/sns-out/data.js} +0 -0
@@ -38,33 +38,15 @@ function data(_izContext, flowSchema, srcPath) {
38
38
  function createParamsForCreateSource(_izContext, flowSchema, srcPath) {
39
39
  let functionName = upperCase(FUNCTION_NAME.createObjectS3)
40
40
  let handlerType = "HdrWbs"
41
- let hook = false;
42
- let hookFunctionName;
43
- let isAsync = false;
44
- if (flowSchema?.hook) {
45
- for (const [hookName, hookProperties] of Object.entries(flowSchema.hook)) {
46
- for (const hookFunction of hookProperties.functionList) {
47
- if (hookName === FLOW_SCHEMA_HOOK_STATE.beforeCreate) {
48
- if (hookFunction.event?.initialEvent && hookFunction.event.initialEvent === true) {
49
- hook = true
50
- hookFunctionName = hookFunction.name
51
- if (hookFunction.event?.isAsync && hookFunction.event.isAsync === true) {
52
- isAsync = true
53
- }
54
- }
55
- }
56
- }
57
- }
58
- }
41
+
59
42
  return {
60
43
  templatePath: templatePath,
61
44
  templateData: {
62
- hook: hook,
63
- hookFunctionName: hookFunctionName,
64
- isAsync
45
+ functionName,
46
+ handlerType
65
47
  },
66
48
  setting: {
67
- savePath: path.join(srcPath, SOURCE_PATH.webSocket),
49
+ savePath: path.join(srcPath, SOURCE_PATH.webSocket, flowSchema.flowTag, "source/"),
68
50
  saveFileName: `${functionName}_${handlerType}`,
69
51
  fileExtension: ".js",
70
52
  isAppend: false
@@ -22,16 +22,12 @@ const middleware = izara.middlewareHandler;
22
22
  // const AWS = require('aws-sdk');
23
23
  // const api = new AWS.ApiGatewayManagementApi({ endpoint: process.env.iz_webSocketEndpoint });
24
24
  const dynamodbSharedLib = require('@izara_project/izara-core-library-dynamodb')
25
- const callingFlowSharedLib = require('@izara_project/izara-core-calling-flow')
25
+ const callingFlowSharedLib = require('@izara_project/izara-core-library-calling-flow')
26
26
  const hash = require('object-hash')
27
27
  // const coreConsts = require("@izara_project/izara-core-library-core/src/Consts");
28
28
  const consts = require('@izara_project/izara-middleware/src/MiddlewareCore/Consts')
29
29
  const { postToConnection } = require("../../libs/source/ImportDataLib");
30
- <% if (hook) { _%>
31
- const <%- upperCase(hookFunctionName) %> = require("./FlowSchemaHook/HookLogicFunction/source/<%- upperCase(hookFunctionName) %>")
32
- <% } else { _%>
33
30
  const createObject = require('./CreateObjectS3_Main');
34
- <% } _%>
35
31
  module.exports.main = middleware.wrap(async (event, context, callback) => {
36
32
 
37
33
  event._izContext.logger.debug('Event:', event);
@@ -53,7 +49,7 @@ module.exports.main = middleware.wrap(async (event, context, callback) => {
53
49
  case '$default':
54
50
  console.log('Received unknown route:', route);
55
51
  break
56
- case 'webSocket':
52
+ case 'uploadS3':
57
53
  console.log("event in route webSocket", event);
58
54
  let eventParams = JSON.parse(event.body)
59
55
 
@@ -67,25 +63,6 @@ module.exports.main = middleware.wrap(async (event, context, callback) => {
67
63
  )
68
64
 
69
65
  let callingFlow = eventParams?.callingFlow ? eventParams.callingFlow : {};
70
- <% if (hook) { _%>
71
- <% if (isAsync) { %>
72
- await <%- upperCase(hookFunctionName) %>(
73
- event._izContext,
74
- eventParams,
75
- callingFlowSharedLib.addCallingFlowToPassOnProperties(callingFlow)
76
- //(<additionalParams>)
77
- //(</additionalParams>)
78
- )
79
- <% } else { %>
80
- <%- upperCase(hookFunctionName) %>(
81
- event._izContext,
82
- eventParams,
83
- callingFlowSharedLib.addCallingFlowToPassOnProperties(callingFlow)
84
- //(<additionalParams>)
85
- //(</additionalParams>)
86
- )
87
- <% } _%>
88
- <% } else { _%>
89
66
  await createObject.createObject(
90
67
  event._izContext,
91
68
  eventParams,
@@ -93,7 +70,6 @@ module.exports.main = middleware.wrap(async (event, context, callback) => {
93
70
  //(<additionalParams>)
94
71
  //(</additionalParams>)
95
72
  )
96
- <% } _%>
97
73
 
98
74
  break
99
75
  }
@@ -112,8 +88,4 @@ module.exports.main = middleware.wrap(async (event, context, callback) => {
112
88
  await postToConnection({ message: err.message }, connId);
113
89
  return (izara.response.failure(err));
114
90
  }
115
- });
116
- <%_ const join = require('path').join _%>
117
- <%_ function upperCase (text) {
118
- return text.charAt(0).toUpperCase() + text.slice(1)
119
- } _%>
91
+ });
@@ -44,7 +44,7 @@ async function createParamsForCreateSource(_izContext, flowSchema, srcPath) {
44
44
  templatePath: templatePath,
45
45
  templateData: {},
46
46
  setting: {
47
- savePath: path.join(srcPath, SOURCE_PATH.webSocket),
47
+ savePath: path.join(srcPath, SOURCE_PATH.webSocket, flowSchema.flowTag, "source/"),
48
48
  saveFileName: `${functionName}_Main`,
49
49
  fileExtension: ".js",
50
50
  isAppend: false
@@ -47,11 +47,11 @@ const {
47
47
  * @param {Object} objectSchemas
48
48
  * @return {{ templatePath, templateData, setting } }
49
49
  */
50
- function data(_izContext, srcPath) {
51
- return [createSourceParams(_izContext, srcPath)]
50
+ function data(_izContext, flowSchema, srcPath) {
51
+ return [createSourceParams(_izContext, flowSchema, srcPath)]
52
52
  }
53
53
 
54
- function createSourceParams(_izContext, srcPath) {
54
+ function createSourceParams(_izContext, flowSchema, srcPath) {
55
55
  let functionName = upperCase(FUNCTION_NAME.createObjectS3Complete);
56
56
  let handlerType = upperCase(HANDLER.hdrSqs);
57
57
  let additionalResourcePermission = defaultIamRolePerAction();
@@ -67,8 +67,8 @@ function createSourceParams(_izContext, srcPath) {
67
67
  ]
68
68
  },
69
69
  [
70
- resourceNames(RESOURCE_CLASSES.sns, functionName + handlerType),
71
- resourceNames(RESOURCE_CLASSES.sns, functionName + "DLQ")
70
+ resourceNames(RESOURCE_CLASSES.sqs, functionName + handlerType),
71
+ resourceNames(RESOURCE_CLASSES.sqs, functionName + handlerType + "DLQ")
72
72
  ]
73
73
  ),
74
74
  createIamRole(
@@ -98,7 +98,7 @@ function createSourceParams(_izContext, srcPath) {
98
98
  return {
99
99
  templatePath: templatePath,
100
100
  templateData: {
101
- resourceLocation: SOURCE_PATH.resourceLocationWebSocket,
101
+ resourceLocation: path.join(SOURCE_PATH.resourceLocationWebSocket, flowSchema.flowTag, "source/"),
102
102
  functionName: functionName,
103
103
  handlerType: handlerType,
104
104
  additionalResourcePermission: additionalResourcePermission,
@@ -45,11 +45,11 @@ const {
45
45
  * @param {Object} objectSchemas
46
46
  * @return {{ templatePath, templateData, setting } }
47
47
  */
48
- function data(_izContext, srcPath) {
49
- return [createSourceParams(_izContext, srcPath)]
48
+ function data(_izContext, flowSchema, srcPath) {
49
+ return [createSourceParams(_izContext, flowSchema, srcPath)]
50
50
  }
51
51
 
52
- function createSourceParams(_izContext, srcPath) {
52
+ function createSourceParams(_izContext, flowSchema, srcPath) {
53
53
  let functionName = upperCase(FUNCTION_NAME.createObjectS3Complete)
54
54
  let handlerType = upperCase(HANDLER.hdrSqs)
55
55
  return {
@@ -59,7 +59,7 @@ function createSourceParams(_izContext, srcPath) {
59
59
  handlerType,
60
60
  },
61
61
  setting: {
62
- savePath: path.join(srcPath, SOURCE_PATH.webSocket),
62
+ savePath: path.join(srcPath, SOURCE_PATH.webSocket, flowSchema.flowTag, "source/"),
63
63
  saveFileName: `${functionName}_${handlerType}`,
64
64
  fileExtension: ".js",
65
65
  isAppend: false
@@ -32,11 +32,11 @@ const { firstLetterUpperCase: upperCase } = require('../../../../../../../MainLi
32
32
  * @param {Object} objectSchemas
33
33
  * @return {{ templatePath, templateData, setting } }
34
34
  */
35
- function data(_izContext, srcPath) {
36
- return [createSourceParams(_izContext, srcPath)]
35
+ function data(_izContext, flowSchema, srcPath) {
36
+ return [createSourceParams(_izContext, flowSchema, srcPath)]
37
37
  }
38
38
 
39
- function createSourceParams(_izContext, srcPath) {
39
+ function createSourceParams(_izContext, flowSchema, srcPath) {
40
40
  let functionName = upperCase(FUNCTION_NAME.createObjectS3Complete)
41
41
  return {
42
42
  templatePath: templatePath,
@@ -44,7 +44,7 @@ function createSourceParams(_izContext, srcPath) {
44
44
  functionName,
45
45
  },
46
46
  setting: {
47
- savePath: path.join(srcPath, SOURCE_PATH.webSocket),
47
+ savePath: path.join(srcPath, SOURCE_PATH.webSocket, flowSchema.flowTag, "source/"),
48
48
  saveFileName: `${functionName}_Main`,
49
49
  fileExtension: ".js",
50
50
  isAppend: false
@@ -55,7 +55,7 @@ function createDataForDefaultSnsInSqs(_izContext, srcPath) {
55
55
  defaultSnsInSqsDataList.push(
56
56
  {
57
57
  queueName: upperCase(FUNCTION_NAME.createObjectS3Complete) + upperCase(HANDLER.hdrSqs),
58
- subScription: upperCase(TOPIC_NAME_GENERATE_CODE.outUpdateNodeComplete)
58
+ subScription: "Out" + upperCase(FUNCTION_NAME.updateNodeComplete)
59
59
  }
60
60
  )
61
61
 
@@ -1,4 +1,4 @@
1
- Subscription<%- subScription-%>:
1
+ Subscription<%- queueName-%>:
2
2
  Type: AWS::SNS::Subscription
3
3
  Properties:
4
4
  TopicArn: !Ref <%- subScription %>
@@ -36,7 +36,11 @@ const {
36
36
  awaitingMultipleStepsRole,
37
37
  externalResourceSns,
38
38
  externalResourceName,
39
- SOURCE_GENERATE_IAM_ROLE
39
+ DYNAMO_RESOURCE,
40
+ LAMBDA_RESOURCE,
41
+ SOURCE_GENERATE_IAM_ROLE,
42
+ FUNCTION_NAME,
43
+ ACTIONS
40
44
  } = require('../../../../../../../../MainLibs/src/Consts');
41
45
 
42
46
  const {
@@ -50,12 +54,12 @@ const {
50
54
  * @return {{ templatePath, templateData, setting } }
51
55
  */
52
56
 
53
- function data(_izContext, srcPath) {
54
- return [createSourceParams(_izContext, srcPath)]
57
+ function data(_izContext, flowSchema, srcPath) {
58
+ return [createSourceParams(_izContext, flowSchema, srcPath)]
55
59
  }
56
60
 
57
- function createSourceParams(_izContext, srcPath) {
58
- let functionName = "GetPresignUrl";
61
+ function createSourceParams(_izContext, flowSchema, srcPath) {
62
+ let functionName = upperCase(FUNCTION_NAME.createPresignUrl);
59
63
  let handlerType = upperCase(HANDLER.hdrSqs);
60
64
  let additionalResourcePermission = defaultIamRolePerAction();
61
65
 
@@ -67,16 +71,43 @@ function createSourceParams(_izContext, srcPath) {
67
71
  SQS_RESOURCE.sendMessage,
68
72
  SQS_RESOURCE.deleteMessage,
69
73
  SQS_RESOURCE.getQueueAttributes
70
- ],
71
- [RESOURCE_CLASSES.sns]: [
72
- SNS_RESOURCE.publish,
73
- SNS_RESOURCE.subscribe
74
74
  ]
75
75
  },
76
76
  [
77
- resourceNames(RESOURCE_CLASSES.sqs, "GetPresignUrl" + handlerType),
78
- resourceNames(RESOURCE_CLASSES.sqs, "GetPresignUrl" + "DLQ"),
79
- resourceNames(RESOURCE_CLASSES.sns, TOPIC_NAME_GENERATE_CODE.outCreateNodeComplete)
77
+ resourceNames(RESOURCE_CLASSES.sqs, functionName + handlerType),
78
+ resourceNames(RESOURCE_CLASSES.sqs, functionName + "DLQ"),
79
+ ]
80
+ ),
81
+ createIamRole(
82
+ {
83
+ [RESOURCE_CLASSES.dynamoDbTable]: [
84
+ DYNAMO_RESOURCE.query,
85
+ DYNAMO_RESOURCE.deleteItem,
86
+ DYNAMO_RESOURCE.updateItem,
87
+ DYNAMO_RESOURCE.putItem
88
+ ]
89
+ },
90
+ [
91
+ resourceNames(RESOURCE_CLASSES.dynamoDbTable, "WebSocketTask"),
92
+ resourceNames(RESOURCE_CLASSES.dynamoDbTable, "ReservedDataMain"),
93
+ ]
94
+ ),
95
+ createIamRole(
96
+ {
97
+ "execute-api": "ManageConnections"
98
+ },
99
+ [
100
+ resourceNames(RESOURCE_CLASSES.webSocket)
101
+ ]
102
+ ),
103
+ createIamRole(
104
+ {
105
+ [RESOURCE_CLASSES.lambda]: [LAMBDA_RESOURCE.invokeFunction],
106
+ [RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish]
107
+ },
108
+ [
109
+ resourceNames(RESOURCE_CLASSES.lambda, upperCase(ACTIONS.get) + upperCase(HANDLER.hdrInv)),
110
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(ACTIONS.update) + "_In")
80
111
  ]
81
112
  )
82
113
  )
@@ -87,9 +118,9 @@ function createSourceParams(_izContext, srcPath) {
87
118
  functionName,
88
119
  handlerType,
89
120
  functionNameConfig: functionName + upperCase(handlerType),
90
- resourceLocation: SOURCE_PATH.resourceLocationWebSocket,
121
+ resourceLocation: path.join(SOURCE_PATH.resourceLocationWebSocket, flowSchema.flowTag, "source/"),
91
122
  additionalResourcePermission,
92
- functionNameConfig: upperCase(functionName) + upperCase(shortNameHandler(handlerType)),
123
+ functionNameConfig: upperCase("ReservedLimitComp") + upperCase(shortNameHandler(handlerType)),
93
124
  roleName: SOURCE_GENERATE_IAM_ROLE.FlowSchemaUploadS3Role
94
125
  },
95
126
  setting: {
@@ -6,6 +6,9 @@
6
6
  - sqs:
7
7
  arn: arn:aws:sqs:${self:custom.iz_region}:${self:custom.iz_accountId}:${self:custom.iz_resourcePrefix}<%- functionName %><%- firstLetterUpperCase(handlerType) %>
8
8
  batchSize: 10
9
+ filterPatterns: #**** need to update serverless framwork upper v.2.69.1
10
+ - body: {"MessageAttributes":{"callingFlow":{"Value":["${self:custom.iz_resourcePrefix}<%- firstLetterUpperCase(functionName) %><%- firstLetterUpperCase(handlerType) %>"]}}} # functionName of callingFlow
11
+ - body: {"MessageAttributes":{"callingFlow":{"Value":[{"exists":false}]}}}
9
12
  role: <%- roleName %>Role
10
13
  #<#<%- functionName %><%- handlerType %>IamRole#>
11
14
  #<#/<%- functionName %><%- handlerType %>IamRole#>
@@ -22,7 +22,7 @@ const path = require('path');
22
22
  const templatePath = path.join(__dirname, "./template.ejs")
23
23
  const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase } = require("../../../../../../../../MainLibs/src/Utils")
24
24
 
25
- const { HANDLER, SOURCE_PATH } = require('../../../../../../../../MainLibs/src/Consts');
25
+ const { HANDLER, SOURCE_PATH, FUNCTION_NAME } = require('../../../../../../../../MainLibs/src/Consts');
26
26
 
27
27
  /**
28
28
  * receive objectSchema
@@ -31,12 +31,12 @@ const { HANDLER, SOURCE_PATH } = require('../../../../../../../../MainLibs/src/C
31
31
  * @return {{ templatePath, templateData, setting } }
32
32
  */
33
33
 
34
- function data(_izContext, srcPath) {
35
- return [createSourceParams(_izContext, srcPath)]
34
+ function data(_izContext, flowSchema, srcPath) {
35
+ return [createSourceParams(_izContext, flowSchema, srcPath)]
36
36
  }
37
37
 
38
- function createSourceParams(_izContext, srcPath) {
39
- let functionName = "GetPresignUrl";
38
+ function createSourceParams(_izContext, flowSchema, srcPath) {
39
+ let functionName = upperCase(FUNCTION_NAME.createPresignUrl);
40
40
  let handlerType = upperCase(HANDLER.hdrSqs);
41
41
 
42
42
  return {
@@ -47,7 +47,7 @@ function createSourceParams(_izContext, srcPath) {
47
47
  },
48
48
  setting: {
49
49
  saveFileName: `${functionName}_${handlerType}`,
50
- savePath: path.join(srcPath, SOURCE_PATH.webSocket),
50
+ savePath: path.join(srcPath, SOURCE_PATH.webSocket, flowSchema.flowTag, "source/"),
51
51
  fileExtension: ".js",
52
52
  isAppend: true
53
53
  }
@@ -18,16 +18,15 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
18
18
  'use strict';
19
19
 
20
20
  // const AWS = require('aws-sdk');
21
- // const sqs = new AWS.SQS(firstLetterUpperCase{ apiVersion: '2012-11-05' });
21
+ // const sqs = new AWS.SQS({ apiVersion: '2012-11-05' });
22
22
 
23
23
  const izara = require("@izara_project/izara-middleware");
24
24
  const middleware = izara.middlewareHandler;
25
- const recordHandlerSharedLib = require("@izara_project/izara-shared").recordHandlerSharedLib;
25
+ const recordHandlerSharedLib = require('@izara_project/izara-core-library-record-handler');
26
26
  const Logger = require('@izara_project/izara-core-library-logger');
27
- const izaraShared = require('@izara_project/izara-shared');
28
- const callingFlowSharedLib = izaraShared.callingFlowSharedLib;
27
+ const callingFlowSharedLib = require('@izara_project/izara-core-library-calling-flow');
29
28
 
30
- const <%- hookFunctionName %> = require('./<%- hookFunctionName %>_Main')
29
+ const createPresignUrl = require('./CreatePresignUrl_Main');
31
30
 
32
31
  // validate event properties in body.Message of sqs event
33
32
  middleware.setValidatorSchema(recordHandlerSharedLib.baseValidatorSchema());
@@ -53,6 +52,20 @@ let perRecordsValidatorSchema = {
53
52
  }
54
53
  };
55
54
 
55
+ // set schema for record.body.MessageAttributes
56
+ // const messageAttributeValidatorSchema = {
57
+ // type: "object",
58
+ // required: ['msgAtrrParam1', 'msgAtrrParam2'],
59
+ // properties: {
60
+ // msgAtrrParam1: {
61
+ // type: "string"
62
+ // },
63
+ // msgAtrrParam2: {
64
+ // type: "object"
65
+ // }
66
+ // }
67
+ // };
68
+
56
69
  perRecordsValidatorSchema = callingFlowSharedLib.addOptionalPassBackPropertiesToValidatorSchema(perRecordsValidatorSchema)
57
70
 
58
71
  module.exports.main = middleware.wrap(async (event, context, callback) => {
@@ -70,21 +83,23 @@ module.exports.main = middleware.wrap(async (event, context, callback) => {
70
83
  // validate message (and MessageAttributes)
71
84
  await recordHandlerSharedLib.validateRecord(
72
85
  record, // one record will send to mainFunction
73
- "<%- queueName %>", // queue name that need to retry or send to dlq
86
+ "ReservedLimitCompleteHdrSqs", // queue name that need to retry or send to dlq
74
87
  perRecordsValidatorSchema, // schema for record.Message
75
88
  // messageAttributeValidatorSchema // ----- for msgAttr default is null -> do not send this parameter if not want to validate msgAtt
76
89
  );
77
90
 
78
91
  // add argument (to invoke lambda) to passOnProperties[]
79
- passOnProperties.push(record.body.Message)
92
+ passOnProperties.push(record.body.Message.returnMessage)
93
+ passOnProperties.push(record.body.Message.errorsFound)
94
+ passOnProperties.push(record.body.Message.passStatus)
80
95
  passOnProperties.push(callingFlowSharedLib.addPassBackPropertiesToPassOnProperties(record.body.Message))
81
96
  record._izContext.logger.debug('passOnProperties in handler', passOnProperties);
82
97
 
83
98
  // call recordHandlerSharedLib.recordHandler with 3 parameters and return promise(resolve)
84
99
  let recordPromise = recordHandlerSharedLib.recordHandler(
85
100
  record, // one record will send to mainFunction
86
- <%- hookFunctionName %>, // mainFunction that need to invoke.
87
- "<%- queueName %>", // queue name that need to retry or send to dlq
101
+ createPresignUrl.createPresignUrl, // mainFunction that need to invoke.
102
+ "ReservedLimitCompleteHdrSqs", // queue name that need to retry or send to dlq
88
103
  passOnProperties, // all parameters that mainFunction needed.
89
104
  );
90
105
  record._izContext.logger.debug('after recordPromise in handler');
@@ -104,7 +119,7 @@ module.exports.main = middleware.wrap(async (event, context, callback) => {
104
119
  Logger.debug('after Promise.all(recordPromises) in handler');
105
120
 
106
121
  } catch (err) {
107
- Logger.error('Unhandled Error, <%- hookFunctionName %>: ', err);
122
+ Logger.error('Unhandled Error, ReservedImageLimitCompleteHdrSqs: ', err);
108
123
  throw (err);
109
124
  }
110
- });
125
+ });
@@ -20,8 +20,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
20
20
  const path = require('path');
21
21
 
22
22
  const templatePath = path.join(__dirname, "./template.ejs")
23
-
24
- const { SOURCE_PATH } = require('../../../../../../../../MainLibs/src/Consts');
23
+ const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase } = require("../../../../../../../../MainLibs/src/Utils")
24
+ const { SOURCE_PATH, FUNCTION_NAME } = require('../../../../../../../../MainLibs/src/Consts');
25
25
 
26
26
  /**
27
27
  * receive objectSchema
@@ -30,18 +30,21 @@ const { SOURCE_PATH } = require('../../../../../../../../MainLibs/src/Consts');
30
30
  * @return {{ templatePath, templateData, setting } }
31
31
  */
32
32
 
33
- function data(_izContext, srcPath) {
34
- return [createSourceParams(_izContext, srcPath)]
33
+ function data(_izContext, flowSchema, srcPath) {
34
+ return [createSourceParams(_izContext, flowSchema, srcPath)]
35
35
  }
36
36
 
37
- function createSourceParams(_izContext, srcPath) {
38
- let functionName = "GetPresignUrl"
37
+ function createSourceParams(_izContext, flowSchema, srcPath) {
38
+ let functionName = upperCase(FUNCTION_NAME.createPresignUrl)
39
+ let bucketName = flowSchema.bucketName
39
40
  return {
40
41
  templatePath: templatePath,
41
- templateData: {},
42
+ templateData: {
43
+ bucketName
44
+ },
42
45
  setting: {
43
46
  saveFileName: `${functionName}_Main`,
44
- savePath: path.join(srcPath, SOURCE_PATH.webSocket),
47
+ savePath: path.join(srcPath, SOURCE_PATH.webSocket, flowSchema.flowTag, "source/"),
45
48
  fileExtension: ".js",
46
49
  isAppend: false
47
50
  }