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

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 (126) hide show
  1. package/package.json +1 -1
  2. package/src/GenerateCodeLibs/src/Consts.js +10 -9
  3. package/src/GenerateCodeLibs/src/GenerateCodeLibs.js +54 -21
  4. package/src/MainLibs/src/Consts.js +33 -17
  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/EndpointPerService/mainFunction/create/data.js +53 -0
  21. package/src/reStructure/TemplateData/EndpointPerService/mainFunction/create/template.ejs +624 -0
  22. package/src/reStructure/TemplateData/EndpointPerService/mainFunction/delete/data.js +52 -0
  23. package/src/reStructure/TemplateData/EndpointPerService/mainFunction/delete/template.ejs +177 -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 +175 -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 +4 -3
  37. package/src/reStructure/TemplateData/flowSchema/components/upload/createObject/functionYaml/data.js +3 -29
  38. package/src/reStructure/TemplateData/flowSchema/components/upload/createObject/handler/data.js +3 -21
  39. package/src/reStructure/TemplateData/flowSchema/components/upload/createObject/handler/template.ejs +3 -31
  40. package/src/reStructure/TemplateData/flowSchema/components/upload/createObjectComplete/functionYaml/data.js +2 -2
  41. package/src/reStructure/TemplateData/flowSchema/components/upload/createObjectComplete/sns-sqs/data.js +1 -1
  42. package/src/reStructure/TemplateData/flowSchema/components/upload/createObjectComplete/sns-sqs/template.ejs +1 -1
  43. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/{getSignUrls → createPresignUrl}/functionYaml/data.js +41 -10
  44. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/{getSignUrls → createPresignUrl}/functionYaml/template.ejs +3 -0
  45. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/{getSignUrls → createPresignUrl}/handler/data.js +2 -2
  46. package/src/reStructure/TemplateData/flowSchema/components/upload/{hook/handler/templateAsyncHandler.ejs → preSignUrl/createPresignUrl/handler/template.ejs} +26 -11
  47. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/{getSignUrls → createPresignUrl}/mainFunction/data.js +10 -7
  48. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/createPresignUrl/mainFunction/template.ejs +253 -0
  49. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/{reservedLimit → createPresignUrl}/queue/data.js +1 -1
  50. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/functionYaml/data.js +10 -38
  51. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/functionYaml/template.ejs +0 -3
  52. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/handler/data.js +2 -2
  53. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/handler/template.ejs +40 -45
  54. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/mainFunction/data.js +7 -10
  55. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/mainFunction/template.ejs +100 -190
  56. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/{getSignUrls → reservedLimit}/sqs/data.js +4 -4
  57. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/{getSignUrls → reservedLimit}/sqs/template.ejs +2 -2
  58. package/src/reStructure/TemplateData/flowSchema/components/upload/processFile/functionYml/HdrS3/data.js +8 -6
  59. package/src/reStructure/TemplateData/flowSchema/components/upload/processFile/queue/s3Template.ejs +1 -1
  60. package/src/reStructure/TemplateData/flowSchema/components/upload/relate/S3/data.js +5 -2
  61. package/src/reStructure/TemplateData/flowSchema/generateTemplateData.js +41 -38
  62. package/src/reStructure/TemplateData/flowSchema/legacy/hookCode-old/queue/snsTemplate.ejs +1 -1
  63. package/src/reStructure/TemplateData/generateRole/createSharedResource.js +11 -1
  64. package/src/reStructure/TemplateData/perActionComplete/create/mainFunction/template.ejs +35 -44
  65. package/src/reStructure/TemplateData/perActionComplete/create/sns-out/template.ejs +1 -1
  66. package/src/reStructure/TemplateData/perActionComplete/create/yaml/data.js +4 -5
  67. package/src/reStructure/TemplateData/perActionComplete/delete/yaml/data.js +5 -4
  68. package/src/reStructure/TemplateData/perActionComplete/generateTemplateData.js +15 -2
  69. package/src/reStructure/TemplateData/perActionComplete/get/yaml/data.js +7 -4
  70. package/src/reStructure/TemplateData/perActionComplete/update/sns-out/data.js +1 -1
  71. package/src/reStructure/TemplateData/perActionComplete/update/yaml/data.js +5 -4
  72. package/src/reStructure/TemplateData/processLogical/yaml/data.js +3 -3
  73. package/src/reStructure/TemplateData/processLogicalPagination/yaml/dsq/data.js +1 -1
  74. package/src/reStructure/TemplateData/processLogicalPagination/yaml/sqs/data.js +2 -2
  75. package/src/reStructure/TemplateData/relationshipPerAction/create/action/functionYaml/api/data.js +1 -1
  76. package/src/reStructure/TemplateData/relationshipPerAction/create/action/functionYaml/dsq/data.js +1 -1
  77. package/src/reStructure/TemplateData/relationshipPerAction/create/action/functionYaml/inv/data.js +1 -1
  78. package/src/reStructure/TemplateData/relationshipPerAction/create/action/functionYaml/sqs/data.js +3 -3
  79. package/src/reStructure/TemplateData/relationshipPerAction/create/action/sns-in-sqs/snsTemplate.ejs +1 -1
  80. package/src/reStructure/TemplateData/relationshipPerAction/create/complete/functionYaml/data.js +2 -2
  81. package/src/reStructure/TemplateData/relationshipPerAction/create/complete/mainFunction/data.js +1 -1
  82. package/src/reStructure/TemplateData/relationshipPerAction/create/complete/sns-in-sqs/template.ejs +0 -1
  83. package/src/reStructure/TemplateData/relationshipPerAction/create/complete/sns-out/template.ejs +1 -1
  84. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/functionYaml/api/data.js +1 -1
  85. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/functionYaml/dsq/data.js +1 -1
  86. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/functionYaml/inv/data.js +1 -1
  87. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/functionYaml/sqs/data.js +3 -3
  88. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/sns-in-sqs/snsTemplate.ejs +1 -1
  89. package/src/reStructure/TemplateData/relationshipPerAction/delete/complete/functionYaml/data.js +2 -2
  90. package/src/reStructure/TemplateData/relationshipPerAction/delete/complete/sns-out/template.ejs +1 -1
  91. package/src/reStructure/TemplateData/relationshipPerAction/get/action/functionYaml/api/data.js +1 -1
  92. package/src/reStructure/TemplateData/relationshipPerAction/get/action/functionYaml/dsq/data.js +1 -1
  93. package/src/reStructure/TemplateData/relationshipPerAction/get/action/functionYaml/inv/data.js +1 -1
  94. package/src/reStructure/TemplateData/relationshipPerAction/get/action/functionYaml/sqs/data.js +4 -4
  95. package/src/reStructure/TemplateData/relationshipPerAction/get/action/sns-in-sqs/snsTemplate.ejs +1 -1
  96. package/src/reStructure/TemplateData/relationshipPerAction/get/complete/functionYaml/data.js +2 -2
  97. package/src/reStructure/TemplateData/relationshipPerAction/get/complete/sns-out/template.ejs +1 -1
  98. package/src/reStructure/TemplateData/relationshipPerAction/update/action/functionYaml/api/data.js +1 -1
  99. package/src/reStructure/TemplateData/relationshipPerAction/update/action/functionYaml/dsq/data.js +1 -1
  100. package/src/reStructure/TemplateData/relationshipPerAction/update/action/functionYaml/inv/data.js +1 -1
  101. package/src/reStructure/TemplateData/relationshipPerAction/update/action/functionYaml/sqs/data.js +4 -4
  102. package/src/reStructure/TemplateData/relationshipPerAction/update/action/sns-in-sqs/snsTemplate.ejs +1 -1
  103. package/src/reStructure/TemplateData/relationshipPerAction/update/complete/functionYaml/data.js +2 -2
  104. package/src/reStructure/TemplateData/relationshipPerAction/update/complete/sns-out/template.ejs +1 -1
  105. package/src/reStructure/TemplateData/resourceYaml/dynamodb/defaultDynamoDbTable.js +1 -1
  106. package/src/reStructure/TemplateData/resourceYaml/dynamodb/generateDynamoPerLink.js +1 -1
  107. package/src/reStructure/TemplateData/resourceYaml/dynamodb/mainResourcePerObjectSchemaData.js +1 -1
  108. package/src/reStructure/TemplateData/resourceYaml/generateTemplateData.js +6 -12
  109. package/src/reStructure/TemplateData/resourceYaml/sns-in-sqs/defaultSnsInSqsForFindDataAndProcessLogical.js +1 -1
  110. package/src/reStructure/TemplateData/resourceYaml/sns-in-sqs/snsAndSqsPerActionData.js +22 -49
  111. package/src/reStructure/TemplateData/resourceYaml/sns-in-sqs/snsTemplate.ejs +1 -1
  112. package/src/reStructure/TemplateData/resourceYaml/sns-out/data.js +8 -24
  113. package/src/reStructure/TemplateData/resourceYaml/sns-out/template.ejs +1 -1
  114. package/src/reStructure/TemplateData/testTemplate/template.ejs +0 -5
  115. package/src/reStructure/TemplateData/flowSchema/components/upload/hook/handler/data.js +0 -93
  116. package/src/reStructure/TemplateData/flowSchema/components/upload/hook/handler/templateSyncHandler.ejs +0 -49
  117. package/src/reStructure/TemplateData/flowSchema/components/upload/hook/hookLogic/data.js +0 -43
  118. package/src/reStructure/TemplateData/flowSchema/components/upload/hook/mainFunction/data.js +0 -65
  119. package/src/reStructure/TemplateData/flowSchema/components/upload/hook/mainFunction/template.ejs +0 -7
  120. package/src/reStructure/TemplateData/flowSchema/components/upload/hook/queue/data.js +0 -72
  121. package/src/reStructure/TemplateData/flowSchema/components/upload/hook/queue/snsTemplate.ejs +0 -59
  122. package/src/reStructure/TemplateData/flowSchema/components/upload/hook/queue/sqsTemplate.ejs +0 -43
  123. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/getSignUrls/handler/template.ejs +0 -120
  124. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/getSignUrls/mainFunction/template.ejs +0 -163
  125. package/src/reStructure/TemplateData/relationshipPerAction.zip +0 -0
  126. /package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/{reservedLimit → createPresignUrl}/queue/template.ejs +0 -0
