@izara_project/izara-market-library-service-schemas 1.0.19 → 1.0.21

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 (90) hide show
  1. package/package.json +2 -2
  2. package/src/SourceManager/src/Utils.js +33 -9
  3. package/src/TemplateManager/src/FindData/FindDataYaml/data.js +4 -1
  4. package/src/TemplateManager/src/FindData/FindDataYaml/template.ejs +1 -14
  5. package/src/TemplateManager/src/GenerateCode.js +22 -5
  6. package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/functionYaml/data.js +22 -2
  7. package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/functionYaml/template.ejs +1 -14
  8. package/src/TemplateManager/src/OutPerActionComplete/OutDeleteComplete/functionYaml/data.js +21 -2
  9. package/src/TemplateManager/src/OutPerActionComplete/OutDeleteComplete/functionYaml/template.ejs +1 -14
  10. package/src/TemplateManager/src/OutPerActionComplete/OutGetComplete/functionYaml/data.js +23 -3
  11. package/src/TemplateManager/src/OutPerActionComplete/OutGetComplete/functionYaml/template.ejs +1 -14
  12. package/src/TemplateManager/src/OutPerActionComplete/OutUpdateComplete/functionYaml/data.js +22 -2
  13. package/src/TemplateManager/src/OutPerActionComplete/OutUpdateComplete/functionYaml/template.ejs +1 -14
  14. package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrApi/data.js +6 -6
  15. package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrApi/template.ejs +2 -15
  16. package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrDsq/data.js +2 -1
  17. package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrDsq/template.ejs +1 -14
  18. package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrInv/data.js +1 -1
  19. package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrInv/template.ejs +1 -14
  20. package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrSqs/data.js +3 -1
  21. package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrSqs/template.ejs +1 -14
  22. package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrWbs/data.js +1 -1
  23. package/src/TemplateManager/src/PerActionEndpoint/MainFunction/Create/template.ejs +23 -3
  24. package/src/TemplateManager/src/ProcessLogical/ProcessLogicalYaml/data.js +18 -2
  25. package/src/TemplateManager/src/ProcessLogical/ProcessLogicalYaml/template.ejs +1 -14
  26. package/src/TemplateManager/src/ProcessLogicalPagination/FunctionYaml/HdrDsq/data.js +20 -3
  27. package/src/TemplateManager/src/ProcessLogicalPagination/FunctionYaml/HdrDsq/template.ejs +1 -14
  28. package/src/TemplateManager/src/ProcessLogicalPagination/FunctionYaml/HdrSqs/data.js +21 -3
  29. package/src/TemplateManager/src/ProcessLogicalPagination/FunctionYaml/HdrSqs/template.ejs +1 -14
  30. package/src/TemplateManager/src/ProcessLogicalPagination/mainFunction/template.ejs +1 -1
  31. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrApi/data.js +16 -2
  32. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrApi/template.ejs +1 -14
  33. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrDsq/data.js +17 -2
  34. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrDsq/template.ejs +1 -14
  35. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrInv/data.js +16 -2
  36. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrInv/template.ejs +1 -14
  37. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrSqs/data.js +18 -3
  38. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrSqs/template.ejs +1 -14
  39. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationshipComplete/functionYaml/data.js +18 -3
  40. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationshipComplete/functionYaml/template.ejs +1 -14
  41. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrApi/data.js +15 -2
  42. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrApi/template.ejs +1 -14
  43. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrDsq/data.js +17 -2
  44. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrDsq/template.ejs +1 -14
  45. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrInv/data.js +16 -2
  46. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrInv/template.ejs +1 -14
  47. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrSqs/data.js +18 -3
  48. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrSqs/template.ejs +1 -14
  49. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationshipComplete/functionYaml/data.js +18 -3
  50. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationshipComplete/functionYaml/template.ejs +1 -14
  51. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRalationshipComplete/functionYaml/data.js +19 -4
  52. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRalationshipComplete/functionYaml/template.ejs +1 -14
  53. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrApi/data.js +19 -2
  54. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrApi/template.ejs +1 -14
  55. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrDsq/data.js +19 -2
  56. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrDsq/template.ejs +1 -14
  57. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrInv/data.js +20 -2
  58. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrInv/template.ejs +1 -14
  59. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrSqs/data.js +20 -2
  60. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrSqs/template.ejs +1 -14
  61. package/src/TemplateManager/src/Role/createSharedResource.js +269 -0
  62. package/src/TemplateManager/src/Role/sharedResourceTemplate.ejs +58 -0
  63. package/src/TemplateManager/src/TranslateIdReq/TranslateIds/functionYaml/HdrDsq/data.js +1 -1
  64. package/src/TemplateManager/src/TranslateIdReq/TranslateIds/functionYaml/HdrSqs/data.js +1 -1
  65. package/src/TemplateManager/src/externalService/FunctionNameConfig/data.js +98 -22
  66. package/src/TemplateManager/src/externalService/FunctionNameConfig/templateIntTesting.ejs +5 -5
  67. package/src/TemplateManager/src/externalService/FunctionNameConfig/templateYaml.ejs +2 -2
  68. package/src/TemplateManager/src/externalService/LambdaRole/data.js +32 -22
  69. package/src/TemplateManager/src/externalService/LambdaRole/template.ejs +1 -1
  70. package/src/TemplateManager/src/flowSchema/UploadS3Case/createObject/functionYaml/data.js +16 -10
  71. package/src/TemplateManager/src/flowSchema/UploadS3Case/createObject/handler/data.js +8 -5
  72. package/src/TemplateManager/src/flowSchema/UploadS3Case/createObject/handler/template.ejs +22 -9
  73. package/src/TemplateManager/src/flowSchema/UploadS3Case/hookCode(old)/functionYaml/data.js +102 -0
  74. package/src/TemplateManager/src/flowSchema/UploadS3Case/hookCode(old)/functionYaml/template.ejs +43 -0
  75. package/src/TemplateManager/src/flowSchema/UploadS3Case/hookCode(old)/handler/data.js +94 -0
  76. package/src/TemplateManager/src/flowSchema/UploadS3Case/hookCode(old)/handler/templateAsyncHandler.ejs +110 -0
  77. package/src/TemplateManager/src/flowSchema/UploadS3Case/hookCode(old)/handler/templateSyncHandler.ejs +49 -0
  78. package/src/TemplateManager/src/flowSchema/UploadS3Case/hookCode(old)/hookLogic/data.js +65 -0
  79. package/src/TemplateManager/src/flowSchema/UploadS3Case/hookCode(old)/mainFunction/data.js +67 -0
  80. package/src/TemplateManager/src/flowSchema/UploadS3Case/hookCode(old)/mainFunction/template.ejs +30 -0
  81. package/src/TemplateManager/src/flowSchema/UploadS3Case/hookCode(old)/queue/data.js +125 -0
  82. package/src/TemplateManager/src/flowSchema/UploadS3Case/hookCode(old)/queue/snsTemplate.ejs +59 -0
  83. package/src/TemplateManager/src/flowSchema/UploadS3Case/hookCode(old)/queue/sqsTemplate.ejs +43 -0
  84. package/src/TemplateManager/src/libs/Consts.js +38 -12
  85. package/src/TemplateManager/src/reStructureExample/GenerateCodeTest.js +31 -0
  86. package/src/TemplateManager/src/reStructureExample/TemplateConfig.js +11 -0
  87. package/src/TemplateManager/src/reStructureExample/TemplateData/perAction/data.js +0 -0
  88. package/src/TemplateManager/src/reStructureExample/TemplateData/perAction/generateCodeShared.js +1 -0
  89. package/src/TemplateManager/src/reStructureExample/TemplateData/perAction/generatePerAction.js +5 -0
  90. package/src/TemplateManager/src/reStructureExample/TemplateData/perAction/template.ejs +0 -0
