@izara_project/izara-market-library-service-schemas 1.0.37 → 1.0.39

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 (108) hide show
  1. package/package.json +1 -1
  2. package/src/GenerateCodeLibs/src/GenerateCodeLibs.js +35 -5
  3. package/src/MainLibs/src/Consts.js +5 -2
  4. package/src/MainLibs/src/GenerateCodeUtils.js +2 -0
  5. package/src/MainLibs/src/Utils.js +12 -0
  6. package/src/reStructure/GenerateCode.js +2 -2
  7. package/src/reStructure/TemplateData/EndpointPerService/mainFunction/create/template.ejs +36 -11
  8. package/src/reStructure/TemplateData/EndpointPerService/mainFunction/delete/template.ejs +24 -1
  9. package/src/reStructure/TemplateData/EndpointPerService/mainFunction/get/template.ejs +26 -0
  10. package/src/reStructure/TemplateData/EndpointPerService/mainFunction/update/template.ejs +22 -0
  11. package/src/reStructure/TemplateData/EndpointPerService/yaml/data.js +37 -7
  12. package/src/reStructure/TemplateData/findData/handler/template.ejs +2 -2
  13. package/src/reStructure/TemplateData/flowSchema/components/upload/confirmReserved/mainFunction/template.ejs +2 -0
  14. package/src/reStructure/TemplateData/flowSchema/components/upload/createObject/mainFunction/template.ejs +5 -1
  15. package/src/reStructure/TemplateData/flowSchema/components/upload/createObjectComplete/sns-sqs/data.js +1 -1
  16. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/sqs/data.js +3 -3
  17. package/src/reStructure/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/sqs/template.ejs +1 -1
  18. package/src/reStructure/TemplateData/flowSchema/components/upload/relate/libs/template.ejs +1 -1
  19. package/src/reStructure/TemplateData/flowSchema/components/websocket/connect/functionYaml/data.js +1 -1
  20. package/src/reStructure/TemplateData/flowSchema/components/websocket/connect/handler/data.js +1 -1
  21. package/src/reStructure/TemplateData/flowSchema/externalTopic/functionYaml/data.js +127 -0
  22. package/src/reStructure/TemplateData/flowSchema/externalTopic/handler/data.js +121 -0
  23. package/src/reStructure/TemplateData/flowSchema/externalTopic/{sqs/handler → handler}/template.ejs +16 -61
  24. package/src/reStructure/TemplateData/flowSchema/externalTopic/mainFunction/data.js +74 -0
  25. package/src/reStructure/TemplateData/flowSchema/externalTopic/mainFunction/template.ejs +131 -0
  26. package/src/reStructure/TemplateData/flowSchema/externalTopic/sns-in-sqs/data.js +61 -34
  27. package/src/reStructure/TemplateData/flowSchema/externalTopic/sns-in-sqs/template.ejs +1 -1
  28. package/src/reStructure/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComponent/functionYaml/data.js +3 -7
  29. package/src/reStructure/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComponent/handler/data.js +2 -5
  30. package/src/reStructure/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComponent/mainFunction/data.js +13 -4
  31. package/src/reStructure/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComponent/mainFunction/template.ejs +16 -37
  32. package/src/reStructure/TemplateData/flowSchema/flowSchemaOwnTopic/FlowSchemaComponent/functionYaml/data.js +2 -4
  33. package/src/reStructure/TemplateData/flowSchema/flowSchemaOwnTopic/FlowSchemaComponent/mainFunction/data.js +2 -5
  34. package/src/reStructure/TemplateData/flowSchema/{externalTopic/sqs → flowSchemaOwnTopic/flowStep}/functionYaml/data.js +43 -38
  35. package/src/reStructure/TemplateData/flowSchema/flowSchemaOwnTopic/flowStep/functionYaml/template.ejs +20 -0
  36. package/src/reStructure/TemplateData/flowSchema/flowSchemaOwnTopic/flowStep/handler/data.js +80 -0
  37. package/src/reStructure/TemplateData/flowSchema/flowSchemaOwnTopic/flowStep/handler/template.ejs +85 -0
  38. package/src/reStructure/TemplateData/flowSchema/flowSchemaOwnTopic/flowStep/mainFunction/data.js +92 -0
  39. package/src/reStructure/TemplateData/flowSchema/{externalTopic/websocket → flowSchemaOwnTopic/flowStep}/mainFunction/template.ejs +11 -13
  40. package/src/reStructure/TemplateData/flowSchema/flowSchemaOwnTopic/sns-in/data.js +47 -37
  41. package/src/reStructure/TemplateData/flowSchema/flowSchemaOwnTopic/sns-out/data.js +23 -26
  42. package/src/reStructure/TemplateData/flowSchema/flowSchemaOwnTopic/{FlowSchemaCompleteComponent → webSocketComplete}/functionYaml/data.js +5 -21
  43. package/src/reStructure/TemplateData/flowSchema/flowSchemaOwnTopic/webSocketComplete/functionYaml/template.ejs +20 -0
  44. package/src/reStructure/TemplateData/flowSchema/flowSchemaOwnTopic/{FlowSchemaCompleteComponent → webSocketComplete}/handler/data.js +2 -2
  45. package/src/reStructure/TemplateData/flowSchema/flowSchemaOwnTopic/{FlowSchemaCompleteComponent → webSocketComplete}/mainFunction/data.js +2 -2
  46. package/src/reStructure/TemplateData/flowSchema/flowSchemaOwnTopic/{FlowSchemaCompleteComponent → webSocketComplete}/mainFunction/template.ejs +24 -10
  47. package/src/reStructure/TemplateData/flowSchema/generateTemplateData.js +32 -34
  48. package/src/reStructure/TemplateData/flowSchema/{createRecordByStatusType → register}/complete/handler/template.ejs +1 -1
  49. package/src/reStructure/TemplateData/flowSchema/register/complete/mainFunction/template.ejs +172 -0
  50. package/src/reStructure/TemplateData/flowSchema/register/wbs/mainFunction/template.ejs +165 -0
  51. package/src/reStructure/TemplateData/flowSchema/{createRecordByStatusType → templateBystatusType}/statusFieldTemplate.ejs +0 -5
  52. package/src/reStructure/TemplateData/flowSchema/templateBystatusType/storedCacheTemplate.ejs +24 -0
  53. package/src/reStructure/TemplateData/flowSchema/templateBystatusType/triggerCacheTemplate.ejs +20 -0
  54. package/src/reStructure/TemplateData/perActionComplete/get/mainFunction/template.ejs +3 -0
  55. package/src/reStructure/TemplateData/perActionComplete/update/mainFunction/template.ejs +3 -0
  56. package/src/reStructure/TemplateData/propertyValueSchema/relationshipPropertyValueSchema/data.js +2 -7
  57. package/src/reStructure/TemplateData/relationshipPerAction/create/action/functionYaml/api/data.js +22 -3
  58. package/src/reStructure/TemplateData/relationshipPerAction/create/action/functionYaml/dsq/data.js +14 -9
  59. package/src/reStructure/TemplateData/relationshipPerAction/create/action/functionYaml/inv/data.js +26 -6
  60. package/src/reStructure/TemplateData/relationshipPerAction/create/action/functionYaml/sqs/data.js +11 -7
  61. package/src/reStructure/TemplateData/relationshipPerAction/create/complete/functionYaml/data.js +17 -7
  62. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/functionYaml/api/data.js +23 -4
  63. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/functionYaml/dsq/data.js +14 -9
  64. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/functionYaml/inv/data.js +26 -6
  65. package/src/reStructure/TemplateData/relationshipPerAction/delete/action/functionYaml/sqs/data.js +10 -7
  66. package/src/reStructure/TemplateData/relationshipPerAction/delete/complete/functionYaml/data.js +11 -7
  67. package/src/reStructure/TemplateData/relationshipPerAction/get/action/functionYaml/api/data.js +23 -4
  68. package/src/reStructure/TemplateData/relationshipPerAction/get/action/functionYaml/dsq/data.js +14 -9
  69. package/src/reStructure/TemplateData/relationshipPerAction/get/action/functionYaml/inv/data.js +26 -7
  70. package/src/reStructure/TemplateData/relationshipPerAction/get/action/functionYaml/sqs/data.js +10 -7
  71. package/src/reStructure/TemplateData/relationshipPerAction/get/complete/functionYaml/data.js +12 -7
  72. package/src/reStructure/TemplateData/relationshipPerAction/update/action/functionYaml/api/data.js +22 -3
  73. package/src/reStructure/TemplateData/relationshipPerAction/update/action/functionYaml/dsq/data.js +14 -6
  74. package/src/reStructure/TemplateData/relationshipPerAction/update/action/functionYaml/inv/data.js +20 -3
  75. package/src/reStructure/TemplateData/relationshipPerAction/update/action/functionYaml/sqs/data.js +9 -3
  76. package/src/reStructure/TemplateData/relationshipPerAction/update/complete/functionYaml/data.js +12 -6
  77. package/src/reStructure/TemplateData/resourceYaml/dynamodb/mainResourcePerObjectSchemaData.js +6 -2
  78. package/src/reStructure/TemplateData/resourceYaml/filterGenerateResource/data.js +20 -11
  79. package/src/reStructure/TemplateData/flowSchema/createRecordByStatusType/complete/mainFunction/template.ejs +0 -184
  80. package/src/reStructure/TemplateData/flowSchema/createRecordByStatusType/storedCacheTemplate.ejs +0 -11
  81. package/src/reStructure/TemplateData/flowSchema/createRecordByStatusType/wbs/mainFunction/template.ejs +0 -210
  82. package/src/reStructure/TemplateData/flowSchema/externalTopic/sns-out/data.js +0 -77
  83. package/src/reStructure/TemplateData/flowSchema/externalTopic/sns-out/template.ejs +0 -8
  84. package/src/reStructure/TemplateData/flowSchema/externalTopic/sqs/functionYaml/template.ejs +0 -17
  85. package/src/reStructure/TemplateData/flowSchema/externalTopic/sqs/handler/data.js +0 -64
  86. package/src/reStructure/TemplateData/flowSchema/externalTopic/sqs/mainFunction/data.js +0 -61
  87. package/src/reStructure/TemplateData/flowSchema/externalTopic/sqs/mainFunction/template.ejs +0 -74
  88. package/src/reStructure/TemplateData/flowSchema/externalTopic/websocket/functionYaml/data.js +0 -110
  89. package/src/reStructure/TemplateData/flowSchema/externalTopic/websocket/functionYaml/template.ejs +0 -18
  90. package/src/reStructure/TemplateData/flowSchema/externalTopic/websocket/handler/data.js +0 -57
  91. package/src/reStructure/TemplateData/flowSchema/externalTopic/websocket/handler/template.ejs +0 -85
  92. package/src/reStructure/TemplateData/flowSchema/externalTopic/websocket/mainFunction/data.js +0 -67
  93. /package/src/reStructure/TemplateData/flowSchema/{flowSchemaOwnTopic/FlowSchemaCompleteComponent → externalTopic}/functionYaml/template.ejs +0 -0
  94. /package/src/reStructure/TemplateData/flowSchema/flowSchemaOwnTopic/{FlowSchemaCompleteComponent → webSocketComplete}/handler/template.ejs +0 -0
  95. /package/src/reStructure/TemplateData/flowSchema/{createRecordByStatusType → register}/complete/functionYaml/data.js +0 -0
  96. /package/src/reStructure/TemplateData/flowSchema/{createRecordByStatusType → register}/complete/functionYaml/template.ejs +0 -0
  97. /package/src/reStructure/TemplateData/flowSchema/{createRecordByStatusType → register}/complete/handler/data.js +0 -0
  98. /package/src/reStructure/TemplateData/flowSchema/{createRecordByStatusType → register}/complete/mainFunction/data.js +0 -0
  99. /package/src/reStructure/TemplateData/flowSchema/{createRecordByStatusType → register}/dynamoDB/register.js +0 -0
  100. /package/src/reStructure/TemplateData/flowSchema/{createRecordByStatusType → register}/sns-in/data.js +0 -0
  101. /package/src/reStructure/TemplateData/flowSchema/{createRecordByStatusType → register}/sns-in/template.ejs +0 -0
  102. /package/src/reStructure/TemplateData/flowSchema/{createRecordByStatusType → register}/subscriptionOutAll/data.js +0 -0
  103. /package/src/reStructure/TemplateData/flowSchema/{createRecordByStatusType → register}/subscriptionOutAll/template.ejs +0 -0
  104. /package/src/reStructure/TemplateData/flowSchema/{createRecordByStatusType → register}/wbs/functionYaml/data.js +0 -0
  105. /package/src/reStructure/TemplateData/flowSchema/{createRecordByStatusType → register}/wbs/functionYaml/template.ejs +0 -0
  106. /package/src/reStructure/TemplateData/flowSchema/{createRecordByStatusType → register}/wbs/handler/data.js +0 -0
  107. /package/src/reStructure/TemplateData/flowSchema/{createRecordByStatusType → register}/wbs/handler/template.ejs +0 -0
  108. /package/src/reStructure/TemplateData/flowSchema/{createRecordByStatusType → register}/wbs/mainFunction/data.js +0 -0