@@ -45,16 +45,16 @@ const createWebSocketCreateObjectCompleteHandler = require('./components/upload/
45
45
  const createWebSocketCreateObjectCompleteMainFunction = require('./components/upload/createObjectComplete/mainFunction/data');
46
46
 
47
47
  // PreSign URL components
48
- const createGetPreSignUrlFunctionYaml = require('./components/upload/preSignUrl/getSignUrls/functionYaml/data');
49
- const createGetPreSignUrlHandler = require('./components/upload/preSignUrl/getSignUrls/handler/data');
50
- const createGetPreSignUrlMainFunction = require('./components/upload/preSignUrl/getSignUrls/mainFunction/data');
51
- const createGetPreSignUrlQueueName = require('./components/upload/preSignUrl/getSignUrls/sqs/data');
52
-
53
- // Reserved limit components
54
48
  const createReservedLimitFunctionYaml = require('./components/upload/preSignUrl/reservedLimit/functionYaml/data');
55
- const createReservedLimitHandler = require('./components/upload/preSignUrl/reservedLimit/handler/data');
49
+ const createReservedLimitlHandler = require('./components/upload/preSignUrl/reservedLimit/handler/data');
56
50
  const createReservedLimitMainFunction = require('./components/upload/preSignUrl/reservedLimit/mainFunction/data');
57
- const createReservedLimitQueueName = require('./components/upload/preSignUrl/reservedLimit/queue/data');
51
+ const createReservedLimitQueueName = require('./components/upload/preSignUrl/reservedLimit/sqs/data');
52
+
53
+ // Reserved limit components
54
+ const createPresignUrlFunctionYaml = require('./components/upload/preSignUrl/createPresignUrl/functionYaml/data');
55
+ const createPresignUrlHandler = require('./components/upload/preSignUrl/createPresignUrl/handler/data');
56
+ const createPresignUrlMainFunction = require('./components/upload/preSignUrl/createPresignUrl/mainFunction/data');
57
+ const createPresignUrlQueueName = require('./components/upload/preSignUrl/createPresignUrl/queue/data');
58
58
 
59
59
  // Process uploaded file components
60
60
  const createProcessAfterUploadS3FunctionYmlS3 = require('./components/upload/processFile/functionYml/HdrS3/data');
@@ -111,15 +111,15 @@ async function generateCodeWithTemplate(_izContext, objSchemaPath) {
111
111
  // const webSocketCreateObjectStordCache = createWebSocketCreateObjectStoredCache(_izContext, saveFilePath);
112
112
  const webSocketGenerateCodeLibs = createWebSocketGenerateCodeLibs(_izContext, saveFilePath)
113
113
 
114
- const getPreSignUrlFunctionYaml = createGetPreSignUrlFunctionYaml(_izContext, saveFilePath);
115
- const getPreSignUrlHandler = createGetPreSignUrlHandler(_izContext, saveFilePath);
116
- const getPreSignUrlMainFunction = createGetPreSignUrlMainFunction(_izContext, saveFilePath);
117
- const getPreSignUrlQueue = createGetPreSignUrlQueueName(_izContext, saveFilePath);
114
+ const getPreSignUrlFunctionYaml = createReservedLimitFunctionYaml(_izContext, saveFilePath);
115
+ const getPreSignUrlHandler = createReservedLimitlHandler(_izContext, saveFilePath);
116
+ const getPreSignUrlMainFunction = createReservedLimitMainFunction(_izContext, saveFilePath);
117
+ const getPreSignUrlQueue = createReservedLimitQueueName(_izContext, saveFilePath);
118
118
 
119
- const reservedLimitCompleteFunctionYaml = createReservedLimitFunctionYaml(_izContext, saveFilePath);
120
- const reservedLimitCompleteMainFunction = createReservedLimitMainFunction(_izContext, flowSchema, saveFilePath);
121
- const reservedLimitCompleteHandler = createReservedLimitHandler(_izContext, saveFilePath);
122
- const reservedLimitCompleteQueue = createReservedLimitQueueName(_izContext, saveFilePath);
119
+ const reservedLimitCompleteFunctionYaml = createPresignUrlFunctionYaml(_izContext, saveFilePath);
120
+ const reservedLimitCompleteMainFunction = createPresignUrlMainFunction(_izContext, flowSchema, saveFilePath);
121
+ const reservedLimitCompleteHandler = createPresignUrlHandler(_izContext, saveFilePath);
122
+ const reservedLimitCompleteQueue = createPresignUrlQueueName(_izContext, saveFilePath);
123
123
 
124
124
  const processAfterUploadFunctionYmlS3 = createProcessAfterUploadS3FunctionYmlS3(_izContext, flowSchema, saveFilePath);
125
125
  // const processAfterUploadFunctionYamlHdrDsq = createProcessAfterUploadS3FunctionYmlDsq(_izContext, saveFilePath);
@@ -175,28 +175,31 @@ async function generateCodeWithTemplate(_izContext, objSchemaPath) {
175
175
  ...confirmReservedAfterUploadQueue
176
176
  ];
177
177
 
178
- if (flowSchema.hasOwnProperty("uploadS3") && flowSchema.uploadS3 === true) {
179
- // Group all resources related to S3 upload functionality
180
- const webSocketUploadS3Resources = [
181
- ...webSocketFunctions,
182
- ...webSocketGenerateCodeLibs,
183
- ...reservedDataTable
184
- ];
185
-
186
- // Add all resources to the parameters array
187
- createSourceParams.push(
188
- ...webSocketUploadS3Resources,
189
- ...getPreSignUrlResources,
190
- ...reservedLimitResources,
191
- ...bucketS3,
192
- ...processAfterUploadResources,
193
- ...confirmAfterUploadResources
194
- );
195
- }
196
-
197
- if (flowSchema.hasOwnProperty("initializeRequest") && flowSchema.hasOwnProperty("response")) {
198
- const webSocketEndpointResource = []
199
- createSourceParams.push(...webSocketEndpointResource)
178
+ for (const event of flowSchema.event) {
179
+ if (event.includes("s3")) {
180
+ // Group all resources related to S3 upload functionality
181
+ const webSocketUploadS3Resources = [
182
+ ...webSocketFunctions,
183
+ ...webSocketGenerateCodeLibs,
184
+ ...reservedDataTable
185
+ ];
186
+
187
+
188
+ // Add all resources to the parameters array
189
+ createSourceParams.push(
190
+ ...webSocketUploadS3Resources,
191
+ ...getPreSignUrlResources,
192
+ ...reservedLimitResources,
193
+ ...bucketS3,
194
+ ...processAfterUploadResources,
195
+ ...confirmAfterUploadResources
196
+ );
197
+ }
198
+
199
+ // if (flowSchema.hasOwnProperty("initializeRequest") && flowSchema.hasOwnProperty("response")) {
200
+ // const webSocketEndpointResource = []
201
+ // createSourceParams.push(...webSocketEndpointResource)
202
+ // }
200
203
  }
201
204
  }
202
205
 
@@ -3,7 +3,7 @@
3
3
  Type: AWS::SNS::Topic
4
4
  Properties:
5
5
  DisplayName: "SNS Message in"
6
- TopicName: ${self:custom.iz_resourcePrefix}In<%- queueName %>
6
+ TopicName: ${self:custom.iz_serviceTag}_${self:custom.iz_stage}_<%- queueName %>_In
7
7
  ##===== SNS Subscription
8
8
  ##===== [Topic In]
9
9
  SubscriptionIn<%- queueName %>:
@@ -14,7 +14,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
14
14
 
15
15
  'use strict';
16
16
 
17
- const { SOURCE_GENERATE_IAM_ROLE, SOURCE_PATH, SAVE_FILE_NAME } = require('../../../MainLibs/index').consts;
17
+ const { SOURCE_GENERATE_IAM_ROLE, SOURCE_PATH, SAVE_FILE_NAME } = require('../../../MainLibs/src/Consts');
18
18
  const { firstLetterUpperCase: upperCase } = require("../../../MainLibs/index").utils;
19
19
  const path = require('path');
20
20
 
@@ -106,6 +106,10 @@ const createSharedResource = (_izContext, createSourceParams, srcPath) => {
106
106
  handlerType: [],
107
107
  resources: {}
108
108
  },
109
+ [SOURCE_GENERATE_IAM_ROLE.perActionEndpoint]: {
110
+ handlerType: [],
111
+ resources: {}
112
+ },
109
113
  Other: []
110
114
  };
111
115
  const objectTypeList = [];
@@ -187,6 +191,12 @@ const createSharedResource = (_izContext, createSourceParams, srcPath) => {
187
191
  templateData.additionalResourcePermission,
188
192
  groupedByObjectType[SOURCE_GENERATE_IAM_ROLE.FlowSchemaUploadS3Role].resources
189
193
  )
194
+ } else if (templateData.roleName.includes(SOURCE_GENERATE_IAM_ROLE.perActionEndpoint)) {
195
+ groupedByObjectType[SOURCE_GENERATE_IAM_ROLE.perActionEndpoint].handlerType.push(templateData);
196
+ processResourcePermissions(
197
+ templateData.additionalResourcePermission,
198
+ groupedByObjectType[SOURCE_GENERATE_IAM_ROLE.perActionEndpoint].resources
199
+ )
190
200
  }
