@izara_project/izara-market-library-service-schemas 1.0.8 → 1.0.10

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 (123) hide show
  1. package/package.json +2 -2
  2. package/src/GenerateCodeLibs/src/GenerateCodeLibs.js +64 -19
  3. package/src/MainLibs/src/Utils.js +13 -0
  4. package/src/TemplateManager/src/FindData/FindDataYaml/data.js +3 -2
  5. package/src/TemplateManager/src/FindData/FindDataYaml/template.ejs +1 -1
  6. package/src/TemplateManager/src/FindData/Handler/data.js +1 -6
  7. package/src/TemplateManager/src/FindData/mainFunction/template.ejs +0 -7
  8. package/src/TemplateManager/src/GenerateCode.js +3 -5
  9. package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/functionYaml/data.js +4 -3
  10. package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/functionYaml/template.ejs +1 -1
  11. package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/handler/data.js +1 -3
  12. package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/handler/template.ejs +11 -11
  13. package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/mainFunction/data.js +1 -1
  14. package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/mainFunction/template.ejs +13 -13
  15. package/src/TemplateManager/src/OutPerActionComplete/OutDeleteComplete/functionYaml/data.js +4 -3
  16. package/src/TemplateManager/src/OutPerActionComplete/OutDeleteComplete/functionYaml/template.ejs +1 -1
  17. package/src/TemplateManager/src/OutPerActionComplete/OutDeleteComplete/handler/data.js +1 -3
  18. package/src/TemplateManager/src/OutPerActionComplete/OutDeleteComplete/mainFunction/data.js +1 -1
  19. package/src/TemplateManager/src/OutPerActionComplete/OutDeleteComplete/mainFunction/template.ejs +8 -5
  20. package/src/TemplateManager/src/OutPerActionComplete/OutUpdateComplete/functionYaml/data.js +4 -2
  21. package/src/TemplateManager/src/OutPerActionComplete/OutUpdateComplete/functionYaml/template.ejs +1 -1
  22. package/src/TemplateManager/src/OutPerActionComplete/OutUpdateComplete/handler/data.js +1 -3
  23. package/src/TemplateManager/src/OutPerActionComplete/OutUpdateComplete/mainFunction/data.js +1 -1
  24. package/src/TemplateManager/src/OutPerActionComplete/OutUpdateComplete/mainFunction/template.ejs +5 -1
  25. package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrApi/data.js +13 -7
  26. package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrApi/template.ejs +1 -1
  27. package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrDsq/data.js +12 -8
  28. package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrDsq/template.ejs +1 -1
  29. package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrInv/data.js +10 -12
  30. package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrInv/template.ejs +1 -1
  31. package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrSqs/data.js +13 -8
  32. package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrSqs/template.ejs +1 -1
  33. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrApi/data.js +0 -2
  34. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrDsq/data.js +1 -2
  35. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrDsq/template.ejs +78 -62
  36. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrInv/data.js +0 -2
  37. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrInv/template.ejs +1 -2
  38. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrSqs/data.js +2 -3
  39. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrSqs/template.ejs +62 -53
  40. package/src/TemplateManager/src/PerActionEndpoint/MainFunction/Create/template.ejs +47 -8
  41. package/src/TemplateManager/src/ProcessLogical/Handler/data.js +0 -1
  42. package/src/TemplateManager/src/ProcessLogical/ProcessLogicalYaml/data.js +3 -2
  43. package/src/TemplateManager/src/ProcessLogical/ProcessLogicalYaml/template.ejs +1 -1
  44. package/src/TemplateManager/src/ProcessLogicalPagination/FunctionYaml/HdrDsq/data.js +3 -2
  45. package/src/TemplateManager/src/ProcessLogicalPagination/FunctionYaml/HdrDsq/template.ejs +1 -1
  46. package/src/TemplateManager/src/ProcessLogicalPagination/FunctionYaml/HdrSqs/data.js +3 -2
  47. package/src/TemplateManager/src/ProcessLogicalPagination/FunctionYaml/HdrSqs/template.ejs +1 -1
  48. package/src/TemplateManager/src/ProcessLogicalPagination/Handler/HdrDsq/data.js +1 -3
  49. package/src/TemplateManager/src/ProcessLogicalPagination/Handler/HdrSqs/data.js +1 -3
  50. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrApi/data.js +3 -2
  51. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrApi/template.ejs +1 -1
  52. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrDsq/data.js +3 -2
  53. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrDsq/template.ejs +1 -1
  54. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrInv/data.js +3 -2
  55. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrInv/template.ejs +1 -1
  56. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrSqs/data.js +3 -3
  57. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrSqs/template.ejs +1 -1
  58. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/mainFunction/data.js +2 -0
  59. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/mainFunction/template.ejs +63 -23
  60. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/perAction/HdrApi/data.js +0 -2
  61. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/perAction/HdrApi/template.ejs +45 -28
  62. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/perAction/HdrDsq/data.js +0 -2
  63. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/perAction/HdrDsq/template.ejs +42 -21
  64. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/perAction/HdrInv/data.js +0 -2
  65. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/perAction/HdrInv/template.ejs +41 -22
  66. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/perAction/HdrSqs/data.js +0 -2
  67. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/perAction/HdrSqs/template.ejs +42 -21
  68. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationshipComplete/functionYaml/data.js +3 -2
  69. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationshipComplete/functionYaml/template.ejs +1 -1
  70. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationshipComplete/handler/HdrSqs/data.js +0 -2
  71. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrApi/data.js +3 -2
  72. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrApi/template.ejs +1 -1
  73. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrDsq/data.js +3 -2
  74. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrDsq/template.ejs +1 -1
  75. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrInv/data.js +3 -2
  76. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrInv/template.ejs +1 -1
  77. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrSqs/data.js +3 -2
  78. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrSqs/template.ejs +1 -1
  79. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/mainFunction/data.js +2 -0
  80. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/mainFunction/template.ejs +1 -1
  81. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/perAction/HdrApi/data.js +0 -2
  82. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/perAction/HdrDsq/data.js +0 -2
  83. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/perAction/HdrInv/data.js +0 -2
  84. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/perAction/HdrSqs/data.js +0 -2
  85. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationshipComplete/functionYaml/data.js +3 -2
  86. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationshipComplete/functionYaml/template.ejs +1 -1
  87. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationshipComplete/handler/HdrSqs/data.js +0 -2
  88. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRalationshipComplete/functionYaml/data.js +3 -2
  89. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRalationshipComplete/functionYaml/template.ejs +1 -1
  90. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRalationshipComplete/handler/HdrSqs/data.js +0 -2
  91. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrApi/data.js +3 -2
  92. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrApi/template.ejs +1 -1
  93. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrDsq/data.js +3 -2
  94. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrDsq/template.ejs +1 -1
  95. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrInv/data.js +4 -2
  96. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrInv/template.ejs +1 -1
  97. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrSqs/data.js +3 -2
  98. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrSqs/template.ejs +1 -1
  99. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/mainFunction/data.js +1 -1
  100. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/mainFunction/template.ejs +1 -1
  101. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/perAction/HdrApi/data.js +0 -2
  102. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/perAction/HdrDsq/data.js +0 -2
  103. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/perAction/HdrDsq/template.ejs +1 -1
  104. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/perAction/HdrInv/data.js +0 -2
  105. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/perAction/HdrSqs/data.js +0 -2
  106. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/perAction/HdrSqs/template.ejs +1 -1
  107. package/src/TemplateManager/src/ResourceYaml/dynamodb/mainResourcePerObjectSchemaData.js +3 -3
  108. package/src/TemplateManager/src/ResourceYaml/sns-in-sqs/defaultSnsInSqsForFindDataAndProcessLogical.js +6 -6
  109. package/src/TemplateManager/src/ResourceYaml/sns-out/defaultSnsOutForFindDataAndProcessLogical.js +2 -2
  110. package/src/TemplateManager/src/TranslateIdReq/ProcessingTranslateIds/functionYaml/data.js +3 -2
  111. package/src/TemplateManager/src/TranslateIdReq/ProcessingTranslateIds/functionYaml/template.ejs +1 -1
  112. package/src/TemplateManager/src/TranslateIdReq/ProcessingTranslateIds/handler/dataHdrDsq.js +0 -2
  113. package/src/TemplateManager/src/TranslateIdReq/TranslateIds/functionYaml/HdrDsq/data.js +4 -3
  114. package/src/TemplateManager/src/TranslateIdReq/TranslateIds/functionYaml/HdrDsq/template.ejs +30 -0
  115. package/src/TemplateManager/src/TranslateIdReq/TranslateIds/functionYaml/HdrSqs/data.js +4 -3
  116. package/src/TemplateManager/src/TranslateIdReq/TranslateIds/functionYaml/HdrSqs/template.ejs +30 -0
  117. package/src/TemplateManager/src/TranslateIdReq/TranslateIds/handler/HdrDsq/data.js +0 -2
  118. package/src/TemplateManager/src/TranslateIdReq/TranslateIds/handler/HdrSqs/data.js +0 -2
  119. package/src/TemplateManager/src/externalService/FunctionNameConfig/template.ejs +13 -2
  120. package/src/TemplateManager/src/externalService/LambdaRole/data.js +39 -38
  121. package/src/TemplateManager/src/externalService/SnsTopicSubscriotions/template.ejs +19 -0
  122. package/src/TemplateManager/src/libs/Consts.js +28 -5
  123. package/src/TemplateManager/src/CreateRelationship/createRelationship/functionYaml/HdrApi/data.js +0 -119