@@ -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 {
@@ -36,7 +36,8 @@ const {
36
36
  SOURCE_GENERATE_IAM_ROLE,
37
37
  checkDynamoTypeRelationship,
38
38
  createDynamoDbComponentByLinks,
39
- DYNAMO_RESOURCE
39
+ DYNAMO_RESOURCE,
40
+ SQS_RESOURCE
40
41
  } = require("../../../../../../../MainLibs/index.js").consts;
41
42
 
42
43
  const templatePath = path.join(__dirname, "./template.ejs")
@@ -70,10 +71,28 @@ function createParamForCreateSource(allObjectRelationships, srcPath) {
70
71
  additionalResourcePermission.push(
71
72
  createIamRole(
72
73
  {
73
- [RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish]
74
+ [RESOURCE_CLASSES.sqs]: [
75
+ SQS_RESOURCE.deleteMessage,
76
+ SQS_RESOURCE.getQueueAttributes,
77
+ SQS_RESOURCE.receiveMessage,
78
+ SQS_RESOURCE.sendMessage,
79
+ SQS_RESOURCE.getQueueUrl,
80
+ SQS_RESOURCE.deleteMessageBatch
81
+ ],
74
82
  },
75
83
  [
76
- resourceNames(RESOURCE_CLASSES.sns, upperCase(FUNCTION_NAME.deleteRelComplete) + "_Out")
84
+ resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + upperCase(HANDLER.hdrSqs)),
85
+ resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + upperCase(HANDLER.hdrSqs) + "DLQ"),
86
+ ]
87
+ ),
88
+ createIamRole(
89
+ {
90
+ [RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish, SNS_RESOURCE.subscribe]
91
+ },
92
+ [
93
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(FUNCTION_NAME.deleteRelComplete) + "_Out"),
94
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_In"),
95
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_Out"),
77
96
  ]
78
97
  )
