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

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 (105) hide show
  1. package/package.json +2 -2
  2. package/src/GenerateCodeLibs/src/Consts.js +12 -12
  3. package/src/GenerateCodeLibs/src/GenerateCodeLibs.js +1 -2
  4. package/src/MainLibs/src/Utils.js +13 -0
  5. package/src/TemplateManager/src/FindData/FindDataYaml/data.js +3 -2
  6. package/src/TemplateManager/src/FindData/FindDataYaml/template.ejs +1 -1
  7. package/src/TemplateManager/src/FindData/Handler/data.js +1 -6
  8. package/src/TemplateManager/src/GenerateCode.js +3 -5
  9. package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/functionYaml/data.js +1 -1
  10. package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/handler/data.js +1 -1
  11. package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/handler/template.ejs +11 -11
  12. package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/mainFunction/data.js +1 -1
  13. package/src/TemplateManager/src/OutPerActionComplete/OutCreateComplete/mainFunction/template.ejs +5 -8
  14. package/src/TemplateManager/src/OutPerActionComplete/OutDeleteComplete/functionYaml/data.js +1 -1
  15. package/src/TemplateManager/src/OutPerActionComplete/OutDeleteComplete/handler/data.js +1 -1
  16. package/src/TemplateManager/src/OutPerActionComplete/OutDeleteComplete/mainFunction/data.js +1 -1
  17. package/src/TemplateManager/src/OutPerActionComplete/OutDeleteComplete/mainFunction/template.ejs +3 -3
  18. package/src/TemplateManager/src/OutPerActionComplete/OutUpdateComplete/functionYaml/data.js +1 -1
  19. package/src/TemplateManager/src/OutPerActionComplete/OutUpdateComplete/handler/data.js +1 -1
  20. package/src/TemplateManager/src/OutPerActionComplete/OutUpdateComplete/mainFunction/data.js +1 -1
  21. package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrApi/data.js +12 -6
  22. package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrApi/template.ejs +1 -1
  23. package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrDsq/data.js +12 -8
  24. package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrDsq/template.ejs +1 -1
  25. package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrInv/data.js +9 -11
  26. package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrInv/template.ejs +1 -1
  27. package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrSqs/data.js +10 -5
  28. package/src/TemplateManager/src/PerActionEndpoint/FunctionYaml/HdrSqs/template.ejs +1 -1
  29. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrApi/data.js +0 -2
  30. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrDsq/data.js +1 -2
  31. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrDsq/template.ejs +78 -66
  32. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrInv/data.js +0 -2
  33. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrInv/template.ejs +1 -2
  34. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrSqs/data.js +2 -3
  35. package/src/TemplateManager/src/PerActionEndpoint/Handler/HdrSqs/template.ejs +62 -53
  36. package/src/TemplateManager/src/ProcessLogical/Handler/data.js +0 -1
  37. package/src/TemplateManager/src/ProcessLogical/ProcessLogicalYaml/data.js +3 -2
  38. package/src/TemplateManager/src/ProcessLogical/ProcessLogicalYaml/template.ejs +1 -1
  39. package/src/TemplateManager/src/ProcessLogicalPagination/FunctionYaml/HdrDsq/data.js +3 -2
  40. package/src/TemplateManager/src/ProcessLogicalPagination/FunctionYaml/HdrDsq/template.ejs +1 -1
  41. package/src/TemplateManager/src/ProcessLogicalPagination/FunctionYaml/HdrSqs/data.js +3 -2
  42. package/src/TemplateManager/src/ProcessLogicalPagination/FunctionYaml/HdrSqs/template.ejs +1 -1
  43. package/src/TemplateManager/src/ProcessLogicalPagination/Handler/HdrDsq/data.js +1 -3
  44. package/src/TemplateManager/src/ProcessLogicalPagination/Handler/HdrSqs/data.js +1 -3
  45. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrApi/data.js +3 -2
  46. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrApi/template.ejs +1 -1
  47. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrDsq/data.js +3 -2
  48. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrDsq/template.ejs +1 -1
  49. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrInv/data.js +3 -2
  50. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrInv/template.ejs +1 -1
  51. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrSqs/data.js +3 -2
  52. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/functionYaml/HdrSqs/template.ejs +1 -1
  53. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/perAction/HdrApi/data.js +0 -2
  54. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/perAction/HdrDsq/data.js +0 -2
  55. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/perAction/HdrInv/data.js +0 -2
  56. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationship/perAction/HdrSqs/data.js +0 -2
  57. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationshipComplete/functionYaml/data.js +3 -2
  58. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationshipComplete/functionYaml/template.ejs +1 -1
  59. package/src/TemplateManager/src/RelationshipPerAction/CreateRelationship/createRelationshipComplete/handler/HdrSqs/data.js +0 -2
  60. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrApi/data.js +3 -2
  61. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrApi/template.ejs +1 -1
  62. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrDsq/data.js +3 -2
  63. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrDsq/template.ejs +1 -1
  64. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrInv/data.js +2 -1
  65. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrInv/template.ejs +1 -1
  66. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrSqs/data.js +3 -2
  67. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/functionYaml/HdrSqs/template.ejs +1 -1
  68. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/perAction/HdrApi/data.js +0 -2
  69. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/perAction/HdrDsq/data.js +0 -2
  70. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/perAction/HdrInv/data.js +0 -2
  71. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationship/perAction/HdrSqs/data.js +0 -2
  72. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationshipComplete/functionYaml/data.js +3 -2
  73. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationshipComplete/functionYaml/template.ejs +1 -1
  74. package/src/TemplateManager/src/RelationshipPerAction/DeleteRelationship/DeleteRelationshipComplete/handler/HdrSqs/data.js +0 -2
  75. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRalationshipComplete/functionYaml/data.js +3 -2
  76. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRalationshipComplete/functionYaml/template.ejs +1 -1
  77. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRalationshipComplete/handler/HdrSqs/data.js +0 -2
  78. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrApi/data.js +3 -2
  79. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrApi/template.ejs +1 -1
  80. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrDsq/data.js +3 -2
  81. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrDsq/template.ejs +1 -1
  82. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrInv/data.js +4 -2
  83. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrInv/template.ejs +1 -1
  84. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrSqs/data.js +3 -2
  85. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/functionYaml/HdrSqs/template.ejs +1 -1
  86. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/perAction/HdrApi/data.js +0 -2
  87. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/perAction/HdrDsq/data.js +0 -2
  88. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/perAction/HdrInv/data.js +0 -2
  89. package/src/TemplateManager/src/RelationshipPerAction/UpdateRelationshipSchema/updateRelationship/perAction/HdrSqs/data.js +0 -2
  90. package/src/TemplateManager/src/ResourceYaml/dynamodb/mainResourcePerObjectSchemaData.js +3 -3
  91. package/src/TemplateManager/src/ResourceYaml/sns-in-sqs/defaultSnsInSqsForFindDataAndProcessLogical.js +6 -6
  92. package/src/TemplateManager/src/ResourceYaml/sns-out/defaultSnsOutForFindDataAndProcessLogical.js +2 -2
  93. package/src/TemplateManager/src/TranslateIdReq/ProcessingTranslateIds/functionYaml/data.js +3 -2
  94. package/src/TemplateManager/src/TranslateIdReq/ProcessingTranslateIds/functionYaml/template.ejs +1 -1
  95. package/src/TemplateManager/src/TranslateIdReq/ProcessingTranslateIds/handler/dataHdrDsq.js +0 -2
  96. package/src/TemplateManager/src/TranslateIdReq/TranslateIds/functionYaml/HdrDsq/data.js +4 -3
  97. package/src/TemplateManager/src/TranslateIdReq/TranslateIds/functionYaml/HdrDsq/template.ejs +30 -0
  98. package/src/TemplateManager/src/TranslateIdReq/TranslateIds/functionYaml/HdrSqs/data.js +4 -3
  99. package/src/TemplateManager/src/TranslateIdReq/TranslateIds/functionYaml/HdrSqs/template.ejs +30 -0
  100. package/src/TemplateManager/src/TranslateIdReq/TranslateIds/handler/HdrDsq/data.js +0 -2
  101. package/src/TemplateManager/src/TranslateIdReq/TranslateIds/handler/HdrSqs/data.js +0 -2
  102. package/src/TemplateManager/src/externalService/FunctionNameConfig/template.ejs +13 -2
  103. package/src/TemplateManager/src/externalService/LambdaRole/data.js +38 -38
  104. package/src/TemplateManager/src/externalService/SnsTopicSubscriotions/template.ejs +19 -0
  105. package/src/TemplateManager/src/libs/Consts.js +20 -17