@@ -2,20 +2,7 @@
2
2
  <%- firstLetterUpperCase(functionNameConfig) %>:
3
3
  handler: <%- join(resourceLocation, `${firstLetterUpperCase(functionName)}_${firstLetterUpperCase(handlerType)}.main`)%>
4
4
  name: ${self:custom.iz_resourcePrefix}<%- firstLetterUpperCase(functionName) %><%- firstLetterUpperCase(handlerType) %>
5
- iamRoleStatements:
6
- <%_ additionalResourcePermission.forEach(resourcePermission => { _%>
7
- - Effect: <%- resourcePermission.effect %>
8
- Action:
9
- <%_ Object.keys(resourcePermission.action).forEach(resourcePerAction => { _%>
10
- <%_ resourcePermission.action[resourcePerAction].forEach(permission => { _%>
11
- - <%- resourcePerAction %>:<%- permission %>
12
- <%_}) _%>
13
- <%_ }) _%>
14
- Resource:
15
- <%_ resourcePermission.resource.forEach(resource => { _%>
16
- - <%- resource %>
17
- <%_ }) _%>
18
- <%_}) _%>
5
+ role: <%- roleName %>Role
19
6
  #<#<%- functionName %><%- handlerType %>IamRole#>
20
7
  #<#/<%- functionName %><%- handlerType %>IamRole#>