79
98
  )
@@ -67,9 +67,6 @@ function createParamForCreateSource(allObjectRelationships, srcPath) {
67
67
  let additionalResourcePermission = defaultIamRolePerAction();
68
68
 
69
69
  additionalResourcePermission.push(
70
- // createIamRole(
71
- // { [RESOURCE_CLASSES.lambda]: ["InvokeFunction"] },
72
- // [resourceNames(RESOURCE_CLASSES.lambda, "*GetNodeHdrInv")]),
73
70
  createIamRole(
74
71
  {
75
72
  [RESOURCE_CLASSES.sqs]: [
@@ -77,15 +74,23 @@ function createParamForCreateSource(allObjectRelationships, srcPath) {
77
74
  SQS_RESOURCE.getQueueAttributes,
78
75
  SQS_RESOURCE.receiveMessage,
79
76
  SQS_RESOURCE.sendMessage,
80
- SQS_RESOURCE.deleteMessageBatch,
81
- SQS_RESOURCE.getQueueUrl
77
+ SQS_RESOURCE.getQueueUrl,
78
+ SQS_RESOURCE.deleteMessageBatch
82
79
  ],
83
- [RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish]
84
80
  },
85
81
  [
86
- resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + upperCase(HANDLER.hdrDsq)),
87
- resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + upperCase(HANDLER.hdrDsq) + "DLQ"),
88
- resourceNames(RESOURCE_CLASSES.sns, upperCase(FUNCTION_NAME.deleteRelComplete) + "_Out")
82
+ resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + upperCase(HANDLER.hdrSqs)),
83
+ resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + upperCase(HANDLER.hdrSqs) + "DLQ"),
84
+ ]
85
+ ),
86
+ createIamRole(
87
+ {
88
+ [RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish, SNS_RESOURCE.subscribe]
89
+ },
90
+ [
91
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(FUNCTION_NAME.deleteRelComplete) + "_Out"),
92
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_In"),
93
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_Out"),
89
94
  ]