191
201
  else {
192
202
  // Handle other items
@@ -113,50 +113,41 @@ module.exports.createObjectComplete = async (
113
113
  );
114
114
  _izContext.logger.debug("record awaitingSteps::", recordAwaitingSteps);
115
115
 
116
- nextAwaitingAteps:
117
- for (let listRecordAwaitingStep of recordAwaitingSteps.Items) {
118
-
119
- _izContext.logger.debug("iterate RecordAwaitingStep:", listRecordAwaitingStep);
120
-
121
-
122
- if (!await asyncFlowSharedLib.checkAllAwaitingStepsFinished(
123
- _izContext,
124
- listRecordAwaitingStep.pendingStepId,
125
- awaitingStepId
126
- )) {
127
- _izContext.logger.debug("!Waiting record form other graph::")
128
- // **** add step of remove awaitingMultiplestep!! ??
129
- continue nextAwaitingAteps
130
- };
131
-
132
- await asyncFlowSharedLib.removeAwaitingMultipleStep(
133
- _izContext,
134
- awaitingStepId,
135
- listRecordAwaitingStep.pendingStepId,
136
- );
137
- _izContext.logger.debug("Remove awaitingStep finish")
138
- };
139
-
140
- // seagame: problem about lambdaComplete is will missing errorsFound from request if have 2 request
141
- // one send with errorsFound and one send without errorsFound
142
- // this scenario can complete with or without errorsFound
143
- let messageObject = {
144
- objType: returnValue.objType,
145
- objInstanceFull: returnValue.objInstanceFull,
146
- errorsFound: errorsFound
147
- };
148
-
149
- messageObject = callingFlowSharedLib.addParentPassBackPropertiesToSnsResponseMessageObject(passBackProperties, messageObject)
150
- let messageAttributes = callingFlowSharedLib.addParentPassBackCallingFlowToSnsResponseMessageAttributes(passBackProperties, {})
151
-
152
- let sendMessageOutCreateObjectComplete = {
153
- Message: JSON.stringify(messageObject),
154
- MessageAttributes: sns.createStringMessageAttributes(_izContext, messageAttributes),
155
- TopicArn: await snsSharedLib.snsTopicArn(_izContext, "OutCreateObjectComplete")
156
- };
157
- _izContext.logger.debug("Send message to OutCreateObjectComplete :::>", sendMessageOutCreateObjectComplete)
158
- await sns.publishAsync(_izContext, sendMessageOutCreateObjectComplete);
159
-
116
+ await Promise.all(
117
+ recordAwaitingSteps.Items.map(async ({ pendingStepId }) => {
118
+ if (await asyncFlowSharedLib.checkAllAwaitingStepsFinished(
119
+ _izContext,
120
+ pendingStepId,
121
+ awaitingStepId
122
+ )) {
123
+ _izContext.logger.debug("finish all awaitingStep");
124
+
125
+ let messageObject = {
126
+ objType: {
127
+ objectType: returnValue.objType.objectType,
128
+ serviceTag: returnValue.objType.serviceTag
129
+ },
130
+ objInstanceFull: {
131
+ identifiers: returnValue.objInstanceFull.identifiers,
132
+ fields: returnValue.objInstanceFull.fields
133
+ },
134
+ status: status,
135
+ errorsFound: errorsFound
136
+ }
137
+
138
+ messageObject = callingFlowSharedLib.addParentPassBackPropertiesToSnsResponseMessageObject(passBackProperties, messageObject)
139
+ let messageAttributes = callingFlowSharedLib.addParentPassBackCallingFlowToSnsResponseMessageAttributes(passBackProperties, {})
140
+
141
+ let sendMessageOutCreateObjectComplete = {
142
+ Message: JSON.stringify(messageObject),
143
+ MessageAttributes: sns.createStringMessageAttributes(_izContext, messageAttributes),
144
+ TopicArn: await snsSharedLib.snsTopicArn(_izContext, "OutCreateObjectComplete")
145
+ };
146
+ _izContext.logger.debug("Send message to OutCreateObjectComplete :::>", sendMessageOutCreateObjectComplete)
147
+ await sns.publishAsync(_izContext, sendMessageOutCreateObjectComplete);
148
+ }
149
+ })
150
+ )
160
151
  return {
161
152
  returnValue: returnValue,
162
153
  status: status,
@@ -3,7 +3,7 @@
3
3
  Type: AWS::SNS::Topic
4
4
  Properties:
5
5
  DisplayName: "SNS Message out"
6
- TopicName: ${self:custom.iz_resourcePrefix}Out<%- firstLetterUpperCase(queueName) %>
6
+ TopicName: ${self:custom.iz_serviceTag}_${self:custom.iz_stage}_<%- firstLetterUpperCase(queueName) %>_Out
7
7
 
8
8
  <%_ function firstLetterUpperCase(text) {
9
9
  return text.charAt(0).toUpperCase() + text.slice(1)
@@ -45,7 +45,7 @@ const { getGraphServiceNameFromGraphServerTagWithCache, getServiceNameWithCache
45
45
  const {
46
46
  firstLetterLowerCase: lowerCase,
47
47
  firstLetterUpperCase: upperCase
48
- } = require("../../../../../MainLibs/index.js").utils;
48
+ } = require("../../../../../MainLibs/src/Utils.js");
49
49
  const {
50
50
  DEFAULT_HANDLER_PER_ACTION,
51
51
  createIamRole,
@@ -65,7 +65,7 @@ const {
65
65
  awaitingMultipleStepsRole,
66
66
  SHORT_FUNCTION_NAME,
67
67
  SOURCE_GENERATE_IAM_ROLE
68
- } = require("../../../../../MainLibs/index.js").consts;
68
+ } = require("../../../../../MainLibs/src/Consts.js");
69
69
 
70
70
  const templatePath = path.join(__dirname, './template.ejs');
71
71
 
@@ -98,8 +98,8 @@ function createFunctionYamlOutUpdateComplete(_izContext, srcPath) {
98
98
  [
99
99
  resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName)),
100
100
  resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + "DLQ"),
101
- resourceNames(RESOURCE_CLASSES.sns, "In" + upperCase(functionName)),
102
- resourceNames(RESOURCE_CLASSES.sns, "Out" + upperCase(functionName)),
101
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_In"),
102
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_Out")
103
103
  ]
104
104
  )