21
8
  <%_ function firstLetterUpperCase(text){
@@ -22,7 +22,21 @@ const fs = require('fs');
22
22
  const { ACTIONS, HANDLER, STORAGE_TYPES } = require('@izara_project/izara-core-library-service-schemas/src/Consts')
23
23
 
24
24
  const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase } = require("../../../../../../../MainLibs/src/Utils")
25
- const { createIamRole, resourceNames, RESOURCE_CLASSES, SQS_RESOURCE, SOURCE_PATH, SAVE_FILE_NAME, FUNCTION_NAME, SNS_RESOURCE, defaultIamRolePerAction, awaitingMultipleStepsRole, shortNameHandler, SHORT_FUNCTION_NAME } = require("../../../../../libs/Consts");
25
+ const {
26
+ createIamRole,
27
+ resourceNames,
28
+ RESOURCE_CLASSES,
29
+ SQS_RESOURCE,
30
+ SOURCE_PATH,
31
+ SAVE_FILE_NAME,
32
+ FUNCTION_NAME,
33
+ SNS_RESOURCE,
34
+ defaultIamRolePerAction,
35
+ awaitingMultipleStepsRole,
36
+ shortNameHandler,
37
+ SHORT_FUNCTION_NAME,
38
+ SOURCE_GENERATE_IAM_ROLE
39
+ } = require("../../../../../libs/Consts");
26
40
 
27
41
  const templatePath = path.join(__dirname, './template.ejs')
28
42
 
@@ -63,7 +77,7 @@ function createParamForCreateSource(srcPath) {
63
77
  SQS_RESOURCE.getQueueUrl,
64
78
  SQS_RESOURCE.deleteMessageBatch
65
79
  ], [RESOURCE_CLASSES.sns]:
66
- [SNS_RESOURCE.publish, SNS_RESOURCE.subscription]
80
+ [SNS_RESOURCE.publish, SNS_RESOURCE.subscribe]
67
81
  },
68
82
  [
69
83
  resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + upperCase(HANDLER.hdrSqs)),
@@ -82,7 +96,8 @@ function createParamForCreateSource(srcPath) {
82
96
  handlerType,
83
97
  additionalResourcePermission,
84
98
  resourceLocation: SOURCE_PATH.resourceLocationRelationshipPerAction,
85
- functionNameConfig: upperCase(SHORT_FUNCTION_NAME.deleteRel) + upperCase(shortNameHandler(handlerType))
99
+ functionNameConfig: upperCase(SHORT_FUNCTION_NAME.deleteRel) + upperCase(shortNameHandler(handlerType)),
100
+ roleName: SOURCE_GENERATE_IAM_ROLE.RelationshipRole
86
101
  },
87
102
  setting: {
88
103
  savePath: path.join(srcPath, SOURCE_PATH.appYaml),
@@ -6,20 +6,7 @@
6
6
  - sqs:
7
7
  arn: arn:aws:sqs:${self:custom.iz_region}:${self:custom.iz_accountId}:${self:custom.iz_resourcePrefix}<%- firstLetterUpperCase(functionName) %><%- firstLetterUpperCase(handlerType) %>
8
8
  batchSize: 10
9
- iamRoleStatements:
10
- <%_ additionalResourcePermission.forEach(resourcePermission => { _%>
11
- - Effect: <%- resourcePermission.effect %>
12
- Action:
13
- <%_ Object.keys(resourcePermission.action).forEach(resourcePerAction => { _%>
14
- <%_ resourcePermission.action[resourcePerAction].forEach(permission => { _%>
15
- - <%- resourcePerAction %>:<%- permission %>
16
- <%_}) _%>
17
- <%_ }) _%>
18
- Resource:
19
- <%_ resourcePermission.resource.forEach(resource => { _%>
20
- - <%- resource %>
21
- <%_ }) _%>
22
- <%_}) _%>
9
+ role: <%- roleName %>Role
23
10
  #<#<%- functionName %><%- handlerType %>IamRole#>
24
11
  #<#/<%- functionName %><%- handlerType %>IamRole#>
25
12
  <%_ function firstLetterUpperCase(text){
@@ -22,7 +22,21 @@ const fs = require('fs');
22
22
  const { ACTIONS, HANDLER, STORAGE_TYPES } = require('@izara_project/izara-core-library-service-schemas/src/Consts')
23
23
 
24
24
  const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase } = require("../../../../../../MainLibs/src/Utils")
25
- const { createIamRole, resourceNames, RESOURCE_CLASSES, SQS_RESOURCE, SOURCE_PATH, SAVE_FILE_NAME, FUNCTION_NAME, defaultIamRolePerAction, awaitingMultipleStepsRole, SNS_RESOURCE, shortNameHandler, SHORT_FUNCTION_NAME } = require("../../../../libs/Consts");
25
+ const {
26
+ createIamRole,
27
+ resourceNames,
28
+ RESOURCE_CLASSES,
29
+ SQS_RESOURCE,
30
+ SOURCE_PATH,
31
+ SAVE_FILE_NAME,
32
+ FUNCTION_NAME,
33
+ defaultIamRolePerAction,
34
+ awaitingMultipleStepsRole,
35
+ SNS_RESOURCE,
36
+ shortNameHandler,
37
+ SHORT_FUNCTION_NAME,
38
+ SOURCE_GENERATE_IAM_ROLE
39
+ } = require("../../../../libs/Consts");
26
40
 
27
41
  const templatePath = path.join(__dirname, "./template.ejs")
28
42
 
@@ -61,7 +75,7 @@ function createParamForCreateSource(srcPath) {
61
75
  ],
62
76
  [RESOURCE_CLASSES.sns]:
63
77
  [
64
- SNS_RESOURCE.publish, SNS_RESOURCE.subscription
78
+ SNS_RESOURCE.publish, SNS_RESOURCE.subscribe
65
79
  ]
66
80
  },