90
95
  )
91
96
  )
@@ -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 {
@@ -36,7 +36,8 @@ const {
36
36
  SOURCE_GENERATE_IAM_ROLE,
37
37
  checkDynamoTypeRelationship,
38
38
  createDynamoDbComponentByLinks,
39
- DYNAMO_RESOURCE
39
+ DYNAMO_RESOURCE,
40
+ SQS_RESOURCE
40
41
  } = require("../../../../../../../MainLibs/index.js").consts;
41
42
 
42
43
  const templatePath = path.join(__dirname, './template.ejs')
@@ -68,11 +69,30 @@ function createParamForCreateSource(allObjectRelationships, srcPath) {
68
69
  additionalResourcePermission.push(awaitingMultipleStepsRole())
69
70
 
70
71
  additionalResourcePermission.push(
71
- createIamRole({
72
- [RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish]
73
- },
72
+ createIamRole(
73
+ {
74
+ [RESOURCE_CLASSES.sqs]: [
75
+ SQS_RESOURCE.deleteMessage,
76
+ SQS_RESOURCE.getQueueAttributes,
77
+ SQS_RESOURCE.receiveMessage,
78
+ SQS_RESOURCE.sendMessage,
79
+ SQS_RESOURCE.getQueueUrl,
80
+ SQS_RESOURCE.deleteMessageBatch
81
+ ],
82
+ },
83
+ [
84
+ resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + upperCase(HANDLER.hdrSqs)),
85
+ resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + upperCase(HANDLER.hdrSqs) + "DLQ"),
86
+ ]
87
+ ),
88
+ createIamRole(
89
+ {
90
+ [RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish, SNS_RESOURCE.subscribe]
91
+ },
74
92
  [
75
- resourceNames(RESOURCE_CLASSES.sns, upperCase(FUNCTION_NAME.deleteRelComplete) + "_Out")
93
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(FUNCTION_NAME.deleteRelComplete) + "_Out"),
94
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_In"),
95
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_Out"),
76
96
  ]
77
97
  )
78
98
  )