105
105
  )
@@ -123,7 +123,6 @@ function createFunctionYamlOutUpdateComplete(_izContext, srcPath) {
123
123
  fileExtension: '.yml',
124
124
  isAppend: true
125
125
  }
126
-
127
126
  }
128
127
  }
129
128
 
@@ -43,7 +43,7 @@ const { getGraphServiceNameFromGraphServerTagWithCache, getServiceNameWithCache
43
43
  const {
44
44
  firstLetterLowerCase: lowerCase,
45
45
  firstLetterUpperCase: upperCase
46
- } = require("../../../../../MainLibs/index.js").utils;
46
+ } = require("../../../../../MainLibs/src/Utils.js");
47
47
  const {
48
48
  DEFAULT_HANDLER_PER_ACTION,
49
49
  createIamRole,
@@ -60,9 +60,10 @@ const {
60
60
  SQS_RESOURCE,
61
61
  SNS_RESOURCE,
62
62
  DYNAMO_RESOURCE,
63
+ awaitingMultipleStepsRole,
63
64
  SHORT_FUNCTION_NAME,
64
65
  SOURCE_GENERATE_IAM_ROLE
65
- } = require("../../../../../MainLibs/index.js").consts;
66
+ } = require("../../../../../MainLibs/src/Consts.js");
66
67
 