67
81
  [
@@ -80,7 +94,8 @@ function createParamForCreateSource(srcPath) {
80
94
  handlerType,
81
95
  additionalResourcePermission,
82
96
  resourceLocation: SOURCE_PATH.resourceLocationRelationshipPerAction,
83
- functionNameConfig: upperCase(SHORT_FUNCTION_NAME.deleteRelComplete)
97
+ functionNameConfig: upperCase(SHORT_FUNCTION_NAME.deleteRelComplete),
98
+ roleName: SOURCE_GENERATE_IAM_ROLE.RelationshipCompleteRole
84
99
  },
85
100
  setting: {
86
101
  savePath: path.join(srcPath, SOURCE_PATH.appYaml),
@@ -9,20 +9,7 @@
9
9
  filterPatterns: #**** need to update serverless framwork upper v.2.69.1
10
10
  - body: {"MessageAttributes":{"callingFlow":{"Value":["${self:custom.iz_resourcePrefix}<%-firstLetterUpperCase(functionName) %>"]}}} # functionName of callingFlow
11
11
  - body: {"MessageAttributes":{"callingFlow":{"Value":[{"exists":false}]}}}
12
- iamRoleStatements:
13
- <%_ additionalResourcePermission.forEach(resourcePermission => { _%>
14
- - Effect: <%- resourcePermission.effect %>
15
- Action:
16
- <%_ Object.keys(resourcePermission.action).forEach(resourcePerAction => { _%>
17
- <%_ resourcePermission.action[resourcePerAction].forEach(permission => { _%>
18
- - <%- resourcePerAction %>:<%- permission %>
19
- <%_}) _%>
20
- <%_ }) _%>
21
- Resource:
22
- <%_ resourcePermission.resource.forEach(resource => { _%>
23
- - <%- resource %>
24
- <%_ }) _%>
25
- <%_}) _%>
12
+ role: <%- roleName %>Role
26
13
  #<#<%- functionName %><%- handlerType %>IamRole#>
27
14
  #<#/<%- functionName %><%- handlerType %>IamRole#>
28
15
  <%_ function firstLetterUpperCase(text){
@@ -22,7 +22,21 @@ const fs = require('fs');
22
22
  const { ACTIONS, HANDLER, STORAGE_TYPES } = require('@izara_project/izara-core-library-service-schemas/src/Consts')
23
23
 
24
24
  const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase } = require("../../../../../../MainLibs/src/Utils")
25
- const { createIamRole, resourceNames, RESOURCE_CLASSES, SQS_RESOURCE, SOURCE_PATH, SAVE_FILE_NAME, FUNCTION_NAME, defaultIamRolePerAction, awaitingMultipleStepsRole, SNS_RESOURCE, shortNameHandler, SHORT_FUNCTION_NAME } = require("../../../../libs/Consts");
25
+ const {
26
+ createIamRole,
27
+ resourceNames,
28
+ RESOURCE_CLASSES,
29
+ SQS_RESOURCE,
30
+ SOURCE_PATH,
31
+ SAVE_FILE_NAME,
32
+ FUNCTION_NAME,
33
+ defaultIamRolePerAction,
34
+ awaitingMultipleStepsRole,
35
+ SNS_RESOURCE,
36
+ shortNameHandler,
37
+ SHORT_FUNCTION_NAME,
38
+ SOURCE_GENERATE_IAM_ROLE
39
+ } = require("../../../../libs/Consts");
26
40
 
27
41
  const templatePath = path.join(__dirname, "./template.ejs")
28
42
 
@@ -61,12 +75,12 @@ function createParamForCreateSource(srcPath) {
61
75
  SQS_RESOURCE.getQueueUrl,
62
76
  ],
63
77
  [RESOURCE_CLASSES.sns]: [
64
- SNS_RESOURCE.publish, SNS_RESOURCE.subscription
78
+ SNS_RESOURCE.publish, SNS_RESOURCE.subscribe
65
79
  ]
66
80
  },
67
81
  [
68
82
  resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName)),