@@ -66,9 +66,6 @@ function createParamForCreateSource(allObjectRelationships, srcPath) {
66
66
  let additionalResourcePermission = defaultIamRolePerAction();
67
67
 
68
68
  additionalResourcePermission.push(
69
- // createIamRole(
70
- // { [RESOURCE_CLASSES.lambda]: ["InvokeFunction"] },
71
- // [resourceNames(RESOURCE_CLASSES.lambda, "*GetNodeHdrInv")]),
72
69
  createIamRole(
73
70
  {
74
71
  [RESOURCE_CLASSES.sqs]: [
@@ -78,17 +75,23 @@ function createParamForCreateSource(allObjectRelationships, srcPath) {
78
75
  SQS_RESOURCE.sendMessage,
79
76
  SQS_RESOURCE.getQueueUrl,
80
77
  SQS_RESOURCE.deleteMessageBatch
81
- ], [RESOURCE_CLASSES.sns]:
82
- [SNS_RESOURCE.publish, SNS_RESOURCE.subscribe]
78
+ ],
83
79
  },
84
80
  [
85
81
  resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + upperCase(HANDLER.hdrSqs)),
86
82
  resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + upperCase(HANDLER.hdrSqs) + "DLQ"),
83
+ ]
84
+ ),
85
+ createIamRole(
86
+ {
87
+ [RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish, SNS_RESOURCE.subscribe]
88
+ },
89
+ [
90
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(FUNCTION_NAME.deleteRelComplete) + "_Out"),
87
91
  resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_In"),
88
92
  resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_Out"),
89
- resourceNames(RESOURCE_CLASSES.sns, upperCase(FUNCTION_NAME.createRelComplete) + "_Out")
90
93
  ]
91
- ),
94
+ )
92
95
  )
93
96
  additionalResourcePermission.push(awaitingMultipleStepsRole())
94
97
 
@@ -71,18 +71,22 @@ function createParamForCreateSource(srcPath) {
71
71
  SQS_RESOURCE.sendMessage,
72
72
  SQS_RESOURCE.deleteMessageBatch,
73
73
  SQS_RESOURCE.getQueueUrl,
74
- ],
75
- [RESOURCE_CLASSES.sns]:
76
- [
77
- SNS_RESOURCE.publish, SNS_RESOURCE.subscribe
78
- ]
74
+ ]
79
75
  },
80
76
  [
81
77
  resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName)),
82
78
  resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + "DLQ"),
83
- resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_In"),
84
- resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_Out")
85
79
  ],
80
+ ),
81
+ createIamRole(
82
+ {
83
+ [RESOURCE_CLASSES.sns]:
84
+ [
85
+ SNS_RESOURCE.publish, SNS_RESOURCE.subscribe
86
+ ]
87
+ },
88
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_In"),
89
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_Out")
86
90
  ))
87
91
  additionalResourcePermission.push(awaitingMultipleStepsRole())
88
92
 
@@ -36,8 +36,9 @@ const {
36
36
  SOURCE_GENERATE_IAM_ROLE,
37
37
  checkDynamoTypeRelationship,
38
38
  createDynamoDbComponentByLinks,
39
- DYNAMO_RESOURCE
40
- } = require("../../../../../../../MainLibs").consts;
39
+ DYNAMO_RESOURCE,
40
+ SQS_RESOURCE
41
+ } = require("../../../../../../../MainLibs/src/Consts.js");
41
42
 
42
43
  const templatePath = path.join(__dirname, "./template.ejs")
43
44
 
@@ -70,10 +71,28 @@ function createParamForCreateSource(allObjectRelationships, srcPath) {
70
71
  additionalResourcePermission.push(
71
72
  createIamRole(
72
73
  {
73
- [RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish]
74
+ [RESOURCE_CLASSES.sqs]: [
75
+ SQS_RESOURCE.deleteMessage,
76
+ SQS_RESOURCE.getQueueAttributes,
77
+ SQS_RESOURCE.receiveMessage,
78
+ SQS_RESOURCE.sendMessage,
79
+ SQS_RESOURCE.getQueueUrl,
80
+ SQS_RESOURCE.deleteMessageBatch
81
+ ],
74
82
  },
75
83
  [
76
- resourceNames(RESOURCE_CLASSES.sns, upperCase(FUNCTION_NAME.getRelComplete) + "_Out")
84
+ resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + upperCase(HANDLER.hdrSqs)),
85
+ resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + upperCase(HANDLER.hdrSqs) + "DLQ"),
86
+ ]
87
+ ),
88
+ createIamRole(
89
+ {
90
+ [RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish, SNS_RESOURCE.subscribe]
91
+ },
92
+ [
93
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(FUNCTION_NAME.getRelComplete) + "_Out"),
94
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_In"),
95
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_Out"),
77
96
  ]
78
97
  )
79
98
  )
@@ -67,9 +67,6 @@ function createParamForCreateSource(allObjectRelationships, srcPath) {
67
67
  let additionalResourcePermission = defaultIamRolePerAction();
68
68
 
69
69
  additionalResourcePermission.push(
70
- // createIamRole(
71
- // { [RESOURCE_CLASSES.lambda]: ["InvokeFunction"] },
72
- // [resourceNames(RESOURCE_CLASSES.lambda, "*GetNodeHdrInv")]),
73
70
  createIamRole(
74
71
  {
75
72
  [RESOURCE_CLASSES.sqs]: [
@@ -77,15 +74,23 @@ function createParamForCreateSource(allObjectRelationships, srcPath) {
77
74
  SQS_RESOURCE.getQueueAttributes,
78
75
  SQS_RESOURCE.receiveMessage,
79
76
  SQS_RESOURCE.sendMessage,
80
- SQS_RESOURCE.deleteMessageBatch,
81
- SQS_RESOURCE.getQueueUrl
77
+ SQS_RESOURCE.getQueueUrl,
78
+ SQS_RESOURCE.deleteMessageBatch
82
79
  ],
83
- [RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish]
84
80
  },
85
81
  [
86
- resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + upperCase(HANDLER.hdrDsq)),
87
- resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + upperCase(HANDLER.hdrDsq) + "DLQ"),
88
- resourceNames(RESOURCE_CLASSES.sns, upperCase(FUNCTION_NAME.getRelComplete) + "_Out")
82
+ resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + upperCase(HANDLER.hdrSqs)),
83
+ resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + upperCase(HANDLER.hdrSqs) + "DLQ"),
84
+ ]
85
+ ),
86
+ createIamRole(
87
+ {
88
+ [RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish, SNS_RESOURCE.subscribe]
89
+ },
90
+ [
91
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(FUNCTION_NAME.getRelComplete) + "_Out"),
92
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_In"),
93
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_Out"),
89
94
  ]
