@l-v-yonsama/multi-platform-database-drivers 1.3.0 → 2.0.0
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/README.md +40 -0
- package/built/src/drivers/Auth0Driver.js +9 -9
- package/built/src/drivers/Auth0Driver.js.map +1 -1
- package/built/src/drivers/AwsDriver.js +3 -3
- package/built/src/drivers/AwsDriver.js.map +1 -1
- package/built/src/drivers/BaseDriver.d.ts +1 -1
- package/built/src/drivers/BaseDriver.js +4 -6
- package/built/src/drivers/BaseDriver.js.map +1 -1
- package/built/src/drivers/DBDriverResolver.js.map +1 -1
- package/built/src/drivers/DBError.js.map +1 -1
- package/built/src/drivers/KeycloakDriver.d.ts +2 -3
- package/built/src/drivers/KeycloakDriver.js +27 -262
- package/built/src/drivers/KeycloakDriver.js.map +1 -1
- package/built/src/drivers/MemcacheDriver.d.ts +0 -1
- package/built/src/drivers/MemcacheDriver.js +5 -5
- package/built/src/drivers/MemcacheDriver.js.map +1 -1
- package/built/src/drivers/MqttDriver.d.ts +0 -1
- package/built/src/drivers/MqttDriver.js +4 -4
- package/built/src/drivers/MqttDriver.js.map +1 -1
- package/built/src/drivers/MySQLDriver.js +12 -12
- package/built/src/drivers/MySQLDriver.js.map +1 -1
- package/built/src/drivers/OracleDriver.js +13 -13
- package/built/src/drivers/OracleDriver.js.map +1 -1
- package/built/src/drivers/PostgresDriver.js +22 -2
- package/built/src/drivers/PostgresDriver.js.map +1 -1
- package/built/src/drivers/RDSBaseDriver.d.ts +1 -1
- package/built/src/drivers/RDSBaseDriver.js +6 -6
- package/built/src/drivers/RDSBaseDriver.js.map +1 -1
- package/built/src/drivers/RedisDriver.js +2 -2
- package/built/src/drivers/RedisDriver.js.map +1 -1
- package/built/src/drivers/SQLServerDriver.js +7 -7
- package/built/src/drivers/SQLServerDriver.js.map +1 -1
- package/built/src/drivers/SQLiteDriver.d.ts +1 -1
- package/built/src/drivers/SQLiteDriver.js +7 -7
- package/built/src/drivers/SQLiteDriver.js.map +1 -1
- package/built/src/drivers/aws/AwsCloudFormationServiceClient.js +2 -2
- package/built/src/drivers/aws/AwsCloudFormationServiceClient.js.map +1 -1
- package/built/src/drivers/aws/AwsCloudwatchServiceClient.js +3 -3
- package/built/src/drivers/aws/AwsCloudwatchServiceClient.js.map +1 -1
- package/built/src/drivers/aws/AwsDynamoServiceClient.js +7 -7
- package/built/src/drivers/aws/AwsDynamoServiceClient.js.map +1 -1
- package/built/src/drivers/aws/AwsS3ServiceClient.js +24 -24
- package/built/src/drivers/aws/AwsS3ServiceClient.js.map +1 -1
- package/built/src/drivers/aws/AwsSESServiceClient.js.map +1 -1
- package/built/src/drivers/aws/AwsSQSServiceClient.js +8 -8
- package/built/src/drivers/aws/AwsSQSServiceClient.js.map +1 -1
- package/built/src/drivers/aws/AwsSecretsManagerServiceClient.js +1 -1
- package/built/src/drivers/aws/AwsSecretsManagerServiceClient.js.map +1 -1
- package/built/src/drivers/aws/AwsServiceClient.js +2 -2
- package/built/src/drivers/aws/AwsServiceClient.js.map +1 -1
- package/built/src/drivers/aws/AwsSsmServiceClient.js +1 -1
- package/built/src/drivers/aws/AwsSsmServiceClient.js.map +1 -1
- package/built/src/drivers/keycloak/resourceTreeBuilder.d.ts +5 -0
- package/built/src/drivers/keycloak/resourceTreeBuilder.js +37 -0
- package/built/src/drivers/keycloak/resourceTreeBuilder.js.map +1 -0
- package/built/src/drivers/keycloak/scanResultBuilder.d.ts +8 -0
- package/built/src/drivers/keycloak/scanResultBuilder.js +212 -0
- package/built/src/drivers/keycloak/scanResultBuilder.js.map +1 -0
- package/built/src/drivers/memcache/helper.d.ts +0 -1
- package/built/src/drivers/memcache/helper.js +13 -14
- package/built/src/drivers/memcache/helper.js.map +1 -1
- package/built/src/helpers/ProposalHelper.js +3 -3
- package/built/src/helpers/ProposalHelper.js.map +1 -1
- package/built/src/helpers/RdhRecordRuleHelper.js.map +1 -1
- package/built/src/helpers/RuleEngine.d.ts +5 -5
- package/built/src/helpers/RuleEngine.js +14 -14
- package/built/src/helpers/RuleEngine.js.map +1 -1
- package/built/src/helpers/SQLHelper.d.ts +8 -115
- package/built/src/helpers/SQLHelper.js +35 -1084
- package/built/src/helpers/SQLHelper.js.map +1 -1
- package/built/src/helpers/prompts/Auth0PromptHelper.js.map +1 -1
- package/built/src/helpers/prompts/AwsPromptHelper.js.map +1 -1
- package/built/src/helpers/prompts/KeycloakPromptHelper.js.map +1 -1
- package/built/src/helpers/prompts/MemcachePromptHelper.js.map +1 -1
- package/built/src/helpers/prompts/MqttPromptHelper.js.map +1 -1
- package/built/src/helpers/prompts/RdsPromptHelper.js +1 -1
- package/built/src/helpers/prompts/RdsPromptHelper.js.map +1 -1
- package/built/src/helpers/prompts/RedisPromptHelper.js.map +1 -1
- package/built/src/helpers/prompts/SchemaPromptHelper.js.map +1 -1
- package/built/src/helpers/sql/dynamoConversion.d.ts +2 -0
- package/built/src/helpers/sql/dynamoConversion.js +27 -0
- package/built/src/helpers/sql/dynamoConversion.js.map +1 -0
- package/built/src/helpers/sql/formatQuery.d.ts +6 -0
- package/built/src/helpers/sql/formatQuery.js +45 -0
- package/built/src/helpers/sql/formatQuery.js.map +1 -0
- package/built/src/helpers/sql/mutationQuery.d.ts +54 -0
- package/built/src/helpers/sql/mutationQuery.js +250 -0
- package/built/src/helpers/sql/mutationQuery.js.map +1 -0
- package/built/src/helpers/sql/parameterNormalizer.d.ts +16 -0
- package/built/src/helpers/sql/parameterNormalizer.js +166 -0
- package/built/src/helpers/sql/parameterNormalizer.js.map +1 -0
- package/built/src/helpers/sql/queryParser.d.ts +6 -0
- package/built/src/helpers/sql/queryParser.js +239 -0
- package/built/src/helpers/sql/queryParser.js.map +1 -0
- package/built/src/helpers/sql/quote.d.ts +17 -0
- package/built/src/helpers/sql/quote.js +140 -0
- package/built/src/helpers/sql/quote.js.map +1 -0
- package/built/src/helpers/sql/selectQuery.d.ts +24 -0
- package/built/src/helpers/sql/selectQuery.js +262 -0
- package/built/src/helpers/sql/selectQuery.js.map +1 -0
- package/built/src/resource/aws.d.ts +106 -0
- package/built/src/resource/aws.js +219 -0
- package/built/src/resource/aws.js.map +1 -0
- package/built/src/resource/base.d.ts +28 -0
- package/built/src/resource/base.js +76 -0
- package/built/src/resource/base.js.map +1 -0
- package/built/src/resource/connection.d.ts +35 -0
- package/built/src/resource/connection.js +52 -0
- package/built/src/resource/connection.js.map +1 -0
- package/built/src/resource/fromJson.d.ts +2 -0
- package/built/src/resource/fromJson.js +125 -0
- package/built/src/resource/fromJson.js.map +1 -0
- package/built/src/resource/iam.d.ts +70 -0
- package/built/src/resource/iam.js +175 -0
- package/built/src/resource/iam.js.map +1 -0
- package/built/src/resource/index.d.ts +8 -1
- package/built/src/resource/index.js +8 -1
- package/built/src/resource/index.js.map +1 -1
- package/built/src/resource/keyValue.d.ts +85 -0
- package/built/src/resource/keyValue.js +74 -0
- package/built/src/resource/keyValue.js.map +1 -0
- package/built/src/resource/rdb.d.ts +49 -0
- package/built/src/resource/rdb.js +155 -0
- package/built/src/resource/rdb.js.map +1 -0
- package/built/src/resource/types.d.ts +18 -0
- package/built/src/resource/types.js +3 -0
- package/built/src/resource/types.js.map +1 -0
- package/built/src/types/drivers/Keycloak.js +1 -1
- package/built/src/types/drivers/Keycloak.js.map +1 -1
- package/built/src/types/drivers/MemcachedParams.d.ts +0 -1
- package/built/src/types/helpers/index.js +1 -1
- package/built/src/types/helpers/index.js.map +1 -1
- package/built/src/types/resource/AwsCfnStackAttributes.d.ts +1 -1
- package/built/src/types/resource/MySQLColumnType.js +2 -2
- package/built/src/types/resource/MySQLColumnType.js.map +1 -1
- package/built/src/types/resource/OracleColumnType.js +2 -2
- package/built/src/types/resource/OracleColumnType.js.map +1 -1
- package/built/src/types/resource/PartiQLAttrType.js.map +1 -1
- package/built/src/types/resource/PostgresColumnType.js +2 -2
- package/built/src/types/resource/PostgresColumnType.js.map +1 -1
- package/built/src/types/resource/SQLServerColumnType.js +2 -2
- package/built/src/types/resource/SQLServerColumnType.js.map +1 -1
- package/built/src/types/utils/index.js +2 -2
- package/built/src/types/utils/index.js.map +1 -1
- package/built/src/utils/base.js +1 -1
- package/built/src/utils/base.js.map +1 -1
- package/built/src/utils/cfn/applicationDiagram.js +52 -12
- package/built/src/utils/cfn/applicationDiagram.js.map +1 -1
- package/built/src/utils/cfn/applicationRelations.d.ts +1 -1
- package/built/src/utils/cfn/applicationRelations.js +107 -15
- package/built/src/utils/cfn/applicationRelations.js.map +1 -1
- package/built/src/utils/cfn/cfnDependencyGraphDiagram.js.map +1 -1
- package/built/src/utils/cfn/{architectureTopology.d.ts → deploymentTopology.d.ts} +5 -1
- package/built/src/utils/cfn/{architectureTopology.js → deploymentTopology.js} +127 -13
- package/built/src/utils/cfn/deploymentTopology.js.map +1 -0
- package/built/src/utils/cfn/diagramFileModel.js.map +1 -1
- package/built/src/utils/cfn/drawio/cfnDependencyGraphDiagram.d.ts +3 -0
- package/built/src/utils/cfn/drawio/cfnDependencyGraphDiagram.js +174 -0
- package/built/src/utils/cfn/drawio/cfnDependencyGraphDiagram.js.map +1 -0
- package/built/src/utils/cfn/drawio/commonCells.d.ts +22 -0
- package/built/src/utils/cfn/drawio/commonCells.js +83 -0
- package/built/src/utils/cfn/drawio/commonCells.js.map +1 -0
- package/built/src/utils/cfn/drawio/edgeRouting.d.ts +34 -0
- package/built/src/utils/cfn/drawio/edgeRouting.js +77 -0
- package/built/src/utils/cfn/drawio/edgeRouting.js.map +1 -0
- package/built/src/utils/cfn/drawio/multiAzInfrastructureDiagram.d.ts +3 -0
- package/built/src/utils/cfn/drawio/multiAzInfrastructureDiagram.js +812 -0
- package/built/src/utils/cfn/drawio/multiAzInfrastructureDiagram.js.map +1 -0
- package/built/src/utils/cfn/drawioApplicationDiagram.d.ts +1 -0
- package/built/src/utils/cfn/drawioApplicationDiagram.js +290 -32
- package/built/src/utils/cfn/drawioApplicationDiagram.js.map +1 -1
- package/built/src/utils/cfn/drawioInfrastructureDiagrams.d.ts +2 -4
- package/built/src/utils/cfn/drawioInfrastructureDiagrams.js +7 -441
- package/built/src/utils/cfn/drawioInfrastructureDiagrams.js.map +1 -1
- package/built/src/utils/cfn/drawioXml.d.ts +0 -24
- package/built/src/utils/cfn/drawioXml.js +5 -47
- package/built/src/utils/cfn/drawioXml.js.map +1 -1
- package/built/src/utils/cfn/generateDiagram.js +3 -4
- package/built/src/utils/cfn/generateDiagram.js.map +1 -1
- package/built/src/utils/cfn/icons.js.map +1 -1
- package/built/src/utils/cfn/index.d.ts +4 -4
- package/built/src/utils/cfn/index.js +9 -8
- package/built/src/utils/cfn/index.js.map +1 -1
- package/built/src/utils/cfn/intrinsics.d.ts +1 -1
- package/built/src/utils/cfn/intrinsics.js.map +1 -1
- package/built/src/utils/cfn/multiAzDeploymentTrafficPathsAndProtection.d.ts +27 -0
- package/built/src/utils/cfn/{multiAzDeploymentDataPaths.js → multiAzDeploymentTrafficPathsAndProtection.js} +162 -10
- package/built/src/utils/cfn/multiAzDeploymentTrafficPathsAndProtection.js.map +1 -0
- package/built/src/utils/cfn/multiAzDeploymentTrafficPathsAndProtectionDiagram.d.ts +2 -0
- package/built/src/utils/cfn/{architectureDiagram.js → multiAzDeploymentTrafficPathsAndProtectionDiagram.js} +82 -34
- package/built/src/utils/cfn/multiAzDeploymentTrafficPathsAndProtectionDiagram.js.map +1 -0
- package/built/src/utils/cfn/naming.d.ts +2 -1
- package/built/src/utils/cfn/naming.js +3 -3
- package/built/src/utils/cfn/naming.js.map +1 -1
- package/built/src/utils/cfn/resourceDependencies.js.map +1 -1
- package/built/src/utils/cfn/templateParsing.js +11 -26
- package/built/src/utils/cfn/templateParsing.js.map +1 -1
- package/built/src/utils/csv.js.map +1 -1
- package/built/src/utils/dbType.js.map +1 -1
- package/built/src/utils/diagramLayout/elkLayoutEngine.d.ts +3 -0
- package/built/src/utils/diagramLayout/elkLayoutEngine.js +199 -0
- package/built/src/utils/diagramLayout/elkLayoutEngine.js.map +1 -0
- package/built/src/utils/diagramLayout/index.d.ts +4 -0
- package/built/src/utils/diagramLayout/index.js +13 -0
- package/built/src/utils/diagramLayout/index.js.map +1 -0
- package/built/src/utils/diagramLayout/normalizeLayout.d.ts +33 -0
- package/built/src/utils/diagramLayout/normalizeLayout.js +116 -0
- package/built/src/utils/diagramLayout/normalizeLayout.js.map +1 -0
- package/built/src/utils/diagramLayout/types.d.ts +64 -0
- package/built/src/utils/diagramLayout/types.js +3 -0
- package/built/src/utils/diagramLayout/types.js.map +1 -0
- package/built/src/utils/drawio/drawioXml.d.ts +24 -0
- package/built/src/utils/drawio/drawioXml.js +47 -0
- package/built/src/utils/drawio/drawioXml.js.map +1 -0
- package/built/src/utils/drawio/index.d.ts +2 -0
- package/built/src/utils/drawio/index.js +10 -0
- package/built/src/utils/drawio/index.js.map +1 -0
- package/built/src/utils/driverUtil.d.ts +1 -1
- package/built/src/utils/driverUtil.js.map +1 -1
- package/built/src/utils/er/erDiagramDrawioGenerator.d.ts +26 -0
- package/built/src/utils/er/erDiagramDrawioGenerator.js +99 -0
- package/built/src/utils/er/erDiagramDrawioGenerator.js.map +1 -0
- package/built/src/utils/er/erDiagramDrawioGeneratorAuto.d.ts +2 -0
- package/built/src/utils/er/erDiagramDrawioGeneratorAuto.js +103 -0
- package/built/src/utils/er/erDiagramDrawioGeneratorAuto.js.map +1 -0
- package/built/src/utils/er/erDiagramGenerator.d.ts +7 -0
- package/built/src/utils/er/erDiagramGenerator.js +321 -0
- package/built/src/utils/er/erDiagramGenerator.js.map +1 -0
- package/built/src/utils/er/index.d.ts +4 -0
- package/built/src/utils/er/index.js +13 -0
- package/built/src/utils/er/index.js.map +1 -0
- package/built/src/utils/er/types.d.ts +31 -0
- package/built/src/utils/er/types.js +3 -0
- package/built/src/utils/er/types.js.map +1 -0
- package/built/src/utils/index.d.ts +1 -0
- package/built/src/utils/index.js +1 -0
- package/built/src/utils/index.js.map +1 -1
- package/built/src/utils/log/LogParser.js.map +1 -1
- package/built/src/utils/log/buildSqlExecutions.js +3 -4
- package/built/src/utils/log/buildSqlExecutions.js.map +1 -1
- package/built/src/utils/log/classify/classifyEvent.js +2 -3
- package/built/src/utils/log/classify/classifyEvent.js.map +1 -1
- package/built/src/utils/log/detect/presetDetector.js +4 -5
- package/built/src/utils/log/detect/presetDetector.js.map +1 -1
- package/built/src/utils/log/extract/runExtractors.js +1 -2
- package/built/src/utils/log/extract/runExtractors.js.map +1 -1
- package/built/src/utils/log/logSummary.js +5 -5
- package/built/src/utils/log/logSummary.js.map +1 -1
- package/built/src/utils/log/pattern/logEventPattern.js +2 -3
- package/built/src/utils/log/pattern/logEventPattern.js.map +1 -1
- package/built/src/utils/log/rdh/convertExtractedSqlRdhResult.js +2 -3
- package/built/src/utils/log/rdh/convertExtractedSqlRdhResult.js.map +1 -1
- package/built/src/utils/log/split/splitLogEvents.js +1 -2
- package/built/src/utils/log/split/splitLogEvents.js.map +1 -1
- package/built/src/utils/log/sql/removeSqlComments.js +2 -3
- package/built/src/utils/log/sql/removeSqlComments.js.map +1 -1
- package/built/src/utils/log/validator.js +8 -5
- package/built/src/utils/log/validator.js.map +1 -1
- package/package.json +13 -9
- package/built/src/resource/DbResource.d.ts +0 -373
- package/built/src/resource/DbResource.js +0 -836
- package/built/src/resource/DbResource.js.map +0 -1
- package/built/src/utils/cfn/architectureDiagram.d.ts +0 -3
- package/built/src/utils/cfn/architectureDiagram.js.map +0 -1
- package/built/src/utils/cfn/architectureTopology.js.map +0 -1
- package/built/src/utils/cfn/multiAzDeploymentDataPaths.d.ts +0 -27
- package/built/src/utils/cfn/multiAzDeploymentDataPaths.js.map +0 -1
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toViewDataNormalizedQuery = exports.toViewDataQuery = exports.createColumnNames = exports.createTableNames = exports.toCountRecordsQuery = void 0;
|
|
4
|
+
exports.toViewRecordsQuery = toViewRecordsQuery;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const rdh_1 = require("@l-v-yonsama/rdh");
|
|
7
|
+
const os = tslib_1.__importStar(require("os"));
|
|
8
|
+
const resource_1 = require("../../resource");
|
|
9
|
+
const types_1 = require("../../types");
|
|
10
|
+
const constant_1 = require("../constant");
|
|
11
|
+
const RuleEngine_1 = require("../RuleEngine");
|
|
12
|
+
const parameterNormalizer_1 = require("./parameterNormalizer");
|
|
13
|
+
const quote_1 = require("./quote");
|
|
14
|
+
function toViewRecordsQuery({ tableRes, schemaName, idQuoteCharacter, sqlLang, limit, limitClauseStyle, limitMode, limitLastColumn, }) {
|
|
15
|
+
const tableNameWithSchema = (0, quote_1.createTableNameWithSchema)({
|
|
16
|
+
schema: schemaName,
|
|
17
|
+
table: tableRes.name,
|
|
18
|
+
idQuoteCharacter,
|
|
19
|
+
sqlLang,
|
|
20
|
+
});
|
|
21
|
+
let query = '';
|
|
22
|
+
if (limitClauseStyle === 'top' && limit) {
|
|
23
|
+
query = `SELECT TOP ${limit} * FROM ${tableNameWithSchema}`;
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
query = `SELECT * FROM ${tableNameWithSchema}`;
|
|
27
|
+
}
|
|
28
|
+
if (limitMode === 'last') {
|
|
29
|
+
if (!limitLastColumn) {
|
|
30
|
+
throw new Error('limitLastColumn is required when limitMode is "last"');
|
|
31
|
+
}
|
|
32
|
+
const quotedColumn = (0, quote_1.needsQuoting)(limitLastColumn)
|
|
33
|
+
? (0, quote_1.wrapBackQuote)(limitLastColumn)
|
|
34
|
+
: limitLastColumn;
|
|
35
|
+
query += ` ORDER BY ${quotedColumn} DESC`;
|
|
36
|
+
}
|
|
37
|
+
if (limitClauseStyle === 'trailing' && limit) {
|
|
38
|
+
query += ` LIMIT ${limit}`;
|
|
39
|
+
}
|
|
40
|
+
else if (limitClauseStyle === 'fetchFirst' && limit) {
|
|
41
|
+
query += ` FETCH FIRST ${limit} ROWS ONLY`;
|
|
42
|
+
}
|
|
43
|
+
return query;
|
|
44
|
+
}
|
|
45
|
+
const toCountRecordsQuery = (params) => {
|
|
46
|
+
return toGeneralQuery(Object.assign({ selectClause: 'COUNT(*)' }, params));
|
|
47
|
+
};
|
|
48
|
+
exports.toCountRecordsQuery = toCountRecordsQuery;
|
|
49
|
+
const createTableNames = (schemaRes) => {
|
|
50
|
+
return schemaRes.children
|
|
51
|
+
.filter((it) => it.resourceType === types_1.ResourceType.Table)
|
|
52
|
+
.map((it) => constant_1.RESERVED_WORDS.includes(it.name.toUpperCase())
|
|
53
|
+
? '`' + it.name + '`'
|
|
54
|
+
: it.name)
|
|
55
|
+
.join(',');
|
|
56
|
+
};
|
|
57
|
+
exports.createTableNames = createTableNames;
|
|
58
|
+
const createColumnNames = (tableRes) => {
|
|
59
|
+
return tableRes.children
|
|
60
|
+
.map((it) => constant_1.RESERVED_WORDS.includes(it.name.toUpperCase())
|
|
61
|
+
? '`' + it.name + '`'
|
|
62
|
+
: it.name)
|
|
63
|
+
.join(',');
|
|
64
|
+
};
|
|
65
|
+
exports.createColumnNames = createColumnNames;
|
|
66
|
+
const toViewDataQuery = (params) => {
|
|
67
|
+
return toGeneralQuery(Object.assign({ selectClause: '*' }, params));
|
|
68
|
+
};
|
|
69
|
+
exports.toViewDataQuery = toViewDataQuery;
|
|
70
|
+
const toViewDataNormalizedQuery = (params) => {
|
|
71
|
+
const { toPositionedParameter, toPositionalCharacter } = params, others = tslib_1.__rest(params, ["toPositionedParameter", "toPositionalCharacter"]);
|
|
72
|
+
const result = (0, exports.toViewDataQuery)(others);
|
|
73
|
+
return (0, parameterNormalizer_1.normalizeQuery)({
|
|
74
|
+
query: result.query,
|
|
75
|
+
toPositionedParameter,
|
|
76
|
+
toPositionalCharacter,
|
|
77
|
+
bindParams: result.binds,
|
|
78
|
+
});
|
|
79
|
+
};
|
|
80
|
+
exports.toViewDataNormalizedQuery = toViewDataNormalizedQuery;
|
|
81
|
+
const createConditionalClause = ({ conditions, columns, params, indent, quote, sqlLang, }) => {
|
|
82
|
+
var _a, _b, _c, _d;
|
|
83
|
+
const queries = [];
|
|
84
|
+
let andOr = 'AND';
|
|
85
|
+
const nestedList = [];
|
|
86
|
+
if ((0, RuleEngine_1.isAllConditions)(conditions)) {
|
|
87
|
+
nestedList.push(...conditions.all);
|
|
88
|
+
}
|
|
89
|
+
else if ((0, RuleEngine_1.isAnyConditions)(conditions)) {
|
|
90
|
+
nestedList.push(...conditions.any);
|
|
91
|
+
andOr = 'OR';
|
|
92
|
+
}
|
|
93
|
+
for (const nest of nestedList) {
|
|
94
|
+
if ((0, RuleEngine_1.isTopLevelCondition)(nest)) {
|
|
95
|
+
const q = createConditionalClause({
|
|
96
|
+
conditions: nest,
|
|
97
|
+
columns,
|
|
98
|
+
params,
|
|
99
|
+
indent: indent + ' ',
|
|
100
|
+
quote,
|
|
101
|
+
sqlLang,
|
|
102
|
+
});
|
|
103
|
+
queries.push(`(${os.EOL}${q}${os.EOL}${indent})`);
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
const { fact, value, operator } = nest;
|
|
107
|
+
const mcol = columns.find((it) => (0, rdh_1.equalsIgnoreCase)(it.name, fact));
|
|
108
|
+
let colType = rdh_1.GeneralColumnType.TEXT;
|
|
109
|
+
if (mcol) {
|
|
110
|
+
if (mcol instanceof resource_1.DbColumn) {
|
|
111
|
+
colType = mcol.colType;
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
colType = (0, types_1.parseDynamoAttrType)(mcol.attrType);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
let q = `${sqlLang === 'partiql'
|
|
118
|
+
? (0, quote_1.wrapDoubleQuote)(fact)
|
|
119
|
+
: quote
|
|
120
|
+
? (0, quote_1.wrapBackQuote)(fact)
|
|
121
|
+
: fact}`;
|
|
122
|
+
q += ` ${(0, RuleEngine_1.operatorToSQLString)(operator)} `;
|
|
123
|
+
if (operator === 'isNull' || operator === 'isNotNull') {
|
|
124
|
+
}
|
|
125
|
+
else if (operator === 'between' ||
|
|
126
|
+
operator === 'in' ||
|
|
127
|
+
operator === 'notIn') {
|
|
128
|
+
let val = null;
|
|
129
|
+
if (value === undefined || value === null) {
|
|
130
|
+
val = null;
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
let arr = [];
|
|
134
|
+
if (Array.isArray(value)) {
|
|
135
|
+
arr = value;
|
|
136
|
+
}
|
|
137
|
+
else if (value.startsWith('[') && value.endsWith(']')) {
|
|
138
|
+
arr = JSON.parse(value);
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
arr = ('' + value).split(/,/).map((it) => it.trim());
|
|
142
|
+
}
|
|
143
|
+
if ((0, rdh_1.isNumericLike)(colType)) {
|
|
144
|
+
val = arr.map((it) => { var _a; return (_a = (0, rdh_1.toNum)(it)) !== null && _a !== void 0 ? _a : null; });
|
|
145
|
+
}
|
|
146
|
+
else if ((0, rdh_1.isBooleanLike)(colType)) {
|
|
147
|
+
val = arr.map((it) => { var _a; return (_a = (0, rdh_1.toBoolean)(it)) !== null && _a !== void 0 ? _a : null; });
|
|
148
|
+
}
|
|
149
|
+
else if ((0, rdh_1.isDateTimeOrDate)(colType)) {
|
|
150
|
+
val = arr.map((it) => { var _a; return (_a = (0, rdh_1.toDate)(it)) !== null && _a !== void 0 ? _a : null; });
|
|
151
|
+
}
|
|
152
|
+
else if ((0, rdh_1.isTime)(colType)) {
|
|
153
|
+
val = arr.map((it) => { var _a; return (_a = (0, rdh_1.toTime)(it)) !== null && _a !== void 0 ? _a : null; });
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
val = arr.map((it) => it + '');
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
if (operator === 'between') {
|
|
160
|
+
const bindName1 = `val${params.pos}`;
|
|
161
|
+
params.pos++;
|
|
162
|
+
const bindName2 = `val${params.pos}`;
|
|
163
|
+
params.pos++;
|
|
164
|
+
q += `:${bindName1} AND :${bindName2}`;
|
|
165
|
+
if (val === null) {
|
|
166
|
+
params.bindParams[bindName1] = null;
|
|
167
|
+
params.bindParams[bindName2] = null;
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
params.bindParams[bindName1] = val[0];
|
|
171
|
+
params.bindParams[bindName2] = val[1];
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
const bindName = `val${params.pos}`;
|
|
176
|
+
params.pos++;
|
|
177
|
+
q += `(:${bindName})`;
|
|
178
|
+
params.bindParams[bindName] = val;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
else if (operator === 'like' && sqlLang === 'partiql') {
|
|
182
|
+
if (value === undefined || value === null) {
|
|
183
|
+
q = `Contains(${(0, quote_1.wrapDoubleQuote)(fact)}, NULL)`;
|
|
184
|
+
}
|
|
185
|
+
else {
|
|
186
|
+
const bindName = `val${params.pos}`;
|
|
187
|
+
params.bindParams[bindName] = value;
|
|
188
|
+
q = `Contains(${(0, quote_1.wrapDoubleQuote)(fact)}, :${bindName})`;
|
|
189
|
+
params.pos++;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
let val = null;
|
|
194
|
+
if ((0, rdh_1.isNumericLike)(colType)) {
|
|
195
|
+
val = (_a = (0, rdh_1.toNum)(value)) !== null && _a !== void 0 ? _a : null;
|
|
196
|
+
}
|
|
197
|
+
else if ((0, rdh_1.isBooleanLike)(colType)) {
|
|
198
|
+
val = (_b = (0, rdh_1.toBoolean)(value)) !== null && _b !== void 0 ? _b : null;
|
|
199
|
+
}
|
|
200
|
+
else if ((0, rdh_1.isDateTimeOrDate)(colType)) {
|
|
201
|
+
val = (_c = (0, rdh_1.toDate)(value)) !== null && _c !== void 0 ? _c : null;
|
|
202
|
+
}
|
|
203
|
+
else if ((0, rdh_1.isTime)(colType)) {
|
|
204
|
+
val = (_d = (0, rdh_1.toTime)(value)) !== null && _d !== void 0 ? _d : null;
|
|
205
|
+
}
|
|
206
|
+
else {
|
|
207
|
+
val = value;
|
|
208
|
+
}
|
|
209
|
+
const bindName = `val${params.pos}`;
|
|
210
|
+
q += `:${bindName}`;
|
|
211
|
+
params.bindParams[bindName] = val;
|
|
212
|
+
params.pos++;
|
|
213
|
+
}
|
|
214
|
+
queries.push(q);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
if (queries.length > 0) {
|
|
218
|
+
return indent + queries.join(`${os.EOL}${indent}${andOr} `);
|
|
219
|
+
}
|
|
220
|
+
return '';
|
|
221
|
+
};
|
|
222
|
+
const toGeneralQuery = ({ selectClause, tableRes, schemaName, conditions, quote, idQuoteCharacter, sqlLang, limit, limitClauseStyle, }) => {
|
|
223
|
+
const tableNameWithSchema = (0, quote_1.createTableNameWithSchema)({
|
|
224
|
+
schema: schemaName,
|
|
225
|
+
table: tableRes.name,
|
|
226
|
+
idQuoteCharacter,
|
|
227
|
+
sqlLang,
|
|
228
|
+
});
|
|
229
|
+
const params = {
|
|
230
|
+
pos: 1,
|
|
231
|
+
bindParams: {},
|
|
232
|
+
};
|
|
233
|
+
let top = '';
|
|
234
|
+
if (limitClauseStyle === 'top' && limit !== undefined) {
|
|
235
|
+
top = `TOP ${limit} `;
|
|
236
|
+
}
|
|
237
|
+
let query = `SELECT ${top}${selectClause} ${os.EOL}FROM ${tableNameWithSchema} `;
|
|
238
|
+
if (conditions && conditions) {
|
|
239
|
+
const q = createConditionalClause({
|
|
240
|
+
conditions,
|
|
241
|
+
columns: tableRes.children,
|
|
242
|
+
params,
|
|
243
|
+
indent: ' ',
|
|
244
|
+
quote,
|
|
245
|
+
sqlLang,
|
|
246
|
+
});
|
|
247
|
+
if (q) {
|
|
248
|
+
query += os.EOL + 'WHERE' + os.EOL + q;
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
if (limitClauseStyle === 'trailing' && limit !== undefined) {
|
|
252
|
+
query += os.EOL + 'LIMIT ' + limit;
|
|
253
|
+
}
|
|
254
|
+
else if (limitClauseStyle === 'fetchFirst' && limit !== undefined) {
|
|
255
|
+
query += os.EOL + 'FETCH FIRST ' + limit + ' ROWS ONLY';
|
|
256
|
+
}
|
|
257
|
+
return {
|
|
258
|
+
query: query.trim(),
|
|
259
|
+
binds: params.bindParams,
|
|
260
|
+
};
|
|
261
|
+
};
|
|
262
|
+
//# sourceMappingURL=selectQuery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selectQuery.js","sourceRoot":"","sources":["../../../../src/helpers/sql/selectQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { CompareKey } from '@l-v-yonsama/rdh';
|
|
2
|
+
import { AwsCfnStackAttributes, AwsDynamoTableAttributes, AwsSecretAttributes, AwsServiceType, AwsSESIdentityAttributes, AwsSQSAttributes, AwsSsmParameterAttributes, ResourceType } from '../types';
|
|
3
|
+
import { DbResource } from './base';
|
|
4
|
+
import type { AllSubDbResource, ITableComparable } from './types';
|
|
5
|
+
export declare class AwsDatabase extends DbResource<DbS3Bucket | DbSQSQueue | DbLogGroup | DbS3Owner | DbDynamoTable | DbSESIdentity | DbSsmParameter | DbSecretsManagerSecret | DbCfnStack | DbResourceGroup> {
|
|
6
|
+
readonly serviceType: AwsServiceType;
|
|
7
|
+
constructor(name: string, serviceType: AwsServiceType);
|
|
8
|
+
}
|
|
9
|
+
export declare class AwsDbResource<T = any, U extends AllSubDbResource = any> extends DbResource<U> {
|
|
10
|
+
readonly attr: T;
|
|
11
|
+
private dateProperties?;
|
|
12
|
+
private byteProperties?;
|
|
13
|
+
constructor(resourceType: ResourceType, name: string, attr: T);
|
|
14
|
+
protected setPropertyFormat({ dates, bytes, }: {
|
|
15
|
+
dates?: string[];
|
|
16
|
+
bytes?: string[];
|
|
17
|
+
}): void;
|
|
18
|
+
getProperties(): {
|
|
19
|
+
[key: string]: any;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export declare class DbDynamoTable extends AwsDbResource<AwsDynamoTableAttributes, DbDynamoTableColumn> implements ITableComparable {
|
|
23
|
+
constructor(name: string, attr: AwsDynamoTableAttributes);
|
|
24
|
+
getProperties(): {
|
|
25
|
+
[key: string]: any;
|
|
26
|
+
};
|
|
27
|
+
getPrimaryColumnNames(): string[];
|
|
28
|
+
getPkAndSkByIndex(indexName?: string): {
|
|
29
|
+
pk?: string;
|
|
30
|
+
sk?: string;
|
|
31
|
+
};
|
|
32
|
+
getCompareKeys(availableColumnNames?: string[]): CompareKey[];
|
|
33
|
+
}
|
|
34
|
+
export declare class DbDynamoTableColumn extends DbResource {
|
|
35
|
+
readonly attrType: string;
|
|
36
|
+
readonly pk: boolean;
|
|
37
|
+
readonly sk: boolean;
|
|
38
|
+
constructor(name: string, attrType: string, pk: boolean, sk: boolean);
|
|
39
|
+
toString(): string;
|
|
40
|
+
getProperties(): {
|
|
41
|
+
[key: string]: any;
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
export declare class DbS3Bucket extends AwsDbResource<{
|
|
45
|
+
CreationDate?: Date;
|
|
46
|
+
}> {
|
|
47
|
+
constructor(name?: string, CreationDate?: Date);
|
|
48
|
+
}
|
|
49
|
+
export declare class DbSQSQueue extends AwsDbResource<AwsSQSAttributes> {
|
|
50
|
+
readonly url: string;
|
|
51
|
+
constructor(name: string, url: string, attr: AwsSQSAttributes);
|
|
52
|
+
getProperties(): {
|
|
53
|
+
[key: string]: any;
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
export declare class DbLogGroup extends AwsDbResource<{
|
|
57
|
+
creationTime?: number;
|
|
58
|
+
storedBytes?: number;
|
|
59
|
+
retentionInDays?: number;
|
|
60
|
+
kmsKeyId?: string;
|
|
61
|
+
}> {
|
|
62
|
+
constructor(name: string, attr: {
|
|
63
|
+
creationTime?: number;
|
|
64
|
+
storedBytes?: number;
|
|
65
|
+
retentionInDays?: number;
|
|
66
|
+
kmsKeyId?: string;
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
export declare class DbLogStream extends AwsDbResource<{
|
|
70
|
+
creationTime: Date;
|
|
71
|
+
firstEventTimestamp: Date;
|
|
72
|
+
lastEventTimestamp: Date;
|
|
73
|
+
lastIngestionTime: Date;
|
|
74
|
+
}> {
|
|
75
|
+
constructor(name: string, attr: {
|
|
76
|
+
creationTime: Date;
|
|
77
|
+
firstEventTimestamp: Date;
|
|
78
|
+
lastEventTimestamp: Date;
|
|
79
|
+
lastIngestionTime: Date;
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
export declare class DbS3Owner extends AwsDbResource<Record<string, never>> {
|
|
83
|
+
readonly ownerId: string;
|
|
84
|
+
constructor(ownerId: string, name: string);
|
|
85
|
+
getProperties(): {
|
|
86
|
+
[key: string]: any;
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
export declare class DbSESIdentity extends AwsDbResource<AwsSESIdentityAttributes> {
|
|
90
|
+
constructor(name: string, attr: AwsSESIdentityAttributes);
|
|
91
|
+
getProperties(): {
|
|
92
|
+
[key: string]: any;
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
export declare class DbSsmParameter extends AwsDbResource<AwsSsmParameterAttributes> {
|
|
96
|
+
constructor(name: string, attr: AwsSsmParameterAttributes);
|
|
97
|
+
}
|
|
98
|
+
export declare class DbSecretsManagerSecret extends AwsDbResource<AwsSecretAttributes> {
|
|
99
|
+
constructor(name: string, attr: AwsSecretAttributes);
|
|
100
|
+
}
|
|
101
|
+
export declare class DbCfnStack extends AwsDbResource<AwsCfnStackAttributes> {
|
|
102
|
+
constructor(name: string, attr: AwsCfnStackAttributes);
|
|
103
|
+
}
|
|
104
|
+
export declare class DbResourceGroup extends DbResource {
|
|
105
|
+
constructor(name: string);
|
|
106
|
+
}
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DbResourceGroup = exports.DbCfnStack = exports.DbSecretsManagerSecret = exports.DbSsmParameter = exports.DbSESIdentity = exports.DbS3Owner = exports.DbLogStream = exports.DbLogGroup = exports.DbSQSQueue = exports.DbS3Bucket = exports.DbDynamoTableColumn = exports.DbDynamoTable = exports.AwsDbResource = exports.AwsDatabase = void 0;
|
|
4
|
+
const rdh_1 = require("@l-v-yonsama/rdh");
|
|
5
|
+
const bytes_1 = require("bytes");
|
|
6
|
+
const types_1 = require("../types");
|
|
7
|
+
const base_1 = require("./base");
|
|
8
|
+
class AwsDatabase extends base_1.DbResource {
|
|
9
|
+
constructor(name, serviceType) {
|
|
10
|
+
super(types_1.ResourceType.AwsDatabase, name);
|
|
11
|
+
this.serviceType = serviceType;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.AwsDatabase = AwsDatabase;
|
|
15
|
+
class AwsDbResource extends base_1.DbResource {
|
|
16
|
+
constructor(resourceType, name, attr) {
|
|
17
|
+
super(resourceType, name);
|
|
18
|
+
this.attr = attr;
|
|
19
|
+
}
|
|
20
|
+
setPropertyFormat({ dates, bytes, }) {
|
|
21
|
+
this.dateProperties = dates;
|
|
22
|
+
this.byteProperties = bytes;
|
|
23
|
+
}
|
|
24
|
+
getProperties() {
|
|
25
|
+
var _a, _b;
|
|
26
|
+
const props = Object.assign(Object.assign({}, super.getProperties()), this.attr);
|
|
27
|
+
(_a = this.dateProperties) === null || _a === void 0 ? void 0 : _a.forEach((name) => {
|
|
28
|
+
var _a;
|
|
29
|
+
const v = props[name];
|
|
30
|
+
props[name] = (_a = (0, rdh_1.toDate)(v)) === null || _a === void 0 ? void 0 : _a.toISOString();
|
|
31
|
+
});
|
|
32
|
+
(_b = this.byteProperties) === null || _b === void 0 ? void 0 : _b.forEach((name) => {
|
|
33
|
+
const v = props[name];
|
|
34
|
+
props[name] = (0, bytes_1.format)(v);
|
|
35
|
+
});
|
|
36
|
+
return props;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.AwsDbResource = AwsDbResource;
|
|
40
|
+
class DbDynamoTable extends AwsDbResource {
|
|
41
|
+
constructor(name, attr) {
|
|
42
|
+
super(types_1.ResourceType.DynamoTable, name, attr);
|
|
43
|
+
this.setPropertyFormat({
|
|
44
|
+
dates: ['CreationDateTime'],
|
|
45
|
+
bytes: ['TableSizeBytes'],
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
getProperties() {
|
|
49
|
+
const props = Object.assign(Object.assign({}, super.getProperties()), { lsi: this.attr.lsi.length, gsi: this.attr.gsi.length });
|
|
50
|
+
if (this.attr.ttl) {
|
|
51
|
+
props.ttl = `${this.attr.ttl.AttributeName} (${this.attr.ttl.TimeToLiveStatus})`;
|
|
52
|
+
}
|
|
53
|
+
if (this.attr.lsi) {
|
|
54
|
+
this.attr.lsi.forEach((it, idx) => {
|
|
55
|
+
props[`lsi${idx + 1}_${it.IndexName}`] = it.KeySchema.map((ks) => `${ks.AttributeName}(${ks.KeyType})`).join(', ');
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
if (this.attr.gsi) {
|
|
59
|
+
this.attr.gsi.forEach((it, idx) => {
|
|
60
|
+
props[`gsi${idx + 1}_${it.IndexName}`] = it.KeySchema.map((ks) => `${ks.AttributeName}(${ks.KeyType})`).join(', ');
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
return props;
|
|
64
|
+
}
|
|
65
|
+
getPrimaryColumnNames() {
|
|
66
|
+
var _a;
|
|
67
|
+
return ((_a = this.children.filter((it) => it.pk || it.sk).map((it) => it.name)) !== null && _a !== void 0 ? _a : []);
|
|
68
|
+
}
|
|
69
|
+
getPkAndSkByIndex(indexName) {
|
|
70
|
+
var _a, _b, _c, _d;
|
|
71
|
+
if (!indexName) {
|
|
72
|
+
return {
|
|
73
|
+
pk: (_a = this.children.find((it) => it.pk)) === null || _a === void 0 ? void 0 : _a.name,
|
|
74
|
+
sk: (_b = this.children.find((it) => it.sk)) === null || _b === void 0 ? void 0 : _b.name,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
let index = this.attr.lsi.find((it) => it.IndexName === indexName);
|
|
78
|
+
if (index === undefined) {
|
|
79
|
+
index = this.attr.gsi.find((it) => it.IndexName === indexName);
|
|
80
|
+
}
|
|
81
|
+
if (index) {
|
|
82
|
+
return {
|
|
83
|
+
pk: (_c = index.KeySchema.find((it) => it.KeyType === 'HASH')) === null || _c === void 0 ? void 0 : _c.AttributeName,
|
|
84
|
+
sk: (_d = index.KeySchema.find((it) => it.KeyType === 'RANGE')) === null || _d === void 0 ? void 0 : _d.AttributeName,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
return {
|
|
88
|
+
pk: undefined,
|
|
89
|
+
sk: undefined,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
getCompareKeys(availableColumnNames) {
|
|
93
|
+
const ret = [];
|
|
94
|
+
const pks = this.getPrimaryColumnNames();
|
|
95
|
+
if (pks.length) {
|
|
96
|
+
if (availableColumnNames) {
|
|
97
|
+
if (pks.every((pk) => availableColumnNames.some((ac) => (0, rdh_1.equalsIgnoreCase)(ac, pk)))) {
|
|
98
|
+
ret.push({
|
|
99
|
+
kind: 'primary',
|
|
100
|
+
names: pks.map((pk) => availableColumnNames.find((ac) => (0, rdh_1.equalsIgnoreCase)(ac, pk))),
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
ret.push({
|
|
106
|
+
kind: 'primary',
|
|
107
|
+
names: pks,
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return ret;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
exports.DbDynamoTable = DbDynamoTable;
|
|
115
|
+
class DbDynamoTableColumn extends base_1.DbResource {
|
|
116
|
+
constructor(name, attrType, pk, sk) {
|
|
117
|
+
super(types_1.ResourceType.DynamoColumn, name);
|
|
118
|
+
this.attrType = attrType;
|
|
119
|
+
this.pk = pk;
|
|
120
|
+
this.sk = sk;
|
|
121
|
+
}
|
|
122
|
+
toString() {
|
|
123
|
+
return `[${super.toString()}]: Pk[${this.pk}]]`;
|
|
124
|
+
}
|
|
125
|
+
getProperties() {
|
|
126
|
+
return Object.assign(Object.assign({}, super.getProperties()), { 'attribute type': this.attrType, 'partial key': this.pk, 'sort key': this.sk });
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
exports.DbDynamoTableColumn = DbDynamoTableColumn;
|
|
130
|
+
class DbS3Bucket extends AwsDbResource {
|
|
131
|
+
constructor(name, CreationDate) {
|
|
132
|
+
super(types_1.ResourceType.Bucket, name === undefined ? '' : name, {
|
|
133
|
+
CreationDate,
|
|
134
|
+
});
|
|
135
|
+
this.setPropertyFormat({ dates: ['CreationDate'] });
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
exports.DbS3Bucket = DbS3Bucket;
|
|
139
|
+
class DbSQSQueue extends AwsDbResource {
|
|
140
|
+
constructor(name, url, attr) {
|
|
141
|
+
super(types_1.ResourceType.Queue, name, attr);
|
|
142
|
+
this.url = url;
|
|
143
|
+
this.setPropertyFormat({
|
|
144
|
+
dates: ['CreatedTimestamp', 'LastModifiedTimestamp'],
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
getProperties() {
|
|
148
|
+
return Object.assign(Object.assign({}, super.getProperties()), { url: this.url });
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
exports.DbSQSQueue = DbSQSQueue;
|
|
152
|
+
class DbLogGroup extends AwsDbResource {
|
|
153
|
+
constructor(name, attr) {
|
|
154
|
+
super(types_1.ResourceType.LogGroup, name, attr);
|
|
155
|
+
this.setPropertyFormat({ dates: ['creationTime'], bytes: ['storedBytes'] });
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
exports.DbLogGroup = DbLogGroup;
|
|
159
|
+
class DbLogStream extends AwsDbResource {
|
|
160
|
+
constructor(name, attr) {
|
|
161
|
+
super(types_1.ResourceType.LogStream, name, attr);
|
|
162
|
+
this.setPropertyFormat({
|
|
163
|
+
dates: [
|
|
164
|
+
'creationTime',
|
|
165
|
+
'firstEventTimestamp',
|
|
166
|
+
'lastEventTimestamp',
|
|
167
|
+
'lastIngestionTime',
|
|
168
|
+
],
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
exports.DbLogStream = DbLogStream;
|
|
173
|
+
class DbS3Owner extends AwsDbResource {
|
|
174
|
+
constructor(ownerId, name) {
|
|
175
|
+
super(types_1.ResourceType.Owner, name === undefined ? '' : name, {});
|
|
176
|
+
this.ownerId = ownerId;
|
|
177
|
+
}
|
|
178
|
+
getProperties() {
|
|
179
|
+
return Object.assign(Object.assign({}, super.getProperties()), { 'Owner id': this.ownerId });
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
exports.DbS3Owner = DbS3Owner;
|
|
183
|
+
class DbSESIdentity extends AwsDbResource {
|
|
184
|
+
constructor(name, attr) {
|
|
185
|
+
super(types_1.ResourceType.Identity, name, attr);
|
|
186
|
+
}
|
|
187
|
+
getProperties() {
|
|
188
|
+
return Object.assign(Object.assign({}, super.getProperties()), { identityType: this.attr.identityType, verificationStatus: this.attr.verificationStatus });
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
exports.DbSESIdentity = DbSESIdentity;
|
|
192
|
+
class DbSsmParameter extends AwsDbResource {
|
|
193
|
+
constructor(name, attr) {
|
|
194
|
+
super(types_1.ResourceType.SsmParameter, name, attr);
|
|
195
|
+
this.setPropertyFormat({ dates: ['lastModifiedDate'] });
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
exports.DbSsmParameter = DbSsmParameter;
|
|
199
|
+
class DbSecretsManagerSecret extends AwsDbResource {
|
|
200
|
+
constructor(name, attr) {
|
|
201
|
+
super(types_1.ResourceType.SecretsManagerSecret, name, attr);
|
|
202
|
+
this.setPropertyFormat({ dates: ['lastChangedDate', 'lastAccessedDate'] });
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
exports.DbSecretsManagerSecret = DbSecretsManagerSecret;
|
|
206
|
+
class DbCfnStack extends AwsDbResource {
|
|
207
|
+
constructor(name, attr) {
|
|
208
|
+
super(types_1.ResourceType.CfnStack, name, attr);
|
|
209
|
+
this.setPropertyFormat({ dates: ['creationTime'] });
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
exports.DbCfnStack = DbCfnStack;
|
|
213
|
+
class DbResourceGroup extends base_1.DbResource {
|
|
214
|
+
constructor(name) {
|
|
215
|
+
super(types_1.ResourceType.Group, name);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
exports.DbResourceGroup = DbResourceGroup;
|
|
219
|
+
//# sourceMappingURL=aws.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aws.js","sourceRoot":"","sources":["../../../src/resource/aws.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ResourceType } from '../types';
|
|
2
|
+
import type { AllSubDbResource } from './types';
|
|
3
|
+
export declare abstract class DbResource<T extends DbResource = AllSubDbResource> {
|
|
4
|
+
readonly id: string;
|
|
5
|
+
readonly resourceType: ResourceType;
|
|
6
|
+
readonly name: string;
|
|
7
|
+
comment?: string;
|
|
8
|
+
readonly children: Array<T>;
|
|
9
|
+
meta: {
|
|
10
|
+
[key: string]: any;
|
|
11
|
+
};
|
|
12
|
+
isInProgress?: boolean;
|
|
13
|
+
constructor(resourceType: ResourceType, name: string);
|
|
14
|
+
getProperties(): {
|
|
15
|
+
[key: string]: any;
|
|
16
|
+
};
|
|
17
|
+
addChild(res: T): T;
|
|
18
|
+
hasChildren(): boolean;
|
|
19
|
+
clearChildren(): void;
|
|
20
|
+
getChildByName(name: string, insensitive?: boolean): T | undefined;
|
|
21
|
+
findChildren<U extends DbResource = AllSubDbResource>({ keyword, resourceType, recursively, }: {
|
|
22
|
+
resourceType: ResourceType;
|
|
23
|
+
keyword?: string | RegExp;
|
|
24
|
+
recursively?: boolean;
|
|
25
|
+
}): U[];
|
|
26
|
+
toString(): string;
|
|
27
|
+
toJsonStringify(space?: number): string;
|
|
28
|
+
}
|