69
- resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName)),
83
+ resourceNames(RESOURCE_CLASSES.sqs, upperCase(functionName) + "DLQ"),
70
84
  resourceNames(RESOURCE_CLASSES.sns, "In" + upperCase(functionName)),
71
85
  resourceNames(RESOURCE_CLASSES.sns, "Out" + upperCase(functionName))
72
86
  ],
@@ -79,7 +93,8 @@ function createParamForCreateSource(srcPath) {
79
93
  handlerType,
80
94
  additionalResourcePermission,
81
95
  resourceLocation: SOURCE_PATH.resourceLocationRelationshipPerAction,
82
- functionNameConfig: upperCase(SHORT_FUNCTION_NAME.updateRelComplete)
96
+ functionNameConfig: upperCase(SHORT_FUNCTION_NAME.updateRelComplete),
97
+ roleName: SOURCE_GENERATE_IAM_ROLE.RelationshipCompleteRole
83
98
  },
84
99
  setting: {
85
100
  savePath: path.join(srcPath, SOURCE_PATH.appYaml),
@@ -9,20 +9,7 @@
9
9
  filterPatterns: #**** need to update serverless framwork upper v.2.69.1
10
10
  - body: {"MessageAttributes":{"callingFlow":{"Value":["${self:custom.iz_resourcePrefix}<%-firstLetterUpperCase(functionName) %>"]}}} # functionName of callingFlow
11
11
  - body: {"MessageAttributes":{"callingFlow":{"Value":[{"exists":false}]}}}
12
- iamRoleStatements:
13
- <%_ additionalResourcePermission.forEach(resourcePermission => { _%>
14
- - Effect: <%- resourcePermission.effect %>
15
- Action:
16
- <%_ Object.keys(resourcePermission.action).forEach(resourcePerAction => { _%>
17
- <%_ resourcePermission.action[resourcePerAction].forEach(permission => { _%>
18
- - <%- resourcePerAction %>:<%- permission %>
19
- <%_}) _%>
20
- <%_ }) _%>
21
- Resource:
22
- <%_ resourcePermission.resource.forEach(resource => { _%>
23
- - <%- resource %>
24
- <%_ }) _%>
25
- <%_}) _%>
12
+ role: <%- roleName %>Role
26
13
  #<#<%- functionName %><%- handlerType %>IamRole#>
27
14
  #<#/<%- functionName %><%- handlerType %>IamRole#>
28
15
  <%_ function firstLetterUpperCase(text){
@@ -22,7 +22,23 @@ const fs = require('fs');
22
22
  const { ACTIONS, HANDLER, STORAGE_TYPES } = require('@izara_project/izara-core-library-service-schemas/src/Consts')
23
23
 
24
24
  const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase } = require("../../../../../../../MainLibs/src/Utils")
25
- const { DEFAULT_HANDLER_PER_ACTION, createIamRole, resourceNames, RESOURCE_CLASSES, DEFAULT_LAMBDA_ROLE_PER_ACTION, SQS_RESOURCE, SOURCE_PATH, SAVE_FILE_NAME, FUNCTION_NAME, SNS_RESOURCE, DYNAMO_RESOURCE, defaultIamRolePerAction, awaitingMultipleStepsRole, shortNameHandler, SHORT_FUNCTION_NAME } = require("../../../../../libs/Consts");
25
+ const {
26
+ DEFAULT_HANDLER_PER_ACTION,
27
+ DYNAMO_RESOURCE,
28
+ FUNCTION_NAME,
29
+ RESOURCE_CLASSES,
30
+ SAVE_FILE_NAME,
31
+ SHORT_FUNCTION_NAME,
32
+ SNS_RESOURCE,
33
+ SOURCE_PATH,
34
+ SQS_RESOURCE,
35
+ awaitingMultipleStepsRole,
36
+ createIamRole,
37
+ defaultIamRolePerAction,
38
+ resourceNames,
39
+ shortNameHandler,
40
+ SOURCE_GENERATE_IAM_ROLE
41
+ } = require("../../../../../libs/Consts");
26
42
 
27
43
  const templatePath = path.join(__dirname, "./template.ejs")
28
44
 
@@ -66,7 +82,8 @@ function createParamForCreateSource(srcPath) {
66
82
  handlerType,
67
83
  additionalResourcePermission,
68
84
  resourceLocation: SOURCE_PATH.resourceLocationRelationshipPerAction,
69
- functionNameConfig: upperCase(SHORT_FUNCTION_NAME.updateRel) + upperCase(shortNameHandler(handlerType))
85
+ functionNameConfig: upperCase(SHORT_FUNCTION_NAME.updateRel) + upperCase(shortNameHandler(handlerType)),
86
+ roleName: SOURCE_GENERATE_IAM_ROLE.RelationshipRole
70
87
  },
71
88
  setting: {
72
89
  savePath: path.join(srcPath, SOURCE_PATH.appYaml),
@@ -9,20 +9,7 @@
9
9
  cors: true
10
10
  #<#Authorizer#>
11
11
  #<#/Authorizer#>
12
- iamRoleStatements:
13
- <%_ additionalResourcePermission.forEach(resourcePermission => { _%>
14
- - Effect: <%- resourcePermission.effect %>
15
- Action:
16
- <%_ Object.keys(resourcePermission.action).forEach(resourcePerAction => { _%>
17
- <%_ resourcePermission.action[resourcePerAction].forEach(permission => { _%>
18
- - <%- resourcePerAction %>:<%- permission %>
19
- <%_}) _%>
20
- <%_ }) _%>
21
- Resource:
22
- <%_ resourcePermission.resource.forEach(resource => { _%>
23
- - <%- resource %>
24
- <%_ }) _%>
25
- <%_}) _%>
12
+ role: <%- roleName %>Role
26
13
  #<#<%- functionName %><%- handlerType %>IamRole#>
27
14
  #<#/<%- functionName %><%- handlerType %>IamRole#>
28
15
  <%_ function firstLetterUpperCase(text){
@@ -22,7 +22,23 @@ const fs = require('fs');
22
22
  const { ACTIONS, HANDLER, STORAGE_TYPES } = require('@izara_project/izara-core-library-service-schemas/src/Consts')
23
23
 
24
24
  const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase } = require("../../../../../../../MainLibs/src/Utils")
25
- const { DEFAULT_HANDLER_PER_ACTION, createIamRole, resourceNames, RESOURCE_CLASSES, DEFAULT_LAMBDA_ROLE_PER_ACTION, SQS_RESOURCE, SOURCE_PATH, SAVE_FILE_NAME, FUNCTION_NAME, SNS_RESOURCE, DYNAMO_RESOURCE, defaultIamRolePerAction, awaitingMultipleStepsRole, shortNameHandler, SHORT_FUNCTION_NAME } = require("../../../../../libs/Consts");
25
+ const { DEFAULT_HANDLER_PER_ACTION,
26
+ createIamRole,
27
+ resourceNames,
28
+ RESOURCE_CLASSES,
29
+ DEFAULT_LAMBDA_ROLE_PER_ACTION,
30
+ SQS_RESOURCE,
31
+ SOURCE_PATH,
32
+ SAVE_FILE_NAME,
33
+ FUNCTION_NAME,
34
+ SNS_RESOURCE,
35
+ DYNAMO_RESOURCE,
36
+ defaultIamRolePerAction,
37
+ awaitingMultipleStepsRole,
38
+ shortNameHandler,
39
+ SHORT_FUNCTION_NAME,
40
+ SOURCE_GENERATE_IAM_ROLE
41
+ } = require("../../../../../libs/Consts");
26
42
 
27
43
  const templatePath = path.join(__dirname, './template.ejs')
28
44
 
@@ -79,7 +95,8 @@ function createParamForCreateSource(srcPath) {
79
95
  handlerType,
80
96
  additionalResourcePermission,
81
97
  resourceLocation: SOURCE_PATH.resourceLocationRelationshipPerAction,
82
- functionNameConfig: upperCase(SHORT_FUNCTION_NAME.updateRel) + upperCase(shortNameHandler(handlerType))
98
+ functionNameConfig: upperCase(SHORT_FUNCTION_NAME.updateRel) + upperCase(shortNameHandler(handlerType)),
99
+ roleName: SOURCE_GENERATE_IAM_ROLE.RelationshipRole
83
100
  },
84
101
  setting: {
85
102
  savePath: path.join(srcPath, SOURCE_PATH.appYaml),
@@ -6,20 +6,7 @@
6
6
  - sqs:
7
7
  arn: arn:aws:sqs:${self:custom.iz_region}:${self:custom.iz_accountId}:${self:custom.iz_resourcePrefix}<%- firstLetterUpperCase(functionName) %><%- firstLetterUpperCase(handlerType) %>
8
8
  batchSize: 10
9
- iamRoleStatements:
10
- <%_ additionalResourcePermission.forEach(resourcePermission => { _%>
11
- - Effect: <%- resourcePermission.effect %>
12
- Action:
13
- <%_ Object.keys(resourcePermission.action).forEach(resourcePerAction => { _%>
14
- <%_ resourcePermission.action[resourcePerAction].forEach(permission => { _%>
15
- - <%- resourcePerAction %>:<%- permission %>
16
- <%_}) _%>
17
- <%_ }) _%>
18
- Resource:
19
- <%_ resourcePermission.resource.forEach(resource => { _%>
20
- - "<%- resource %>"
21
- <%_ }) _%>
22
- <%_}) _%>
9
+ role: <%- roleName %>Role
23
10
  #<#<%- functionName %><%- handlerType %>IamRole#>
24
11
  #<#/<%- functionName %><%- handlerType %>IamRole#>
25
12
  <%_ function firstLetterUpperCase(text){
@@ -22,7 +22,24 @@ const fs = require('fs');
22
22
  const { ACTIONS, HANDLER, STORAGE_TYPES } = require('@izara_project/izara-core-library-service-schemas/src/Consts')
23
23
 
24
24
  const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase } = require("../../../../../../../MainLibs/src/Utils")
25
- const { DEFAULT_HANDLER_PER_ACTION, createIamRole, resourceNames, RESOURCE_CLASSES, DEFAULT_LAMBDA_ROLE_PER_ACTION, SQS_RESOURCE, SOURCE_PATH, SAVE_FILE_NAME, FUNCTION_NAME, SNS_RESOURCE, DYNAMO_RESOURCE, defaultIamRolePerAction, awaitingMultipleStepsRole, shortNameHandler, SHORT_FUNCTION_NAME } = require("../../../../../libs/Consts");
25
+ const {
26
+ DEFAULT_HANDLER_PER_ACTION,
27
+ createIamRole,
28
+ resourceNames,
29
+ RESOURCE_CLASSES,
30
+ DEFAULT_LAMBDA_ROLE_PER_ACTION,
31
+ SQS_RESOURCE,
32
+ SOURCE_PATH,
33
+ SAVE_FILE_NAME,
34
+ FUNCTION_NAME,
35
+ SNS_RESOURCE,
36
+ DYNAMO_RESOURCE,
37
+ defaultIamRolePerAction,
38
+ awaitingMultipleStepsRole,
39
+ shortNameHandler,
40
+ SHORT_FUNCTION_NAME,
41
+ SOURCE_GENERATE_IAM_ROLE
42
+ } = require("../../../../../libs/Consts");
26
43
 
27
44
  const templatePath = path.join(__dirname, './template.ejs')
28
45
 
@@ -67,7 +84,8 @@ function createParamForCreateSource(srcPath) {
67
84
  handlerType,
68
85
  additionalResourcePermission,
69
86
  resourceLocation: SOURCE_PATH.resourceLocationRelationshipPerAction,
70
- functionNameConfig: upperCase(SHORT_FUNCTION_NAME.updateRel) + upperCase(shortNameHandler(handlerType))
87
+ functionNameConfig: upperCase(SHORT_FUNCTION_NAME.updateRel) + upperCase(shortNameHandler(handlerType)),
88
+ roleName: SOURCE_GENERATE_IAM_ROLE.RelationshipRole
71
89
 
72
90
  },
73
91
  setting: {
@@ -2,20 +2,7 @@
2
2
  <%- firstLetterUpperCase(functionNameConfig) %>:
3
3
  handler: <%- join(resourceLocation, `${firstLetterUpperCase(functionName)}_${firstLetterUpperCase(handlerType)}.main`)%>
4
4
  name: ${self:custom.iz_resourcePrefix}<%- firstLetterUpperCase(functionName) %><%- firstLetterUpperCase(handlerType) %>
5
- iamRoleStatements:
6
- <%_ additionalResourcePermission.forEach(resourcePermission => { _%>
7
- - Effect: <%- resourcePermission.effect %>
8
- Action:
9
- <%_ Object.keys(resourcePermission.action).forEach(resourcePerAction => { _%>
10
- <%_ resourcePermission.action[resourcePerAction].forEach(permission => { _%>
11
- - <%- resourcePerAction %>:<%- permission %>
12
- <%_}) _%>
13
- <%_ }) _%>
14
- Resource:
15
- <%_ resourcePermission.resource.forEach(resource => { _%>
16
- - <%- resource %>
17
- <%_ }) _%>
18
- <%_}) _%>
5
+ role: <%- roleName %>Role
19
6
  #<#<%- functionName %><%- handlerType %>IamRole#>
20
7
  #<#/<%- functionName %><%- handlerType %>IamRole#>
21
8
  <%_ function firstLetterUpperCase(text){
@@ -22,7 +22,24 @@ const fs = require('fs');
22
22
  const { ACTIONS, HANDLER, STORAGE_TYPES } = require('@izara_project/izara-core-library-service-schemas/src/Consts')
23
23
 
24
24
  const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase } = require("../../../../../../../MainLibs/src/Utils")
25
- const { DEFAULT_HANDLER_PER_ACTION, createIamRole, resourceNames, RESOURCE_CLASSES, DEFAULT_LAMBDA_ROLE_PER_ACTION, SQS_RESOURCE, SOURCE_PATH, SAVE_FILE_NAME, FUNCTION_NAME, SNS_RESOURCE, DYNAMO_RESOURCE, defaultIamRolePerAction, awaitingMultipleStepsRole, shortNameHandler, SHORT_FUNCTION_NAME } = require("../../../../../libs/Consts");
25
+ const {
26
+ DEFAULT_HANDLER_PER_ACTION,
27
+ DEFAULT_LAMBDA_ROLE_PER_ACTION,
28
+ DYNAMO_RESOURCE,
29
+ FUNCTION_NAME,
30
+ RESOURCE_CLASSES,
31
+ SAVE_FILE_NAME,
32
+ SHORT_FUNCTION_NAME,
33
+ SNS_RESOURCE,
34
+ SOURCE_PATH,
35
+ SQS_RESOURCE,
36
+ awaitingMultipleStepsRole,
37
+ createIamRole,
38
+ defaultIamRolePerAction,
39
+ resourceNames,
40
+ shortNameHandler,
41
+ SOURCE_GENERATE_IAM_ROLE
42
+ } = require("../../../../../libs/Consts");
26
43
  const templatePath = path.join(__dirname, './template.ejs')
27
44
 
28
45
  /**
@@ -80,7 +97,8 @@ function createParamForCreateSource(srcPath) {
80
97
  handlerType,
81
98
  additionalResourcePermission,
82
99
  resourceLocation: SOURCE_PATH.resourceLocationRelationshipPerAction,
83
- functionNameConfig: upperCase(SHORT_FUNCTION_NAME.updateRel) + upperCase(shortNameHandler(handlerType))
100
+ functionNameConfig: upperCase(SHORT_FUNCTION_NAME.updateRel) + upperCase(shortNameHandler(handlerType)),
101
+ roleName: SOURCE_GENERATE_IAM_ROLE.RelationshipRole
84
102
  },
85
103
  setting: {
86
104
  savePath: path.join(srcPath, SOURCE_PATH.appYaml),
@@ -6,20 +6,7 @@
6
6
  - sqs:
7
7
  arn: arn:aws:sqs:${self:custom.iz_region}:${self:custom.iz_accountId}:${self:custom.iz_resourcePrefix}<%- firstLetterUpperCase(functionName) %><%- firstLetterUpperCase(handlerType) %>
8
8
  batchSize: 10
9
- iamRoleStatements:
10
- <%_ additionalResourcePermission.forEach(resourcePermission => { _%>
11
- - Effect: <%- resourcePermission.effect %>
12
- Action:
13
- <%_ Object.keys(resourcePermission.action).forEach(resourcePerAction => { _%>
14
- <%_ resourcePermission.action[resourcePerAction].forEach(permission => { _%>
15
- - <%- resourcePerAction %>:<%- permission %>
16
- <%_}) _%>
17
- <%_ }) _%>
18
- Resource:
19
- <%_ resourcePermission.resource.forEach(resource => { _%>
20
- - <%- resource %>
21
- <%_ }) _%>
22
- <%_}) _%>
9
+ role: <%- roleName %>Role
23
10
  #<#<%- functionName %><%- handlerType %>IamRole#>
24
11
  #<#/<%- functionName %><%- handlerType %>IamRole#>
25
12
  <%_ function firstLetterUpperCase(text){