67
68
  const templatePath = path.join(__dirname, './template.ejs');
68
69
 
@@ -95,8 +96,8 @@ function createFunctionYamlOutUpdateComplete(_izContext, srcPath) {
95
96
  [
96
97
  resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName)),
97
98
  resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + "DLQ"),
98
- resourceNames(RESOURCE_CLASSES.sns, "In" + upperCase(functionName)),
99
- resourceNames(RESOURCE_CLASSES.sns, "Out" + upperCase(functionName)),
99
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_In"),
100
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_Out")
100
101
  ]
101
102
  )
102
103
  )
@@ -107,14 +107,27 @@ async function generateCodeWithTemplate(_izContext, objSchemaPath) {
107
107
  }
108
108
  }));
109
109
 
110
+ // process get action
111
+ const getComponent = await Promise.all([
112
+ actions.get.snsOut
113
+ ].map(async component => {
114
+ try {
115
+ return await component(_izContext, saveFilePath);
116
+ } catch (err) {
117
+ console.error(`Error processing get component: ${err.message}`)
118
+ return []
119
+ }
120
+ }))
121
+
110
122
  // Combine all components
111
123
  createSourceParams = [
112
124
  ...updateComponents.flat(),
113
125
  ...createComponents.flat(),
114
- ...deleteComponents.flat()
126
+ ...deleteComponents.flat(),
127
+ ...getComponent.flat()
115
128
  ];
