@izara_project/izara-market-library-service-schemas 1.0.26 → 1.0.28

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 (148) hide show
  1. package/index.js +2 -1
  2. package/package.json +9 -4
  3. package/src/GenerateCodeLibs/src/Consts.js +5 -2
  4. package/src/GenerateCodeLibs/src/GenerateCodeLibs.js +6 -6
  5. package/src/MainLibs/src/Consts.js +45 -2
  6. package/src/TemplateManager/src/libs/Consts.js +0 -1
  7. package/src/reStructure/GenerateCode.js +23 -4
  8. package/src/reStructure/GenerateSchema.js +153 -0
  9. package/src/reStructure/SchemaConfig.js +29 -0
  10. package/src/reStructure/TemplateConfig.js +20 -0
  11. package/src/reStructure/TemplateData/attributeTreeSchema/generateTemplateData.js +104 -0
  12. package/src/reStructure/TemplateData/attributeTreeSchema/mainAttributeTreeSchema/attributeLinkTemplate.ejs +21 -0
  13. package/src/reStructure/TemplateData/attributeTreeSchema/mainAttributeTreeSchema/data.js +188 -0
  14. package/src/reStructure/TemplateData/attributeTreeSchema/mainAttributeTreeSchema/request.json +11 -0
  15. package/src/reStructure/TemplateData/externalService/lambdaRole/template.ejs +3 -4
  16. package/src/reStructure/TemplateData/externalService/snsTopicSubscriptions/data.js +1 -1
  17. package/src/reStructure/TemplateData/findData/handler/template.ejs +1 -1
  18. package/src/reStructure/TemplateData/findData/mainFunction/template.ejs +3 -3
  19. package/src/reStructure/TemplateData/flowSchema/components/upload/confirmReserved/functionYaml/data.js +3 -1
  20. package/src/reStructure/TemplateData/flowSchema/components/upload/confirmReserved/functionYaml/template.ejs +1 -14
  21. package/src/reStructure/TemplateData/flowSchema/components/upload/confirmReserved/handler/template.ejs +2 -3
  22. package/src/reStructure/TemplateData/flowSchema/components/upload/confirmReserved/mainFunction/template.ejs +2 -3
  23. package/src/reStructure/TemplateData/flowSchema/components/upload/createObject/functionYaml/data.js +4 -2
  24. package/src/reStructure/TemplateData/flowSchema/components/upload/createObject/functionYaml/template.ejs +1 -14
  25. package/src/reStructure/TemplateData/flowSchema/components/upload/createObject/handler/template.ejs +2 -3
  26. package/src/reStructure/TemplateData/flowSchema/components/upload/createObject/mainFunction/template.ejs +5 -6
  27. package/src/reStructure/TemplateData/flowSchema/components/upload/createObjectComplete/functionYaml/data.js +3 -1
  28. package/src/reStructure/TemplateData/flowSchema/components/upload/createObjectComplete/functionYaml/template.ejs +1 -14
  29. package/src/reStructure/TemplateData/flowSchema/components/upload/createObjectComplete/handler/template.ejs +1 -2
  30. package/src/reStructure/TemplateData/flowSchema/components/upload/createObjectComplete/mainFunction/template.ejs +3 -4
  31. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/getSignUrls/functionYaml/data.js +3 -1
  32. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/getSignUrls/functionYaml/template.ejs +1 -14
  33. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/getSignUrls/handler/template.ejs +2 -2
  34. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/getSignUrls/mainFunction/template.ejs +3 -4
  35. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/functionYaml/data.js +3 -1
  36. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/functionYaml/template.ejs +1 -14
  37. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/handler/template.ejs +2 -3
  38. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/mainFunction/template.ejs +5 -6
  39. package/src/reStructure/TemplateData/flowSchema/components/upload/processFile/functionYml/HdrS3/data.js +4 -2
  40. package/src/reStructure/TemplateData/flowSchema/components/upload/processFile/functionYml/HdrS3/template.ejs +1 -14
  41. package/src/reStructure/TemplateData/flowSchema/components/upload/processFile/handler/handlerS3/template.ejs +1 -1
  42. package/src/reStructure/TemplateData/flowSchema/components/upload/processFile/mainFunction/template.ejs +4 -5
  43. package/src/reStructure/TemplateData/flowSchema/components/websocket/connect/functionYaml/data.js +4 -2
  44. package/src/reStructure/TemplateData/flowSchema/components/websocket/dynamoDb/ReservedTableData.js +2 -1
  45. package/src/reStructure/TemplateData/flowSchema/components/websocket/dynamoDb/WebSocketTaskData.js +2 -1
  46. package/src/reStructure/TemplateData/generateRole/createSharedResource.js +10 -0
  47. package/src/reStructure/TemplateData/perActionComplete/create/handler/template.ejs +2 -3
  48. package/src/reStructure/TemplateData/perActionComplete/create/mainFunction/template.ejs +4 -5
  49. package/src/reStructure/TemplateData/perActionComplete/delete/handler/template.ejs +2 -2
  50. package/src/reStructure/TemplateData/perActionComplete/delete/mainFunction/template.ejs +4 -6
  51. package/src/reStructure/TemplateData/perActionComplete/generateTemplateData.js +1 -1
  52. package/src/reStructure/TemplateData/perActionComplete/get/handler/template.ejs +2 -3
  53. package/src/reStructure/TemplateData/perActionComplete/get/mainFunction/template.ejs +4 -6
  54. package/src/reStructure/TemplateData/perActionComplete/update/handler/template.ejs +2 -3
  55. package/src/reStructure/TemplateData/perActionComplete/update/mainFunction/template.ejs +4 -6
  56. package/src/reStructure/TemplateData/perActionComplete/update/sns-in-sqs/data.js +1 -1
  57. package/src/reStructure/TemplateData/perActionEndpoint/handler/api/template.ejs +1 -1
  58. package/src/reStructure/TemplateData/perActionEndpoint/handler/dsq/template.ejs +2 -2
  59. package/src/reStructure/TemplateData/perActionEndpoint/handler/inv/template.ejs +1 -3
  60. package/src/reStructure/TemplateData/perActionEndpoint/handler/sqs/template.ejs +2 -2
  61. package/src/reStructure/TemplateData/perActionEndpoint/handler/webSocket/template.ejs +3 -3
  62. package/src/reStructure/TemplateData/perActionEndpoint/mainFunction/create/template.ejs +6 -7
  63. package/src/reStructure/TemplateData/perActionEndpoint/mainFunction/delete/template.ejs +5 -4
  64. package/src/reStructure/TemplateData/perActionEndpoint/mainFunction/get/template.ejs +5 -6
  65. package/src/reStructure/TemplateData/perActionEndpoint/mainFunction/update/template.ejs +5 -6
  66. package/src/reStructure/TemplateData/processLogical/handler/template.ejs +1 -1
  67. package/src/reStructure/TemplateData/processLogical/mainFunction/template.ejs +5 -6
  68. package/src/reStructure/TemplateData/processLogicalPagination/handler/dsq/template.ejs +1 -1
  69. package/src/reStructure/TemplateData/processLogicalPagination/handler/sqs/template.ejs +1 -1
  70. package/src/reStructure/TemplateData/processLogicalPagination/mainFunction/template.ejs +6 -5
  71. package/src/reStructure/TemplateData/relationshipPerAction/create/action/functionYaml/api/data.js +27 -6
  72. package/src/reStructure/TemplateData/relationshipPerAction/create/action/functionYaml/dsq/data.js +25 -4
  73. package/src/reStructure/TemplateData/relationshipPerAction/create/action/functionYaml/inv/data.js +26 -4
  74. package/src/reStructure/TemplateData/relationshipPerAction/create/action/functionYaml/sqs/data.js +26 -4
  75. package/src/reStructure/TemplateData/relationshipPerAction/create/action/handler/api/template.ejs +1 -1
  76. package/src/reStructure/TemplateData/relationshipPerAction/create/action/handler/dsq/template.ejs +2 -2
  77. package/src/reStructure/TemplateData/relationshipPerAction/create/action/handler/inv/template.ejs +1 -1
  78. package/src/reStructure/TemplateData/relationshipPerAction/create/action/handler/sqs/template.ejs +2 -2
  79. package/src/reStructure/TemplateData/relationshipPerAction/create/action/mainFunction/template.ejs +66 -18
  80. package/src/reStructure/TemplateData/relationshipPerAction/create/complete/handler/sqs/template.ejs +2 -3
  81. package/src/reStructure/TemplateData/relationshipPerAction/create/complete/mainFunction/template.ejs +5 -6
  82. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/functionYaml/api/data.js +25 -4
  83. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/functionYaml/dsq/data.js +25 -4
  84. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/functionYaml/inv/data.js +25 -4
  85. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/functionYaml/sqs/data.js +26 -4
  86. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/handler/api/template.ejs +1 -1
  87. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/handler/dsq/template.ejs +2 -2
  88. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/handler/inv/template.ejs +1 -1
  89. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/handler/sqs/template.ejs +2 -2
  90. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/mainFunction/template.ejs +55 -5
  91. package/src/reStructure/TemplateData/relationshipPerAction/generateTemplateData.js +62 -6
  92. package/src/reStructure/TemplateData/relationshipPerAction/get/action/functionYaml/api/data.js +119 -0
  93. package/src/reStructure/TemplateData/relationshipPerAction/get/action/functionYaml/api/template.ejs +20 -0
  94. package/src/reStructure/TemplateData/relationshipPerAction/get/action/functionYaml/dsq/data.js +131 -0
  95. package/src/reStructure/TemplateData/relationshipPerAction/get/action/functionYaml/dsq/template.ejs +17 -0
  96. package/src/reStructure/TemplateData/relationshipPerAction/get/action/functionYaml/inv/data.js +119 -0
  97. package/src/reStructure/TemplateData/relationshipPerAction/get/action/functionYaml/inv/template.ejs +13 -0
  98. package/src/reStructure/TemplateData/relationshipPerAction/get/action/functionYaml/sqs/data.js +131 -0
  99. package/src/reStructure/TemplateData/relationshipPerAction/get/action/functionYaml/sqs/template.ejs +17 -0
  100. package/src/reStructure/TemplateData/relationshipPerAction/get/action/handler/api/data.js +57 -0
  101. package/src/reStructure/TemplateData/relationshipPerAction/get/action/handler/api/request.json +0 -0
  102. package/src/reStructure/TemplateData/relationshipPerAction/get/action/handler/api/template.ejs +138 -0
  103. package/src/reStructure/TemplateData/relationshipPerAction/get/action/handler/dsq/data.js +58 -0
  104. package/src/reStructure/TemplateData/relationshipPerAction/get/action/handler/dsq/request.json +0 -0
  105. package/src/reStructure/TemplateData/relationshipPerAction/get/action/handler/dsq/template.ejs +183 -0
  106. package/src/reStructure/TemplateData/relationshipPerAction/get/action/handler/inv/data.js +59 -0
  107. package/src/reStructure/TemplateData/relationshipPerAction/get/action/handler/inv/request.json +0 -0
  108. package/src/reStructure/TemplateData/relationshipPerAction/get/action/handler/inv/template.ejs +125 -0
  109. package/src/reStructure/TemplateData/relationshipPerAction/get/action/handler/sqs/data.js +59 -0
  110. package/src/reStructure/TemplateData/relationshipPerAction/get/action/handler/sqs/request.json +0 -0
  111. package/src/reStructure/TemplateData/relationshipPerAction/get/action/handler/sqs/template.ejs +163 -0
  112. package/src/reStructure/TemplateData/relationshipPerAction/get/action/mainFunction/data.js +59 -0
  113. package/src/reStructure/TemplateData/relationshipPerAction/get/action/mainFunction/template.ejs +322 -0
  114. package/src/reStructure/TemplateData/relationshipPerAction/get/action/sns-in-sqs/data.js +77 -0
  115. package/src/reStructure/TemplateData/relationshipPerAction/get/action/sns-in-sqs/snsTemplate.ejs +59 -0
  116. package/src/reStructure/TemplateData/relationshipPerAction/get/action/sns-in-sqs/sqsTemplate.ejs +43 -0
  117. package/src/reStructure/TemplateData/relationshipPerAction/get/complete/functionYaml/data.js +110 -0
  118. package/src/reStructure/TemplateData/relationshipPerAction/get/complete/functionYaml/request.json +0 -0
  119. package/src/reStructure/TemplateData/relationshipPerAction/get/complete/functionYaml/template.ejs +20 -0
  120. package/src/reStructure/TemplateData/relationshipPerAction/get/complete/handler/sqs/data.js +60 -0
  121. package/src/reStructure/TemplateData/relationshipPerAction/get/complete/handler/sqs/request.json +0 -0
  122. package/src/reStructure/TemplateData/relationshipPerAction/get/complete/handler/sqs/template.ejs +125 -0
  123. package/src/reStructure/TemplateData/relationshipPerAction/get/complete/mainFunction/data.js +55 -0
  124. package/src/reStructure/TemplateData/relationshipPerAction/get/complete/mainFunction/request.json +0 -0
  125. package/src/reStructure/TemplateData/relationshipPerAction/get/complete/mainFunction/template.ejs +141 -0
  126. package/src/reStructure/TemplateData/relationshipPerAction/get/complete/sns-in-sqs/data.js +71 -0
  127. package/src/reStructure/TemplateData/relationshipPerAction/get/complete/sns-in-sqs/request.json +0 -0
  128. package/src/reStructure/TemplateData/relationshipPerAction/get/complete/sns-in-sqs/template.ejs +47 -0
  129. package/src/reStructure/TemplateData/relationshipPerAction/get/complete/sns-out/data.js +71 -0
  130. package/src/reStructure/TemplateData/relationshipPerAction/get/complete/sns-out/request.json +0 -0
  131. package/src/reStructure/TemplateData/relationshipPerAction/get/complete/sns-out/template.ejs +10 -0
  132. package/src/reStructure/TemplateData/relationshipPerAction/update/action/functionYaml/api/data.js +25 -22
  133. package/src/reStructure/TemplateData/relationshipPerAction/update/action/functionYaml/dsq/data.js +25 -5
  134. package/src/reStructure/TemplateData/relationshipPerAction/update/action/functionYaml/inv/data.js +26 -5
  135. package/src/reStructure/TemplateData/relationshipPerAction/update/action/functionYaml/sqs/data.js +25 -4
  136. package/src/reStructure/TemplateData/relationshipPerAction/update/action/handler/api/template.ejs +1 -1
  137. package/src/reStructure/TemplateData/relationshipPerAction/update/action/handler/dsq/template.ejs +2 -2
  138. package/src/reStructure/TemplateData/relationshipPerAction/update/action/handler/inv/template.ejs +1 -1
  139. package/src/reStructure/TemplateData/relationshipPerAction/update/action/handler/sqs/template.ejs +2 -2
  140. package/src/reStructure/TemplateData/relationshipPerAction/update/action/mainFunction/template.ejs +55 -7
  141. package/src/reStructure/TemplateData/resourceYaml/dynamodb/defaultDynamoDbTable.js +50 -42
  142. package/src/reStructure/TemplateData/resourceYaml/dynamodb/generateDynamoPerLink.js +98 -0
  143. package/src/reStructure/TemplateData/resourceYaml/dynamodb/mainResourcePerObjectSchemaData.js +4 -5
  144. package/src/reStructure/TemplateData/resourceYaml/dynamodb/template.ejs +1 -1
  145. package/src/reStructure/TemplateData/resourceYaml/generateTemplateData.js +11 -2
  146. package/src/reStructure/TemplateData/testTemplate/data.js +27 -0
  147. package/src/reStructure/TemplateData/testTemplate/template.ejs +5 -0
  148. package/src/reStructure/libs/GenerateCodeLibs.js +38 -0