@@ -25,7 +25,7 @@ const path = require("path")
25
25
  // STORAGE_TYPES
26
26
  // } = require('@izara_project/izara-core-library-service-schemas/src/Consts');
27
27
 
28
-
28
+ const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase } = require("../../../../MainLibs/src/Utils")
29
29
  const STORAGE_TYPES = {
30
30
  dynamoDB: "dynamoDB",
31
31
  graph: "graph"
@@ -33,7 +33,7 @@ const STORAGE_TYPES = {
33
33
 
34
34
  const snsTemplatePath = path.join(__dirname, './snsTemplate.ejs');
35
35
  const sqsTemplatePath = path.join(__dirname, './sqsTemplate.ejs');
36
- const { SOURCE_PATH, SAVE_FILE_NAME } = require('../../libs/Consts')
36
+ const { SOURCE_PATH, SAVE_FILE_NAME, FUNCTION_NAME, HANDLER } = require('../../libs/Consts')
37
37
 
38
38
 
39
39
  /**
@@ -57,13 +57,13 @@ function createDataForDefaultSnsInSqs(_izContext, srcPath) {
57
57
  let resultsForCreateDefaultSnsInSqs = [];
58
58
  const defaultSnsInSqsDataList = [
59
59
  {
60
- queueName: "FindData"
60
+ queueName: upperCase(FUNCTION_NAME.findData)
61
61
  },
62
62
  {
63
- queueName: "ProcessLogical"
63
+ queueName: upperCase(FUNCTION_NAME.processLogical)
64
64
  },
65
65
  {
66
- queueName: "PaginateProcessLogical"
66
+ queueName: upperCase(FUNCTION_NAME.paginateProcessLogical)
67
67
  }
68
68
  ]
69
69
 
@@ -77,7 +77,7 @@ function createDataForDefaultSnsInSqs(_izContext, srcPath) {
77
77
 
78
78
  let defaultDsqQueueDataList = [
79
79
  {
80
- queueName: "PaginateProcessLogicalHdrDsq"
80
+ queueName: upperCase(FUNCTION_NAME.paginateProcessLogical) + upperCase(HANDLER.hdrDsq)
81
81
  }
82
82
  ]
83
83
  for (let defaultDsqQueueData of defaultDsqQueueDataList) {
@@ -49,10 +49,10 @@ function createDataForDefaultSnsOut(_izContext, srcPath) {
49
49
  let resultsForCreateDefaultSnsOut = [];
50
50
  const defaultSnsOutDataList = [
51
51
  {
52
- "queueName": "FindDataComplete"
52
+ queueName: "OutFindDataComp"
53
53
  },
54
54
  {
55
- "queueName": "ProcessLogicalComplete"
55
+ queueName: "OutProcessLogicalComp"
56
56
  }
57
57
  ]
58
58
 
@@ -22,7 +22,7 @@ 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, 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, defaultIamRolePerAction, SNS_RESOURCE, DYNAMO_RESOURCE, shortNameHandler } = require("../../../libs/Consts");
26
26
  const templatePath = path.join(__dirname, "./template.ejs");
27
27
 
28
28
  /**
@@ -79,7 +79,8 @@ function createParamForCreateSource(_izContext, srcPath) {
79
79
  functionName,
80
80
  handlerType,
81
81
  additionalResourcePermission,
82
- resourceLocation: SOURCE_PATH.resourceLocationTranslateId
82
+ resourceLocation: SOURCE_PATH.resourceLocationTranslateId,
83
+ functionNameConfig: upperCase(functionName) + upperCase(shortNameHandler(handlerType))
83
84
  },
84
85
  setting: {
85
86
  savePath: path.join(srcPath, SOURCE_PATH.appYaml),
@@ -1,5 +1,5 @@
1
1
  <%_ const join = require('path').join; _%>
2
- <%- firstLetterUpperCase(functionName) %><%- firstLetterUpperCase(handlerType) %>:
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
5
  events:
@@ -33,14 +33,12 @@ function createParamsForCreateSource(_izContext, srcPath) {
33
33
  let functionName = (FUNCTION_NAME.translateIdsProcess);
34
34
  let handlerType = upperCase(HANDLER.hdrDsq)
35
35
  let queueName = upperCase(functionName) + handlerType;
36
- let functionNameConfig = `${upperCase(functionName)}${handlerType}`
37
36
  return {
38
37
  templatePath: templatePath,
39
38
  templateData: {
40
39
  functionName,
41
40
  queueName,
42
41
  handlerType,
43
- functionNameConfig
44
42
  },
45
43
  setting: {
46
44
  savePath: path.join(srcPath, SOURCE_PATH.translateIdsRequestFile),
@@ -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 } = 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(functionName) + 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 } = 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(functionName) + 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,11 @@ 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 } = require("../../libs/Consts");
29
30
  // const templatePath = path.join(__dirname, "./template.ejs");
30
31
  const templatePath = path.join(__dirname, "./template.ejs");
31
32
  const { getAllLocalRelationshipSchemas } = require('@izara_project/izara-core-library-service-schemas/src/GetObjectSchema')
@@ -36,17 +37,18 @@ const createExternalLambdaRole = async (_izContext, allObjSchemas, allRelSchemas
36
37
  const externalLambdaIamRoleArray = [];
37
38
  for (const objectSchema of allObjSchemas) {
38
39
 
40
+ const newObjectSchema = renameObjectType(objectSchema, srcPath)
39
41
  // per action external lambda role
40
42
  for (const action of Object.values(ACTIONS)) {
41
43
  if (objectSchema.overWriteHandlers?.[action]) {
42
44
  for (const handler of objectSchema.overWriteHandlers[action]) {
43
- const externalLambdaIamRole = await externalLambdaIamRoleDataPerAction(_izContext, objectSchema, action, handler)
45
+ const externalLambdaIamRole = await externalLambdaIamRoleDataPerAction(_izContext, newObjectSchema, action, handler)
44
46
  externalLambdaIamRole && externalLambdaIamRoleArray.push(externalLambdaIamRole);
45
47
  }
46
48
 
47
49
  } else {
48
50
  for (const handler of DEFAULT_HANDLER_PER_ACTION[action]) {
49
- const externalLambdaIamRole = await externalLambdaIamRoleDataPerAction(_izContext, objectSchema, action, handler)
51
+ const externalLambdaIamRole = await externalLambdaIamRoleDataPerAction(_izContext, newObjectSchema, action, handler)
50
52
  externalLambdaIamRole && externalLambdaIamRoleArray.push(externalLambdaIamRole);
51
53
  }
52
54
  }
@@ -109,7 +111,7 @@ const createExternalLambdaRole = async (_izContext, allObjSchemas, allRelSchemas
109
111
  }
110
112
 
111
113
  async function externalLambdaIamRoleDataPerAction(_izContext, objectSchema, action, handler) {
112
- const objectType = objectSchema.objectType;
114
+ const objectType = objectSchema?.shortNameObjectType ? objectSchema?.shortNameObjectType : objectSchema.objectType;
113
115
  const additionalResourcePermission = [];
114
116
  const graphServiceNames = [];
115
117
  for (const storgaeResource of Object.values(objectSchema.storageResources)) {
@@ -121,10 +123,14 @@ async function externalLambdaIamRoleDataPerAction(_izContext, objectSchema, acti
121
123
  }
122
124
  }
123
125
 
124
- let functionName = upperCase(objectType) + upperCase(action) + upperCase(handler);
125
126
 
126
- if (action === ACTIONS.get) {
127
- if (!graphServiceNames) {
127
+ // let functionName = upperCase(objectType) + upperCase(action) + upperCase(shortNameHandler(handler));
128
+ let functionName = upperCase(objectType) + upperCase(action) + upperCase(shortNameHandler(handler));
129
+
130
+ if (!graphServiceNames.length) {
131
+ return
132
+ } else {
133
+ if (action === ACTIONS.get) {
128
134
  additionalResourcePermission.push(
129
135
  createIamRole(
130
136
  { [RESOURCE_CLASSES.lambda]: [LAMBDA_RESOURCE.invokeFunction] },
@@ -133,12 +139,8 @@ async function externalLambdaIamRoleDataPerAction(_izContext, objectSchema, acti
133
139
  )
134
140
  )
135
141
  )
136
- }
137
-
138
- } else if (action === ACTIONS.update) {
139
- if (!graphServiceNames) {
140
- return
141
- } else {
142
+ // }
143
+ } else if (action === ACTIONS.update) {
142
144
  additionalResourcePermission.push(
143
145
  createIamRole(
144
146
  {
@@ -149,12 +151,8 @@ async function externalLambdaIamRoleDataPerAction(_izContext, objectSchema, acti
149
151
  )
150
152
  )
151
153
  )
152
- }
153
-
154
- } else if (action === ACTIONS.create) {
155
- if (!graphServiceNames.length) {
156
- return
157
- } else {
154
+ // }
155
+ } else if (action === ACTIONS.create) {
158
156
  additionalResourcePermission.push(
159
157
  createIamRole(
160
158
  {
@@ -165,20 +163,22 @@ async function externalLambdaIamRoleDataPerAction(_izContext, objectSchema, acti
165
163
  )
166
164
  )
167
165
  )
166
+ // }
167
+ } else if (action === ACTIONS.delete) {
168
+ return
169
+ // additionalResourcePermission.push(
170
+ // createIamRole(
171
+ // {
172
+ // [RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish]
173
+ // },
174
+ // graphServiceNames.map(graphServiceName =>
175
+ // externalResourceSns("InDeleteNode", graphServiceName)
176
+ // )
177
+ // )
178
+ // )
179
+ } else {
180
+ throw new error("Invalid action")
168
181
  }
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
182
  }
183
183
 
184
184
 
@@ -192,7 +192,7 @@ async function externalLambdaIamRoleDataPerAction(_izContext, objectSchema, acti
192
192
 
193
193
  // update Relationship
194
194
  async function externalLambdaIamRoleDataUpdateRelationshipSchema(_izContext, allRelSchemas, handler) {
195
- const functionName = upperCase(FUNCTION_NAME.updateRel) + upperCase(handler);
195
+ const functionName = upperCase(FUNCTION_NAME.updateRel) + upperCase(shortNameHandler(handler));
196
196
  const additionalResourcePermission = [];
197
197
  const graphServiceNamesFromAllRelSchemas = await getGraphServiceNameFromAllRelSchema(_izContext, allRelSchemas);
198
198
 
@@ -218,7 +218,7 @@ async function externalLambdaIamRoleDataUpdateRelationshipSchema(_izContext, all
218
218
  // create relationship
219
219
 
220
220
  async function externalLambdaIamRoleDataCreateRelationshipSchema(_izContext, allRelSchemas, handler) {
221
- const functionName = upperCase(FUNCTION_NAME.createRel) + upperCase(handler);
221
+ const functionName = upperCase(FUNCTION_NAME.createRel) + upperCase(shortNameHandler(handler));
222
222
  const additionalResourcePermission = [];
223
223
  const graphServiceNamesFromAllRelSchemas = await getGraphServiceNameFromAllRelSchema(_izContext, allRelSchemas);
224
224
 
@@ -262,7 +262,7 @@ async function externalLambdaIamRoleDataDeleteRelationshipSchema(_izContext, all
262
262
 
263
263
  // Process TranslateIds Request
264
264
  async function externalLambdaIamRoleDataTranslateId(_izContext, allRelSchemas, allObjSchemas) {
265
- let functionName = upperCase(FUNCTION_NAME.translateIdsProcess) + upperCase(HANDLER.hdrDsq);
265
+ let functionName = upperCase(FUNCTION_NAME.translateIdsProcess) + upperCase(shortNameHandler(HANDLER.hdrDsq));
266
266
  const additionalResourcePermission = [];
267
267
  const graphServiceNamesFromAllRelSchemas = await getGraphServiceNameFromAllRelSchema(_izContext, allRelSchemas);
268
268
  let complexFilterServiceTags = getComplexFilterServiceTag(allObjSchemas);
@@ -296,7 +296,7 @@ async function externalLambdaIamRoleDataTranslateId(_izContext, allRelSchemas, a
296
296
  }
297
297
 
298
298
  async function externalLambdaIamRoleDataFindData(_izContext, allObjSchemas) {
299
- let functionName = upperCase(FUNCTION_NAME.findData) + upperCase(HANDLER.hdrSqs);
299
+ let functionName = upperCase(FUNCTION_NAME.findData) + upperCase(shortNameHandler(HANDLER.hdrSqs));
300
300
  let additionalResourcePermission = [];
301
301
  let graphServiceNames = []
302
302
  for (const objectSchema of allObjSchemas) {
@@ -330,7 +330,7 @@ async function externalLambdaIamRoleDataFindData(_izContext, allObjSchemas) {
330
330
 
331
331
 
332
332
  async function externalLambdaIamRoleDataProcessLogical(_izContext, allObjectSchemas) {
333
- let functionName = upperCase(FUNCTION_NAME.processLogical) + upperCase(HANDLER.hdrSqs);
333
+ let functionName = upperCase(FUNCTION_NAME.processLogical) + upperCase(shortNameHandler(HANDLER.hdrSqs));
334
334
  let additionalResourcePermission = [];
335
335
  let graphServiceNames = await getGraphServiceNameFromObjectSchema(_izContext, allObjectSchemas)
336
336
  // 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/',
@@ -172,22 +174,22 @@ const SAVE_FILE_NAME = {
172
174
  }
173
175
 
174
176
  const FUNCTION_NAME = {
175
- updateRel: "updateRelationship",
176
- createRel: "createRelationship",
177
- updateRelComplete: "updateRelationshipComplete",
178
- createRelComplete: "createRelationshipComplete",
179
- deleteRel: "deleteRelationship",
180
- deleteRelComplete: "deleteRelationshipComplete",
181
- translateId: "translateIdsRequest",
177
+ updateRel: "updateRel",
178
+ createRel: "createRel",
179
+ updateRelComplete: "updateRelComp",
180
+ createRelComplete: "createRelComp",
181
+ deleteRel: "deleteRel",
182
+ deleteRelComplete: "deleteRelComp",
183
+ translateId: "translateIdsReq",
182
184
  translateIdsProcess: "processTranslateIds",
183
- outTranslateIds: "processTranslateIdsComplete",
185
+ outTranslateIds: "processTranslateIdsComp",
184
186
  findData: "findData",
185
187
  processLogical: "processLogical",
186
- updateNodeComplete: "updateNodeComplete",
187
- createObjectComplete: "createObjectComplete",
188
- paginateProcessLogical: "paginateProcessLogical",
188
+ updateNodeComplete: "updateNodeComp",
189
+ createObjectComplete: "createObjectComp",
190
+ paginateProcessLogical: "paginateProLogical",
189
191
  deleteNode: "deleteNode",
190
- deleteNodeComplete: "deleteNodeComplete"
192
+ deleteNodeComplete: "deleteNodeComp"
191
193
  }
192
194
 
193
195
  const getGraphServiceNameFromAllRelSchema = async (_izContext, allRelSchemas) => {
@@ -207,10 +209,6 @@ const getGraphServiceNameFromAllRelSchema = async (_izContext, allRelSchemas) =>
207
209
  return graphServiceName
208
210
  }
209
211
 
210
- const TRANSLATEIDS_HANDLER = {
211
- sqs: "HdrSqs",
212
- dsq: "HdrDsq"
213
- }
214
212
  function defaultIamRolePerAction() {
215
213
 
216
214
  let defaultIamRole = [];
@@ -284,6 +282,10 @@ function awaitingMultipleStepsRole() {
284
282
  return awaitingMultipleStepsRole
285
283
  }
286
284
 
285
+ function shortNameHandler(fullNameHandler) {
286
+ return fullNameHandler.slice(3)
287
+ }
288
+
287
289
  module.exports = {
288
290
  ACTIONS,
289
291
  DEFAULT_HANDLER_PER_ACTION,
@@ -305,5 +307,6 @@ module.exports = {
305
307
  defaultIamRolePerAction,
306
308
  getComplexFilterServiceTag,
307
309
  getGraphServiceNameFromObjectSchema,
308
- awaitingMultipleStepsRole
310
+ awaitingMultipleStepsRole,
311
+ shortNameHandler
309
312
  }