116
129
 
117
- // console.log('createSourceParams:', createSourceParams);
130
+ // console.log('createSourceParams:', JSON.stringify(createSourceParams, null, 2));
118
131
 
119
132
  return createSourceParams;
120
133
  } catch (error) {
@@ -20,7 +20,10 @@ const path = require('path');
20
20
 
21
21
  const { ACTIONS, HANDLER, STORAGE_TYPES } = require('@izara_project/izara-core-library-service-schemas/src/Consts')
22
22
  const { getGraphServiceNameFromGraphServerTagWithCache, getServiceNameWithCache } = require('@izara_project/izara-core-library-service-schemas/src/ServiceConfig')
23
- const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase } = require("../#utils");
23
+ const {
24
+ firstLetterLowerCase: lowerCase,
25
+ firstLetterUpperCase: upperCase
26
+ } = require("../../../../../MainLibs/src/Utils.js");
24
27
  const {
25
28
  DEFAULT_HANDLER_PER_ACTION,
26
29
  createIamRole,
@@ -40,7 +43,7 @@ const {
40
43
  awaitingMultipleStepsRole,
41
44
  SHORT_FUNCTION_NAME,
42
45
  SOURCE_GENERATE_IAM_ROLE
43
- } = require("../#const");
46
+ } = require("../../../../../MainLibs/src/Consts.js");
44
47
 
45
48
  const templatePath = path.join(__dirname, './template.ejs');
46
49
 
@@ -73,8 +76,8 @@ function createFunctionYamlOutUpdateComplete(_izContext, srcPath) {
73
76
  [
74
77
  resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName)),
75
78
  resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + "DLQ"),
76
- resourceNames(RESOURCE_CLASSES.sns, "In" + upperCase(functionName)),
77
- resourceNames(RESOURCE_CLASSES.sns, "Out" + upperCase(functionName)),
79
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_In"),
80
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_Out")
78
81
  ]
79
82
  )
80
83
  )
@@ -32,7 +32,7 @@ const {
32
32
  SOURCE_PATH,
33
33
  SAVE_FILE_NAME,
34
34
  FUNCTION_NAME
35
- } = require("../../../../../MainLibs/index.js").consts;
35
+ } = require("../../../../../MainLibs/src/Consts.js");
36
36
 
37
37
 
38
38
  const templatePath = path.join(__dirname, "../../../resourceYaml/sns-out/template.ejs")
@@ -46,7 +46,7 @@ const { getGraphServiceNameFromGraphServerTagWithCache, getServiceNameWithCache
46
46
  const {
47
47
  firstLetterLowerCase: lowerCase,
48
48
  firstLetterUpperCase: upperCase
49
- } = require("../../../../../MainLibs/index.js").utils;
49
+ } = require("../../../../../MainLibs/src/Utils.js");
50
50
  const {
51
51
  DEFAULT_HANDLER_PER_ACTION,
52
52
  createIamRole,
@@ -66,7 +66,7 @@ const {
66
66
  awaitingMultipleStepsRole,
67
67
  SHORT_FUNCTION_NAME,
68
68
  SOURCE_GENERATE_IAM_ROLE
69
- } = require("../../../../../MainLibs/index.js").consts;
69
+ } = require("../../../../../MainLibs/src/Consts.js");
70
70
 
71
71
 
72
72
  const templatePath = path.join(__dirname, './template.ejs');
@@ -100,12 +100,13 @@ function createFunctionYamlOutUpdateComplete(_izContext, srcPath) {
100
100
  [
101
101
  resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName)),
102
102
  resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + "DLQ"),
103
- resourceNames(RESOURCE_CLASSES.sns, "In" + upperCase(functionName)),
104
- resourceNames(RESOURCE_CLASSES.sns, "Out" + upperCase(functionName)),
103
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_In"),
104
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_Out")
105
105
  ]
106
106
  )
107
107
  )
108
108
 