@@ -14,20 +14,7 @@
14
14
  # - prefix: uploads/
15
15
  # - suffix: .csv
16
16
  forceDeploy: true
17
- iamRoleStatements:
18
- <%_ additionalResourcePermission.forEach(resourcePermission => { _%>
19
- - Effect: <%- resourcePermission.effect %>
20
- Action:
21
- <%_ Object.keys(resourcePermission.action).forEach(resourcePerAction => { _%>
22
- <%_ resourcePermission.action[resourcePerAction].forEach(permission => { _%>
23
- - <%- resourcePerAction %>:<%- permission %>
24
- <%_}) _%>
25
- <%_ }) _%>
26
- Resource:
27
- <%_ resourcePermission.resource.forEach(resource => { _%>
28
- - <%- resource %>
29
- <%_ }) _%>
30
- <%_}) _%>
17
+ role: <%- roleName %>Role
31
18
  #<#<%- functionName %><%- handlerType %>IamRole#>
32
19
  #<#/<%- functionName %><%- handlerType %>IamRole#>
33
20
  <%_ function firstLetterUpperCase(text){
@@ -22,7 +22,7 @@ const izara = require("@izara_project/izara-middleware");
22
22
  const middleware = izara.middlewareHandler;
23
23
  const Logger = require('@izara_project/izara-core-library-logger/src/Logger');
24
24
  const izaraShared = require("@izara_project/izara-shared");
25
- const recordHandlerS3SharedLib = izaraShared.recordHandlerS3SharedLib;
25
+ const recordHandlerS3SharedLib = require('@izara_project/izara-core-library-record-handler');
26
26
 
27
27
  const processAfterUpload = require('./ProcessAfterUploadS3_Main')
28
28
  //--------------------------------------------------------------------------
@@ -17,11 +17,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
17
17
 
18
18
  'use strict';
19
19
 
20
- const izaraShared = require('@izara_project/izara-shared');
21
- const callingFlowSharedLib = izaraShared.callingFlowSharedLib;
22
- const snsSharedLib = izaraShared.snsSharedLib;
23
- const dynamodbSharedLib = izaraShared.dynamodbSharedLib;
24
- const lambdaSharedLib = izaraShared.lambdaSharedLib;
20
+ const callingFlowSharedLib = require('@izara_project/izara-core-library-calling-flow');
21
+ const snsSharedLib = require('@izara_project/izara-core-library-sns');
22
+ const dynamodbSharedLib = require('@izara_project/izara-core-library-dynamodb');
23
+ const lambdaSharedLib = require('@izara_project/izara-core-library-lambda');
25
24
 
26
25
  const externalRequest = require('@izara_project/izara-core-library-external-request')
27
26
  const lambda = externalRequest.lambda;
@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
18
18
  'use strict';
19
19
  const path = require('path');
20
20
 
21
- const { SOURCE_PATH, SAVE_FILE_NAME, defaultIamRolePerAction, createIamRole, RESOURCE_CLASSES, DYNAMO_RESOURCE, resourceNames } = require("../../../../libs/Consts");
21
+ const { SOURCE_PATH, SAVE_FILE_NAME, defaultIamRolePerAction, createIamRole, RESOURCE_CLASSES, DYNAMO_RESOURCE, resourceNames, SOURCE_GENERATE_IAM_ROLE } = require("../../../../libs/Consts");
22
22
  const { firstLetterUpperCase: upperCase } = require('../../../../../../MainLibs/src/Utils');
23
23
 
24
24
  const templatePath = path.join(__dirname, "./template.ejs")
@@ -60,7 +60,9 @@ function createWebSocketConnectYaml(_izContext, srcPath) {
60
60
  templateData: {
61
61
  functionName,
62
62
  resourceLocation: SOURCE_PATH.resourceLocationWebSocket,
63
- additionalResourcePermission
63
+ additionalResourcePermission,
64
+ roleName: SOURCE_GENERATE_IAM_ROLE.FlowSchemaUploadS3Role
65
+
64
66
  },
65
67
  setting: {
66
68
  savePath: path.join(srcPath, SOURCE_PATH.appYaml),
@@ -19,13 +19,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
19
19
  const path = require('path');
20
20
  const { SOURCE_PATH, SAVE_FILE_NAME } = require('../../../../../../MainLibs/src/Consts');
21
21
 
22
- const templatePath = path.join(__dirname, "../../../ResourceYaml/dynamodb/template.ejs")
22
+ const templatePath = path.join(__dirname, "../../../../resourceYaml/dynamodb/template.ejs")
23
23
 
24
24
  function data(_izContext, srcPath) {
25
25
  let resultForCreateSources = [];
26
26
  const reservedDataTables = [
27
27
  {
28
28
  tableName: "ReservedDataMain",
29
+ resourceName: "ReservedDataMain",
29
30
  attributes: [
30
31
  {
31
32
  keyType: "partitionKey",
@@ -19,13 +19,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
19
19
  const path = require('path');
20
20
  const { SOURCE_PATH, SAVE_FILE_NAME } = require('../../../../../../MainLibs/src/Consts');
21
21
 
22
- const templatePath = path.join(__dirname, "../../../ResourceYaml/dynamodb/template.ejs")
22
+ const templatePath = path.join(__dirname, "../../../../resourceYaml/dynamodb/template.ejs")
23
23
 
24
24
  function data(_izContext, srcPath) {
25
25
  let resultForCreateSources = [];
26
26
  const webSocketTaskTables = [
27
27
  {
28
28
  tableName: "WebSocketTask",
29
+ resourceName: "WebSocketTask",
29
30
  attributes: [
30
31
  {
31
32
  keyType: "partitionKey",
@@ -102,6 +102,10 @@ const createSharedResource = (_izContext, createSourceParams, srcPath) => {
102
102
  handlerType: [],
103
103
  resources: []
104
104
  },
105
+ [SOURCE_GENERATE_IAM_ROLE.FlowSchemaUploadS3Role]: {
106
+ handlerType: [],
107
+ resources: {}
108
+ },
105
109
  Other: []
106
110
  };
107
111
  const objectTypeList = [];
@@ -177,6 +181,12 @@ const createSharedResource = (_izContext, createSourceParams, srcPath) => {
177
181
  templateData.additionalResourcePermission,
178
182
  groupedByObjectType[SOURCE_GENERATE_IAM_ROLE.ProcessFindDataRole].resources
179
183
  );
184
+ } else if (templateData.roleName.includes(SOURCE_GENERATE_IAM_ROLE.FlowSchemaUploadS3Role)) {
185
+ groupedByObjectType[SOURCE_GENERATE_IAM_ROLE.FlowSchemaUploadS3Role].handlerType.push(templateData);
186
+ processResourcePermissions(
187
+ templateData.additionalResourcePermission,
188
+ groupedByObjectType[SOURCE_GENERATE_IAM_ROLE.FlowSchemaUploadS3Role].resources
189
+ )
180
190
  }
181
191
  else {
182
192
  // Handle other items
@@ -22,9 +22,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
22
22
 
23
23
  const izara = require("@izara_project/izara-middleware");
24
24
  const middleware = izara.middlewareHandler;
25
- const izaraShared = require('@izara_project/izara-shared');
26
- const recordHandlerSharedLib = izaraShared.recordHandlerSharedLib
27
- const callingFlowSharedLib = izaraShared.callingFlowSharedLib;
25
+ const recordHandlerSharedLib = require('@izara_project/izara-core-library-record-handler');
26
+ const callingFlowSharedLib = require('@izara_project/izara-core-library-calling-flow');
28
27
 
29
28
  const createObjectComplete = require('./CreateObjectComplete_Main');
30
29
  const Logger = require('@izara_project/izara-core-library-logger');
@@ -15,15 +15,14 @@ You should have received a copy of the GNU Affero General Public License
15
15
  along with this program. If not, see <http://www.gnu.org/licenses/>.
16
16
  */
17
17
  'use strict';
18
- const asyncFlowSharedLib = require('@izara_project/izara-shared/src/AsyncFlowSharedLib');
19
- const dynamodbSharedLib = require('@izara_project/izara-shared/src/DynamodbSharedLib');
20
- const snsSharedLib = require('@izara_project/izara-shared/src/SnsSharedLib');
18
+ const asyncFlowSharedLib = require('@izara_project/izara-core-library-asynchronous-flow');
19
+ const callingFlowSharedLib = require('@izara_project/izara-core-library-calling-flow');
20
+ const dynamodbSharedLib = require('@izara_project/izara-core-library-dynamodb');
21
+ const snsSharedLib = require('@izara_project/izara-core-library-sns');
21
22
  const sns = require('@izara_project/izara-core-library-external-request/src/resources/Sns');
22
- const callingFlowSharedLib = require('@izara_project/izara-shared/src/CallingFlowSharedLib');
23
23
  const _ = require('lodash');
24
24
  const hash = require("object-hash")
25
25
 
26
-
27
26
  const PREFIX = {
28
27
  CREATE_OBJECT_ASYNC: "createObjectAsync",
29
28
  CREATE_OBJECT_ASYNC_COMPLETE: "createObjectAsyncComplete"
@@ -23,8 +23,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
23
23
  const izara = require("@izara_project/izara-middleware");
24
24
  const middleware = izara.middlewareHandler;
25
25
  const izaraShared = require('@izara_project/izara-shared');
26
- const recordHandlerSharedLib = izaraShared.recordHandlerSharedLib
27
- const callingFlowSharedLib = izaraShared.callingFlowSharedLib;
26
+ const recordHandlerSharedLib = require('@izara_project/izara-core-library-record-handler');
27
+ const callingFlowSharedLib = require('@izara_project/izara-core-library-calling-flow');
28
28
 
29
29
  const <%- functionName %> = require('./<%- firstLetterUpperCase(functionName) %>_Main');
30
30
  const Logger = require('@izara_project/izara-core-library-logger');
@@ -18,12 +18,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
18
18
  'use strict';
19
19
  const hash = require("object-hash");
20
20
 
21
- const izaraShared = require('@izara_project/izara-shared');
22
- const callingFlowSharedLib = izaraShared.callingFlowSharedLib;
23
- const configSharedLib = izaraShared.configSharedLib;
24
- const snsSharedLib = izaraShared.snsSharedLib;
25
- const asyncFlowSharedLib = izaraShared.asyncFlowSharedLib;
26
- const dynamodbSharedLib = izaraShared.dynamodbSharedLib;
21
+ const asyncFlowSharedLib = require('@izara_project/izara-core-library-asynchronous-flow');
22
+ const callingFlowSharedLib = require('@izara_project/izara-core-library-calling-flow');
23
+ const dynamodbSharedLib = require('@izara_project/izara-core-library-dynamodb');
24
+ const snsSharedLib = require('@izara_project/izara-core-library-sns');
27
25
 
28
26
  const sns = require("@izara_project/izara-core-library-external-request").sns;
29
27
  const NoRetryError = require("@izara_project/izara-core-library-core/src/NoRetryError");
@@ -114,7 +114,7 @@ async function generateCodeWithTemplate(_izContext, objSchemaPath) {
114
114
  ...deleteComponents.flat()
115
115
  ];
116
116
 
117
- console.log('createSourceParams:', createSourceParams);
117
+ // console.log('createSourceParams:', createSourceParams);
118
118
 
119
119
  return createSourceParams;
120
120
  } catch (error) {
@@ -22,9 +22,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
22
22
 
23
23
  const izara = require("@izara_project/izara-middleware");
24
24
  const middleware = izara.middlewareHandler;
25
- const izaraShared = require('@izara_project/izara-shared');
26
- const recordHandlerSharedLib = izaraShared.recordHandlerSharedLib
27
- const callingFlowSharedLib = izaraShared.callingFlowSharedLib;
25
+ const recordHandlerSharedLib = require('@izara_project/izara-core-library-record-handler');
26
+ const callingFlowSharedLib = require('@izara_project/izara-core-library-calling-flow');
28
27
 
29
28
  const <%- functionName %> = require('./<%- firstLetterUpperCase(functionName) %>_Main');
30
29
  const Logger = require('@izara_project/izara-core-library-logger');
@@ -18,12 +18,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
18
18
  'use strict';
19
19
  const hash = require("object-hash");
20
20
 
21
- const izaraShared = require('@izara_project/izara-shared');
22
- const callingFlowSharedLib = izaraShared.callingFlowSharedLib;
23
- const configSharedLib = izaraShared.configSharedLib;
24
- const snsSharedLib = izaraShared.snsSharedLib;
25
- const asyncFlowSharedLib = izaraShared.asyncFlowSharedLib;
26
- const dynamodbSharedLib = izaraShared.dynamodbSharedLib;
21
+ const asyncFlowSharedLib = require('@izara_project/izara-core-library-asynchronous-flow');
22
+ const callingFlowSharedLib = require('@izara_project/izara-core-library-calling-flow');
23
+ const dynamodbSharedLib = require('@izara_project/izara-core-library-dynamodb');
24
+ const snsSharedLib = require('@izara_project/izara-core-library-sns');
27
25
 
28
26
  const sns = require("@izara_project/izara-core-library-external-request").sns;
29
27
  const NoRetryError = require("@izara_project/izara-core-library-core/src/NoRetryError");
@@ -22,9 +22,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
22
22
 
23
23
  const izara = require("@izara_project/izara-middleware");
24
24
  const middleware = izara.middlewareHandler;
25
- const izaraShared = require('@izara_project/izara-shared');
26
- const recordHandlerSharedLib = izaraShared.recordHandlerSharedLib
27
- const callingFlowSharedLib = izaraShared.callingFlowSharedLib;
25
+ const recordHandlerSharedLib = require('@izara_project/izara-core-library-record-handler');
26
+ const callingFlowSharedLib = require('@izara_project/izara-core-library-calling-flow');
28
27
 
29
28
  const <%- functionName %> = require('./<%- firstLetterUpperCase(functionName) %>_Main');
30
29
  const Logger = require('@izara_project/izara-core-library-logger');
@@ -18,12 +18,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
18
18
  'use strict';
19
19
  const hash = require("object-hash");
20
20
 
21
- const izaraShared = require('@izara_project/izara-shared');
22
- const callingFlowSharedLib = izaraShared.callingFlowSharedLib;
23
- const configSharedLib = izaraShared.configSharedLib;
24
- const snsSharedLib = izaraShared.snsSharedLib;
25
- const asyncFlowSharedLib = izaraShared.asyncFlowSharedLib;
26
- const dynamodbSharedLib = izaraShared.dynamodbSharedLib;
21
+ const asyncFlowSharedLib = require('@izara_project/izara-core-library-asynchronous-flow');
22
+ const callingFlowSharedLib = require('@izara_project/izara-core-library-calling-flow');
23
+ const dynamodbSharedLib = require('@izara_project/izara-core-library-dynamodb');
24
+ const snsSharedLib = require('@izara_project/izara-core-library-sns');
27
25
 
28
26
  const sns = require("@izara_project/izara-core-library-external-request").sns;
29
27
  const NoRetryError = require("@izara_project/izara-core-library-core/src/NoRetryError");
@@ -52,7 +52,7 @@ function data(_izContext, srcPath) {
52
52
  templatePath: templatePath,
53
53
  templateData: createUpdateNodeCompleteQueueName,
54
54
  setting: {
55
- initialData: "Resource\n",
55
+ initialData: "Resources:\n",
56
56
  savePath: path.join(srcPath, SOURCE_PATH.resourceYaml),
57
57
  saveFileName: SAVE_FILE_NAME.snsInSqsYaml,
58
58
  fileExtension: ".yml",
@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
18
18
  'use strict';
19
19
  const izara = require("@izara_project/izara-middleware");
20
20
  const middleware = izara.middlewareHandler;
21
- const callingFlowSharedLib = require('@izara_project/izara-shared/src/CallingFlowSharedLib')
21
+ const callingFlowSharedLib = require('@izara_project/izara-core-library-calling-flow');
22
22
  const {
23
23
  validateSchemaMiddleware
24
24
  } = require('@izara_project/izara-market-library-service-schemas/src/GenerateCodeLibs/src/GenerateCodeLibs');
@@ -18,10 +18,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
18
18
  'use strict';
19
19
  const izara = require("@izara_project/izara-middleware");
20
20
  const middleware = izara.middlewareHandler;
21
- const callingFlowSharedLib = require('@izara_project/izara-shared/src/CallingFlowSharedLib')
21
+ const callingFlowSharedLib = require('@izara_project/izara-core-library-calling-flow');
22
22
  const Logger = require('@izara_project/izara-core-library-logger');
23
23
  const {validateSchemaPerRecord} = require('@izara_project/izara-market-library-service-schemas/src/GenerateCodeLibs/src/GenerateCodeLibs')
24
- const recordHandlerSharedLib = require('@izara_project/izara-shared').recordHandlerSharedLib
24
+ const recordHandlerSharedLib = require('@izara_project/izara-core-library-record-handler');
25
25
 
26
26
  <%_ if (isCreateMainFunction == true) { _%>
27
27
  // user generate main function
@@ -19,9 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
19
19
 
20
20
  const middleware = require("@izara_project/izara-middleware/src/MiddlewareCore/MiddlewareHandler");
21
21
 
22
- const callingFlowSharedLib = require('@izara_project/izara-shared/src/CallingFlowSharedLib')
23
-
24
-
22
+ const callingFlowSharedLib = require('@izara_project/izara-core-library-calling-flow');
25
23
  const {
26
24
  validateSchemaMiddleware
27
25
  } = require('@izara_project/izara-market-library-service-schemas/src/GenerateCodeLibs/src/GenerateCodeLibs');
@@ -18,10 +18,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
18
18
  'use strict';
19
19
  const izara = require("@izara_project/izara-middleware");
20
20
  const middleware = izara.middlewareHandler;
21
- const callingFlowSharedLib = require('@izara_project/izara-shared/src/CallingFlowSharedLib')
21
+ const callingFlowSharedLib = require('@izara_project/izara-core-library-calling-flow');
22
22
  const Logger = require('@izara_project/izara-core-library-logger');
23
23
  const {validateSchemaPerRecord} = require('@izara_project/izara-market-library-service-schemas/src/GenerateCodeLibs/src/GenerateCodeLibs')
24
- const recordHandlerSharedLib = require('@izara_project/izara-shared').recordHandlerSharedLib
24
+ const recordHandlerSharedLib = require('@izara_project/izara-core-library-record-handler');
25
25
 
26
26
  <%_ if (isCreateMainFunction == true) { _%>
27
27
  // user generate main function
@@ -21,9 +21,9 @@ const izara = require("@izara_project/izara-middleware");
21
21
  const middleware = izara.middlewareHandler;
22
22
  const AWS = require('aws-sdk');
23
23
  const api = new AWS.ApiGatewayManagementApi({ endpoint: process.env.iz_webSocketEndpoint });
24
- const izaraShared = require('@izara_project/izara-shared');
25
- const dynamodbSharedLib = izaraShared.dynamodbSharedLib;
26
- const callingFlowSharedLib = izaraShared.callingFlowSharedLib;
24
+ const dynamodbSharedLib = require('@izara_project/izara-core-library-dynamodb');
25
+ const callingFlowSharedLib = require('@izara_project/izara-core-library-calling-flow');
26
+
27
27
 
28
28
  const { validateSchemaPerWebSocket } = require('@izara_project/izara-market-library-service-schemas/src/GenerateCodeLibs/src/GenerateCodeLibs')
29
29
  <%_ if (isCreateMainFunction == true) { _%>
@@ -16,12 +16,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
16
16
  */
17
17
 
18
18
  'use strict';
19
- const izaraShared = require('@izara_project/izara-shared');
20
- const asyncFlowSharedLib = izaraShared.asyncFlowSharedLib;
21
- const dynamodbSharedLib = izaraShared.dynamodbSharedLib;
22
- const lambdaSharedLib = izaraShared.lambdaSharedLib;
23
- const callingFlowSharedLib = izaraShared.callingFlowSharedLib;
24
- const snsSharedLib = require('@izara_project/izara-shared/src/SnsSharedLib');
19
+ const dynamodbSharedLib = require('@izara_project/izara-core-library-dynamodb');
20
+ const snsSharedLib = require('@izara_project/izara-core-library-sns');
21
+ const asyncFlowSharedLib = require('@izara_project/izara-core-library-asynchronous-flow');
22
+ const callingFlowSharedLib = require('@izara_project/izara-core-library-calling-flow');
23
+ const lambdaSharedLib = require('@izara_project/izara-core-library-lambda');
25
24
 
26
25
  const externalRequest = require('@izara_project/izara-core-library-external-request');
27
26
  const sns = externalRequest.sns;
@@ -363,7 +362,7 @@ module.exports.<%- functionName %>Main = async (
363
362
  if (valueFieldNames.hasOwnProperty("hashOnCreate") && valueFieldNames.hashOnCreate.length) {
364
363
  listOfRequiredOnCreate.push(keyFieldNames)
365
364
  }
366
-
365
+
367
366
  if (valueFieldNames.hasOwnProperty("optionalOnCreate") && valueFieldNames.optionalOnCreate === true) {
368
367
  if ((valueFieldNames.requiredOnCreate === false) && valueFieldNames.optionalOnCreate === true) {
369
368
  listOfOptionalOnCreate.push(keyFieldNames)
@@ -16,10 +16,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
16
16
  */
17
17
 
18
18
  'use strict';
19
- const asyncFlowSharedLib = require('@izara_project/izara-shared/src/AsyncFlowSharedLib');
20
- const dynamodbSharedLib = require('@izara_project/izara-shared/src/DynamodbSharedLib');
21
- const lambdaSharedLib = require('@izara_project/izara-shared/src/LambdaSharedLib')
22
- const callingFlowSharedLib = require('@izara_project/izara-shared/src/CallingFlowSharedLib');
19
+ const dynamodbSharedLib = require('@izara_project/izara-core-library-dynamodb');
20
+ const snsSharedLib = require('@izara_project/izara-core-library-sns');
21
+ const asyncFlowSharedLib = require('@izara_project/izara-core-library-asynchronous-flow');
22
+ const callingFlowSharedLib = require('@izara_project/izara-core-library-calling-flow');
23
+ const lambdaSharedLib = require('@izara_project/izara-core-library-lambda');
23
24
 
24
25
  const sns = require('@izara_project/izara-core-library-external-request/src/resources/Sns');
25
26
  const snsSharedLib = require('@izara_project/izara-shared/src/SnsSharedLib');
@@ -40,12 +40,11 @@ const {
40
40
 
41
41
  const { createObjTypeConcat } = require('@izara_project/izara-core-library-service-schemas/src/Utils');
42
42
 
43
- const izaraShared = require('@izara_project/izara-shared');
44
- const dynamodbSharedLib = izaraShared.dynamodbSharedLib;
45
- const graphSharedLib = izaraShared.graphSharedLib;
46
- const callingFlowSharedLib = izaraShared.callingFlowSharedLib;
47
- const snsSharedLib = izaraShared.snsSharedLib;
48
- const lambdaSharedLib = izaraShared.lambdaSharedLib;
43
+ const dynamodbSharedLib = require('@izara_project/izara-core-library-dynamodb');
44
+ const snsSharedLib = require('@izara_project/izara-core-library-sns');
45
+ const asyncFlowSharedLib = require('@izara_project/izara-core-library-asynchronous-flow');
46
+ const callingFlowSharedLib = require('@izara_project/izara-core-library-calling-flow');
47
+ const lambdaSharedLib = require('@izara_project/izara-core-library-lambda');
49
48
 
50
49
  const externalRequest = require('@izara_project/izara-core-library-external-request');
51
50
  const sns = externalRequest.sns
@@ -32,12 +32,11 @@ const {
32
32
  createFieldForUpdateDynamoDb
33
33
  } = require('@izara_project/izara-market-library-service-schemas/src/GenerateCodeLibs/src/GenerateCodeLibs');
34
34
 
35
- const izaraShared = require('@izara_project/izara-shared');
36
- const dynamodbSharedLib = izaraShared.dynamodbSharedLib;
37
- const snsSharedLib = izaraShared.snsSharedLib;
38
- const asyncFlowSharedLib = izaraShared.asyncFlowSharedLib;
39
- const callingFlowSharedLib = izaraShared.callingFlowSharedLib;
40
- const lambdaSharedLib = izaraShared.lambdaSharedLib
35
+ const dynamodbSharedLib = require('@izara_project/izara-core-library-dynamodb');
36
+ const snsSharedLib = require('@izara_project/izara-core-library-sns');
37
+ const asyncFlowSharedLib = require('@izara_project/izara-core-library-asynchronous-flow');
38
+ const callingFlowSharedLib = require('@izara_project/izara-core-library-calling-flow');
39
+ const lambdaSharedLib = require('@izara_project/izara-core-library-lambda');
41
40
 
42
41
  const externalRequest = require('@izara_project/izara-core-library-external-request');
43
42
  const sns = externalRequest.sns
@@ -22,7 +22,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
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
27
 
28
28
  const processLogical = require('./ProcessLogical_Main');
@@ -17,12 +17,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
17
17
 
18
18
  'use strict';
19
19
 
20
- const izaraShared = require('@izara_project/izara-shared');
21
- const dynamodbSharedLib = izaraShared.dynamodbSharedLib;
22
- const graphSharedLib = izaraShared.graphSharedLib;
23
- const searchResultSharedLib = izaraShared.searchResultSharedLib;
24
- const logicalResultsSharedLib = izaraShared.logicalResultsSharedLib;
25
- const snsSharedLib = izaraShared.snsSharedLib;
20
+ const dynamodbSharedLib = require('@izara_project/izara-core-library-dynamodb');
21
+ const snsSharedLib = require('@izara_project/izara-core-library-sns');
22
+ const asyncFlowSharedLib = require('@izara_project/izara-core-library-asynchronous-flow');
23
+ const callingFlowSharedLib = require('@izara_project/izara-core-library-calling-flow');
24
+ const lambdaSharedLib = require('@izara_project/izara-core-library-lambda');
26
25
 
27
26
  const serviceSchemas = require('@izara_project/izara-core-library-service-schemas');
28
27
  const getObjectSchemas = serviceSchemas.getObjectSchema;
@@ -22,7 +22,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
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
27
 
28
28
  const paginateProcessLogical = require('./PaginateProcessLogical_Main');
@@ -22,7 +22,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
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
27
 
28
28
  const paginateProcessLogical = require('./PaginateProcessLogical_Main');
@@ -17,11 +17,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
17
17
 
18
18
  'use strict';
19
19
 
20
- const izaraShared = require('@izara_project/izara-shared');
21
- const dynamodbSharedLib = izaraShared.dynamodbSharedLib;
22
- const logicalResultsSharedLib = izaraShared.logicalResultsSharedLib;
23
- const asyncFlowSharedLib = izaraShared.asyncFlowSharedLib;
24
- const sqsSharedLib = izaraShared.sqsSharedLib;
20
+ const logicalResultSharedLib = require('@izara_project/izara-core-library-logical-result');
21
+ const sqsSharedLib = require('@izara_project/izara-core-library-sqs');
22
+ const dynamodbSharedLib = require('@izara_project/izara-core-library-dynamodb');
23
+ const asyncFlowSharedLib = require('@izara_project/izara-core-library-asynchronous-flow');
24
+ const callingFlowSharedLib = require('@izara_project/izara-core-library-calling-flow');
25
+ const lambdaSharedLib = require('@izara_project/izara-core-library-lambda');
25
26
 
26
27
  const sqs = require('@izara_project/izara-core-library-external-request').sqs;
27
28
 
@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
18
18
  'use strict';
19
19
  const path = require('path');
20
20
 
21
- const { ACTIONS, HANDLER, STORAGE_TYPES } = require('@izara_project/izara-core-library-service-schemas/src/Consts')
21
+ const { ACTIONS, HANDLER, STORAGE_TYPES } = require('@izara_project/izara-core-library-service-schemas/src/Consts');
22
22
 
23
23
  const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase } = require("../../../../../../../MainLibs/index.js").utils;
24
24
  const {
@@ -33,8 +33,11 @@ const {
33
33
  awaitingMultipleStepsRole,
34
34
  shortNameHandler,
35
35
  SHORT_FUNCTION_NAME,
36
- SOURCE_GENERATE_IAM_ROLE
37
- } = require("../../../../../../../MainLibs/index.js").consts;
36
+ SOURCE_GENERATE_IAM_ROLE,
37
+ checkDynamoTypeRelationship,
38
+ createDynamoDbComponentByLinks,
39
+ DYNAMO_RESOURCE
40
+ } = require("../../../../../../../MainLibs").consts;
38
41
 
39
42
  const templatePath = path.join(__dirname, "./template.ejs")
40
43
 
@@ -46,17 +49,17 @@ const templatePath = path.join(__dirname, "./template.ejs")
46
49
  * @return {{ templatePath, templateData, setting } }
47
50
  */
48
51
 
49
- function data(_izContext, srcPath) {
52
+ function data(_izContext, allObjectRelationships, srcPath) {
50
53
  let createSourceArray = [];
51
54
 
52
- const createSourceParam = createParamForCreateSource(srcPath);
55
+ const createSourceParam = createParamForCreateSource(allObjectRelationships, srcPath);
53
56
  createSourceArray.push(createSourceParam);
54
57
  // console.log("createSourceArrayInUpdaterelationShipSchemahdrSqs", createSourceArray)
55
58
  return createSourceArray
56
59
  }
57
60
 
58
61
 
59
- function createParamForCreateSource(srcPath) {
62
+ function createParamForCreateSource(allObjectRelationships, srcPath) {
60
63
 
61
64
  let handlerType = HANDLER.hdrApi
62
65
  let functionName = FUNCTION_NAME.createRel
@@ -75,6 +78,24 @@ function createParamForCreateSource(srcPath) {
75
78
  )
76
79
  )
77
80
 
81
+ for (const relationship of allObjectRelationships) {
82
+ let [relationshipTag, links] = checkDynamoTypeRelationship(relationship)
83
+ for (const link of links) {
84
+ let dynamoComponent = createDynamoDbComponentByLinks(link, relationshipTag)
85
+ additionalResourcePermission.push(
86
+ createIamRole(
87
+ {
88
+ [RESOURCE_CLASSES.dynamoDbTable]: [DYNAMO_RESOURCE.updateItem]
89
+ },
90
+ [
91
+ resourceNames(RESOURCE_CLASSES.dynamoDbTable, upperCase(dynamoComponent.tableNameFrom)),
92
+ resourceNames(RESOURCE_CLASSES.dynamoDbTable, upperCase(dynamoComponent.tableNameTo))
93
+ ]
94
+ )
95
+ )
96
+ }
97
+ }
98
+
78
99
  return {
79
100
  templatePath: templatePath,
80
101
  templateData: {