@@ -22,9 +22,9 @@ 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, externalResourceName, defaultIamRolePerAction, DYNAMO_RESOURCE, SNS_RESOURCE } = require("../../../../libs/Consts");
25
+ const { DEFAULT_HANDLER_PER_ACTION, createIamRole, resourceNames, RESOURCE_CLASSES, DEFAULT_LAMBDA_ROLE_PER_ACTION, SQS_RESOURCE, SOURCE_PATH, SAVE_FILE_NAME, FUNCTION_NAME, externalResourceName, defaultIamRolePerAction, DYNAMO_RESOURCE, SNS_RESOURCE, shortNameHandler, SHORT_FUNCTION_NAME } = require("../../../../libs/Consts");
26
26
 
27
- const templatePath = path.join(__dirname, '../../../../PerActionEndpoint/FunctionYaml/HdrDsq/template.ejs');
27
+ const templatePath = path.join(__dirname, './template.ejs');
28
28
 
29
29
  /**
30
30
  * create data for function yaml for translateIds HdrDsq
@@ -76,7 +76,8 @@ function createTranslateIdFunctionYamlHdrDsq(srcPath) {
76
76
  functionName,
77
77
  handlerType,
78
78
  additionalResourcePermission,
79
- resourceLocation: SOURCE_PATH.resourceLocationTranslateId
79
+ resourceLocation: SOURCE_PATH.resourceLocationTranslateId,
80
+ functionNameConfig: upperCase(SHORT_FUNCTION_NAME.translateId) + upperCase(shortNameHandler(handlerType))
80
81
  },
81
82
  setting: {
82
83
  savePath: path.join(srcPath, SOURCE_PATH.appYaml),
@@ -0,0 +1,30 @@
1
+ <%_ const join = require('path').join; _%>
2
+ <%- firstLetterUpperCase(functionNameConfig) %>:
3
+ handler: <%- join(resourceLocation, `${firstLetterUpperCase(functionName)}_${firstLetterUpperCase(handlerType)}.main`)%>
4
+ name: ${self:custom.iz_resourcePrefix}<%- firstLetterUpperCase(functionName) %><%- firstLetterUpperCase(handlerType) %>
5
+ events:
6
+ - sqs:
7
+ arn: arn:aws:sqs:${self:custom.iz_region}:${self:custom.iz_accountId}:${self:custom.iz_resourcePrefix}<%- firstLetterUpperCase(functionName) %><%- firstLetterUpperCase(handlerType) %>
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
+ <%_}) _%>
23
+ #<#<%- functionName %><%- handlerType %>IamRole#>
24
+ #<#/<%- functionName %><%- handlerType %>IamRole#>
25
+ <%_ function firstLetterUpperCase(text){
26
+ return text.charAt(0).toUpperCase() + text.slice(1)
27
+ } _%>
28
+ <%_ function firstLetterLowerCase(str) {
29
+ return str.charAt(0).toLowerCase() + str.slice(1)
30
+ } _%>
@@ -22,9 +22,9 @@ 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, externalResourceName, defaultIamRolePerAction, SNS_RESOURCE, DYNAMO_RESOURCE } = require("../../../../libs/Consts");
25
+ const { DEFAULT_HANDLER_PER_ACTION, createIamRole, resourceNames, RESOURCE_CLASSES, DEFAULT_LAMBDA_ROLE_PER_ACTION, SQS_RESOURCE, SOURCE_PATH, SAVE_FILE_NAME, FUNCTION_NAME, externalResourceName, defaultIamRolePerAction, SNS_RESOURCE, DYNAMO_RESOURCE, shortNameHandler, SHORT_FUNCTION_NAME } = require("../../../../libs/Consts");
26
26
 
27
- const templatePath = path.join(__dirname, '../../../../PerActionEndpoint/FunctionYaml/HdrDsq/template.ejs');
27
+ const templatePath = path.join(__dirname, './template.ejs');
28
28
 
29
29
  /**
30
30
  * create data for function yaml for translateIds HdrSqs
@@ -76,7 +76,8 @@ function createTranslateIdFunctionYmlHdrSqs(srcPath) {
76
76
  functionName,
77
77
  handlerType,
78
78
  resourceLocation: SOURCE_PATH.resourceLocationTranslateId,
79
- additionalResourcePermission
79
+ additionalResourcePermission,
80
+ functionNameConfig: upperCase(SHORT_FUNCTION_NAME.translateId) + upperCase(shortNameHandler(handlerType))
80
81
  },
81
82
  setting: {
82
83
  savePath: path.join(srcPath, SOURCE_PATH.appYaml),
@@ -0,0 +1,30 @@
1
+ <%_ const join = require('path').join; _%>
2
+ <%- firstLetterUpperCase(functionNameConfig) %>:
3
+ handler: <%- join(resourceLocation, `${firstLetterUpperCase(functionName)}_${firstLetterUpperCase(handlerType)}.main`)%>
4
+ name: ${self:custom.iz_resourcePrefix}<%- firstLetterUpperCase(functionName) %><%- firstLetterUpperCase(handlerType) %>
5
+ events:
6
+ - sqs:
7
+ arn: arn:aws:sqs:${self:custom.iz_region}:${self:custom.iz_accountId}:${self:custom.iz_resourcePrefix}<%- firstLetterUpperCase(functionName) %><%- firstLetterUpperCase(handlerType) %>
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
+ <%_}) _%>
23
+ #<#<%- functionName %><%- handlerType %>IamRole#>
24
+ #<#/<%- functionName %><%- handlerType %>IamRole#>
25
+ <%_ function firstLetterUpperCase(text){
26
+ return text.charAt(0).toUpperCase() + text.slice(1)
27
+ } _%>
28
+ <%_ function firstLetterLowerCase(str) {
29
+ return str.charAt(0).toLowerCase() + str.slice(1)
30
+ } _%>
@@ -41,14 +41,12 @@ function createSourceParamsTranslateIdHandlerDsq(srcPath) {
41
41
  const handlerType = HANDLER.hdrDsq
42
42
  const functionName = FUNCTION_NAME.translateId
43
43
  const queueName = upperCase(functionName) + upperCase(handlerType)
44
- let functionNameConfig = upperCase(functionName) + upperCase(handlerType)
45
44
  return {
46
45
  templatePath: templatePath,
47
46
  templateData: {
48
47
  queueName,
49
48
  functionName,
50
49
  handlerType,
51
- functionNameConfig
52
50
  },
53
51
  setting: {
54
52
  savePath: path.join(srcPath, SOURCE_PATH.translateIdsRequestFile),
@@ -40,14 +40,12 @@ function createTranslateIdsHandlerSqs(srcPath) {
40
40
  const functionName = FUNCTION_NAME.translateId;
41
41
  const handler = HANDLER.hdrSqs;
42
42
  const queueName = upperCase(functionName) + upperCase(handler)
43
- let functionNameConfig = upperCase(functionName) + upperCase(handler)
44
43
  return {
45
44
  templatePath: templatePath,
46
45
  templateData: {
47
46
  functionName,
48
47
  handler,
49
48
  queueName,
50
- functionNameConfig
51
49
  },
52
50
  setting: {
53
51
  savePath: path.join(srcPath, SOURCE_PATH.translateIdsRequestFile),
@@ -1,3 +1,14 @@
1
+ # for createIamRole
2
+
1
3
  <% functionNameConfigs.forEach(functionNameConfig => { _%>
2
- - ${self:custom.iz_prefixIamRole}<%- functionNameConfig %>${self:custom.iz_suffixIamRole}
3
- <% }) _%>
4
+ - ${self:custom.iz_prefixIamRole}<%- firstLetterUpperCase(functionNameConfig) %>${self:custom.iz_suffixIamRole}
5
+ <% }) _%>
6
+
7
+ # for createIntTest
8
+ <% functionNameConfigs.forEach(functionNameConfig => { _%>
9
+ "<%- firstLetterUpperCase(functionNameConfig) %>",
10
+ <% }) _%>
11
+
12
+ <%_function firstLetterUpperCase(text) {
13
+ return text.charAt(0).toUpperCase() + text.slice(1)
14
+ } %>
@@ -22,10 +22,12 @@ const fs = require('fs');
22
22
  const { ACTIONS, HANDLER, STORAGE_TYPES } = require('@izara_project/izara-core-library-service-schemas/src/Consts')
23
23
  const { getGraphServiceNameFromGraphServerTagWithCache } = require('@izara_project/izara-core-library-service-schemas/src/ServiceConfig')
24
24
 
25
- const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase } = require("../../../../MainLibs/src/Utils")
25
+ const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase, renameObjectType } = require("../../../../MainLibs/src/Utils")
26
26
  const {
27
27
  DEFAULT_HANDLER_PER_ACTION, createIamRole, resourceNames, RESOURCE_CLASSES, DEFAULT_LAMBDA_ROLE_PER_ACTION, SOURCE_PATH, externalResourceName, externalResourceSns, FUNCTION_NAME, getGraphServiceNameFromAllRelSchema, SAVE_FILE_NAME, getComplexFilterServiceTag,
28
- LAMBDA_RESOURCE, SNS_RESOURCE, DYNAMO_RESOURCE, getGraphServiceNameFromObjectSchema } = require("../../libs/Consts");
28
+ LAMBDA_RESOURCE, SNS_RESOURCE, DYNAMO_RESOURCE, getGraphServiceNameFromObjectSchema,
29
+ shortNameHandler,
30
+ SHORT_FUNCTION_NAME } = require("../../libs/Consts");
29
31
  // const templatePath = path.join(__dirname, "./template.ejs");
30
32
  const templatePath = path.join(__dirname, "./template.ejs");
31
33
  const { getAllLocalRelationshipSchemas } = require('@izara_project/izara-core-library-service-schemas/src/GetObjectSchema')
@@ -36,17 +38,18 @@ const createExternalLambdaRole = async (_izContext, allObjSchemas, allRelSchemas
36
38
  const externalLambdaIamRoleArray = [];
37
39
  for (const objectSchema of allObjSchemas) {
38
40
 
41
+ const newObjectSchema = renameObjectType(objectSchema, srcPath)
39
42
  // per action external lambda role
40
43
  for (const action of Object.values(ACTIONS)) {
41
44
  if (objectSchema.overWriteHandlers?.[action]) {
42
45
  for (const handler of objectSchema.overWriteHandlers[action]) {
43
- const externalLambdaIamRole = await externalLambdaIamRoleDataPerAction(_izContext, objectSchema, action, handler)
46
+ const externalLambdaIamRole = await externalLambdaIamRoleDataPerAction(_izContext, newObjectSchema, action, handler)
44
47
  externalLambdaIamRole && externalLambdaIamRoleArray.push(externalLambdaIamRole);
45
48
  }
46
49
 
47
50
  } else {
48
51
  for (const handler of DEFAULT_HANDLER_PER_ACTION[action]) {
49
- const externalLambdaIamRole = await externalLambdaIamRoleDataPerAction(_izContext, objectSchema, action, handler)
52
+ const externalLambdaIamRole = await externalLambdaIamRoleDataPerAction(_izContext, newObjectSchema, action, handler)
50
53
  externalLambdaIamRole && externalLambdaIamRoleArray.push(externalLambdaIamRole);
51
54
  }
52
55
  }
@@ -109,7 +112,7 @@ const createExternalLambdaRole = async (_izContext, allObjSchemas, allRelSchemas
109
112
  }
110
113
 
111
114
  async function externalLambdaIamRoleDataPerAction(_izContext, objectSchema, action, handler) {
112
- const objectType = objectSchema.objectType;
115
+ const objectType = objectSchema?.shortNameObjectType ? objectSchema?.shortNameObjectType : objectSchema.objectType;
113
116
  const additionalResourcePermission = [];
114
117
  const graphServiceNames = [];
115
118
  for (const storgaeResource of Object.values(objectSchema.storageResources)) {
@@ -121,10 +124,14 @@ async function externalLambdaIamRoleDataPerAction(_izContext, objectSchema, acti
121
124
  }
122
125
  }
123
126
 
124
- let functionName = upperCase(objectType) + upperCase(action) + upperCase(handler);
125
127
 
126
- if (action === ACTIONS.get) {
127
- if (!graphServiceNames) {
128
+ // let functionName = upperCase(objectType) + upperCase(action) + upperCase(shortNameHandler(handler));
129
+ let functionName = upperCase(objectType) + upperCase(action) + upperCase(shortNameHandler(handler));
130
+
131
+ if (!graphServiceNames.length) {
132
+ return
133
+ } else {
134
+ if (action === ACTIONS.get) {
128
135
  additionalResourcePermission.push(
129
136
  createIamRole(
130
137
  { [RESOURCE_CLASSES.lambda]: [LAMBDA_RESOURCE.invokeFunction] },
@@ -133,12 +140,8 @@ async function externalLambdaIamRoleDataPerAction(_izContext, objectSchema, acti
133
140
  )
134
141
  )
135
142
  )
136
- }
137
-
138
- } else if (action === ACTIONS.update) {
139
- if (!graphServiceNames) {
140
- return
141
- } else {
143
+ // }
144
+ } else if (action === ACTIONS.update) {
142
145
  additionalResourcePermission.push(
143
146
  createIamRole(
144
147
  {
@@ -149,12 +152,8 @@ async function externalLambdaIamRoleDataPerAction(_izContext, objectSchema, acti
149
152
  )
150
153
  )
151
154
  )
152
- }
153
-
154
- } else if (action === ACTIONS.create) {
155
- if (!graphServiceNames.length) {
156
- return
157
- } else {
155
+ // }
156
+ } else if (action === ACTIONS.create) {
158
157
  additionalResourcePermission.push(
159
158
  createIamRole(
160
159
  {
@@ -165,20 +164,22 @@ async function externalLambdaIamRoleDataPerAction(_izContext, objectSchema, acti
165
164
  )
166
165
  )
167
166
  )
167
+ // }
168
+ } else if (action === ACTIONS.delete) {
169
+ return
170
+ // additionalResourcePermission.push(
171
+ // createIamRole(
172
+ // {
173
+ // [RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish]
174
+ // },
175
+ // graphServiceNames.map(graphServiceName =>
176
+ // externalResourceSns("InDeleteNode", graphServiceName)
177
+ // )
178
+ // )
179
+ // )
180
+ } else {
181
+ throw new error("Invalid action")
168
182
  }
169
- } else if (action === ACTIONS.delete) {
170
- // additionalResourcePermission.push(
171
- // createIamRole(
172
- // {
173
- // [RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish]
174
- // },
175
- // graphServiceNames.map(graphServiceName =>
176
- // externalResourceSns("InDeleteNode", graphServiceName)
177
- // )
178
- // )
179
- // )
180
- } else {
181
- throw new error("Invalid action")
182
183
  }
183
184
 
184
185
 
@@ -192,7 +193,7 @@ async function externalLambdaIamRoleDataPerAction(_izContext, objectSchema, acti
192
193
 
193
194
  // update Relationship
194
195
  async function externalLambdaIamRoleDataUpdateRelationshipSchema(_izContext, allRelSchemas, handler) {
195
- const functionName = upperCase(FUNCTION_NAME.updateRel) + upperCase(handler);
196
+ const functionName = upperCase(SHORT_FUNCTION_NAME.updateRel) + upperCase(shortNameHandler(handler));
196
197
  const additionalResourcePermission = [];
197
198
  const graphServiceNamesFromAllRelSchemas = await getGraphServiceNameFromAllRelSchema(_izContext, allRelSchemas);
198
199
 
@@ -218,7 +219,7 @@ async function externalLambdaIamRoleDataUpdateRelationshipSchema(_izContext, all
218
219
  // create relationship
219
220
 
220
221
  async function externalLambdaIamRoleDataCreateRelationshipSchema(_izContext, allRelSchemas, handler) {
221
- const functionName = upperCase(FUNCTION_NAME.createRel) + upperCase(handler);
222
+ const functionName = upperCase(SHORT_FUNCTION_NAME.createRel) + upperCase(shortNameHandler(handler));
222
223
  const additionalResourcePermission = [];
223
224
  const graphServiceNamesFromAllRelSchemas = await getGraphServiceNameFromAllRelSchema(_izContext, allRelSchemas);
224
225
 
@@ -262,7 +263,7 @@ async function externalLambdaIamRoleDataDeleteRelationshipSchema(_izContext, all
262
263
 
263
264
  // Process TranslateIds Request
264
265
  async function externalLambdaIamRoleDataTranslateId(_izContext, allRelSchemas, allObjSchemas) {
265
- let functionName = upperCase(FUNCTION_NAME.translateIdsProcess) + upperCase(HANDLER.hdrDsq);
266
+ let functionName = upperCase(SHORT_FUNCTION_NAME.translateIdsProcess) + upperCase(shortNameHandler(HANDLER.hdrDsq));
266
267
  const additionalResourcePermission = [];
267
268
  const graphServiceNamesFromAllRelSchemas = await getGraphServiceNameFromAllRelSchema(_izContext, allRelSchemas);
268
269
  let complexFilterServiceTags = getComplexFilterServiceTag(allObjSchemas);
@@ -296,7 +297,7 @@ async function externalLambdaIamRoleDataTranslateId(_izContext, allRelSchemas, a
296
297
  }
297
298
 
298
299
  async function externalLambdaIamRoleDataFindData(_izContext, allObjSchemas) {
299
- let functionName = upperCase(FUNCTION_NAME.findData) + upperCase(HANDLER.hdrSqs);
300
+ let functionName = upperCase(SHORT_FUNCTION_NAME.findData) + upperCase(shortNameHandler(HANDLER.hdrSqs));
300
301
  let additionalResourcePermission = [];
301
302
  let graphServiceNames = []
302
303
  for (const objectSchema of allObjSchemas) {
@@ -330,7 +331,7 @@ async function externalLambdaIamRoleDataFindData(_izContext, allObjSchemas) {
330
331
 
331
332
 
332
333
  async function externalLambdaIamRoleDataProcessLogical(_izContext, allObjectSchemas) {
333
- let functionName = upperCase(FUNCTION_NAME.processLogical) + upperCase(HANDLER.hdrSqs);
334
+ let functionName = upperCase(SHORT_FUNCTION_NAME.processLogical) + upperCase(shortNameHandler(HANDLER.hdrSqs));
334
335
  let additionalResourcePermission = [];
335
336
  let graphServiceNames = await getGraphServiceNameFromObjectSchema(_izContext, allObjectSchemas)
336
337
  // console.log("graphServiceNameFromProcessLogical::", graphServiceNames)
@@ -1,3 +1,22 @@
1
+ /*
2
+ Copyright (C) 2020 Sven Mason <http://izara.io>
3
+
4
+ This program is free software: you can redistribute it and/or modify
5
+ it under the terms of the GNU Affero General Public License as
6
+ published by the Free Software Foundation, either version 3 of the
7
+ License, or (at your option) any later version.
8
+
9
+ This program is distributed in the hope that it will be useful,
10
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ GNU Affero General Public License for more details.
13
+
14
+ You should have received a copy of the GNU Affero General Public License
15
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
16
+ */
17
+
18
+ 'use strict';
19
+
1
20
  module.exports.generatedSnsTopicSubscription = [ <% datas.forEach(data => { -%>
2
21
  <% data.serviceNames.forEach(serviceName => { -%>
3
22
  {
@@ -89,6 +89,8 @@ const SOURCE_PATH = {
89
89
  resourceYaml: `../../resource/sls_yaml/generatedCode/source/`,
90
90
  externalService: '../initial_setup/generatedCode/source/',
91
91
  lambdaPerAction: '../src/generatedCode/ObjectTypePerActionEndpoint/source/',
92
+ outPerActionComplete: "../src/generatedCode/OutPerActionComplete/source/",
93
+ resourceLocationOutPerActionComplete: "src/generatedCode/OutPerActionComplete/source/",
92
94
  relationshipPerAction: '../src/generatedCode/RelationshipPerAction/source/',
93
95
  findData: '../src/generatedCode/FindData/source/',
94
96
  translateIdsRequestFile: '../src/generatedCode/TranslateId/source/',
@@ -190,6 +192,25 @@ const FUNCTION_NAME = {
190
192
  deleteNodeComplete: "deleteNodeComplete"
191
193
  }
192
194
 
195
+ const SHORT_FUNCTION_NAME = {
196
+ updateRel: "updateRel",
197
+ createRel: "createRel",
198
+ updateRelComplete: "updateRelComp",
199
+ createRelComplete: "createRelComp",
200
+ deleteRel: "deleteRel",
201
+ deleteRelComplete: "deleteRelComp",
202
+ translateId: "translateIdsReq",
203
+ translateIdsProcess: "processTranslateIds",
204
+ outTranslateIds: "processTranslateIdsComp",
205
+ findData: "findData",
206
+ processLogical: "processLogical",
207
+ updateNodeComplete: "updateNodeComp",
208
+ createObjectComplete: "createObjectComp",
209
+ paginateProcessLogical: "paginateProLogical",
210
+ deleteNode: "deleteNode",
211
+ deleteNodeComplete: "deleteNodeComp"
212
+ }
213
+
193
214
  const getGraphServiceNameFromAllRelSchema = async (_izContext, allRelSchemas) => {
194
215
  const graphServiceNameSet = new Set();
195
216
  await Promise.all(allRelSchemas.map(async relSchema => {
@@ -207,10 +228,6 @@ const getGraphServiceNameFromAllRelSchema = async (_izContext, allRelSchemas) =>
207
228
  return graphServiceName
208
229
  }
209
230
 
210
- const TRANSLATEIDS_HANDLER = {
211
- sqs: "HdrSqs",
212
- dsq: "HdrDsq"
213
- }
214
231
  function defaultIamRolePerAction() {
215
232
 
216
233
  let defaultIamRole = [];
@@ -284,6 +301,10 @@ function awaitingMultipleStepsRole() {
284
301
  return awaitingMultipleStepsRole
285
302
  }
286
303
 
304
+ function shortNameHandler(fullNameHandler) {
305
+ return fullNameHandler.slice(3)
306
+ }
307
+
287
308
  module.exports = {
288
309
  ACTIONS,
289
310
  DEFAULT_HANDLER_PER_ACTION,
@@ -305,5 +326,7 @@ module.exports = {
305
326
  defaultIamRolePerAction,
306
327
  getComplexFilterServiceTag,
307
328
  getGraphServiceNameFromObjectSchema,
308
- awaitingMultipleStepsRole
329
+ awaitingMultipleStepsRole,
330
+ shortNameHandler,
331
+ SHORT_FUNCTION_NAME
309
332
  }
@@ -1,119 +0,0 @@
1
- /*
2
- Copyright (C) 2020 Sven Mason <http://izara.io>
3
-
4
- This program is free software: you can redistribute it and/or modify
5
- it under the terms of the GNU Affero General Public License as
6
- published by the Free Software Foundation, either version 3 of the
7
- License, or (at your option) any later version.
8
-
9
- This program is distributed in the hope that it will be useful,
10
- but WITHOUT ANY WARRANTY; without even the implied warranty of
11
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
- GNU Affero General Public License for more details.
13
-
14
- You should have received a copy of the GNU Affero General Public License
15
- along with this program. If not, see <http://www.gnu.org/licenses/>.
16
- */
17
-
18
- 'use strict';
19
- const path = require('path');
20
- const fs = require('fs');
21
-
22
- const { ACTIONS, HANDLER, STORAGE_TYPES } = require('@izara_project/izara-core-library-service-schemas/src/Consts')
23
-
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 } = require("../../../../libs/Consts");
26
-
27
- const templatePath = path.join(__dirname, "./template.ejs")
28
-
29
- function defaultIamRolePerAction() {
30
-
31
- let defaultIamRole = [];
32
-
33
-
34
- defaultIamRole.push(
35
- createIamRole(
36
- {
37
- [RESOURCE_CLASSES.s3]: ["GetObject", "GetObjectVersion"],
38
- },
39
- [
40
- resourceNames(RESOURCE_CLASSES.s3, "object-schema/perServiceSchemas/*"),
41
- resourceNames(RESOURCE_CLASSES.s3, "object-schema/serviceConfig/ServiceNameConfig.json"),
42
- resourceNames(RESOURCE_CLASSES.s3, "object-schema/serviceConfig/GraphServerTags.json"),
43
- ]
44
- )
45
- );
46
-
47
- defaultIamRole.push(
48
- createIamRole(
49
- { [RESOURCE_CLASSES.s3]: ["ListBucket"] },
50
- [
51
- resourceNames(RESOURCE_CLASSES.s3, "object-schema"),
52
- ]
53
- )
54
- );
55
-
56
- return defaultIamRole
57
- }
58
-
59
- /**
60
- * receive objectSchema
61
- * create data for updateRelationshipSchema
62
- *
63
- * @param {Object} objectSchema
64
- * @return {{ templatePath, templateData, setting } }
65
- */
66
-
67
- function data(_izContext, srcPath) {
68
- let createSourceArray = [];
69
-
70
- const createSourceParam = createParamForCreateSource(srcPath);
71
- createSourceArray.push(createSourceParam);
72
- // console.log("createSourceArrayInUpdaterelationShipSchemahdrSqs", createSourceArray)
73
- return createSourceArray
74
- }
75
-
76
-
77
- function createParamForCreateSource(srcPath) {
78
-
79
- let handlerType = HANDLER.hdrApi
80
- let functionName = FUNCTION_NAME.createRel
81
- let additionalResourcePermission = defaultIamRolePerAction();
82
-
83
- additionalResourcePermission.push(
84
- createIamRole(
85
- { [RESOURCE_CLASSES.dynamoDbTable]: [DYNAMO_RESOURCE.putItem] },
86
- [
87
- resourceNames(RESOURCE_CLASSES.dynamoDbTable, "AwaitingMultipleSteps"),
88
- resourceNames(RESOURCE_CLASSES.dynamoDbTable, "AwaitingMultipleStepByPending")
89
- ]
90
- ))
91
-
92
- additionalResourcePermission.push(
93
- createIamRole(
94
- {
95
- [RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish]
96
- },
97
- resourceNames(RESOURCE_CLASSES.sns, "Out" + upperCase(FUNCTION_NAME.createRelComplete))
98
- )
99
- )
100
-
101
- return {
102
- templatePath: templatePath,
103
- templateData: {
104
- functionName,
105
- handlerType,
106
- additionalResourcePermission,
107
- resourceLocation: SOURCE_PATH.resourceLocationUpdateRelationshipSchema
108
- },
109
- setting: {
110
- savePath: path.join(srcPath, SOURCE_PATH.appYaml),
111
- saveFileName: SAVE_FILE_NAME.functionRelationshipYaml,
112
- fileExtension: '.yml',
113
- isAppend: true
114
- }
115
-
116
- }
117
- }
118
-
119
- module.exports = data;