109
+ // console.log("additionalResourcePermission in update", JSON.stringify(additionalResourcePermission, null, 2))
109
110
  additionalResourcePermission.push(awaitingMultipleStepsRole())
110
111
 
111
112
 
@@ -100,9 +100,9 @@ async function data(_izContext, objectSchemas, srcPath) {
100
100
  [RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish]
101
101
  },
102
102
  [
103
- resourceNames(RESOURCE_CLASSES.sns, "InProcessLogical"),
104
- resourceNames(RESOURCE_CLASSES.sns, "InPaginateProcessLogical"),
105
- resourceNames(RESOURCE_CLASSES.sns, "OutProcessLogicalComplete")
103
+ resourceNames(RESOURCE_CLASSES.sns, "ProcessLogical_In"),
104
+ resourceNames(RESOURCE_CLASSES.sns, "PaginateProcessLogical_In"),
105
+ resourceNames(RESOURCE_CLASSES.sns, "ProcessLogicalComplete_Out")
106
106
  ]
107
107
  )
108
108
  )
@@ -98,7 +98,7 @@ async function data(_izContext, objectSchemas, srcPath) {
98
98
  [RESOURCE_CLASSES.sns]: ["Publish"]
99
99
  },
100
100
  [
101
- resourceNames(RESOURCE_CLASSES.sns, "OutProcessLogicalComplete")
101
+ resourceNames(RESOURCE_CLASSES.sns, "ProcessLogicalComplete_Out")
102
102
  ]
103
103
  )
104
104
  )
@@ -100,8 +100,8 @@ async function data(_izContext, objectSchemas, srcPath) {
100
100
  [RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish]
101
101
  },
102
102
  [
103
- resourceNames(RESOURCE_CLASSES.sns, "InProcessLogical"),
104
- resourceNames(RESOURCE_CLASSES.sns, "OutProcessLogicalComplete")
103
+ resourceNames(RESOURCE_CLASSES.sns, "ProcessLogical_In"),
104
+ resourceNames(RESOURCE_CLASSES.sns, "ProcessLogicalComplete_Out")
105
105
  ]
106
106
  )
107
107
  )
@@ -73,7 +73,7 @@ function createParamForCreateSource(allObjectRelationships, srcPath) {
73
73
  [RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish]
74
74
  },
75
75
  [
76
- resourceNames(RESOURCE_CLASSES.sns, "Out" + upperCase(FUNCTION_NAME.createRelComplete))
76
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(FUNCTION_NAME.createRelComplete) + "_Out")
77
77
  ]
78
78
  )
79
79
  )
@@ -85,7 +85,7 @@ function createParamForCreateSource(allObjectRelationships, srcPath) {
85
85
  [
86
86
  resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + upperCase(HANDLER.hdrDsq)),
87
87
  resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + upperCase(HANDLER.hdrDsq) + "DLQ"),
88
- resourceNames(RESOURCE_CLASSES.sns, "Out" + upperCase(FUNCTION_NAME.createRelComplete))
88
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(FUNCTION_NAME.createRelComplete) + "_Out")
89
89
  ]
90
90
  )
91
91
  )
@@ -72,7 +72,7 @@ function createParamForCreateSource(allObjectRelationships, srcPath) {
72
72
  [RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish]
73
73
  },
74
74
  [
75
- resourceNames(RESOURCE_CLASSES.sns, "Out" + upperCase(FUNCTION_NAME.createRelComplete))
75
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(FUNCTION_NAME.createRelComplete) + "_Out")
76
76
  ]
77
77
  )
78
78
  )
@@ -84,9 +84,9 @@ function createParamForCreateSource(allObjectRelationships, srcPath) {
84
84
  [
85
85
  resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + upperCase(HANDLER.hdrSqs)),
86
86
  resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + upperCase(HANDLER.hdrSqs) + "DLQ"),
87
- resourceNames(RESOURCE_CLASSES.sns, "In" + upperCase(functionName) + upperCase(HANDLER.hdrSqs)),
88
- resourceNames(RESOURCE_CLASSES.sns, "Out" + upperCase(functionName) + upperCase(HANDLER.hdrSqs)),
89
- resourceNames(RESOURCE_CLASSES.sns, "Out" + upperCase(FUNCTION_NAME.createRelComplete))
87
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_In"),
88
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_Out"),
89
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(FUNCTION_NAME.createRelComplete) + "_Out")
90
90
  ]
91
91
  ),
92
92
  )
@@ -3,7 +3,7 @@
3
3
  Type: AWS::SNS::Topic
4
4
  Properties:
5
5
  DisplayName: "SNS Message in"
6
- TopicName: ${self:custom.iz_resourcePrefix}In<%- queueName %>
6
+ TopicName: ${self:custom.iz_serviceTag}_${self:custom.iz_stage}_<%- queueName %>_In
7
7
  ##===== SNS Subscription
8
8
  ##===== [Topic In]
9
9
  SubscriptionIn<%- queueName %>:
@@ -80,8 +80,8 @@ function createParamForCreateSource(srcPath) {
80
80
  [
81
81
  resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName)),
82
82
  resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + "DLQ"),
83
- resourceNames(RESOURCE_CLASSES.sns, "In" + upperCase(functionName)),
84
- resourceNames(RESOURCE_CLASSES.sns, "Out" + upperCase(functionName))
83
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_In"),
84
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_Out")
85
85
  ],
86
86
  ))
87
87
  additionalResourcePermission.push(awaitingMultipleStepsRole())
