@izara_project/izara-core-generate-service-code 1.0.2 → 1.0.4
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.
- package/index.js +0 -2
- package/package.json +3 -3
- package/src/GenerateCode.js +5 -4
- package/src/GenerateResources.js +4 -3
- package/src/GenerateTests.js +6 -7
- package/src/TemplateConfig.js +18 -18
- package/src/TemplateData/EndpointPerService/generateTemplateData.js +1 -1
- package/src/TemplateData/EndpointPerService/mainFunction/create/template.ejs +37 -39
- package/src/TemplateData/EndpointPerService/mainFunction/delete/template.ejs +7 -12
- package/src/TemplateData/EndpointPerService/mainFunction/get/template.ejs +7 -10
- package/src/TemplateData/EndpointPerService/mainFunction/update/template.ejs +24 -31
- package/src/TemplateData/IntTest/generateResources/generateResources.js +4 -3
- package/src/TemplateData/IntTest/generateTests/events/data.js +3 -1
- package/src/TemplateData/IntTest/generateTests/generateTemplate.js +4 -2
- package/src/TemplateData/IntTest/generateTests/pathIntTest/data.js +2 -2
- package/src/TemplateData/IntTest/generateTests/tests/data.js +9 -8
- package/src/TemplateData/IntTest/libs/libs.js +4 -35
- package/src/TemplateData/IntTest/upload/uploadIntTest.js +4 -3
- package/src/TemplateData/externalService/lambdaRole/template.ejs +1 -3
- package/src/TemplateData/externalService/snsTopicSubscriptions/template.ejs +0 -2
- package/src/TemplateData/findData/findDataYaml/data.js +2 -1
- package/src/TemplateData/findData/mainFunction/data.js +1 -1
- package/src/TemplateData/flowSchema/CreateRecordComplete/functionYaml/data.js +9 -5
- package/src/TemplateData/flowSchema/CreateRecordComplete/handler/data.js +3 -3
- package/src/TemplateData/flowSchema/CreateRecordComplete/mainFunction/data.js +3 -3
- package/src/TemplateData/flowSchema/CreateRecordComplete/queue/data.js +3 -3
- package/src/TemplateData/flowSchema/components/upload/confirmReserved/functionYaml/data.js +11 -8
- package/src/TemplateData/flowSchema/components/upload/confirmReserved/handler/data.js +3 -3
- package/src/TemplateData/flowSchema/components/upload/confirmReserved/mainFunction/data.js +1 -1
- package/src/TemplateData/flowSchema/components/upload/confirmReserved/mainFunction/template.ejs +1 -1
- package/src/TemplateData/flowSchema/components/upload/confirmReserved/queue/data.js +3 -2
- package/src/TemplateData/flowSchema/components/upload/createObject/functionYaml/data.js +11 -7
- package/src/TemplateData/flowSchema/components/upload/createObject/handler/data.js +3 -3
- package/src/TemplateData/flowSchema/components/upload/createObject/mainFunction/data.js +4 -3
- package/src/TemplateData/flowSchema/components/upload/createObject/mainFunction/template.ejs +2 -2
- package/src/TemplateData/flowSchema/components/upload/createObjectComplete/functionYaml/data.js +9 -7
- package/src/TemplateData/flowSchema/components/upload/createObjectComplete/handler/data.js +3 -3
- package/src/TemplateData/flowSchema/components/upload/createObjectComplete/mainFunction/data.js +3 -3
- package/src/TemplateData/flowSchema/components/upload/createObjectComplete/sns-sqs/data.js +3 -3
- package/src/TemplateData/flowSchema/components/upload/preSignUrl/createPresignUrl/functionYaml/data.js +11 -7
- package/src/TemplateData/flowSchema/components/upload/preSignUrl/createPresignUrl/handler/data.js +3 -3
- package/src/TemplateData/flowSchema/components/upload/preSignUrl/createPresignUrl/mainFunction/data.js +3 -3
- package/src/TemplateData/flowSchema/components/upload/preSignUrl/createPresignUrl/mainFunction/template.ejs +2 -2
- package/src/TemplateData/flowSchema/components/upload/preSignUrl/createPresignUrl/queue/data.js +2 -4
- package/src/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/functionYaml/data.js +15 -9
- package/src/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/handler/data.js +3 -3
- package/src/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/mainFunction/data.js +2 -1
- package/src/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/mainFunction/template.ejs +1 -1
- package/src/TemplateData/flowSchema/components/upload/preSignUrl/reservedLimit/sqs/data.js +3 -5
- package/src/TemplateData/flowSchema/components/upload/processFile/functionYml/HdrS3/data.js +10 -5
- package/src/TemplateData/flowSchema/components/upload/processFile/handler/handlerS3/data.js +2 -1
- package/src/TemplateData/flowSchema/components/upload/processFile/mainFunction/data.js +2 -1
- package/src/TemplateData/flowSchema/components/upload/processFile/mainFunction/template.ejs +0 -2
- package/src/TemplateData/flowSchema/components/upload/processFile/queue/data.js +1 -1
- package/src/TemplateData/flowSchema/components/upload/relate/S3/data.js +1 -1
- package/src/TemplateData/flowSchema/components/upload/relate/libs/data.js +1 -1
- package/src/TemplateData/flowSchema/components/upload/relate/sns-out/data.js +2 -1
- package/src/TemplateData/flowSchema/components/websocket/connect/functionYaml/data.js +9 -4
- package/src/TemplateData/flowSchema/components/websocket/connect/handler/data.js +1 -1
- package/src/TemplateData/flowSchema/components/websocket/dynamoDb/ReservedTableData.js +1 -2
- package/src/TemplateData/flowSchema/components/websocket/dynamoDb/WebSocketTaskData.js +1 -1
- package/src/TemplateData/flowSchema/components/websocket/dynamoDb/userUploadRecords.js +1 -1
- package/src/TemplateData/flowSchema/dynamoDb/data.js +2 -1
- package/src/TemplateData/flowSchema/eventBridge/functionYaml/data.js +9 -4
- package/src/TemplateData/flowSchema/eventBridge/handler/inv/data.js +2 -1
- package/src/TemplateData/flowSchema/eventBridge/mainFunction/data.js +2 -1
- package/src/TemplateData/flowSchema/externalTopic/Complete/functionYaml/data.js +9 -6
- package/src/TemplateData/flowSchema/externalTopic/Complete/handler/data.js +2 -19
- package/src/TemplateData/flowSchema/externalTopic/Complete/mainFunction/data.js +3 -1
- package/src/TemplateData/flowSchema/externalTopic/Process/functionYaml/data.js +12 -5
- package/src/TemplateData/flowSchema/externalTopic/Process/handler/data.js +4 -1
- package/src/TemplateData/flowSchema/externalTopic/sns-in-sqs/data.js +3 -1
- package/src/TemplateData/flowSchema/externalTopic/sns-out/data.js +5 -6
- package/src/TemplateData/flowSchema/flowSchemaMainFunction/data.js +5 -9
- package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComplete/functionYaml/data.js +10 -5
- package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComplete/handler/data.js +3 -3
- package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComplete/mainFunction/data.js +3 -3
- package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComponent/functionYaml/data.js +65 -58
- package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComponent/functionYaml/template.ejs +0 -4
- package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComponent/handler/DsqHandlerTemplate.ejs +91 -0
- package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComponent/handler/data.js +31 -16
- package/src/TemplateData/flowSchema/flowSchemaOwnTopic/FlowSchemaComponent/functionYaml/data.js +10 -5
- package/src/TemplateData/flowSchema/flowSchemaOwnTopic/FlowSchemaComponent/handler/data.js +4 -3
- package/src/TemplateData/flowSchema/flowSchemaOwnTopic/FlowSchemaComponent/handler/template.ejs +5 -6
- package/src/TemplateData/flowSchema/flowSchemaOwnTopic/FlowSchemaComponent/mainFunction/data.js +3 -1
- package/src/TemplateData/flowSchema/flowSchemaOwnTopic/FlowSchemaComponent/mainFunction/template.ejs +3 -3
- package/src/TemplateData/flowSchema/flowSchemaOwnTopic/sns-in/data.js +3 -3
- package/src/TemplateData/flowSchema/flowSchemaOwnTopic/sns-out/data.js +3 -3
- package/src/TemplateData/flowSchema/flowStep/functionYaml/data.js +13 -8
- package/src/TemplateData/flowSchema/flowStep/handler/data.js +3 -3
- package/src/TemplateData/flowSchema/flowStep/mainFunction/data.js +2 -1
- package/src/TemplateData/flowSchema/flowStep/sns-in/data.js +3 -3
- package/src/TemplateData/flowSchema/generateTemplateData.js +1 -6
- package/src/TemplateData/flowSchema/lambdaSync/Api/functionYaml/data.js +10 -3
- package/src/TemplateData/flowSchema/lambdaSync/Api/handler/data.js +3 -1
- package/src/TemplateData/flowSchema/lambdaSync/Inv/functionYaml/data.js +9 -3
- package/src/TemplateData/flowSchema/lambdaSync/Inv/handler/data.js +2 -1
- package/src/TemplateData/flowSchema/register/complete/functionYaml/data.js +11 -5
- package/src/TemplateData/flowSchema/register/complete/handler/data.js +2 -1
- package/src/TemplateData/flowSchema/register/complete/mainFunction/data.js +2 -1
- package/src/TemplateData/flowSchema/register/dynamoDB/register.js +2 -4
- package/src/TemplateData/flowSchema/register/sns-in/data.js +3 -4
- package/src/TemplateData/flowSchema/register/subscriptionOutAll/data.js +3 -3
- package/src/TemplateData/flowSchema/register/wbs/functionYaml/data.js +10 -5
- package/src/TemplateData/flowSchema/register/wbs/handler/data.js +2 -1
- package/src/TemplateData/flowSchema/register/wbs/mainFunction/data.js +2 -1
- package/src/TemplateData/flowSchema/statusFieldComponent/FunctionYaml/data.js +14 -6
- package/src/TemplateData/flowSchema/statusFieldComponent/Handler/data.js +4 -7
- package/src/TemplateData/flowSchema/statusFieldComponent/MainFunction/data.js +4 -3
- package/src/TemplateData/flowSchema/statusFieldComponent/sns/data.js +3 -3
- package/src/TemplateData/flowSchema/triggerCacheComponent/checkTriggerCacheComplete/functionYaml/data.js +12 -8
- package/src/TemplateData/flowSchema/triggerCacheComponent/checkTriggerCacheComplete/handler/data.js +3 -3
- package/src/TemplateData/flowSchema/triggerCacheComponent/checkTriggerCacheComplete/mainFunction/data.js +3 -3
- package/src/TemplateData/flowSchema/triggerCacheComponent/processTriggerCache/functionYaml/data.js +12 -6
- package/src/TemplateData/flowSchema/triggerCacheComponent/processTriggerCache/handler/data.js +2 -1
- package/src/TemplateData/flowSchema/triggerCacheComponent/processTriggerCache/mainFunction/data.js +2 -1
- package/src/TemplateData/flowSchema/triggerCacheComponent/triggerCacheComplete/functionYaml/data.js +11 -8
- package/src/TemplateData/flowSchema/triggerCacheComponent/triggerCacheComplete/handler/data.js +2 -1
- package/src/TemplateData/flowSchema/triggerCacheComponent/triggerCacheComplete/mainFunction/data.js +3 -3
- package/src/TemplateData/flowSchema/triggerCacheComponent/triggerCacheComplete/mainFunction/template.ejs +10 -4
- package/src/TemplateData/flowSchema/triggerCacheComponent/triggerCacheQueue/data.js +4 -11
- package/src/TemplateData/flowSchema/webSocketComplete/functionYaml/data.js +11 -8
- package/src/TemplateData/flowSchema/webSocketComplete/handler/data.js +2 -1
- package/src/TemplateData/flowSchema/webSocketComplete/mainFunction/data.js +1 -1
- package/src/TemplateData/flowSchema/webSocketComplete/sqs/data.js +3 -3
- package/src/TemplateData/generateRole/data.js +7 -2
- package/src/TemplateData/perActionComplete/create/handler/data.js +3 -3
- package/src/TemplateData/perActionComplete/create/mainFunction/data.js +3 -3
- package/src/TemplateData/perActionComplete/create/mainFunction/template.ejs +2 -2
- package/src/TemplateData/perActionComplete/create/sns-in-sqs/data.js +3 -3
- package/src/TemplateData/perActionComplete/create/sns-out/data.js +3 -3
- package/src/TemplateData/perActionComplete/create/yaml/data.js +11 -7
- package/src/TemplateData/perActionComplete/delete/handler/data.js +3 -3
- package/src/TemplateData/perActionComplete/delete/mainFunction/data.js +4 -3
- package/src/TemplateData/perActionComplete/delete/mainFunction/template.ejs +3 -4
- package/src/TemplateData/perActionComplete/delete/sns-in-sqs/data.js +4 -3
- package/src/TemplateData/perActionComplete/delete/sns-out/data.js +3 -3
- package/src/TemplateData/perActionComplete/delete/yaml/data.js +11 -7
- package/src/TemplateData/perActionComplete/get/handler/data.js +3 -3
- package/src/TemplateData/perActionComplete/get/mainFunction/data.js +3 -4
- package/src/TemplateData/perActionComplete/get/mainFunction/template.ejs +2 -2
- package/src/TemplateData/perActionComplete/get/sns-in-sqs/data.js +3 -3
- package/src/TemplateData/perActionComplete/get/sns-out/data.js +3 -3
- package/src/TemplateData/perActionComplete/get/yaml/data.js +12 -7
- package/src/TemplateData/perActionComplete/update/handler/data.js +3 -3
- package/src/TemplateData/perActionComplete/update/mainFunction/data.js +3 -3
- package/src/TemplateData/perActionComplete/update/mainFunction/template.ejs +2 -2
- package/src/TemplateData/perActionComplete/update/sns-in-sqs/data.js +3 -3
- package/src/TemplateData/perActionComplete/update/sns-out/data.js +4 -6
- package/src/TemplateData/perActionComplete/update/yaml/data.js +11 -7
- package/src/TemplateData/processLogical/handler/data.js +3 -3
- package/src/TemplateData/processLogical/mainFunction/data.js +2 -1
- package/src/TemplateData/processLogical/yaml/data.js +10 -7
- package/src/TemplateData/processLogicalPagination/DsqYaml/data.js +1 -1
- package/src/TemplateData/processLogicalPagination/handler/dsq/data.js +2 -1
- package/src/TemplateData/processLogicalPagination/handler/sqs/data.js +2 -1
- package/src/TemplateData/processLogicalPagination/mainFunction/data.js +2 -1
- package/src/TemplateData/processLogicalPagination/yaml/dsq/data.js +11 -7
- package/src/TemplateData/processLogicalPagination/yaml/sqs/data.js +9 -6
- package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/data.js +12 -7
- package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/data.js +3 -3
- package/src/TemplateData/relationshipPerAction/changeRelationship/action/mainFunction/data.js +3 -3
- package/src/TemplateData/relationshipPerAction/changeRelationship/action/mainFunction/template.ejs +2 -2
- package/src/TemplateData/relationshipPerAction/changeRelationship/action/sns-in-sqs/data.js +5 -3
- package/src/TemplateData/relationshipPerAction/changeRelationship/complete/functionYaml/data.js +11 -7
- package/src/TemplateData/relationshipPerAction/changeRelationship/complete/handler/sqs/data.js +3 -3
- package/src/TemplateData/relationshipPerAction/changeRelationship/complete/mainFunction/data.js +3 -3
- package/src/TemplateData/relationshipPerAction/changeRelationship/complete/mainFunction/template.ejs +12 -11
- package/src/TemplateData/relationshipPerAction/changeRelationship/complete/sns-in-sqs/data.js +3 -3
- package/src/TemplateData/relationshipPerAction/changeRelationship/complete/sns-out/data.js +2 -1
- package/src/TemplateData/relationshipPerAction/create/action/functionYaml/data.js +20 -15
- package/src/TemplateData/relationshipPerAction/create/action/handler/data.js +4 -3
- package/src/TemplateData/relationshipPerAction/create/action/mainFunction/data.js +4 -3
- package/src/TemplateData/relationshipPerAction/create/action/mainFunction/template.ejs +2 -2
- package/src/TemplateData/relationshipPerAction/create/action/sns-in-sqs/data.js +6 -4
- package/src/TemplateData/relationshipPerAction/create/complete/functionYaml/data.js +14 -10
- package/src/TemplateData/relationshipPerAction/create/complete/handler/sqs/data.js +3 -3
- package/src/TemplateData/relationshipPerAction/create/complete/mainFunction/data.js +3 -3
- package/src/TemplateData/relationshipPerAction/create/complete/mainFunction/template.ejs +3 -2
- package/src/TemplateData/relationshipPerAction/create/complete/sns-in-sqs/data.js +3 -3
- package/src/TemplateData/relationshipPerAction/create/complete/sns-out/data.js +3 -4
- package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/data.js +20 -15
- package/src/TemplateData/relationshipPerAction/delete/action/handler/data.js +4 -4
- package/src/TemplateData/relationshipPerAction/delete/action/mainFunction/data.js +4 -7
- package/src/TemplateData/relationshipPerAction/delete/action/mainFunction/template.ejs +2 -2
- package/src/TemplateData/relationshipPerAction/delete/action/sns-in-sqs/data.js +5 -3
- package/src/TemplateData/relationshipPerAction/delete/complete/functionYaml/data.js +11 -7
- package/src/TemplateData/relationshipPerAction/delete/complete/handler/sqs/data.js +2 -1
- package/src/TemplateData/relationshipPerAction/delete/complete/mainFunction/data.js +3 -3
- package/src/TemplateData/relationshipPerAction/delete/complete/mainFunction/template.ejs +4 -5
- package/src/TemplateData/relationshipPerAction/delete/complete/sns-in-sqs/data.js +3 -3
- package/src/TemplateData/relationshipPerAction/delete/complete/sns-out/data.js +3 -3
- package/src/TemplateData/relationshipPerAction/generateTemplateData.js +1 -1
- package/src/TemplateData/relationshipPerAction/get/action/functionYaml/data.js +19 -16
- package/src/TemplateData/relationshipPerAction/get/action/handler/data.js +4 -4
- package/src/TemplateData/relationshipPerAction/get/action/mainFunction/data.js +3 -4
- package/src/TemplateData/relationshipPerAction/get/action/mainFunction/template.ejs +6 -3
- package/src/TemplateData/relationshipPerAction/get/action/sns-in-sqs/data.js +5 -3
- package/src/TemplateData/relationshipPerAction/get/complete/functionYaml/data.js +13 -9
- package/src/TemplateData/relationshipPerAction/get/complete/handler/sqs/data.js +2 -1
- package/src/TemplateData/relationshipPerAction/get/complete/mainFunction/data.js +3 -3
- package/src/TemplateData/relationshipPerAction/get/complete/mainFunction/template.ejs +3 -2
- package/src/TemplateData/relationshipPerAction/get/complete/sns-in-sqs/data.js +2 -1
- package/src/TemplateData/relationshipPerAction/get/complete/sns-out/data.js +3 -3
- package/src/TemplateData/relationshipPerAction/moveRelationship/action/functionYaml/data.js +17 -13
- package/src/TemplateData/relationshipPerAction/moveRelationship/action/handler/data.js +4 -3
- package/src/TemplateData/relationshipPerAction/moveRelationship/action/mainFunction/data.js +6 -4
- package/src/TemplateData/relationshipPerAction/moveRelationship/action/mainFunction/template.ejs +6 -3
- package/src/TemplateData/relationshipPerAction/moveRelationship/action/sns-in-sqs/data.js +6 -4
- package/src/TemplateData/relationshipPerAction/moveRelationship/complete/functionYaml/data.js +13 -9
- package/src/TemplateData/relationshipPerAction/moveRelationship/complete/handler/sqs/data.js +3 -3
- package/src/TemplateData/relationshipPerAction/moveRelationship/complete/mainFunction/data.js +3 -3
- package/src/TemplateData/relationshipPerAction/moveRelationship/complete/mainFunction/template.ejs +3 -2
- package/src/TemplateData/relationshipPerAction/moveRelationship/complete/sns-in-sqs/data.js +3 -3
- package/src/TemplateData/relationshipPerAction/moveRelationship/complete/sns-out/data.js +3 -3
- package/src/TemplateData/relationshipPerAction/update/action/functionYaml/data.js +20 -15
- package/src/TemplateData/relationshipPerAction/update/action/handler/data.js +4 -4
- package/src/TemplateData/relationshipPerAction/update/action/mainFunction/data.js +4 -4
- package/src/TemplateData/relationshipPerAction/update/action/mainFunction/template.ejs +6 -3
- package/src/TemplateData/relationshipPerAction/update/action/sns-in-sqs/data.js +4 -3
- package/src/TemplateData/relationshipPerAction/update/action/sns-out/data.js +5 -6
- package/src/TemplateData/relationshipPerAction/update/complete/functionYaml/data.js +13 -10
- package/src/TemplateData/relationshipPerAction/update/complete/handler/sqs/data.js +3 -3
- package/src/TemplateData/relationshipPerAction/update/complete/mainFunction/data.js +2 -1
- package/src/TemplateData/relationshipPerAction/update/complete/mainFunction/template.ejs +3 -2
- package/src/TemplateData/relationshipPerAction/update/complete/sns-in-sqs/data.js +3 -3
- package/src/TemplateData/relationshipPerAction/update/complete/sns-out/data.js +3 -3
- package/src/TemplateData/resourceYaml/dynamodb/defaultDynamoDbTable.js +1 -1
- package/src/TemplateData/resourceYaml/dynamodb/generateDynamoPerLink.js +7 -3
- package/src/TemplateData/resourceYaml/dynamodb/mainResourcePerObjectSchemaData.js +2 -1
- package/src/TemplateData/resourceYaml/filterGenerateResource/data.js +5 -3
- package/src/TemplateData/resourceYaml/generateTemplateData.js +5 -2
- package/src/TemplateData/resourceYaml/sns-in-sqs/defaultSnsInSqsForFindDataAndProcessLogical.js +3 -3
- package/src/TemplateData/resourceYaml/sns-in-sqs/snsAndSqsPerActionData.js +4 -3
- package/src/TemplateData/resourceYaml/sns-out/data.js +3 -3
- package/src/TemplateData/resourceYaml/sns-out/defaultSnsOutForFindDataAndProcessLogical.js +2 -1
- package/src/libs/GenerateCodeLibs.js +1 -1
- package/src/libs/Libs.js +22 -0
- package/src/libs/Utils.js +4 -4
- package/src/GenerateSchema.js +0 -164
- package/src/SchemaConfig.js +0 -23
- package/src/TemplateData/EndpointPerService/mainFunction/create/backupTemplate.ejs +0 -358
- package/src/TemplateData/perActionEndpoint/generateTemplateData.js +0 -112
- package/src/TemplateData/perActionEndpoint/handler/api/data.js +0 -109
- package/src/TemplateData/perActionEndpoint/handler/api/request.json +0 -7
- package/src/TemplateData/perActionEndpoint/handler/api/template.ejs +0 -36
- package/src/TemplateData/perActionEndpoint/handler/dsq/data.js +0 -118
- package/src/TemplateData/perActionEndpoint/handler/dsq/request.json +0 -7
- package/src/TemplateData/perActionEndpoint/handler/dsq/template.ejs +0 -55
- package/src/TemplateData/perActionEndpoint/handler/inv/data.js +0 -112
- package/src/TemplateData/perActionEndpoint/handler/inv/request.json +0 -7
- package/src/TemplateData/perActionEndpoint/handler/inv/template.ejs +0 -37
- package/src/TemplateData/perActionEndpoint/handler/sqs/data.js +0 -116
- package/src/TemplateData/perActionEndpoint/handler/sqs/request.json +0 -7
- package/src/TemplateData/perActionEndpoint/handler/sqs/template.ejs +0 -57
- package/src/TemplateData/perActionEndpoint/handler/webSocket/data.js +0 -94
- package/src/TemplateData/perActionEndpoint/handler/webSocket/template.ejs +0 -61
- package/src/TemplateData/perActionEndpoint/handler/webSocketConnect/data.js +0 -54
- package/src/TemplateData/perActionEndpoint/handler/webSocketConnect/template.ejs +0 -55
- package/src/TemplateData/perActionEndpoint/libs/data.js +0 -60
- package/src/TemplateData/perActionEndpoint/libs/template.ejs +0 -46
- package/src/TemplateData/perActionEndpoint/mainFunction/create/data.js +0 -91
- package/src/TemplateData/perActionEndpoint/mainFunction/create/request.json +0 -0
- package/src/TemplateData/perActionEndpoint/mainFunction/create/template.ejs +0 -339
- package/src/TemplateData/perActionEndpoint/mainFunction/delete/data.js +0 -91
- package/src/TemplateData/perActionEndpoint/mainFunction/delete/template.ejs +0 -99
- package/src/TemplateData/perActionEndpoint/mainFunction/get/data.js +0 -92
- package/src/TemplateData/perActionEndpoint/mainFunction/get/request.json +0 -5
- package/src/TemplateData/perActionEndpoint/mainFunction/get/template.ejs +0 -116
- package/src/TemplateData/perActionEndpoint/mainFunction/get/testParam.json +0 -5
- package/src/TemplateData/perActionEndpoint/mainFunction/update/data.js +0 -85
- package/src/TemplateData/perActionEndpoint/mainFunction/update/request.json +0 -0
- package/src/TemplateData/perActionEndpoint/mainFunction/update/template.ejs +0 -166
- package/src/TemplateData/perActionEndpoint/yaml/api/data.js +0 -229
- package/src/TemplateData/perActionEndpoint/yaml/api/request.json +0 -14
- package/src/TemplateData/perActionEndpoint/yaml/api/template.ejs +0 -20
- package/src/TemplateData/perActionEndpoint/yaml/dsq/data.js +0 -234
- package/src/TemplateData/perActionEndpoint/yaml/dsq/request.json +0 -19
- package/src/TemplateData/perActionEndpoint/yaml/dsq/template.ejs +0 -17
- package/src/TemplateData/perActionEndpoint/yaml/inv/data.js +0 -207
- package/src/TemplateData/perActionEndpoint/yaml/inv/example req.js +0 -15
- package/src/TemplateData/perActionEndpoint/yaml/inv/request.json +0 -14
- package/src/TemplateData/perActionEndpoint/yaml/inv/template.ejs +0 -13
- package/src/TemplateData/perActionEndpoint/yaml/sqs/data.js +0 -237
- package/src/TemplateData/perActionEndpoint/yaml/sqs/request.json +0 -19
- package/src/TemplateData/perActionEndpoint/yaml/sqs/template.ejs +0 -17
- package/src/TemplateData/perActionEndpoint/yaml/wbs/data.js +0 -204
- package/src/TemplateData/perActionEndpoint/yaml/wbs/request.json +0 -19
- package/src/TemplateData/perActionEndpoint/yaml/wbs/template.ejs +0 -29
- package/src/TemplateData/perActionEndpoint/yaml/webSocketConnect/data.js +0 -58
- package/src/TemplateData/perActionEndpoint/yaml/webSocketConnect/template.ejs +0 -10
- package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/api/data.js +0 -146
- package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/api/template.ejs +0 -20
- package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/dsq/data.js +0 -146
- package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/dsq/template.ejs +0 -17
- package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/inv/data.js +0 -146
- package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/inv/template.ejs +0 -13
- package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/sqs/data.js +0 -147
- package/src/TemplateData/relationshipPerAction/changeRelationship/action/functionYaml/sqs/template.ejs +0 -17
- package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/api/data.js +0 -62
- package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/api/template.ejs +0 -59
- package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/dsq/data.js +0 -63
- package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/dsq/template.ejs +0 -202
- package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/inv/data.js +0 -64
- package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/inv/template.ejs +0 -144
- package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/sqs/data.js +0 -64
- package/src/TemplateData/relationshipPerAction/changeRelationship/action/handler/sqs/template.ejs +0 -77
- package/src/TemplateData/relationshipPerAction/create/action/functionYaml/api/data.js +0 -175
- package/src/TemplateData/relationshipPerAction/create/action/functionYaml/api/template.ejs +0 -20
- package/src/TemplateData/relationshipPerAction/create/action/functionYaml/dsq/data.js +0 -176
- package/src/TemplateData/relationshipPerAction/create/action/functionYaml/dsq/template.ejs +0 -17
- package/src/TemplateData/relationshipPerAction/create/action/functionYaml/inv/data.js +0 -175
- package/src/TemplateData/relationshipPerAction/create/action/functionYaml/inv/template.ejs +0 -13
- package/src/TemplateData/relationshipPerAction/create/action/functionYaml/sqs/data.js +0 -177
- package/src/TemplateData/relationshipPerAction/create/action/functionYaml/sqs/template.ejs +0 -17
- package/src/TemplateData/relationshipPerAction/create/action/handler/api/data.js +0 -62
- package/src/TemplateData/relationshipPerAction/create/action/handler/api/request.json +0 -0
- package/src/TemplateData/relationshipPerAction/create/action/handler/api/template.ejs +0 -57
- package/src/TemplateData/relationshipPerAction/create/action/handler/dsq/data.js +0 -63
- package/src/TemplateData/relationshipPerAction/create/action/handler/dsq/request.json +0 -0
- package/src/TemplateData/relationshipPerAction/create/action/handler/dsq/template.ejs +0 -184
- package/src/TemplateData/relationshipPerAction/create/action/handler/inv/data.js +0 -64
- package/src/TemplateData/relationshipPerAction/create/action/handler/inv/request.json +0 -0
- package/src/TemplateData/relationshipPerAction/create/action/handler/inv/template.ejs +0 -126
- package/src/TemplateData/relationshipPerAction/create/action/handler/sqs/data.js +0 -64
- package/src/TemplateData/relationshipPerAction/create/action/handler/sqs/request.json +0 -0
- package/src/TemplateData/relationshipPerAction/create/action/handler/sqs/template.ejs +0 -75
- package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/api/data.js +0 -178
- package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/api/template.ejs +0 -20
- package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/dsq/data.js +0 -176
- package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/dsq/template.ejs +0 -17
- package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/inv/data.js +0 -178
- package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/inv/template.ejs +0 -13
- package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/sqs/data.js +0 -176
- package/src/TemplateData/relationshipPerAction/delete/action/functionYaml/sqs/template.ejs +0 -17
- package/src/TemplateData/relationshipPerAction/delete/action/handler/api/data.js +0 -62
- package/src/TemplateData/relationshipPerAction/delete/action/handler/api/request.json +0 -0
- package/src/TemplateData/relationshipPerAction/delete/action/handler/api/template.ejs +0 -139
- package/src/TemplateData/relationshipPerAction/delete/action/handler/dsq/data.js +0 -63
- package/src/TemplateData/relationshipPerAction/delete/action/handler/dsq/request.json +0 -0
- package/src/TemplateData/relationshipPerAction/delete/action/handler/dsq/template.ejs +0 -182
- package/src/TemplateData/relationshipPerAction/delete/action/handler/inv/data.js +0 -64
- package/src/TemplateData/relationshipPerAction/delete/action/handler/inv/request.json +0 -0
- package/src/TemplateData/relationshipPerAction/delete/action/handler/inv/template.ejs +0 -124
- package/src/TemplateData/relationshipPerAction/delete/action/handler/sqs/data.js +0 -64
- package/src/TemplateData/relationshipPerAction/delete/action/handler/sqs/request.json +0 -0
- package/src/TemplateData/relationshipPerAction/delete/action/handler/sqs/template.ejs +0 -162
- package/src/TemplateData/relationshipPerAction/get/action/functionYaml/api/data.js +0 -168
- package/src/TemplateData/relationshipPerAction/get/action/functionYaml/api/template.ejs +0 -20
- package/src/TemplateData/relationshipPerAction/get/action/functionYaml/dsq/data.js +0 -177
- package/src/TemplateData/relationshipPerAction/get/action/functionYaml/dsq/template.ejs +0 -17
- package/src/TemplateData/relationshipPerAction/get/action/functionYaml/inv/data.js +0 -167
- package/src/TemplateData/relationshipPerAction/get/action/functionYaml/inv/template.ejs +0 -13
- package/src/TemplateData/relationshipPerAction/get/action/functionYaml/sqs/data.js +0 -166
- package/src/TemplateData/relationshipPerAction/get/action/functionYaml/sqs/template.ejs +0 -17
- package/src/TemplateData/relationshipPerAction/get/action/handler/api/data.js +0 -62
- package/src/TemplateData/relationshipPerAction/get/action/handler/api/request.json +0 -0
- package/src/TemplateData/relationshipPerAction/get/action/handler/api/template.ejs +0 -138
- package/src/TemplateData/relationshipPerAction/get/action/handler/dsq/data.js +0 -63
- package/src/TemplateData/relationshipPerAction/get/action/handler/dsq/request.json +0 -0
- package/src/TemplateData/relationshipPerAction/get/action/handler/dsq/template.ejs +0 -185
- package/src/TemplateData/relationshipPerAction/get/action/handler/inv/data.js +0 -64
- package/src/TemplateData/relationshipPerAction/get/action/handler/inv/request.json +0 -0
- package/src/TemplateData/relationshipPerAction/get/action/handler/inv/template.ejs +0 -127
- package/src/TemplateData/relationshipPerAction/get/action/handler/sqs/data.js +0 -64
- package/src/TemplateData/relationshipPerAction/get/action/handler/sqs/request.json +0 -0
- package/src/TemplateData/relationshipPerAction/get/action/handler/sqs/template.ejs +0 -165
- package/src/TemplateData/relationshipPerAction/update/action/functionYaml/api/data.js +0 -167
- package/src/TemplateData/relationshipPerAction/update/action/functionYaml/api/request.json +0 -0
- package/src/TemplateData/relationshipPerAction/update/action/functionYaml/api/template.ejs +0 -20
- package/src/TemplateData/relationshipPerAction/update/action/functionYaml/dsq/data.js +0 -196
- package/src/TemplateData/relationshipPerAction/update/action/functionYaml/dsq/request.json +0 -0
- package/src/TemplateData/relationshipPerAction/update/action/functionYaml/dsq/template.ejs +0 -17
- package/src/TemplateData/relationshipPerAction/update/action/functionYaml/inv/data.js +0 -186
- package/src/TemplateData/relationshipPerAction/update/action/functionYaml/inv/request.json +0 -0
- package/src/TemplateData/relationshipPerAction/update/action/functionYaml/inv/template.ejs +0 -13
- package/src/TemplateData/relationshipPerAction/update/action/functionYaml/sqs/data.js +0 -187
- package/src/TemplateData/relationshipPerAction/update/action/functionYaml/sqs/request.json +0 -0
- package/src/TemplateData/relationshipPerAction/update/action/functionYaml/sqs/template.ejs +0 -17
- package/src/TemplateData/relationshipPerAction/update/action/handler/api/data.js +0 -78
- package/src/TemplateData/relationshipPerAction/update/action/handler/api/request.json +0 -7
- package/src/TemplateData/relationshipPerAction/update/action/handler/api/template.ejs +0 -142
- package/src/TemplateData/relationshipPerAction/update/action/handler/dsq/data.js +0 -79
- package/src/TemplateData/relationshipPerAction/update/action/handler/dsq/request.json +0 -7
- package/src/TemplateData/relationshipPerAction/update/action/handler/dsq/template.ejs +0 -188
- package/src/TemplateData/relationshipPerAction/update/action/handler/inv/data.js +0 -80
- package/src/TemplateData/relationshipPerAction/update/action/handler/inv/request.json +0 -5
- package/src/TemplateData/relationshipPerAction/update/action/handler/inv/template.ejs +0 -147
- package/src/TemplateData/relationshipPerAction/update/action/handler/sqs/data.js +0 -79
- package/src/TemplateData/relationshipPerAction/update/action/handler/sqs/request.json +0 -7
- package/src/TemplateData/relationshipPerAction/update/action/handler/sqs/template.ejs +0 -163
- package/src/TemplateData/resourceYaml/CreateSourceData.js +0 -79
- /package/src/TemplateData/flowSchema/flowSchemaOwnTopic/EndpointComponent/handler/{template.ejs → SqsHandlerTemplate.ejs} +0 -0
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
/* Copyright (C) 2020 Sven Mason <http: //izara.io> This program is free
|
|
2
|
-
software: you can redistribute it and/or modify it under the terms of the GNU
|
|
3
|
-
Affero General Public License as published by the Free Software Foundation,
|
|
4
|
-
either version 3 of the License, or (at your option) any later version. This
|
|
5
|
-
program is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
6
|
-
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
7
|
-
PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
|
|
8
|
-
You should have received a copy of the GNU Affero General Public License along
|
|
9
|
-
with this program. If not, see <http: //www.gnu.org/licenses />. */ 'use
|
|
10
|
-
strict'; const { getObjSchemaS3WithHierarchy, } =
|
|
11
|
-
require('@izara_project/izara-core-library-service-schemas/src/GetObjectSchema');
|
|
12
|
-
const { getGraphServiceTagWithCache, } =
|
|
13
|
-
require('@izara_project/izara-core-library-service-schemas/src/ServiceConfig');
|
|
14
|
-
const consts =
|
|
15
|
-
require('@izara_project/izara-core-library-service-schemas/src/Consts'); const {
|
|
16
|
-
objInstanceFromobjInstanceBase } =
|
|
17
|
-
require('@izara_project/izara-core-library-service-schemas/src/IdentifiersObject');
|
|
18
|
-
const { dynamoDbIdentifiersByStorageResource, collectGetData,
|
|
19
|
-
createGetDataDetails, } =
|
|
20
|
-
require('@izara_project/izara-market-library-service-schemas/src/GenerateCodeLibs/src/GenerateCodeLibs/index.js');
|
|
21
|
-
const { createObjTypeConcat } =
|
|
22
|
-
require('@izara_project/izara-core-library-service-schemas/src/Utils'); const
|
|
23
|
-
dynamodbSharedLib = require('@izara_project/izara-core-library-dynamodb'); const
|
|
24
|
-
snsSharedLib = require('@izara_project/izara-core-library-sns'); const
|
|
25
|
-
asyncFlowSharedLib =
|
|
26
|
-
require('@izara_project/izara-core-library-asynchronous-flow'); const
|
|
27
|
-
callingFlowSharedLib =
|
|
28
|
-
require('@izara_project/izara-core-library-calling-flow'); const lambdaSharedLib
|
|
29
|
-
= require('@izara_project/izara-core-library-lambda'); const externalRequest =
|
|
30
|
-
require('@izara_project/izara-core-library-external-request'); const sns =
|
|
31
|
-
externalRequest.sns const NoRetryError =
|
|
32
|
-
require('@izara_project/izara-core-library-core/src/NoRetryError'); const {
|
|
33
|
-
TOPIC_NAME_GENERATE_CODE } =
|
|
34
|
-
require('@izara_project/izara-market-library-service-schemas/src/GenerateCodeLibs/src/Consts');
|
|
35
|
-
const coreConsts = require("@izara_project/izara-core-library-core/src/Consts");
|
|
36
|
-
/** * * * description of function. * @param {Object} _izContext * @param
|
|
37
|
-
{CorrelationIds} _izContext.correlationIds - property of _izContext * @param
|
|
38
|
-
{Logger} _izContext.logger - property of _izContext * @param {Object}
|
|
39
|
-
requestParams - request params * @param {Object} requestParams.identifiers -
|
|
40
|
-
identifiers for get data * @param {Object} requestParams.additionalRequest -
|
|
41
|
-
additionalRequest * * * @returns {object} description of return value */
|
|
42
|
-
module.exports.<%- functionName %>Main = async ( _izContext, requestParams,
|
|
43
|
-
callingFlowConfig = {}, //(<additionalParams>) //(</additionalParams>) ) => {
|
|
44
|
-
try { _izContext.logger.debug('<%- functionName %> _izContext: ', _izContext);
|
|
45
|
-
_izContext.logger.debug('<%- functionName %> requestParams: ', requestParams);
|
|
46
|
-
_izContext.logger.debug('<%- functionName %> callingFlowConfig: ',
|
|
47
|
-
callingFlowConfig); const returnSystemFieldsName =
|
|
48
|
-
requestParams.additionalRequest?.setting?.returnSystemFieldsName || false; const
|
|
49
|
-
throwWhenNotFoundSomeRecord =
|
|
50
|
-
requestParams.additionalRequest?.setting?.throwWhenNotFoundSomeRecord || true;
|
|
51
|
-
const OBJECT_TYPE = "<%- objectType %>"; const SERVICE_TAG =
|
|
52
|
-
process.env.iz_serviceTag; //(<beforeQuery>) //(</beforeQuery>) let objectSchema
|
|
53
|
-
= await getObjSchemaS3WithHierarchy( _izContext, { objectType: OBJECT_TYPE,
|
|
54
|
-
serviceTag: SERVICE_TAG } ); _izContext.logger.debug("objectSchema: ",
|
|
55
|
-
objectSchema); let getDataDetails = await createGetDataDetails(_izContext,
|
|
56
|
-
objectSchema); _izContext.logger.debug("getDataDetails:", getDataDetails) //
|
|
57
|
-
start to get data let getResults = []; // for collect result data from let
|
|
58
|
-
getRecordStatus = { getAtLeastOneRecord: false, notFoundSomeRecord: false };
|
|
59
|
-
await Promise.all( Object.entries(getDataDetails).map( async ([storageTag,
|
|
60
|
-
getDataDetail]) => { if (getDataDetail.storageType ===
|
|
61
|
-
consts.STORAGE_TYPES.graph) { // get data from graph let graphServiceName =
|
|
62
|
-
await getGraphServiceTagWithCache(_izContext, getDataDetail.graphServiceTag);
|
|
63
|
-
let versionedDataLabels = []; if (getDataDetail.versionedDatas &&
|
|
64
|
-
Object.keys(getDataDetail.versionedDatas).length) { // have versionedData
|
|
65
|
-
versionedDataLabels = Object.keys(getDataDetail.versionedDatas); }
|
|
66
|
-
//(<beforeGetGraph>) //(</beforeGetGraph>) let dataFromGraph = await
|
|
67
|
-
graphSharedLib.getNodeV2( _izContext, graphServiceName, { objectType:
|
|
68
|
-
OBJECT_TYPE, serviceTag: SERVICE_TAG }, { identifiers: requestParams.identifiers
|
|
69
|
-
}, versionedDataLabels, { returnSystemFieldsName: returnSystemFieldsName } )
|
|
70
|
-
_izContext.logger.debug("dataFromGraphV2: ", dataFromGraph); if
|
|
71
|
-
(Object.keys(dataFromGraph).length) { getRecordStatus.getAtLeastOneRecord =
|
|
72
|
-
true; } else { getRecordStatus.notFoundSomeRecord = true } //(<afterGetGraph
|
|
73
|
-
>) //(</afterGetGraph
|
|
74
|
-
>) getResults.push([dataFromGraph, getDataDetail]); if
|
|
75
|
-
(callingFlowConfig[callingFlowSharedLib.consts.CALLINGFLOW_PROPERTYNAME]) { let
|
|
76
|
-
messageObject = { objType: { objectType: OBJECT_TYPE, serviceTag: SERVICE_TAG },
|
|
77
|
-
objInstanceFull: dataFromGraph.objInstanceFull } // send message to SNS
|
|
78
|
-
ProcessFindRequiredData _izContext.logger.debug("HAVE CallingFlow");
|
|
79
|
-
messageObject =
|
|
80
|
-
callingFlowSharedLib.addPassBackPropertiesToSnsResponseMessageObject(callingFlowConfig,
|
|
81
|
-
messageObject); let messageAttributes =
|
|
82
|
-
callingFlowSharedLib.addCallingFlowToSnsResponseMessageAttributes(callingFlowConfig,
|
|
83
|
-
{}); let outGetNodeCompleteTopic = await snsSharedLib.snsTopicArn(_izContext,
|
|
84
|
-
TOPIC_NAME_GENERATE_CODE.outGetNodeComplete) let messageParams = { Message:
|
|
85
|
-
JSON.stringify(messageObject), MessageAttributes:
|
|
86
|
-
sns.createStringMessageAttributes(_izContext, messageAttributes), TopicArn:
|
|
87
|
-
outGetNodeCompleteTopic, }; _izContext.logger.debug("messageParams OutUpdateNode
|
|
88
|
-
::::::: ", messageParams); await sns.publishAsync(_izContext, messageParams); }
|
|
89
|
-
} else { let identifiersForGetData = await dynamoDbIdentifiersByStorageResource(
|
|
90
|
-
_izContext, objectSchema, getDataDetail, requestParams.identifiers );
|
|
91
|
-
_izContext.logger.debug("identifiersForGetData: ", identifiersForGetData);
|
|
92
|
-
//(<beforeGetDynamoDb>) //(</beforeGetDynamoDb>) let dataFromDynamoDb = await
|
|
93
|
-
dynamodbSharedLib.getItem( _izContext, await
|
|
94
|
-
dynamodbSharedLib.tableName(_izContext, getDataDetail.tableName),
|
|
95
|
-
identifiersForGetData ); _izContext.logger.debug("dataFromDynamoDb: ",
|
|
96
|
-
dataFromDynamoDb); if (dataFromDynamoDb) { dataFromDynamoDb = await
|
|
97
|
-
objInstanceFromobjInstanceBase( _izContext, { objectType: OBJECT_TYPE,
|
|
98
|
-
serviceTag: SERVICE_TAG }, dataFromDynamoDb );
|
|
99
|
-
getRecordStatus.getAtLeastOneRecord = true; } else {
|
|
100
|
-
getRecordStatus.notFoundSomeRecord = true; } //(<afterGetDynamoDb
|
|
101
|
-
>) //(</afterGetDynamoDb
|
|
102
|
-
>) // collect return data depend on getDataDetail
|
|
103
|
-
getResults.push([dataFromDynamoDb, getDataDetail]); } }) );
|
|
104
|
-
_izContext.logger.debug("getRecordStatus: ", getRecordStatus); if
|
|
105
|
-
(throwWhenNotFoundSomeRecord && getRecordStatus.getAtLeastOneRecord === true &&
|
|
106
|
-
getRecordStatus.notFoundSomeRecord === true) { throw Error("Not found some
|
|
107
|
-
record while get data"); } let getResult = collectGetData(_izContext,
|
|
108
|
-
getResults, objectSchema, returnSystemFieldsName); return getResult; } catch
|
|
109
|
-
(err) { _izContext.logger.error('error <%- firstLetterUpperCase(functionName)
|
|
110
|
-
%>Main: ', err) throw (err) } } <%_ function firstLetterUpperCase(text){ return
|
|
111
|
-
text.charAt(0).toUpperCase() + text.slice(1) } _%> <%_ function
|
|
112
|
-
firstLetterLowerCase(str) { return str.charAt(0).toLowerCase() + str.slice(1) }
|
|
113
|
-
_%> // request input // { // "identifiers": { // "companyId":
|
|
114
|
-
"seagame001GenerateCode2", // "city": "cnxCity", // "companyName":
|
|
115
|
-
"RoyalSeafood" // }, // "additionalRequest": { // "setting": { //
|
|
116
|
-
"returnFormat": "STD" || "FULL" // } // } // }
|
|
@@ -1,85 +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
|
-
const path = require('path');
|
|
19
|
-
|
|
20
|
-
const {
|
|
21
|
-
ACTIONS,
|
|
22
|
-
HANDLER
|
|
23
|
-
} = require('@izara_project/izara-core-library-service-schemas/src/Consts');
|
|
24
|
-
|
|
25
|
-
// const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase, firstLetterUpperCase } = require("../#utils");
|
|
26
|
-
// const { DEFAULT_HANDLER_PER_ACTION, SOURCE_PATH } = require("../#const");
|
|
27
|
-
const {
|
|
28
|
-
firstLetterLowerCase: lowerCase,
|
|
29
|
-
firstLetterUpperCase: upperCase,
|
|
30
|
-
firstLetterUpperCase,
|
|
31
|
-
checkOverWriteGenerateMainFunction
|
|
32
|
-
} = require('../../../../../MainLibs/src/Consts.js').utils;
|
|
33
|
-
const { DEFAULT_HANDLER_PER_ACTION, SOURCE_PATH } =
|
|
34
|
-
require('../../../../../MainLibs/src/Consts.js').consts;
|
|
35
|
-
|
|
36
|
-
const templatePath = path.join(__dirname, 'template.ejs');
|
|
37
|
-
|
|
38
|
-
async function data(_izContext, objectSchema, srcPath) {
|
|
39
|
-
if (
|
|
40
|
-
objectSchema.overwriteGeneratedMainFunction?.length &&
|
|
41
|
-
objectSchema.overwriteGeneratedMainFunction.includes(ACTIONS.update)
|
|
42
|
-
) {
|
|
43
|
-
return [];
|
|
44
|
-
} else {
|
|
45
|
-
return [
|
|
46
|
-
await createMainFunctionUpdateEndpoint(
|
|
47
|
-
_izContext,
|
|
48
|
-
objectSchema,
|
|
49
|
-
ACTIONS.update,
|
|
50
|
-
srcPath
|
|
51
|
-
)
|
|
52
|
-
];
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
async function createMainFunctionUpdateEndpoint(
|
|
57
|
-
_izContext,
|
|
58
|
-
objectSchema,
|
|
59
|
-
action,
|
|
60
|
-
srcPath
|
|
61
|
-
) {
|
|
62
|
-
// let objectType = objectSchema.objectType
|
|
63
|
-
let objectType = objectSchema?.shortNameObjectType
|
|
64
|
-
? objectSchema.shortNameObjectType
|
|
65
|
-
: objectSchema.objectType;
|
|
66
|
-
|
|
67
|
-
let actionHandler = action;
|
|
68
|
-
let functionName = objectType + upperCase(actionHandler);
|
|
69
|
-
return {
|
|
70
|
-
templatePath: templatePath,
|
|
71
|
-
templateData: {
|
|
72
|
-
objectType,
|
|
73
|
-
actionHandler,
|
|
74
|
-
functionName
|
|
75
|
-
},
|
|
76
|
-
setting: {
|
|
77
|
-
savePath: path.join(srcPath, SOURCE_PATH.lambdaPerAction),
|
|
78
|
-
saveFileName: `${upperCase(objectSchema.objectType)}${upperCase(action)}_Main`,
|
|
79
|
-
fileExtension: '.js',
|
|
80
|
-
isAppend: false
|
|
81
|
-
}
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
module.exports = data;
|
|
File without changes
|
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
/* Copyright (C) 2020 Sven Mason <http: //izara.io> This program is free
|
|
2
|
-
software: you can redistribute it and/or modify it under the terms of the GNU
|
|
3
|
-
Affero General Public License as published by the Free Software Foundation,
|
|
4
|
-
either version 3 of the License, or (at your option) any later version. This
|
|
5
|
-
program is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
6
|
-
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
7
|
-
PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
|
|
8
|
-
You should have received a copy of the GNU Affero General Public License along
|
|
9
|
-
with this program. If not, see <http: //www.gnu.org/licenses />. */ 'use
|
|
10
|
-
strict'; const hash = require('@izara_project/izara-shared-core').objectHash;
|
|
11
|
-
const { getObjSchemaS3WithHierarchy, } =
|
|
12
|
-
require('@izara_project/izara-core-library-service-schemas/src/GetObjectSchema');
|
|
13
|
-
const consts =
|
|
14
|
-
require('@izara_project/izara-core-library-service-schemas/src/Consts'); const {
|
|
15
|
-
dynamoDbIdentifiersByStorageResource, createFieldForUpdateDynamoDb } =
|
|
16
|
-
require('@izara_project/izara-market-library-service-schemas/src/GenerateCodeLibs/src/GenerateCodeLibs/index.js');
|
|
17
|
-
const dynamodbSharedLib = require('@izara_project/izara-core-library-dynamodb');
|
|
18
|
-
const snsSharedLib = require('@izara_project/izara-core-library-sns'); const
|
|
19
|
-
asyncFlowSharedLib =
|
|
20
|
-
require('@izara_project/izara-core-library-asynchronous-flow'); const
|
|
21
|
-
callingFlowSharedLib =
|
|
22
|
-
require('@izara_project/izara-core-library-calling-flow'); const lambdaSharedLib
|
|
23
|
-
= require('@izara_project/izara-core-library-lambda'); const externalRequest =
|
|
24
|
-
require('@izara_project/izara-core-library-external-request'); const sns =
|
|
25
|
-
externalRequest.sns const { createUpdateDataDetail } =
|
|
26
|
-
require("@izara_project/izara-market-library-service-schemas/src/GenerateCodeLibs/src/GenerateCodeLibs")
|
|
27
|
-
const { PREFIX, TOPIC_NAME_GENERATE_CODE, TOPIC_NAME_GRAPH_HANDLER } =
|
|
28
|
-
require('@izara_project/izara-market-library-service-schemas/src/GenerateCodeLibs/src/Consts');
|
|
29
|
-
const coreConsts = require('@izara_project/izara-core-library-core/src/Consts')
|
|
30
|
-
/** * * * description of function. * @param {Object} _izContext * @param
|
|
31
|
-
{CorrelationIds} _izContext.correlationIds - property of _izContext * @param
|
|
32
|
-
{Logger} _izContext.logger - property of _izContext * @param {Object}
|
|
33
|
-
requestParams - request params * @param {Object} requestParams.identifiers -
|
|
34
|
-
identifiers for get data * @param {Object} requestParams.additionalRequest -
|
|
35
|
-
additionalRequest * * * @returns {object} description of return value */
|
|
36
|
-
module.exports.<%- functionName %>Main = async ( _izContext, requestParams,
|
|
37
|
-
callingFlowConfig = {}, //(<additionalParams>) //(</additionalParams>) ) => {
|
|
38
|
-
try { _izContext.logger.debug("<%- functionName %> _izContext", _izContext)
|
|
39
|
-
_izContext.logger.debug("<%- functionName %> requestParams", requestParams)
|
|
40
|
-
_izContext.logger.debug("<%- functionName %> callingFlowConfig",
|
|
41
|
-
callingFlowConfig) let errorsFound = []; const userId =
|
|
42
|
-
_izContext.correlationIds.get(coreConsts.BASE_USER_ID); const targetId =
|
|
43
|
-
_izContext.correlationIds.get(coreConsts.TARGET_ID); if (!userId) {
|
|
44
|
-
errorsFound.push("Not have userId") } const OBJECT_TYPE = "<%- objectType %>"
|
|
45
|
-
const SERVICE_TAG = process.env.iz_serviceTag; //(<beforeQuery
|
|
46
|
-
>) //(</beforeQuery
|
|
47
|
-
>) const identifiers = requestParams.objInstanceFull.identifiers; const fields =
|
|
48
|
-
requestParams.objInstanceFull.fields let versionedDataIds =
|
|
49
|
-
requestParams.versionedDataIds || {} _izContext.logger.debug("explode
|
|
50
|
-
requestParams", { identifiers: identifiers, fields: fields, versionedDataIds:
|
|
51
|
-
versionedDataIds }) let objectSchema = await getObjSchemaS3WithHierarchy(
|
|
52
|
-
_izContext, { objectType: OBJECT_TYPE, serviceTag: SERVICE_TAG } )
|
|
53
|
-
_izContext.logger.debug("objectSchema", objectSchema); if
|
|
54
|
-
(objectSchema.hasOwnProperty("belongTo") && !targetId) { errorsFound.push('not
|
|
55
|
-
have targetId') } let updateDataDetails = await
|
|
56
|
-
createUpdateDataDetail(_izContext, objectSchema);
|
|
57
|
-
_izContext.logger.debug("updateDataDetails", updateDataDetails); let
|
|
58
|
-
originTimestamp = Date.now(); let haveVersionedDataIdsToUpdate =
|
|
59
|
-
(requestParams.versionedDataIds &&
|
|
60
|
-
Object.keys(requestParams.versionedDataIds).length) ? true : false if
|
|
61
|
-
(haveVersionedDataIdsToUpdate) { let updateMainNodeData = {}; let
|
|
62
|
-
updateVersionedData = {}; _izContext.logger.debug("have versionedDataIds to
|
|
63
|
-
update") for (const fieldProp in requestParams.objInstanceFull.fields) { const
|
|
64
|
-
fieldSetting = objectSchema.fieldNames[fieldProp]; // collect updateData if
|
|
65
|
-
(fieldSetting.hasOwnProperty("versionedDataLabel")) { if
|
|
66
|
-
(!updateVersionedData.hasOwnProperty(fieldSetting.versionedDataLabel)) {
|
|
67
|
-
updateVersionedData[fieldSetting.versionedDataLabel] = {}; }
|
|
68
|
-
Object.assign(updateVersionedData[fieldSetting.versionedDataLabel], {
|
|
69
|
-
[fieldProp]: requestParams.objInstanceFull.fields[fieldProp] }) } else {
|
|
70
|
-
Object.assign(updateMainNodeData, { [fieldProp]:
|
|
71
|
-
requestParams.objInstanceFull.fields[fieldProp] }) } }
|
|
72
|
-
_izContext.logger.debug("updateMainNodeData::", updateMainNodeData);
|
|
73
|
-
_izContext.logger.debug("updateVersionedData::", updateVersionedData); const
|
|
74
|
-
versionedDataIdLabelKeys = Object.keys(requestParams.versionedDataIds); const
|
|
75
|
-
updateVersionedDataLabelKeys = Object.keys(updateVersionedData);
|
|
76
|
-
_izContext.logger.debug("versionedDataIdLabelKeys:: ",
|
|
77
|
-
versionedDataIdLabelKeys);
|
|
78
|
-
_izContext.logger.debug("updateVersionedDataLabelKeys:: ",
|
|
79
|
-
updateVersionedDataLabelKeys); //check missing versionedDataIds const
|
|
80
|
-
missingVersionedDataIdLabels = updateVersionedDataLabelKeys.filter(label =>
|
|
81
|
-
!versionedDataIdLabelKeys.includes(label));
|
|
82
|
-
_izContext.logger.debug("missingVersionedDataIdLabels:: ",
|
|
83
|
-
missingVersionedDataIdLabels); if (missingVersionedDataIdLabels.length) {
|
|
84
|
-
errorsFound.push(`missing versionedDataIds of versionedDataLabel
|
|
85
|
-
'${missingVersionedDataIdLabels.join(", ")}'`) } // check missing update data of
|
|
86
|
-
versionedDataLabels const missingDataVersionedDataLabels =
|
|
87
|
-
versionedDataIdLabelKeys.filter(label =>
|
|
88
|
-
!versionedDataIdLabelKeys.includes(label)) if
|
|
89
|
-
(missingDataVersionedDataLabels.length) { errorsFound.push(`missing data of
|
|
90
|
-
versionedDataLabels '${missingDataVersionedDataLabels.join(", ")}'`); } // check
|
|
91
|
-
mainNode Data should not exists if (Object.keys(updateMainNodeData).length) {
|
|
92
|
-
errorsFound.push("cannot update mainNode if have versionedDataIds"); } } let
|
|
93
|
-
messageAttributes if (errorsFound.length) { let updateNodeCompleteMessage = {
|
|
94
|
-
objType: { objectType: OBJECT_TYPE, serviceTag: SERVICE_TAG }, objInstanceFull:
|
|
95
|
-
{ identifiers: identifiers, fields: fields, }, versionedDataIds:
|
|
96
|
-
versionedDataIds, status: 'error', errorsFound: errorsFound };
|
|
97
|
-
updateNodeCompleteMessage =
|
|
98
|
-
callingFlowSharedLib.addPassBackPropertiesToSnsResponseMessageObject(callingFlowConfig,
|
|
99
|
-
updateNodeCompleteMessage); messageAttributes =
|
|
100
|
-
callingFlowSharedLib.addCallingFlowToSnsResponseMessageAttributes(callingFlowConfig,
|
|
101
|
-
{}) let messageParams = { Message: JSON.stringify(updateNodeCompleteMessage),
|
|
102
|
-
MessageAttributes: sns.createStringMessageAttributes(_izContext,
|
|
103
|
-
messageAttributes), TopicArn: await snsSharedLib.snsTopicArn(_izContext,
|
|
104
|
-
TOPIC_NAME_GENERATE_CODE.outUpdateNodeComplete), };
|
|
105
|
-
_izContext.logger.debug("messageParams OutUpdateNodeComplete ::::::: ",
|
|
106
|
-
messageParams); await sns.publishAsync(_izContext, messageParams); return
|
|
107
|
-
updateNodeCompleteMessage } let awaitingStepIds = []; // start update data await
|
|
108
|
-
Promise.all( Object.entries(updateDataDetails).map( async ([storageTag,
|
|
109
|
-
updateDataDetail]) => { if (updateDataDetail.storageType ===
|
|
110
|
-
consts.STORAGE_TYPES.graph) { // let graphServiceName = await
|
|
111
|
-
getGraphServiceTagWithCache(_izContext, getDataDetail.graphServiceTag)
|
|
112
|
-
awaitingStepIds.push( // create Awaiting stepId if updateGraph
|
|
113
|
-
asyncFlowSharedLib.createAwaitingStepId( hash({ objectType: OBJECT_TYPE,
|
|
114
|
-
serviceTag: SERVICE_TAG, identifiers: identifiers, fields: fields, //
|
|
115
|
-
correlationIds: _izContext.correlationIds.get("id") }), PREFIX.updateNode ) )
|
|
116
|
-
_izContext.logger.debug("awaitingStepIds", awaitingStepIds) if
|
|
117
|
-
(awaitingStepIds.length) { let awaitingMultipleStep = await
|
|
118
|
-
asyncFlowSharedLib.createAwaitingMultipleSteps( _izContext, awaitingStepIds,
|
|
119
|
-
asyncFlowSharedLib.createPendingStepId( hash( { identifiers, fields, }) ) )
|
|
120
|
-
_izContext.logger.debug("awaitingMultipleStep", awaitingMultipleStep) } let
|
|
121
|
-
updateNodeParams = { objType: { objectType: OBJECT_TYPE, serviceTag: SERVICE_TAG
|
|
122
|
-
}, objInstanceFull: { identifiers: identifiers, fields: fields, },
|
|
123
|
-
versionedDataIds: versionedDataIds, originTimestamp } updateNodeParams =
|
|
124
|
-
callingFlowSharedLib.addCallingFlowToSnsRequestMessageObject( updateNodeParams,
|
|
125
|
-
callingFlowSharedLib.addParentCallingFlowConfig( callingFlowConfig,
|
|
126
|
-
callingFlowSharedLib.createCallingFlowConfig( await
|
|
127
|
-
lambdaSharedLib.lambdaFunctionName(_izContext,
|
|
128
|
-
TOPIC_NAME_GENERATE_CODE.updateNodeComplete), {} ) ) )
|
|
129
|
-
_izContext.logger.debug("messageObject before send message:", updateNodeParams);
|
|
130
|
-
let updateNodeMessageBody = { Message: JSON.stringify(updateNodeParams),
|
|
131
|
-
MessageAttributes: sns.createStringMessageAttributes(_izContext,
|
|
132
|
-
messageAttributes), TopicArn: await snsSharedLib.snsTopicArn(_izContext,
|
|
133
|
-
TOPIC_NAME_GRAPH_HANDLER.inUpdateNode, storageTag, ) }
|
|
134
|
-
_izContext.logger.debug('request param before send to topic InUpdateNode:::',
|
|
135
|
-
updateNodeMessageBody); let resSNS = await sns.publishAsync(_izContext,
|
|
136
|
-
updateNodeMessageBody) _izContext.logger.debug('resSNS send to topic
|
|
137
|
-
InUpdateNode finish!', resSNS); } else if (updateDataDetail.storageType ===
|
|
138
|
-
consts.STORAGE_TYPES.dynamoDB) { let identifiersForUpdateData = await
|
|
139
|
-
dynamoDbIdentifiersByStorageResource( _izContext, objectSchema,
|
|
140
|
-
updateDataDetail, identifiers ) let fieldForUpdateTableDynamo =
|
|
141
|
-
createFieldForUpdateDynamoDb(_izContext, objectSchema, updateDataDetail, fields)
|
|
142
|
-
_izContext.logger.debug("identifiersForUpdateData", identifiersForUpdateData)
|
|
143
|
-
_izContext.logger.debug("fieldForUpdateTableDynamo", fieldForUpdateTableDynamo)
|
|
144
|
-
let updateItem = await dynamodbSharedLib.updateItem( _izContext, await
|
|
145
|
-
dynamodbSharedLib.tableName(_izContext, updateDataDetail.tableName),
|
|
146
|
-
identifiersForUpdateData, fieldForUpdateTableDynamo, { returnValues: "ALL_NEW" }
|
|
147
|
-
) _izContext.logger.debug("updateItem:", updateItem); if (awaitingStepIds.length
|
|
148
|
-
== 0) { let messageObject = { objType: { objectType: OBJECT_TYPE, serviceTag:
|
|
149
|
-
SERVICE_TAG }, updateItem } if
|
|
150
|
-
(callingFlowConfig[callingFlowSharedLib.consts.CALLINGFLOWPROPERTIES_PROPERTYNAME])
|
|
151
|
-
{ _izContext.logger.debug("HAVE CALLINGFLOW"); messageObject =
|
|
152
|
-
callingFlowSharedLib.addPassBackPropertiesToSnsResponseMessageObject(callingFlowConfig,
|
|
153
|
-
messageObject); let messageAttributes =
|
|
154
|
-
callingFlowSharedLib.addCallingFlowToSnsResponseMessageAttributes(callingFlowConfig,
|
|
155
|
-
{}); _izContext.logger.debug("after create callingFlow", messageObject) let
|
|
156
|
-
outUpdateNodeCompleteTopic = await snsSharedLib.snsTopicArn(_izContext,
|
|
157
|
-
TOPIC_NAME_GENERATE_CODE.outUpdateNodeComplete); let messageParams = { Message:
|
|
158
|
-
JSON.stringify(messageObject), MessageAttributes:
|
|
159
|
-
sns.createStringMessageAttributes(_izContext, messageAttributes), TopicArn:
|
|
160
|
-
outUpdateNodeCompleteTopic } _izContext.logger.debug("message params
|
|
161
|
-
OutUpdateNodeComplete :::", messageParams); await sns.publishAsync(_izContext,
|
|
162
|
-
messageParams); } } } } ) ) return { returnValues: { objType: { objectType:
|
|
163
|
-
OBJECT_TYPE, serviceTag: SERVICE_TAG }, objInstanceFull: { identifiers:
|
|
164
|
-
identifiers, fields: fields, }, versionedDataIds: versionedDataIds }, status:
|
|
165
|
-
"complete", errorsFound } } catch (err) { _izContext.logger.error('error
|
|
166
|
-
AddressUpdate: ', err) throw (err) } }
|
|
@@ -1,229 +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
|
-
const path = require('path');
|
|
19
|
-
const fs = require('fs');
|
|
20
|
-
const yaml = require('yaml');
|
|
21
|
-
|
|
22
|
-
const {
|
|
23
|
-
ACTIONS,
|
|
24
|
-
HANDLER,
|
|
25
|
-
STORAGE_TYPES
|
|
26
|
-
} = require('@izara_project/izara-core-library-service-schemas/src/Consts');
|
|
27
|
-
|
|
28
|
-
// const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase } = require("../#utils");
|
|
29
|
-
// const { DEFAULT_HANDLER_PER_ACTION, createIamRole, resourceNames, RESOURCE_CLASSES, DEFAULT_LAMBDA_ROLE_PER_ACTION, SOURCE_PATH, SAVE_FILE_NAME, SNS_RESOURCE, FUNCTION_NAME, defaultIamRolePerAction, awaitingMultipleStepsRole, shortNameHandler } = require("../#const");
|
|
30
|
-
const { firstLetterLowerCase: lowerCase, firstLetterUpperCase: upperCase } =
|
|
31
|
-
require('../../../../../MainLibs/src/Consts.js').utils;
|
|
32
|
-
const {
|
|
33
|
-
DEFAULT_HANDLER_PER_ACTION,
|
|
34
|
-
createIamRole,
|
|
35
|
-
resourceNames,
|
|
36
|
-
RESOURCE_CLASSES,
|
|
37
|
-
DEFAULT_LAMBDA_ROLE_PER_ACTION,
|
|
38
|
-
SOURCE_PATH,
|
|
39
|
-
SAVE_FILE_NAME,
|
|
40
|
-
DYNAMO_RESOURCE,
|
|
41
|
-
SNS_RESOURCE,
|
|
42
|
-
FUNCTION_NAME,
|
|
43
|
-
defaultIamRolePerAction,
|
|
44
|
-
awaitingMultipleStepsRole,
|
|
45
|
-
shortNameHandler
|
|
46
|
-
} = require('../../../../../MainLibs/src/Consts.js').consts;
|
|
47
|
-
|
|
48
|
-
const templatePath = path.join(__dirname, 'template.ejs');
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* receive objectSchema
|
|
52
|
-
* create data for hdrInv template
|
|
53
|
-
*
|
|
54
|
-
* @param {Object} objectSchema
|
|
55
|
-
* @return {{ templatePath, templateData, setting } }
|
|
56
|
-
*/
|
|
57
|
-
function data(_izContext, objectSchema, srcPath) {
|
|
58
|
-
let createSourceArray = [];
|
|
59
|
-
for (const action of Object.values(ACTIONS)) {
|
|
60
|
-
if (objectSchema.overWriteHandlers?.[action]) {
|
|
61
|
-
// if have overWriteHandler of action check hdrApi inside
|
|
62
|
-
if (objectSchema.overWriteHandlers[action].includes(HANDLER.hdrApi)) {
|
|
63
|
-
// create template data
|
|
64
|
-
const createSourceParam = createParamForCreateSource(
|
|
65
|
-
objectSchema,
|
|
66
|
-
action,
|
|
67
|
-
srcPath
|
|
68
|
-
);
|
|
69
|
-
createSourceArray.push(createSourceParam);
|
|
70
|
-
}
|
|
71
|
-
} else {
|
|
72
|
-
// if not have overWriteHandler of action will use default handler
|
|
73
|
-
const defaultHandler = DEFAULT_HANDLER_PER_ACTION[action];
|
|
74
|
-
if (defaultHandler.includes(HANDLER.hdrApi)) {
|
|
75
|
-
// create template data and object for create source
|
|
76
|
-
const createSourceParam = createParamForCreateSource(
|
|
77
|
-
objectSchema,
|
|
78
|
-
action,
|
|
79
|
-
srcPath
|
|
80
|
-
);
|
|
81
|
-
createSourceArray.push(createSourceParam);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
return createSourceArray;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
function createParamForCreateSource(objectSchema, action, srcPath) {
|
|
89
|
-
// let objectType = objectSchema.objectType
|
|
90
|
-
let objectType = objectSchema.objectType;
|
|
91
|
-
let groupBy = objectSchema?.shortNameObjectType
|
|
92
|
-
? objectSchema.shortNameObjectType
|
|
93
|
-
: objectSchema.objectType;
|
|
94
|
-
let functionName = upperCase(objectType) + upperCase(action);
|
|
95
|
-
let additionalResourcePermission = defaultIamRolePerAction();
|
|
96
|
-
let tableForGetItem = [];
|
|
97
|
-
let hasGraphStorage = false;
|
|
98
|
-
let functionNameObjectType = objectSchema?.shortNameObjectType
|
|
99
|
-
? objectSchema.shortNameObjectType
|
|
100
|
-
: objectSchema.objectType;
|
|
101
|
-
let functionNameConfig =
|
|
102
|
-
upperCase(functionNameObjectType) +
|
|
103
|
-
upperCase(action) +
|
|
104
|
-
upperCase(shortNameHandler(HANDLER.hdrApi));
|
|
105
|
-
|
|
106
|
-
const configPath = path.join(srcPath, '../../config/serverless.config.yml');
|
|
107
|
-
const serverlessConfig = fs.readFileSync(configPath, 'utf8');
|
|
108
|
-
const config = yaml.parse(serverlessConfig);
|
|
109
|
-
const serviceTag = config.main_config.iz_serviceTag;
|
|
110
|
-
|
|
111
|
-
for (let storageResource of Object.values(objectSchema.storageResources)) {
|
|
112
|
-
if (storageResource.storageType === STORAGE_TYPES.dynamoDB) {
|
|
113
|
-
// add IamRole for dynamodb depend on tableName in storageResources of objectSchema
|
|
114
|
-
tableForGetItem.push(
|
|
115
|
-
resourceNames(RESOURCE_CLASSES.dynamoDbTable, storageResource.tableName)
|
|
116
|
-
);
|
|
117
|
-
} else if (storageResource.storageType === STORAGE_TYPES.graph) {
|
|
118
|
-
// find graph serviceName from graphServerTag or *GetNodeHdrInv ?
|
|
119
|
-
|
|
120
|
-
if (hasGraphStorage) {
|
|
121
|
-
continue;
|
|
122
|
-
} else {
|
|
123
|
-
hasGraphStorage = true;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
if (tableForGetItem.length) {
|
|
129
|
-
additionalResourcePermission.push(
|
|
130
|
-
createIamRole(
|
|
131
|
-
{
|
|
132
|
-
[RESOURCE_CLASSES.dynamoDbTable]: [
|
|
133
|
-
DEFAULT_LAMBDA_ROLE_PER_ACTION[action].dynamoDbPermission
|
|
134
|
-
]
|
|
135
|
-
},
|
|
136
|
-
tableForGetItem
|
|
137
|
-
)
|
|
138
|
-
);
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
function httpEvent(lambdaAction) {
|
|
142
|
-
return {
|
|
143
|
-
create: 'put',
|
|
144
|
-
update: 'post',
|
|
145
|
-
get: 'post',
|
|
146
|
-
delete: 'delete'
|
|
147
|
-
}[lambdaAction];
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
let event = httpEvent(action);
|
|
151
|
-
// console.log("event:", event)
|
|
152
|
-
|
|
153
|
-
if (action == ACTIONS.update) {
|
|
154
|
-
additionalResourcePermission.push(awaitingMultipleStepsRole());
|
|
155
|
-
additionalResourcePermission.push(
|
|
156
|
-
createIamRole(
|
|
157
|
-
{
|
|
158
|
-
[RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish]
|
|
159
|
-
},
|
|
160
|
-
[
|
|
161
|
-
resourceNames(
|
|
162
|
-
RESOURCE_CLASSES.sns,
|
|
163
|
-
'Out' + upperCase(FUNCTION_NAME.updateNodeComplete)
|
|
164
|
-
)
|
|
165
|
-
]
|
|
166
|
-
)
|
|
167
|
-
);
|
|
168
|
-
} else if (action == ACTIONS.create) {
|
|
169
|
-
additionalResourcePermission.push(awaitingMultipleStepsRole());
|
|
170
|
-
|
|
171
|
-
additionalResourcePermission.push(
|
|
172
|
-
createIamRole(
|
|
173
|
-
{
|
|
174
|
-
[RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish]
|
|
175
|
-
},
|
|
176
|
-
[
|
|
177
|
-
resourceNames(
|
|
178
|
-
RESOURCE_CLASSES.sns,
|
|
179
|
-
'Out' + upperCase(FUNCTION_NAME.createObjectComplete)
|
|
180
|
-
)
|
|
181
|
-
]
|
|
182
|
-
)
|
|
183
|
-
);
|
|
184
|
-
} else if (action == ACTIONS.delete) {
|
|
185
|
-
// additionalResourcePermission.push(
|
|
186
|
-
// createIamRole(
|
|
187
|
-
// {
|
|
188
|
-
// [RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish]
|
|
189
|
-
// },
|
|
190
|
-
// [
|
|
191
|
-
// resourceNames(RESOURCE_CLASSES.sns, "Out" + upperCase(FUNCTION_NAME.createObjectComplete))
|
|
192
|
-
// ]
|
|
193
|
-
// )
|
|
194
|
-
// )
|
|
195
|
-
} else if (action === ACTIONS.get) {
|
|
196
|
-
additionalResourcePermission.push(
|
|
197
|
-
createIamRole(
|
|
198
|
-
{
|
|
199
|
-
[RESOURCE_CLASSES.sns]: [SNS_RESOURCE.publish]
|
|
200
|
-
},
|
|
201
|
-
[resourceNames(RESOURCE_CLASSES.sns, 'OutGetNodeComplete')]
|
|
202
|
-
)
|
|
203
|
-
);
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
return {
|
|
207
|
-
templatePath: templatePath,
|
|
208
|
-
templateData: {
|
|
209
|
-
functionName: functionName,
|
|
210
|
-
resourceLocation: SOURCE_PATH.resourceLocationPerAction,
|
|
211
|
-
handlerType: upperCase(HANDLER.hdrApi),
|
|
212
|
-
additionalResourcePermission,
|
|
213
|
-
event: event,
|
|
214
|
-
objectType: objectType,
|
|
215
|
-
roleName: groupBy,
|
|
216
|
-
action: action,
|
|
217
|
-
functionNameConfig,
|
|
218
|
-
serviceTag: serviceTag
|
|
219
|
-
},
|
|
220
|
-
setting: {
|
|
221
|
-
savePath: path.join(srcPath, SOURCE_PATH.appYaml),
|
|
222
|
-
saveFileName: SAVE_FILE_NAME.functionPerActionYaml,
|
|
223
|
-
fileExtension: '.yml',
|
|
224
|
-
isAppend: true
|
|
225
|
-
}
|
|
226
|
-
};
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
module.exports = data;
|
|
@@ -1,20 +0,0 @@
|
|
|
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
|
-
- http:
|
|
7
|
-
path: /<%- serviceTag%>/<%- firstLetterUpperCase(objectType) %>/<%- firstLetterUpperCase(action) %>
|
|
8
|
-
method: <%- event %>
|
|
9
|
-
cors: true
|
|
10
|
-
#<#<%- firstLetterUpperCase(functionName) %><%- firstLetterUpperCase(handlerType) %>Authorizer#>
|
|
11
|
-
#<#/<%- firstLetterUpperCase(functionName) %><%- firstLetterUpperCase(handlerType) %>Authorizer#>
|
|
12
|
-
#<#<%- functionName %><%- handlerType %>FunctionSetting#>
|
|
13
|
-
#<#/<%- functionName %><%- handlerType %>FunctionSetting#>
|
|
14
|
-
role: <%- firstLetterUpperCase(roleName) %>Role
|
|
15
|
-
<%_ function firstLetterUpperCase(text){
|
|
16
|
-
return text.charAt(0).toUpperCase() + text.slice(1)
|
|
17
|
-
} _%>
|
|
18
|
-
<%_ function firstLetterLowerCase(str) {
|
|
19
|
-
return str.charAt(0).toLowerCase() + str.slice(1)
|
|
20
|
-
} _%>
|