90
95
  )
91
96
  )
@@ -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 {
@@ -36,7 +36,8 @@ const {
36
36
  SOURCE_GENERATE_IAM_ROLE,
37
37
  checkDynamoTypeRelationship,
38
38
  createDynamoDbComponentByLinks,
39
- DYNAMO_RESOURCE
39
+ DYNAMO_RESOURCE,
40
+ SQS_RESOURCE
40
41
  } = require("../../../../../../../MainLibs/index.js").consts;
41
42
 
42
43
  const templatePath = path.join(__dirname, './template.ejs')
@@ -66,13 +67,31 @@ function createParamForCreateSource(allObjectRelationships, srcPath) {
66
67
  let additionalResourcePermission = defaultIamRolePerAction();
67
68
 
68
69
  additionalResourcePermission.push(awaitingMultipleStepsRole())
69
-
70
70
  additionalResourcePermission.push(
71
- createIamRole({
72
- [RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish]
73
- },
71
+ createIamRole(
72
+ {
73
+ [RESOURCE_CLASSES.sqs]: [
74
+ SQS_RESOURCE.deleteMessage,
75
+ SQS_RESOURCE.getQueueAttributes,
76
+ SQS_RESOURCE.receiveMessage,
77
+ SQS_RESOURCE.sendMessage,
78
+ SQS_RESOURCE.getQueueUrl,
79
+ SQS_RESOURCE.deleteMessageBatch
80
+ ],
81
+ },
82
+ [
83
+ resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + upperCase(HANDLER.hdrSqs)),
84
+ resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + upperCase(HANDLER.hdrSqs) + "DLQ"),
85
+ ]
86
+ ),
87
+ createIamRole(
88
+ {
89
+ [RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish, SNS_RESOURCE.subscribe]
90
+ },
74
91
  [
75
- resourceNames(RESOURCE_CLASSES.sns, upperCase(FUNCTION_NAME.getRelComplete) + "_Out")
92
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(FUNCTION_NAME.getRelComplete) + "_Out"),
93
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_In"),
94
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_Out"),
76
95
  ]
77
96
  )
78
97
  )
@@ -66,9 +66,6 @@ function createParamForCreateSource(allObjectRelationships, srcPath) {
66
66
  let additionalResourcePermission = defaultIamRolePerAction();
67
67
 
68
68
  additionalResourcePermission.push(
69
- // createIamRole(
70
- // { [RESOURCE_CLASSES.lambda]: ["InvokeFunction"] },
71
- // [resourceNames(RESOURCE_CLASSES.lambda, "*GetNodeHdrInv")]),
72
69
  createIamRole(
73
70
  {
74
71
  [RESOURCE_CLASSES.sqs]: [
@@ -78,17 +75,23 @@ function createParamForCreateSource(allObjectRelationships, srcPath) {
78
75
  SQS_RESOURCE.sendMessage,
79
76
  SQS_RESOURCE.getQueueUrl,
80
77
  SQS_RESOURCE.deleteMessageBatch
81
- ], [RESOURCE_CLASSES.sns]:
82
- [SNS_RESOURCE.publish, SNS_RESOURCE.subscribe]
78
+ ],
83
79
  },
84
80
  [
85
81
  resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + upperCase(HANDLER.hdrSqs)),
86
82
  resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + upperCase(HANDLER.hdrSqs) + "DLQ"),
83
+ ]
84
+ ),
85
+ createIamRole(
86
+ {
87
+ [RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish, SNS_RESOURCE.subscribe]
88
+ },
89
+ [
90
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(FUNCTION_NAME.getRelComplete) + "_Out"),
87
91
  resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_In"),
88
92
  resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_Out"),
89
- resourceNames(RESOURCE_CLASSES.sns, upperCase(FUNCTION_NAME.getRelComplete) + "_Out")
90
93
  ]
91
- ),
94
+ )
92
95
  )
93
96
  additionalResourcePermission.push(awaitingMultipleStepsRole())
94
97
 