@@ -21,7 +21,7 @@ const path = require('path');
21
21
  const { ACTIONS, HANDLER } = require('@izara_project/izara-core-library-service-schemas/src/Consts')
22
22
 
23
23
  const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase, firstLetterUpperCase } = require("../../../../../../MainLibs/index.js").utils;
24
- const { SOURCE_PATH, FUNCTION_NAME } = require("../../../../../../MainLibs/index.js").consts;
24
+ const { SOURCE_PATH, FUNCTION_NAME } = require("../../../../../../MainLibs/src/Consts.js");
25
25
 
26
26
  const templatePath = path.join(__dirname, "./template.ejs")
27
27
 
@@ -44,4 +44,3 @@
44
44
  <%_ function firstLetterLowerCase(str) {
45
45
  return str.charAt(0).toLowerCase() + str.slice(1)
46
46
  } _%>
47
-
@@ -3,7 +3,7 @@
3
3
  Type: AWS::SNS::Topic
4
4
  Properties:
5
5
  DisplayName: "SNS Message out"
6
- TopicName: ${self:custom.iz_resourcePrefix}Out<%- firstLetterUpperCase(queueName) %>
6
+ TopicName: ${self:custom.iz_serviceTag}_${self:custom.iz_stage}_<%- firstLetterUpperCase(queueName) %>_Out
7
7
 
8
8
  <%_ function firstLetterUpperCase(text) {
9
9
  return text.charAt(0).toUpperCase() + text.slice(1)
@@ -73,7 +73,7 @@ function createParamForCreateSource(allObjectRelationships, srcPath) {
73
73
  [RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish]
74
74
  },
75
75
  [
76
- resourceNames(RESOURCE_CLASSES.sns, "Out" + upperCase(FUNCTION_NAME.deleteRelComplete))
76
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(FUNCTION_NAME.deleteRelComplete) + "_Out")
77
77
  ]
78
78
  )
79
79
  )
@@ -85,7 +85,7 @@ function createParamForCreateSource(allObjectRelationships, srcPath) {
85
85
  [
86
86
  resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + upperCase(HANDLER.hdrDsq)),
87
87
  resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + upperCase(HANDLER.hdrDsq) + "DLQ"),
88
- resourceNames(RESOURCE_CLASSES.sns, "Out" + upperCase(FUNCTION_NAME.deleteRelComplete))
88
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(FUNCTION_NAME.deleteRelComplete) + "_Out")
89
89
  ]
90
90
  )
91
91
  )
@@ -72,7 +72,7 @@ function createParamForCreateSource(allObjectRelationships, srcPath) {
72
72
  [RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish]
73
73
  },
74
74
  [
75
- resourceNames(RESOURCE_CLASSES.sns, "Out" + upperCase(FUNCTION_NAME.deleteRelComplete))
75
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(FUNCTION_NAME.deleteRelComplete) + "_Out")
76
76
  ]
77
77
  )
78
78
  )
@@ -84,9 +84,9 @@ function createParamForCreateSource(allObjectRelationships, srcPath) {
84
84
  [
85
85
  resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + upperCase(HANDLER.hdrSqs)),
86
86
  resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + upperCase(HANDLER.hdrSqs) + "DLQ"),
87
- resourceNames(RESOURCE_CLASSES.sns, "In" + upperCase(functionName) + upperCase(HANDLER.hdrSqs)),
88
- resourceNames(RESOURCE_CLASSES.sns, "Out" + upperCase(functionName) + upperCase(HANDLER.hdrSqs)),
89
- resourceNames(RESOURCE_CLASSES.sns, "Out" + upperCase(FUNCTION_NAME.deleteRelComplete))
87
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_In"),
88
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_Out"),
89
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(FUNCTION_NAME.createRelComplete) + "_Out")
90
90
  ]
91
91
  ),
92
92
  )
@@ -3,7 +3,7 @@
3
3
  Type: AWS::SNS::Topic
4
4
  Properties:
5
5
  DisplayName: "SNS Message in"
6
- TopicName: ${self:custom.iz_resourcePrefix}In<%- queueName %>
6
+ TopicName: ${self:custom.iz_serviceTag}_${self:custom.iz_stage}_<%- queueName %>_In
7
7
  ##===== SNS Subscription
8
8
  ##===== [Topic In]
9
9
  SubscriptionIn<%- queueName %>:
@@ -80,8 +80,8 @@ function createParamForCreateSource(srcPath) {
80
80
  [
81
81
  resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName)),
82
82
  resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + "DLQ"),
83
- resourceNames(RESOURCE_CLASSES.sns, "In" + upperCase(functionName)),
84
- resourceNames(RESOURCE_CLASSES.sns, "Out" + upperCase(functionName))
83
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_In"),
84
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_Out")
85
85
  ],
86
86
  ))
87
87
  additionalResourcePermission.push(awaitingMultipleStepsRole())
@@ -3,7 +3,7 @@
3
3
  Type: AWS::SNS::Topic
4
4
  Properties:
5
5
  DisplayName: "SNS Message out"
6
- TopicName: ${self:custom.iz_resourcePrefix}Out<%- firstLetterUpperCase(queueName) %>
6
+ TopicName: ${self:custom.iz_serviceTag}_${self:custom.iz_stage}_<%- firstLetterUpperCase(queueName) %>_Out
7
7
 
8
8
  <%_ function firstLetterUpperCase(text) {
9
9
  return text.charAt(0).toUpperCase() + text.slice(1)