@@ -71,19 +71,24 @@ function createParamForCreateSource(srcPath) {
71
71
  SQS_RESOURCE.sendMessage,
72
72
  SQS_RESOURCE.deleteMessageBatch,
73
73
  SQS_RESOURCE.getQueueUrl,
74
- ],
75
- [RESOURCE_CLASSES.sns]:
76
- [
77
- SNS_RESOURCE.publish, SNS_RESOURCE.subscribe
78
- ]
74
+ ]
79
75
  },
80
76
  [
81
77
  resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName)),
82
78
  resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + "DLQ"),
83
- resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_In"),
84
- resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_Out")
85
79
  ],
80
+ ),
81
+ createIamRole(
82
+ {
83
+ [RESOURCE_CLASSES.sns]:
84
+ [
85
+ SNS_RESOURCE.publish, SNS_RESOURCE.subscribe
86
+ ]
87
+ },
88
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_In"),
89
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_Out")
86
90
  ))
91
+
87
92
  additionalResourcePermission.push(awaitingMultipleStepsRole())
88
93
 
89
94
  return {
@@ -73,13 +73,32 @@ function createParamForCreateSource(allObjectRelationships, srcPath) {
73
73
 
74
74
  additionalResourcePermission.push(
75
75
  createIamRole(
76
- { [RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish] },
76
+ {
77
+ [RESOURCE_CLASSES.sqs]: [
78
+ SQS_RESOURCE.deleteMessage,
79
+ SQS_RESOURCE.getQueueAttributes,
80
+ SQS_RESOURCE.receiveMessage,
81
+ SQS_RESOURCE.sendMessage,
82
+ SQS_RESOURCE.getQueueUrl,
83
+ SQS_RESOURCE.deleteMessageBatch
84
+ ],
85
+ },
77
86
  [
78
- resourceNames(RESOURCE_CLASSES.sns, upperCase(FUNCTION_NAME.updateRelComplete) + "_Out")
87
+ resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + upperCase(HANDLER.hdrSqs)),
88
+ resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + upperCase(HANDLER.hdrSqs) + "DLQ"),
89
+ ]
90
+ ),
91
+ createIamRole(
92
+ {
93
+ [RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish, SNS_RESOURCE.subscribe]
94
+ },
95
+ [
96
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(FUNCTION_NAME.updateRelComplete) + "_Out"),
97
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_In"),
98
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_Out"),
79
99
  ]
80
100
  )
81
101
  )
82
-
83
102
  for (const relationship of allObjectRelationships) {
84
103
  let [storageType, relationshipTag, links] = checkDynamoTypeRelationship(relationship)
85
104
  if (storageType === STORAGE_TYPES.dynamoDB) {
@@ -95,15 +95,23 @@ function createParamForCreateSource(allObjectRelationships, srcPath) {
95
95
  SQS_RESOURCE.getQueueAttributes,
96
96
  SQS_RESOURCE.receiveMessage,
97
97
  SQS_RESOURCE.sendMessage,
98
- SQS_RESOURCE.deleteMessageBatch,
99
- SQS_RESOURCE.getQueueUrl
98
+ SQS_RESOURCE.getQueueUrl,
99
+ SQS_RESOURCE.deleteMessageBatch
100
100
  ],
101
- [RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish]
102
101
  },
103
102
  [
104
- resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + upperCase(HANDLER.hdrDsq)),
105
- resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + upperCase(HANDLER.hdrDsq) + "DLQ"),
106
- resourceNames(RESOURCE_CLASSES.sns, upperCase(FUNCTION_NAME.updateRelComplete) + "_Out")
103
+ resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + upperCase(HANDLER.hdrSqs)),
104
+ resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + upperCase(HANDLER.hdrSqs) + "DLQ"),
105
+ ]
106
+ ),
107
+ createIamRole(
108
+ {
109
+ [RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish, SNS_RESOURCE.subscribe]
110
+ },
111
+ [
112
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(FUNCTION_NAME.updateRelComplete) + "_Out"),
113
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_In"),
114
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_Out"),
107
115
  ]
108
116
  )
109
117
  )
@@ -93,14 +93,31 @@ function createParamForCreateSource(allObjectRelationships, srcPath) {
93
93
  additionalResourcePermission.push(
94
94
  createIamRole(
95
95
  {
96
- [RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish]
96
+ [RESOURCE_CLASSES.sqs]: [
97
+ SQS_RESOURCE.deleteMessage,
98
+ SQS_RESOURCE.getQueueAttributes,
99
+ SQS_RESOURCE.receiveMessage,
100
+ SQS_RESOURCE.sendMessage,
101
+ SQS_RESOURCE.getQueueUrl,
102
+ SQS_RESOURCE.deleteMessageBatch
103
+ ],
97
104
  },
98
105
  [
99
- resourceNames(RESOURCE_CLASSES.sns, upperCase(FUNCTION_NAME.updateRelComplete) + "_Out")
106
+ resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + upperCase(HANDLER.hdrSqs)),
107
+ resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + upperCase(HANDLER.hdrSqs) + "DLQ"),
108
+ ]
109
+ ),
110
+ createIamRole(
111
+ {
112
+ [RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish, SNS_RESOURCE.subscribe]
113
+ },
114
+ [
115
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(FUNCTION_NAME.updateRelComplete) + "_Out"),
116
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_In"),
117
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_Out"),
100
118
  ]
101
119
  )
102
120
  )
103
-
104
121
  for (const relationship of allObjectRelationships) {
105
122
  let [storageType, relationshipTag, links] = checkDynamoTypeRelationship(relationship)
106
123
  if (storageType === STORAGE_TYPES.dynamoDB) {
@@ -99,16 +99,22 @@ function createParamForCreateSource(allObjectRelationships, srcPath) {
99
99
  SQS_RESOURCE.getQueueUrl,
100
100
  SQS_RESOURCE.deleteMessageBatch
101
101
  ],
102
- [RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish]
103
102
  },
104
103
  [
105
104
  resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + upperCase(HANDLER.hdrSqs)),
106
105
  resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + upperCase(HANDLER.hdrSqs) + "DLQ"),
106
+ ]
107
+ ),
108
+ createIamRole(
109
+ {
110
+ [RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish, SNS_RESOURCE.subscribe]
111
+ },
112
+ [
113
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(FUNCTION_NAME.updateRelComplete) + "_Out"),
107
114
  resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_In"),
108
115
  resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_Out"),
109
- resourceNames(RESOURCE_CLASSES.sns, upperCase(FUNCTION_NAME.updateRelComplete) + "_Out")
110
116
  ]
111
- ),
117
+ )
112
118
  )
113
119
 
114
120
  additionalResourcePermission.push(awaitingMultipleStepsRole())
@@ -62,7 +62,6 @@ function createParamForCreateSource(srcPath) {
62
62
  let additionalResourcePermission = defaultIamRolePerAction();
63
63
 
64
64
  additionalResourcePermission.push(
65
-
66
65
  createIamRole(
67
66
  {
68
67
  [RESOURCE_CLASSES.sqs]: [
@@ -72,19 +71,26 @@ function createParamForCreateSource(srcPath) {
72
71
  SQS_RESOURCE.sendMessage,
73
72
  SQS_RESOURCE.deleteMessageBatch,
74
73
  SQS_RESOURCE.getQueueUrl,
75
- ],
76
- [RESOURCE_CLASSES.sns]: [
77
- SNS_RESOURCE.publish, SNS_RESOURCE.subscribe
78
74
  ]
79
75
  },
80
76
  [
81
77
  resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName)),
82
78
  resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + "DLQ"),
83
- resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_In"),
84
- resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_Out")
85
79
  ],
80
+ ),
81
+ createIamRole(
82
+ {
83
+ [RESOURCE_CLASSES.sns]:
84
+ [
85
+ SNS_RESOURCE.publish, SNS_RESOURCE.subscribe
86
+ ]
87
+ },
88
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_In"),
89
+ resourceNames(RESOURCE_CLASSES.sns, upperCase(functionName) + "_Out")
86
90
  ))
91
+
87
92
  additionalResourcePermission.push(awaitingMultipleStepsRole())
93
+
88
94
  return {
89
95
  templatePath: templatePath,
90
96
  templateData: {
@@ -33,7 +33,7 @@ const STORAGE_TYPES = {
33
33
  const { firstLetterUpperCase: upperCase } = require('../../../../MainLibs/src/Utils.js')
34
34
  const { SOURCE_PATH, SAVE_FILE_NAME } = require('../../../../MainLibs/index.js').consts
35
35
  const templatePath = path.join(__dirname, './template.ejs')
36
-
36
+ const { getLocalServiceTag } = require('../../../../MainLibs/src/Utils.js')
37
37
  // ---------- End Per Lambda Handler IamRole Data ----------
38
38
 
39
39
 
@@ -116,9 +116,13 @@ function dataForMainDynamoDbYamlFromObjectSchema(_izContext, objectSchema, srcPa
116
116
  // }
117
117
 
118
118
  for (let storageResource of Object.values(objectSchema.storageResources)) {
119
+ // if (storageResource.hasOwnProperty("serviceTag") && storageResource.serviceTag !== getLocalServiceTag(srcPath)) {
120
+ // continue; // if serviceTag of storageResource not own service will skip
121
+ // }
119
122
  if (storageResource.storageType === STORAGE_TYPES.dynamoDB) {
120
123
  let templateData = {
121
124
  tableName: storageResource.tableName,
125
+ resourceName: storageResource.tableName,
122
126
  attributes: []
123
127
  };
124
128
  if (storageResource.hasOwnProperty("groupByPartitionKeyField")) {
@@ -140,7 +144,7 @@ function dataForMainDynamoDbYamlFromObjectSchema(_izContext, objectSchema, srcPa
140
144
  )
141
145
  }
142
146
  }
143
- templateData.resourceName = upperCase(objectSchema.objectType)
147
+ // templateData.resourceName = upperCase(objectSchema.objectType)
144
148
  dynamoDbYamlTempleteData.push(templateData)
145
149
  }
146
150
  }