@ductape/sdk 0.0.4-v5 → 0.0.4-v51
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 +1 -1
- package/dist/api/services/appApi.service.d.ts +48 -2
- package/dist/api/services/appApi.service.js +101 -2
- package/dist/api/services/appApi.service.js.map +1 -1
- package/dist/api/services/pricingApi.service.d.ts +10 -0
- package/dist/api/services/pricingApi.service.js +34 -0
- package/dist/api/services/pricingApi.service.js.map +1 -0
- package/dist/api/services/processorApi.service.d.ts +12 -2
- package/dist/api/services/processorApi.service.js +12 -2
- package/dist/api/services/processorApi.service.js.map +1 -1
- package/dist/api/services/productsApi.service.d.ts +40 -1
- package/dist/api/services/productsApi.service.js +105 -1
- package/dist/api/services/productsApi.service.js.map +1 -1
- package/dist/api/services/userApi.service.js +1 -0
- package/dist/api/services/userApi.service.js.map +1 -1
- package/dist/api/services/workspaceApi.service.js +1 -0
- package/dist/api/services/workspaceApi.service.js.map +1 -1
- package/dist/api/services/workspaceSecretsApi.service.d.ts +75 -0
- package/dist/api/services/workspaceSecretsApi.service.js +62 -0
- package/dist/api/services/workspaceSecretsApi.service.js.map +1 -0
- package/dist/api/urls.d.ts +6 -1
- package/dist/api/urls.js +12 -2
- package/dist/api/urls.js.map +1 -1
- package/dist/api/utils/cache.utils.d.ts +1 -1
- package/dist/api/utils/cache.utils.js +10 -4
- package/dist/api/utils/cache.utils.js.map +1 -1
- package/dist/api/utils/strings.utils.d.ts +2 -0
- package/dist/api/utils/strings.utils.js +14 -0
- package/dist/api/utils/strings.utils.js.map +1 -1
- package/dist/apps/services/app.service.d.ts +51 -33
- package/dist/apps/services/app.service.js +488 -244
- package/dist/apps/services/app.service.js.map +1 -1
- package/dist/apps/validators/joi-validators/create.appAction.validator.d.ts +1 -2
- package/dist/apps/validators/joi-validators/create.appAction.validator.js +21 -2
- package/dist/apps/validators/joi-validators/create.appAction.validator.js.map +1 -1
- package/dist/apps/validators/joi-validators/create.appWebhook.validator.d.ts +1 -2
- package/dist/apps/validators/joi-validators/create.appWebhook.validator.js +2 -15
- package/dist/apps/validators/joi-validators/create.appWebhook.validator.js.map +1 -1
- package/dist/apps/validators/joi-validators/update.appAction.validator.js +11 -1
- package/dist/apps/validators/joi-validators/update.appAction.validator.js.map +1 -1
- package/dist/apps/validators/joi-validators/update.appActionResponse.validator.d.ts +1 -1
- package/dist/apps/validators/joi-validators/update.appActionResponse.validator.js +34 -1
- package/dist/apps/validators/joi-validators/update.appActionResponse.validator.js.map +1 -1
- package/dist/apps/validators/joi-validators/update.appWebhook.validator.d.ts +1 -2
- package/dist/apps/validators/joi-validators/update.appWebhook.validator.js +2 -14
- package/dist/apps/validators/joi-validators/update.appWebhook.validator.js.map +1 -1
- package/dist/clients/pricing.client.d.ts +3 -0
- package/dist/clients/pricing.client.js +33 -0
- package/dist/clients/pricing.client.js.map +1 -0
- package/dist/database/adapters/base.adapter.d.ts +176 -0
- package/dist/database/adapters/base.adapter.js +31 -0
- package/dist/database/adapters/base.adapter.js.map +1 -0
- package/dist/database/adapters/dynamodb.adapter.d.ts +91 -0
- package/dist/database/adapters/dynamodb.adapter.js +1608 -0
- package/dist/database/adapters/dynamodb.adapter.js.map +1 -0
- package/dist/database/adapters/mongodb.adapter.d.ts +71 -0
- package/dist/database/adapters/mongodb.adapter.js +1072 -0
- package/dist/database/adapters/mongodb.adapter.js.map +1 -0
- package/dist/database/adapters/mysql.adapter.d.ts +146 -0
- package/dist/database/adapters/mysql.adapter.js +1492 -0
- package/dist/database/adapters/mysql.adapter.js.map +1 -0
- package/dist/database/adapters/postgresql.adapter.d.ts +147 -0
- package/dist/database/adapters/postgresql.adapter.js +1603 -0
- package/dist/database/adapters/postgresql.adapter.js.map +1 -0
- package/dist/database/database.service.d.ts +232 -0
- package/dist/database/database.service.js +802 -0
- package/dist/database/database.service.js.map +1 -0
- package/dist/database/index.d.ts +18 -0
- package/dist/database/index.js +98 -0
- package/dist/database/index.js.map +1 -0
- package/dist/database/types/aggregation.types.d.ts +261 -0
- package/dist/database/types/aggregation.types.js +21 -0
- package/dist/database/types/aggregation.types.js.map +1 -0
- package/dist/database/types/connection.types.d.ts +132 -0
- package/dist/database/types/connection.types.js +6 -0
- package/dist/database/types/connection.types.js.map +1 -0
- package/dist/database/types/database.types.d.ts +175 -0
- package/dist/database/types/database.types.js +75 -0
- package/dist/database/types/database.types.js.map +1 -0
- package/dist/database/types/index.d.ts +12 -0
- package/dist/database/types/index.js +37 -0
- package/dist/database/types/index.js.map +1 -0
- package/dist/database/types/index.types.d.ts +220 -0
- package/dist/database/types/index.types.js +27 -0
- package/dist/database/types/index.types.js.map +1 -0
- package/dist/database/types/migration.types.d.ts +205 -0
- package/dist/database/types/migration.types.js +44 -0
- package/dist/database/types/migration.types.js.map +1 -0
- package/dist/database/types/query.types.d.ts +305 -0
- package/dist/database/types/query.types.js +57 -0
- package/dist/database/types/query.types.js.map +1 -0
- package/dist/database/types/result.types.d.ts +220 -0
- package/dist/database/types/result.types.js +6 -0
- package/dist/database/types/result.types.js.map +1 -0
- package/dist/database/types/schema.types.d.ts +190 -0
- package/dist/database/types/schema.types.js +69 -0
- package/dist/database/types/schema.types.js.map +1 -0
- package/dist/database/utils/helpers.d.ts +66 -0
- package/dist/database/utils/helpers.js +501 -0
- package/dist/database/utils/helpers.js.map +1 -0
- package/dist/database/utils/migration.utils.d.ts +151 -0
- package/dist/database/utils/migration.utils.js +476 -0
- package/dist/database/utils/migration.utils.js.map +1 -0
- package/dist/database/utils/transaction.d.ts +64 -0
- package/dist/database/utils/transaction.js +130 -0
- package/dist/database/utils/transaction.js.map +1 -0
- package/dist/database/validators/connection.validator.d.ts +20 -0
- package/dist/database/validators/connection.validator.js +267 -0
- package/dist/database/validators/connection.validator.js.map +1 -0
- package/dist/database/validators/query.validator.d.ts +31 -0
- package/dist/database/validators/query.validator.js +305 -0
- package/dist/database/validators/query.validator.js.map +1 -0
- package/dist/database/validators/schema.validator.d.ts +31 -0
- package/dist/database/validators/schema.validator.js +334 -0
- package/dist/database/validators/schema.validator.js.map +1 -0
- package/dist/graph/adapters/arangodb.adapter.d.ts +80 -0
- package/dist/graph/adapters/arangodb.adapter.js +1393 -0
- package/dist/graph/adapters/arangodb.adapter.js.map +1 -0
- package/dist/graph/adapters/base.adapter.d.ts +228 -0
- package/dist/graph/adapters/base.adapter.js +38 -0
- package/dist/graph/adapters/base.adapter.js.map +1 -0
- package/dist/graph/adapters/index.d.ts +10 -0
- package/dist/graph/adapters/index.js +23 -0
- package/dist/graph/adapters/index.js.map +1 -0
- package/dist/graph/adapters/memgraph.adapter.d.ts +85 -0
- package/dist/graph/adapters/memgraph.adapter.js +1491 -0
- package/dist/graph/adapters/memgraph.adapter.js.map +1 -0
- package/dist/graph/adapters/neo4j.adapter.d.ts +88 -0
- package/dist/graph/adapters/neo4j.adapter.js +1861 -0
- package/dist/graph/adapters/neo4j.adapter.js.map +1 -0
- package/dist/graph/adapters/neptune.adapter.d.ts +87 -0
- package/dist/graph/adapters/neptune.adapter.js +1430 -0
- package/dist/graph/adapters/neptune.adapter.js.map +1 -0
- package/dist/graph/graph.service.d.ts +278 -0
- package/dist/graph/graph.service.js +687 -0
- package/dist/graph/graph.service.js.map +1 -0
- package/dist/graph/index.d.ts +11 -0
- package/dist/graph/index.js +42 -0
- package/dist/graph/index.js.map +1 -0
- package/dist/graph/types/connection.types.d.ts +158 -0
- package/dist/graph/types/connection.types.js +43 -0
- package/dist/graph/types/connection.types.js.map +1 -0
- package/dist/graph/types/graph.types.d.ts +144 -0
- package/dist/graph/types/graph.types.js +84 -0
- package/dist/graph/types/graph.types.js.map +1 -0
- package/dist/graph/types/index.d.ts +11 -0
- package/dist/graph/types/index.js +35 -0
- package/dist/graph/types/index.js.map +1 -0
- package/dist/graph/types/node.types.d.ts +193 -0
- package/dist/graph/types/node.types.js +49 -0
- package/dist/graph/types/node.types.js.map +1 -0
- package/dist/graph/types/path.types.d.ts +224 -0
- package/dist/graph/types/path.types.js +38 -0
- package/dist/graph/types/path.types.js.map +1 -0
- package/dist/graph/types/query.types.d.ts +247 -0
- package/dist/graph/types/query.types.js +23 -0
- package/dist/graph/types/query.types.js.map +1 -0
- package/dist/graph/types/relationship.types.d.ts +224 -0
- package/dist/graph/types/relationship.types.js +35 -0
- package/dist/graph/types/relationship.types.js.map +1 -0
- package/dist/graph/types/result.types.d.ts +237 -0
- package/dist/graph/types/result.types.js +7 -0
- package/dist/graph/types/result.types.js.map +1 -0
- package/dist/graph/validators/index.d.ts +81 -0
- package/dist/graph/validators/index.js +243 -0
- package/dist/graph/validators/index.js.map +1 -0
- package/dist/imports/imports.service.d.ts +3 -3
- package/dist/imports/imports.service.js +7 -7
- package/dist/imports/imports.service.js.map +1 -1
- package/dist/imports/imports.types.d.ts +8 -0
- package/dist/imports/repos/postmanV21.repo.d.ts +1 -1
- package/dist/imports/repos/postmanV21.repo.js +29 -2
- package/dist/imports/repos/postmanV21.repo.js.map +1 -1
- package/dist/index.d.ts +1244 -150
- package/dist/index.js +1309 -209
- package/dist/index.js.map +1 -1
- package/dist/inputs/inputs.service.js +2 -2
- package/dist/inputs/inputs.service.js.map +1 -1
- package/dist/inputs/utils/inputs.utils.create.js +1 -1
- package/dist/inputs/utils/inputs.utils.create.js.map +1 -1
- package/dist/logs/logs.types.d.ts +5 -0
- package/dist/logs/logs.types.js +1 -0
- package/dist/logs/logs.types.js.map +1 -1
- package/dist/parsers/index.d.ts +3 -0
- package/dist/parsers/index.js +27 -0
- package/dist/parsers/index.js.map +1 -0
- package/dist/parsers/pipelines/postman.pipelines.d.ts +15 -0
- package/dist/parsers/pipelines/postman.pipelines.js +103 -0
- package/dist/parsers/pipelines/postman.pipelines.js.map +1 -0
- package/dist/parsers/types/postman.types.d.ts +200 -0
- package/dist/parsers/types/postman.types.js +3 -0
- package/dist/parsers/types/postman.types.js.map +1 -0
- package/dist/parsers/utils/postman.utils.d.ts +12 -0
- package/dist/parsers/utils/postman.utils.js +116 -0
- package/dist/parsers/utils/postman.utils.js.map +1 -0
- package/dist/parsers/validators/postman-auth.validators.d.ts +10 -0
- package/dist/parsers/validators/postman-auth.validators.js +127 -0
- package/dist/parsers/validators/postman-auth.validators.js.map +1 -0
- package/dist/parsers/validators/postman-request.validators.d.ts +13 -0
- package/dist/parsers/validators/postman-request.validators.js +139 -0
- package/dist/parsers/validators/postman-request.validators.js.map +1 -0
- package/dist/parsers/validators/postman-response.validators.d.ts +13 -0
- package/dist/parsers/validators/postman-response.validators.js +150 -0
- package/dist/parsers/validators/postman-response.validators.js.map +1 -0
- package/dist/parsers/validators/postman-variable.validators.d.ts +14 -0
- package/dist/parsers/validators/postman-variable.validators.js +163 -0
- package/dist/parsers/validators/postman-variable.validators.js.map +1 -0
- package/dist/pricing/pricing.repo.d.ts +0 -0
- package/dist/pricing/pricing.repo.js +1 -0
- package/dist/pricing/pricing.repo.js.map +1 -0
- package/dist/pricing/pricing.service.d.ts +24 -0
- package/dist/pricing/pricing.service.js +51 -0
- package/dist/pricing/pricing.service.js.map +1 -0
- package/dist/pricing/pricing.types.d.ts +76 -0
- package/dist/pricing/pricing.types.js +21 -0
- package/dist/pricing/pricing.types.js.map +1 -0
- package/dist/pricing/utils/string.utils.d.ts +1 -0
- package/dist/pricing/utils/string.utils.js +9 -0
- package/dist/pricing/utils/string.utils.js.map +1 -0
- package/dist/processor/repos/sms.repo.d.ts +4 -4
- package/dist/processor/repos/sms.repo.js +23 -10
- package/dist/processor/repos/sms.repo.js.map +1 -1
- package/dist/processor/services/messagebrokers/kafka.service.js +0 -2
- package/dist/processor/services/messagebrokers/kafka.service.js.map +1 -1
- package/dist/processor/services/messagebrokers/rabbitmq.service.d.ts +9 -1
- package/dist/processor/services/messagebrokers/rabbitmq.service.js +40 -11
- package/dist/processor/services/messagebrokers/rabbitmq.service.js.map +1 -1
- package/dist/processor/services/processor.service.d.ts +38 -10
- package/dist/processor/services/processor.service.js +533 -248
- package/dist/processor/services/processor.service.js.map +1 -1
- package/dist/processor/services/request.service.d.ts +36 -0
- package/dist/processor/services/request.service.js +304 -0
- package/dist/processor/services/request.service.js.map +1 -0
- package/dist/processor/types/request.types.d.ts +14 -0
- package/dist/processor/types/request.types.js +3 -0
- package/dist/processor/types/request.types.js.map +1 -0
- package/dist/processor/utils/processor.utils.d.ts +3 -0
- package/dist/processor/utils/processor.utils.js +84 -22
- package/dist/processor/utils/processor.utils.js.map +1 -1
- package/dist/processor/utils/request.utils.d.ts +20 -0
- package/dist/processor/utils/request.utils.js +113 -0
- package/dist/processor/utils/request.utils.js.map +1 -0
- package/dist/products/services/products.service.d.ts +114 -77
- package/dist/products/services/products.service.js +805 -362
- package/dist/products/services/products.service.js.map +1 -1
- package/dist/products/services/utils/crypt.utils.d.ts +1 -0
- package/dist/products/services/utils/crypt.utils.js +17 -0
- package/dist/products/services/utils/crypt.utils.js.map +1 -0
- package/dist/products/services/utils/functions.utils.d.ts +13 -0
- package/dist/products/services/utils/functions.utils.js +289 -0
- package/dist/products/services/utils/functions.utils.js.map +1 -0
- package/dist/products/services/utils/objects.utils.d.ts +13 -0
- package/dist/products/services/utils/objects.utils.js +89 -0
- package/dist/products/services/utils/objects.utils.js.map +1 -0
- package/dist/products/services/utils/string.utils.d.ts +12 -0
- package/dist/products/services/utils/string.utils.js +168 -0
- package/dist/products/services/utils/string.utils.js.map +1 -0
- package/dist/products/utils/string.utils.d.ts +1 -1
- package/dist/products/utils/string.utils.js +14 -2
- package/dist/products/utils/string.utils.js.map +1 -1
- package/dist/products/validators/index.d.ts +4 -1
- package/dist/products/validators/index.js +7 -1
- package/dist/products/validators/index.js.map +1 -1
- package/dist/products/validators/joi-validators/create.productDatabaseAction.validator.d.ts +15 -4
- package/dist/products/validators/joi-validators/create.productDatabaseAction.validator.js +501 -109
- package/dist/products/validators/joi-validators/create.productDatabaseAction.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/create.productEnv.validator.js +1 -0
- package/dist/products/validators/joi-validators/create.productEnv.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/create.productGraph.validator.d.ts +3 -0
- package/dist/products/validators/joi-validators/create.productGraph.validator.js +82 -0
- package/dist/products/validators/joi-validators/create.productGraph.validator.js.map +1 -0
- package/dist/products/validators/joi-validators/create.productGraphAction.validator.d.ts +14 -0
- package/dist/products/validators/joi-validators/create.productGraphAction.validator.js +696 -0
- package/dist/products/validators/joi-validators/create.productGraphAction.validator.js.map +1 -0
- package/dist/products/validators/joi-validators/create.productHealthcheck.validator.d.ts +4 -0
- package/dist/products/validators/joi-validators/create.productHealthcheck.validator.js +58 -0
- package/dist/products/validators/joi-validators/create.productHealthcheck.validator.js.map +1 -0
- package/dist/products/validators/joi-validators/create.productMessageBrokerTopic.validator.js +1 -0
- package/dist/products/validators/joi-validators/create.productMessageBrokerTopic.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/create.productMessageBrokers.validator.js +9 -4
- package/dist/products/validators/joi-validators/create.productMessageBrokers.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/create.productNotification.validator.js +5 -2
- package/dist/products/validators/joi-validators/create.productNotification.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/create.userAuth.validator.js +1 -0
- package/dist/products/validators/joi-validators/create.userAuth.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/update.dataValue.validator.js +1 -0
- package/dist/products/validators/joi-validators/update.dataValue.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/update.productDatabaseAction.validator.d.ts +6 -0
- package/dist/products/validators/joi-validators/update.productDatabaseAction.validator.js +28 -26
- package/dist/products/validators/joi-validators/update.productDatabaseAction.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/update.productEnv.validator.js +3 -0
- package/dist/products/validators/joi-validators/update.productEnv.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/update.productGraph.validator.d.ts +3 -0
- package/dist/products/validators/joi-validators/update.productGraph.validator.js +87 -0
- package/dist/products/validators/joi-validators/update.productGraph.validator.js.map +1 -0
- package/dist/products/validators/joi-validators/update.productGraphAction.validator.d.ts +7 -0
- package/dist/products/validators/joi-validators/update.productGraphAction.validator.js +72 -0
- package/dist/products/validators/joi-validators/update.productGraphAction.validator.js.map +1 -0
- package/dist/products/validators/joi-validators/update.productMessageBrokerTopic.validator.js +1 -0
- package/dist/products/validators/joi-validators/update.productMessageBrokerTopic.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/update.userAuth.validator.js +1 -0
- package/dist/products/validators/joi-validators/update.userAuth.validator.js.map +1 -1
- package/dist/test/test.health.d.ts +1 -0
- package/dist/test/test.health.js +49 -0
- package/dist/test/test.health.js.map +1 -0
- package/dist/test/test.import.js +51 -4
- package/dist/test/test.import.js.map +1 -1
- package/dist/test/test.imports.js +22 -7
- package/dist/test/test.imports.js.map +1 -1
- package/dist/test/test.notifiers.d.ts +1 -0
- package/dist/test/test.notifiers.js +85 -0
- package/dist/test/test.notifiers.js.map +1 -0
- package/dist/test/test.processor.js +30 -115
- package/dist/test/test.processor.js.map +1 -1
- package/dist/test/test.products.d.ts +1 -0
- package/dist/test/test.products.js +49 -0
- package/dist/test/test.products.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types/appBuilder.types.d.ts +5 -12
- package/dist/types/enums.d.ts +4 -1
- package/dist/types/enums.js +3 -0
- package/dist/types/enums.js.map +1 -1
- package/dist/types/index.types.d.ts +4 -0
- package/dist/types/pricing.types.d.ts +4 -0
- package/dist/types/pricing.types.js +3 -0
- package/dist/types/pricing.types.js.map +1 -0
- package/dist/types/processor.types.d.ts +67 -11
- package/dist/types/processor.types.js.map +1 -1
- package/dist/types/productsBuilder.types.d.ts +132 -14
- package/dist/types/productsBuilder.types.js +69 -4
- package/dist/types/productsBuilder.types.js.map +1 -1
- package/dist/types/request-tracker.interface.d.ts +0 -0
- package/dist/types/request-tracker.interface.js +1 -0
- package/dist/types/request-tracker.interface.js.map +1 -0
- package/dist/utils/constants.d.ts +1 -0
- package/dist/utils/constants.js +5 -0
- package/dist/utils/constants.js.map +1 -0
- package/package.json +17 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database.service.js","sourceRoot":"","sources":["../../src/database/database.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Database module index
|
|
3
|
+
* Exports the main database service and all types
|
|
4
|
+
*/
|
|
5
|
+
export { DatabaseService } from './database.service';
|
|
6
|
+
export * from './types';
|
|
7
|
+
export { BaseDatabaseAdapter } from './adapters/base.adapter';
|
|
8
|
+
export { PostgreSQLAdapter } from './adapters/postgresql.adapter';
|
|
9
|
+
export { MongoDBAdapter } from './adapters/mongodb.adapter';
|
|
10
|
+
export { MySQLAdapter } from './adapters/mysql.adapter';
|
|
11
|
+
export { DynamoDBAdapter } from './adapters/dynamodb.adapter';
|
|
12
|
+
export { Transaction, Savepoint, TransactionFactory } from './utils/transaction';
|
|
13
|
+
export { generateMigrationTag, generateMigrationTimestamp, createMigration, createTable, dropTable, addColumn, dropColumn, modifyColumn, renameColumn, addIndex, dropIndex, addConstraint, dropConstraint, rawSql, createTableMigration, addColumnMigration, addIndexMigration, SchemaHelpers, generateMigrationFileContent, generateMigrationTemplate, } from './utils/migration.utils';
|
|
14
|
+
export { mapColumnTypeToNative, buildWhereClause, buildMongoQuery, escapeIdentifier, escapeValue, formatDatabaseError, isConnectionError, isDuplicateKeyError, isForeignKeyError, retryOperation, sanitizeTableName, camelToSnake, snakeToCamel, deepClone, } from './utils/helpers';
|
|
15
|
+
export { validateConnection, assertValidConnection } from './validators/connection.validator';
|
|
16
|
+
export type { IValidationResult } from './validators/connection.validator';
|
|
17
|
+
export { validateTableSchema, validateColumnDefinition, validateIndexDefinition, assertValidTableSchema, assertValidColumn, assertValidIndex, } from './validators/schema.validator';
|
|
18
|
+
export { validateQueryOptions, validateInsertData, validateUpdateData, assertValidQueryOptions, assertValidInsertData, assertValidUpdateData, } from './validators/query.validator';
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Database module index
|
|
4
|
+
* Exports the main database service and all types
|
|
5
|
+
*/
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
18
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
19
|
+
};
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports.assertValidColumn = exports.assertValidTableSchema = exports.validateIndexDefinition = exports.validateColumnDefinition = exports.validateTableSchema = exports.assertValidConnection = exports.validateConnection = exports.deepClone = exports.snakeToCamel = exports.camelToSnake = exports.sanitizeTableName = exports.retryOperation = exports.isForeignKeyError = exports.isDuplicateKeyError = exports.isConnectionError = exports.formatDatabaseError = exports.escapeValue = exports.escapeIdentifier = exports.buildMongoQuery = exports.buildWhereClause = exports.mapColumnTypeToNative = exports.generateMigrationTemplate = exports.generateMigrationFileContent = exports.SchemaHelpers = exports.addIndexMigration = exports.addColumnMigration = exports.createTableMigration = exports.rawSql = exports.dropConstraint = exports.addConstraint = exports.dropIndex = exports.addIndex = exports.renameColumn = exports.modifyColumn = exports.dropColumn = exports.addColumn = exports.dropTable = exports.createTable = exports.createMigration = exports.generateMigrationTimestamp = exports.generateMigrationTag = exports.TransactionFactory = exports.Savepoint = exports.Transaction = exports.DynamoDBAdapter = exports.MySQLAdapter = exports.MongoDBAdapter = exports.PostgreSQLAdapter = exports.BaseDatabaseAdapter = exports.DatabaseService = void 0;
|
|
22
|
+
exports.assertValidUpdateData = exports.assertValidInsertData = exports.assertValidQueryOptions = exports.validateUpdateData = exports.validateInsertData = exports.validateQueryOptions = exports.assertValidIndex = void 0;
|
|
23
|
+
// Export main service
|
|
24
|
+
var database_service_1 = require("./database.service");
|
|
25
|
+
Object.defineProperty(exports, "DatabaseService", { enumerable: true, get: function () { return database_service_1.DatabaseService; } });
|
|
26
|
+
// Export all types
|
|
27
|
+
__exportStar(require("./types"), exports);
|
|
28
|
+
// Export adapters (for advanced usage)
|
|
29
|
+
var base_adapter_1 = require("./adapters/base.adapter");
|
|
30
|
+
Object.defineProperty(exports, "BaseDatabaseAdapter", { enumerable: true, get: function () { return base_adapter_1.BaseDatabaseAdapter; } });
|
|
31
|
+
var postgresql_adapter_1 = require("./adapters/postgresql.adapter");
|
|
32
|
+
Object.defineProperty(exports, "PostgreSQLAdapter", { enumerable: true, get: function () { return postgresql_adapter_1.PostgreSQLAdapter; } });
|
|
33
|
+
var mongodb_adapter_1 = require("./adapters/mongodb.adapter");
|
|
34
|
+
Object.defineProperty(exports, "MongoDBAdapter", { enumerable: true, get: function () { return mongodb_adapter_1.MongoDBAdapter; } });
|
|
35
|
+
var mysql_adapter_1 = require("./adapters/mysql.adapter");
|
|
36
|
+
Object.defineProperty(exports, "MySQLAdapter", { enumerable: true, get: function () { return mysql_adapter_1.MySQLAdapter; } });
|
|
37
|
+
var dynamodb_adapter_1 = require("./adapters/dynamodb.adapter");
|
|
38
|
+
Object.defineProperty(exports, "DynamoDBAdapter", { enumerable: true, get: function () { return dynamodb_adapter_1.DynamoDBAdapter; } });
|
|
39
|
+
// Export utilities
|
|
40
|
+
var transaction_1 = require("./utils/transaction");
|
|
41
|
+
Object.defineProperty(exports, "Transaction", { enumerable: true, get: function () { return transaction_1.Transaction; } });
|
|
42
|
+
Object.defineProperty(exports, "Savepoint", { enumerable: true, get: function () { return transaction_1.Savepoint; } });
|
|
43
|
+
Object.defineProperty(exports, "TransactionFactory", { enumerable: true, get: function () { return transaction_1.TransactionFactory; } });
|
|
44
|
+
var migration_utils_1 = require("./utils/migration.utils");
|
|
45
|
+
Object.defineProperty(exports, "generateMigrationTag", { enumerable: true, get: function () { return migration_utils_1.generateMigrationTag; } });
|
|
46
|
+
Object.defineProperty(exports, "generateMigrationTimestamp", { enumerable: true, get: function () { return migration_utils_1.generateMigrationTimestamp; } });
|
|
47
|
+
Object.defineProperty(exports, "createMigration", { enumerable: true, get: function () { return migration_utils_1.createMigration; } });
|
|
48
|
+
Object.defineProperty(exports, "createTable", { enumerable: true, get: function () { return migration_utils_1.createTable; } });
|
|
49
|
+
Object.defineProperty(exports, "dropTable", { enumerable: true, get: function () { return migration_utils_1.dropTable; } });
|
|
50
|
+
Object.defineProperty(exports, "addColumn", { enumerable: true, get: function () { return migration_utils_1.addColumn; } });
|
|
51
|
+
Object.defineProperty(exports, "dropColumn", { enumerable: true, get: function () { return migration_utils_1.dropColumn; } });
|
|
52
|
+
Object.defineProperty(exports, "modifyColumn", { enumerable: true, get: function () { return migration_utils_1.modifyColumn; } });
|
|
53
|
+
Object.defineProperty(exports, "renameColumn", { enumerable: true, get: function () { return migration_utils_1.renameColumn; } });
|
|
54
|
+
Object.defineProperty(exports, "addIndex", { enumerable: true, get: function () { return migration_utils_1.addIndex; } });
|
|
55
|
+
Object.defineProperty(exports, "dropIndex", { enumerable: true, get: function () { return migration_utils_1.dropIndex; } });
|
|
56
|
+
Object.defineProperty(exports, "addConstraint", { enumerable: true, get: function () { return migration_utils_1.addConstraint; } });
|
|
57
|
+
Object.defineProperty(exports, "dropConstraint", { enumerable: true, get: function () { return migration_utils_1.dropConstraint; } });
|
|
58
|
+
Object.defineProperty(exports, "rawSql", { enumerable: true, get: function () { return migration_utils_1.rawSql; } });
|
|
59
|
+
Object.defineProperty(exports, "createTableMigration", { enumerable: true, get: function () { return migration_utils_1.createTableMigration; } });
|
|
60
|
+
Object.defineProperty(exports, "addColumnMigration", { enumerable: true, get: function () { return migration_utils_1.addColumnMigration; } });
|
|
61
|
+
Object.defineProperty(exports, "addIndexMigration", { enumerable: true, get: function () { return migration_utils_1.addIndexMigration; } });
|
|
62
|
+
Object.defineProperty(exports, "SchemaHelpers", { enumerable: true, get: function () { return migration_utils_1.SchemaHelpers; } });
|
|
63
|
+
Object.defineProperty(exports, "generateMigrationFileContent", { enumerable: true, get: function () { return migration_utils_1.generateMigrationFileContent; } });
|
|
64
|
+
Object.defineProperty(exports, "generateMigrationTemplate", { enumerable: true, get: function () { return migration_utils_1.generateMigrationTemplate; } });
|
|
65
|
+
var helpers_1 = require("./utils/helpers");
|
|
66
|
+
Object.defineProperty(exports, "mapColumnTypeToNative", { enumerable: true, get: function () { return helpers_1.mapColumnTypeToNative; } });
|
|
67
|
+
Object.defineProperty(exports, "buildWhereClause", { enumerable: true, get: function () { return helpers_1.buildWhereClause; } });
|
|
68
|
+
Object.defineProperty(exports, "buildMongoQuery", { enumerable: true, get: function () { return helpers_1.buildMongoQuery; } });
|
|
69
|
+
Object.defineProperty(exports, "escapeIdentifier", { enumerable: true, get: function () { return helpers_1.escapeIdentifier; } });
|
|
70
|
+
Object.defineProperty(exports, "escapeValue", { enumerable: true, get: function () { return helpers_1.escapeValue; } });
|
|
71
|
+
Object.defineProperty(exports, "formatDatabaseError", { enumerable: true, get: function () { return helpers_1.formatDatabaseError; } });
|
|
72
|
+
Object.defineProperty(exports, "isConnectionError", { enumerable: true, get: function () { return helpers_1.isConnectionError; } });
|
|
73
|
+
Object.defineProperty(exports, "isDuplicateKeyError", { enumerable: true, get: function () { return helpers_1.isDuplicateKeyError; } });
|
|
74
|
+
Object.defineProperty(exports, "isForeignKeyError", { enumerable: true, get: function () { return helpers_1.isForeignKeyError; } });
|
|
75
|
+
Object.defineProperty(exports, "retryOperation", { enumerable: true, get: function () { return helpers_1.retryOperation; } });
|
|
76
|
+
Object.defineProperty(exports, "sanitizeTableName", { enumerable: true, get: function () { return helpers_1.sanitizeTableName; } });
|
|
77
|
+
Object.defineProperty(exports, "camelToSnake", { enumerable: true, get: function () { return helpers_1.camelToSnake; } });
|
|
78
|
+
Object.defineProperty(exports, "snakeToCamel", { enumerable: true, get: function () { return helpers_1.snakeToCamel; } });
|
|
79
|
+
Object.defineProperty(exports, "deepClone", { enumerable: true, get: function () { return helpers_1.deepClone; } });
|
|
80
|
+
// Export validators
|
|
81
|
+
var connection_validator_1 = require("./validators/connection.validator");
|
|
82
|
+
Object.defineProperty(exports, "validateConnection", { enumerable: true, get: function () { return connection_validator_1.validateConnection; } });
|
|
83
|
+
Object.defineProperty(exports, "assertValidConnection", { enumerable: true, get: function () { return connection_validator_1.assertValidConnection; } });
|
|
84
|
+
var schema_validator_1 = require("./validators/schema.validator");
|
|
85
|
+
Object.defineProperty(exports, "validateTableSchema", { enumerable: true, get: function () { return schema_validator_1.validateTableSchema; } });
|
|
86
|
+
Object.defineProperty(exports, "validateColumnDefinition", { enumerable: true, get: function () { return schema_validator_1.validateColumnDefinition; } });
|
|
87
|
+
Object.defineProperty(exports, "validateIndexDefinition", { enumerable: true, get: function () { return schema_validator_1.validateIndexDefinition; } });
|
|
88
|
+
Object.defineProperty(exports, "assertValidTableSchema", { enumerable: true, get: function () { return schema_validator_1.assertValidTableSchema; } });
|
|
89
|
+
Object.defineProperty(exports, "assertValidColumn", { enumerable: true, get: function () { return schema_validator_1.assertValidColumn; } });
|
|
90
|
+
Object.defineProperty(exports, "assertValidIndex", { enumerable: true, get: function () { return schema_validator_1.assertValidIndex; } });
|
|
91
|
+
var query_validator_1 = require("./validators/query.validator");
|
|
92
|
+
Object.defineProperty(exports, "validateQueryOptions", { enumerable: true, get: function () { return query_validator_1.validateQueryOptions; } });
|
|
93
|
+
Object.defineProperty(exports, "validateInsertData", { enumerable: true, get: function () { return query_validator_1.validateInsertData; } });
|
|
94
|
+
Object.defineProperty(exports, "validateUpdateData", { enumerable: true, get: function () { return query_validator_1.validateUpdateData; } });
|
|
95
|
+
Object.defineProperty(exports, "assertValidQueryOptions", { enumerable: true, get: function () { return query_validator_1.assertValidQueryOptions; } });
|
|
96
|
+
Object.defineProperty(exports, "assertValidInsertData", { enumerable: true, get: function () { return query_validator_1.assertValidInsertData; } });
|
|
97
|
+
Object.defineProperty(exports, "assertValidUpdateData", { enumerable: true, get: function () { return query_validator_1.assertValidUpdateData; } });
|
|
98
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;AAEH,sBAAsB;AACtB,uDAAqD;AAA5C,mHAAA,eAAe,OAAA;AAExB,mBAAmB;AACnB,0CAAwB;AAExB,uCAAuC;AACvC,wDAA8D;AAArD,mHAAA,mBAAmB,OAAA;AAC5B,oEAAkE;AAAzD,uHAAA,iBAAiB,OAAA;AAC1B,8DAA4D;AAAnD,iHAAA,cAAc,OAAA;AACvB,0DAAwD;AAA/C,6GAAA,YAAY,OAAA;AACrB,gEAA8D;AAArD,mHAAA,eAAe,OAAA;AAExB,mBAAmB;AACnB,mDAAiF;AAAxE,0GAAA,WAAW,OAAA;AAAE,wGAAA,SAAS,OAAA;AAAE,iHAAA,kBAAkB,OAAA;AACnD,2DAqBiC;AApB/B,uHAAA,oBAAoB,OAAA;AACpB,6HAAA,0BAA0B,OAAA;AAC1B,kHAAA,eAAe,OAAA;AACf,8GAAA,WAAW,OAAA;AACX,4GAAA,SAAS,OAAA;AACT,4GAAA,SAAS,OAAA;AACT,6GAAA,UAAU,OAAA;AACV,+GAAA,YAAY,OAAA;AACZ,+GAAA,YAAY,OAAA;AACZ,2GAAA,QAAQ,OAAA;AACR,4GAAA,SAAS,OAAA;AACT,gHAAA,aAAa,OAAA;AACb,iHAAA,cAAc,OAAA;AACd,yGAAA,MAAM,OAAA;AACN,uHAAA,oBAAoB,OAAA;AACpB,qHAAA,kBAAkB,OAAA;AAClB,oHAAA,iBAAiB,OAAA;AACjB,gHAAA,aAAa,OAAA;AACb,+HAAA,4BAA4B,OAAA;AAC5B,4HAAA,yBAAyB,OAAA;AAE3B,2CAeyB;AAdvB,gHAAA,qBAAqB,OAAA;AACrB,2GAAA,gBAAgB,OAAA;AAChB,0GAAA,eAAe,OAAA;AACf,2GAAA,gBAAgB,OAAA;AAChB,sGAAA,WAAW,OAAA;AACX,8GAAA,mBAAmB,OAAA;AACnB,4GAAA,iBAAiB,OAAA;AACjB,8GAAA,mBAAmB,OAAA;AACnB,4GAAA,iBAAiB,OAAA;AACjB,yGAAA,cAAc,OAAA;AACd,4GAAA,iBAAiB,OAAA;AACjB,uGAAA,YAAY,OAAA;AACZ,uGAAA,YAAY,OAAA;AACZ,oGAAA,SAAS,OAAA;AAGX,oBAAoB;AACpB,0EAA8F;AAArF,0HAAA,kBAAkB,OAAA;AAAE,6HAAA,qBAAqB,OAAA;AAElD,kEAOuC;AANrC,uHAAA,mBAAmB,OAAA;AACnB,4HAAA,wBAAwB,OAAA;AACxB,2HAAA,uBAAuB,OAAA;AACvB,0HAAA,sBAAsB,OAAA;AACtB,qHAAA,iBAAiB,OAAA;AACjB,oHAAA,gBAAgB,OAAA;AAElB,gEAOsC;AANpC,uHAAA,oBAAoB,OAAA;AACpB,qHAAA,kBAAkB,OAAA;AAClB,qHAAA,kBAAkB,OAAA;AAClB,0HAAA,uBAAuB,OAAA;AACvB,wHAAA,qBAAqB,OAAA;AACrB,wHAAA,qBAAqB,OAAA"}
|
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Aggregation type definitions for database operations
|
|
3
|
+
*/
|
|
4
|
+
import { WhereClause, IOrderBy } from './query.types';
|
|
5
|
+
/**
|
|
6
|
+
* Aggregation function types
|
|
7
|
+
*/
|
|
8
|
+
export declare enum AggregationFunction {
|
|
9
|
+
COUNT = "count",
|
|
10
|
+
SUM = "sum",
|
|
11
|
+
AVG = "avg",
|
|
12
|
+
MIN = "min",
|
|
13
|
+
MAX = "max",
|
|
14
|
+
GROUP_CONCAT = "group_concat",// MySQL
|
|
15
|
+
STRING_AGG = "string_agg",// PostgreSQL
|
|
16
|
+
ARRAY_AGG = "array_agg"
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Aggregation operation format
|
|
20
|
+
* Use like: { $COUNT: '*' } or { $SUM: 'column_name' }
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```typescript
|
|
24
|
+
* operations: {
|
|
25
|
+
* total_orders: { $COUNT: '*' },
|
|
26
|
+
* total_revenue: { $SUM: 'total' },
|
|
27
|
+
* avg_order_value: { $AVG: 'total' },
|
|
28
|
+
* min_order: { $MIN: 'total' },
|
|
29
|
+
* max_order: { $MAX: 'total' },
|
|
30
|
+
* }
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export interface ISimplifiedAggregation {
|
|
34
|
+
/** Count - use '*' for all rows or column name for non-null values */
|
|
35
|
+
$COUNT?: string;
|
|
36
|
+
/** Sum of column values */
|
|
37
|
+
$SUM?: string;
|
|
38
|
+
/** Average of column values */
|
|
39
|
+
$AVG?: string;
|
|
40
|
+
/** Minimum value */
|
|
41
|
+
$MIN?: string;
|
|
42
|
+
/** Maximum value */
|
|
43
|
+
$MAX?: string;
|
|
44
|
+
/** Group concatenation (MySQL) */
|
|
45
|
+
$GROUP_CONCAT?: string;
|
|
46
|
+
/** String aggregation (PostgreSQL) */
|
|
47
|
+
$STRING_AGG?: string;
|
|
48
|
+
/** Array aggregation */
|
|
49
|
+
$ARRAY_AGG?: string;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Aggregation operation input type
|
|
53
|
+
*/
|
|
54
|
+
export type AggregationOperationInput = ISimplifiedAggregation;
|
|
55
|
+
/**
|
|
56
|
+
* Count options
|
|
57
|
+
*/
|
|
58
|
+
export interface ICountOptions {
|
|
59
|
+
/** Table/Collection name */
|
|
60
|
+
table: string;
|
|
61
|
+
/** Environment slug (optional if connection is already established) */
|
|
62
|
+
env?: string;
|
|
63
|
+
/** Product tag (optional if connection is already established) */
|
|
64
|
+
product?: string;
|
|
65
|
+
/** Database tag (optional if connection is already established) */
|
|
66
|
+
database?: string;
|
|
67
|
+
/** Where clause */
|
|
68
|
+
where?: WhereClause;
|
|
69
|
+
/** Column to count (default: '*') */
|
|
70
|
+
column?: string;
|
|
71
|
+
/** Count distinct values only */
|
|
72
|
+
distinct?: boolean;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Sum options
|
|
76
|
+
*/
|
|
77
|
+
export interface ISumOptions {
|
|
78
|
+
/** Table/Collection name */
|
|
79
|
+
table: string;
|
|
80
|
+
/** Environment slug (optional if connection is already established) */
|
|
81
|
+
env?: string;
|
|
82
|
+
/** Product tag (optional if connection is already established) */
|
|
83
|
+
product?: string;
|
|
84
|
+
/** Database tag (optional if connection is already established) */
|
|
85
|
+
database?: string;
|
|
86
|
+
/** Column to sum */
|
|
87
|
+
column: string;
|
|
88
|
+
/** Where clause */
|
|
89
|
+
where?: WhereClause;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Average options
|
|
93
|
+
*/
|
|
94
|
+
export interface IAvgOptions {
|
|
95
|
+
/** Table/Collection name */
|
|
96
|
+
table: string;
|
|
97
|
+
/** Environment slug (optional if connection is already established) */
|
|
98
|
+
env?: string;
|
|
99
|
+
/** Product tag (optional if connection is already established) */
|
|
100
|
+
product?: string;
|
|
101
|
+
/** Database tag (optional if connection is already established) */
|
|
102
|
+
database?: string;
|
|
103
|
+
/** Column to average */
|
|
104
|
+
column: string;
|
|
105
|
+
/** Where clause */
|
|
106
|
+
where?: WhereClause;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Min options
|
|
110
|
+
*/
|
|
111
|
+
export interface IMinOptions {
|
|
112
|
+
/** Table/Collection name */
|
|
113
|
+
table: string;
|
|
114
|
+
/** Environment slug (optional if connection is already established) */
|
|
115
|
+
env?: string;
|
|
116
|
+
/** Product tag (optional if connection is already established) */
|
|
117
|
+
product?: string;
|
|
118
|
+
/** Database tag (optional if connection is already established) */
|
|
119
|
+
database?: string;
|
|
120
|
+
/** Column to find minimum */
|
|
121
|
+
column: string;
|
|
122
|
+
/** Where clause */
|
|
123
|
+
where?: WhereClause;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Max options
|
|
127
|
+
*/
|
|
128
|
+
export interface IMaxOptions {
|
|
129
|
+
/** Table/Collection name */
|
|
130
|
+
table: string;
|
|
131
|
+
/** Environment slug (optional if connection is already established) */
|
|
132
|
+
env?: string;
|
|
133
|
+
/** Product tag (optional if connection is already established) */
|
|
134
|
+
product?: string;
|
|
135
|
+
/** Database tag (optional if connection is already established) */
|
|
136
|
+
database?: string;
|
|
137
|
+
/** Column to find maximum */
|
|
138
|
+
column: string;
|
|
139
|
+
/** Where clause */
|
|
140
|
+
where?: WhereClause;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Group by options
|
|
144
|
+
*/
|
|
145
|
+
export interface IGroupByOptions {
|
|
146
|
+
/** Table/Collection name */
|
|
147
|
+
table: string;
|
|
148
|
+
/** Environment slug (optional if connection is already established) */
|
|
149
|
+
env?: string;
|
|
150
|
+
/** Product tag (optional if connection is already established) */
|
|
151
|
+
product?: string;
|
|
152
|
+
/** Database tag (optional if connection is already established) */
|
|
153
|
+
database?: string;
|
|
154
|
+
/** Columns to group by */
|
|
155
|
+
groupBy: string[];
|
|
156
|
+
/**
|
|
157
|
+
* Aggregation operations
|
|
158
|
+
* @example
|
|
159
|
+
* ```typescript
|
|
160
|
+
* aggregate: {
|
|
161
|
+
* total_sales: { $SUM: 'amount' },
|
|
162
|
+
* order_count: { $COUNT: '*' },
|
|
163
|
+
* avg_amount: { $AVG: 'amount' },
|
|
164
|
+
* }
|
|
165
|
+
* ```
|
|
166
|
+
*/
|
|
167
|
+
aggregate?: Record<string, AggregationOperationInput>;
|
|
168
|
+
/** Where clause (applied before grouping) */
|
|
169
|
+
where?: WhereClause;
|
|
170
|
+
/** Having clause (applied after grouping) */
|
|
171
|
+
having?: WhereClause;
|
|
172
|
+
/** Order by */
|
|
173
|
+
orderBy?: IOrderBy | IOrderBy[];
|
|
174
|
+
/** Limit results */
|
|
175
|
+
limit?: number;
|
|
176
|
+
/** Offset */
|
|
177
|
+
offset?: number;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Aggregate options (multiple aggregations)
|
|
181
|
+
*
|
|
182
|
+
* @example
|
|
183
|
+
* ```typescript
|
|
184
|
+
* const stats = await db.aggregate({
|
|
185
|
+
* table: 'orders',
|
|
186
|
+
* operations: {
|
|
187
|
+
* total_orders: { $COUNT: '*' },
|
|
188
|
+
* total_revenue: { $SUM: 'total' },
|
|
189
|
+
* avg_order_value: { $AVG: 'total' },
|
|
190
|
+
* min_order: { $MIN: 'total' },
|
|
191
|
+
* max_order: { $MAX: 'total' },
|
|
192
|
+
* },
|
|
193
|
+
* where: { status: 'completed' },
|
|
194
|
+
* });
|
|
195
|
+
* ```
|
|
196
|
+
*/
|
|
197
|
+
export interface IAggregateOptions {
|
|
198
|
+
/** Table/Collection name */
|
|
199
|
+
table: string;
|
|
200
|
+
/** Environment slug (optional if connection is already established) */
|
|
201
|
+
env?: string;
|
|
202
|
+
/** Product tag (optional if connection is already established) */
|
|
203
|
+
product?: string;
|
|
204
|
+
/** Database tag (optional if connection is already established) */
|
|
205
|
+
database?: string;
|
|
206
|
+
/**
|
|
207
|
+
* Aggregation operations
|
|
208
|
+
* @example
|
|
209
|
+
* ```typescript
|
|
210
|
+
* operations: {
|
|
211
|
+
* total_orders: { $COUNT: '*' },
|
|
212
|
+
* total_revenue: { $SUM: 'total' },
|
|
213
|
+
* avg_order_value: { $AVG: 'total' },
|
|
214
|
+
* }
|
|
215
|
+
* ```
|
|
216
|
+
*/
|
|
217
|
+
operations: Record<string, AggregationOperationInput>;
|
|
218
|
+
/** Where clause */
|
|
219
|
+
where?: WhereClause;
|
|
220
|
+
/** Group by columns (optional) */
|
|
221
|
+
groupBy?: string[];
|
|
222
|
+
/** Having clause */
|
|
223
|
+
having?: WhereClause;
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Aggregation result for a single operation
|
|
227
|
+
*/
|
|
228
|
+
export interface IAggregationResult {
|
|
229
|
+
/** Result value */
|
|
230
|
+
value: number | string | null;
|
|
231
|
+
/** Column that was aggregated */
|
|
232
|
+
column?: string;
|
|
233
|
+
/** Function used */
|
|
234
|
+
function: AggregationFunction;
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Group by result
|
|
238
|
+
*/
|
|
239
|
+
export interface IGroupByResult {
|
|
240
|
+
/** Grouped columns and their values */
|
|
241
|
+
groupedBy: Record<string, any>;
|
|
242
|
+
/** Aggregated values */
|
|
243
|
+
aggregates: Record<string, number | string | null>;
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Statistics result (multiple aggregations)
|
|
247
|
+
*/
|
|
248
|
+
export interface IStatisticsResult {
|
|
249
|
+
/** Count */
|
|
250
|
+
count?: number;
|
|
251
|
+
/** Sum */
|
|
252
|
+
sum?: number;
|
|
253
|
+
/** Average */
|
|
254
|
+
avg?: number;
|
|
255
|
+
/** Minimum */
|
|
256
|
+
min?: number | string;
|
|
257
|
+
/** Maximum */
|
|
258
|
+
max?: number | string;
|
|
259
|
+
/** Additional custom aggregations */
|
|
260
|
+
[key: string]: any;
|
|
261
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Aggregation type definitions for database operations
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.AggregationFunction = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Aggregation function types
|
|
9
|
+
*/
|
|
10
|
+
var AggregationFunction;
|
|
11
|
+
(function (AggregationFunction) {
|
|
12
|
+
AggregationFunction["COUNT"] = "count";
|
|
13
|
+
AggregationFunction["SUM"] = "sum";
|
|
14
|
+
AggregationFunction["AVG"] = "avg";
|
|
15
|
+
AggregationFunction["MIN"] = "min";
|
|
16
|
+
AggregationFunction["MAX"] = "max";
|
|
17
|
+
AggregationFunction["GROUP_CONCAT"] = "group_concat";
|
|
18
|
+
AggregationFunction["STRING_AGG"] = "string_agg";
|
|
19
|
+
AggregationFunction["ARRAY_AGG"] = "array_agg";
|
|
20
|
+
})(AggregationFunction || (exports.AggregationFunction = AggregationFunction = {}));
|
|
21
|
+
//# sourceMappingURL=aggregation.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aggregation.types.js","sourceRoot":"","sources":["../../../src/database/types/aggregation.types.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAIH;;GAEG;AACH,IAAY,mBASX;AATD,WAAY,mBAAmB;IAC7B,sCAAe,CAAA;IACf,kCAAW,CAAA;IACX,kCAAW,CAAA;IACX,kCAAW,CAAA;IACX,kCAAW,CAAA;IACX,oDAA6B,CAAA;IAC7B,gDAAyB,CAAA;IACzB,8CAAuB,CAAA;AACzB,CAAC,EATW,mBAAmB,mCAAnB,mBAAmB,QAS9B"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Connection configuration types for different database systems
|
|
3
|
+
*/
|
|
4
|
+
import { DatabaseType } from './database.types';
|
|
5
|
+
/**
|
|
6
|
+
* Base connection configuration
|
|
7
|
+
*/
|
|
8
|
+
export interface IBaseConnectionConfig {
|
|
9
|
+
/** Database type */
|
|
10
|
+
type: DatabaseType;
|
|
11
|
+
/** Environment slug */
|
|
12
|
+
env: string;
|
|
13
|
+
/** Optional connection tag */
|
|
14
|
+
connectionTag?: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Product-based connection configuration
|
|
18
|
+
* Connects using a configured database in a product
|
|
19
|
+
*/
|
|
20
|
+
export interface IProductConnectionConfig {
|
|
21
|
+
/** Environment slug */
|
|
22
|
+
env: string;
|
|
23
|
+
/** Product tag */
|
|
24
|
+
product: string;
|
|
25
|
+
/** Database tag within the product */
|
|
26
|
+
database: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* PostgreSQL connection configuration
|
|
30
|
+
*/
|
|
31
|
+
export interface IPostgreSQLConfig extends IBaseConnectionConfig {
|
|
32
|
+
type: DatabaseType.POSTGRESQL;
|
|
33
|
+
host: string;
|
|
34
|
+
port?: number;
|
|
35
|
+
database: string;
|
|
36
|
+
user: string;
|
|
37
|
+
password: string;
|
|
38
|
+
ssl?: boolean | {
|
|
39
|
+
[key: string]: any;
|
|
40
|
+
};
|
|
41
|
+
poolSize?: number;
|
|
42
|
+
connectionTimeout?: number;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* MySQL connection configuration
|
|
46
|
+
*/
|
|
47
|
+
export interface IMySQLConfig extends IBaseConnectionConfig {
|
|
48
|
+
type: DatabaseType.MYSQL;
|
|
49
|
+
host: string;
|
|
50
|
+
port?: number;
|
|
51
|
+
database: string;
|
|
52
|
+
user: string;
|
|
53
|
+
password: string;
|
|
54
|
+
ssl?: boolean | {
|
|
55
|
+
[key: string]: any;
|
|
56
|
+
};
|
|
57
|
+
poolSize?: number;
|
|
58
|
+
connectionTimeout?: number;
|
|
59
|
+
charset?: string;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* MongoDB connection configuration
|
|
63
|
+
*/
|
|
64
|
+
export interface IMongoDBConfig extends IBaseConnectionConfig {
|
|
65
|
+
type: DatabaseType.MONGODB;
|
|
66
|
+
uri: string;
|
|
67
|
+
database: string;
|
|
68
|
+
options?: {
|
|
69
|
+
useNewUrlParser?: boolean;
|
|
70
|
+
useUnifiedTopology?: boolean;
|
|
71
|
+
poolSize?: number;
|
|
72
|
+
serverSelectionTimeoutMS?: number;
|
|
73
|
+
[key: string]: any;
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* DynamoDB connection configuration
|
|
78
|
+
*/
|
|
79
|
+
export interface IDynamoDBConfig extends IBaseConnectionConfig {
|
|
80
|
+
type: DatabaseType.DYNAMODB;
|
|
81
|
+
region: string;
|
|
82
|
+
accessKeyId: string;
|
|
83
|
+
secretAccessKey: string;
|
|
84
|
+
endpoint?: string;
|
|
85
|
+
options?: {
|
|
86
|
+
maxRetries?: number;
|
|
87
|
+
httpOptions?: {
|
|
88
|
+
timeout?: number;
|
|
89
|
+
};
|
|
90
|
+
[key: string]: any;
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* SQLite connection configuration
|
|
95
|
+
*/
|
|
96
|
+
export interface ISQLiteConfig extends IBaseConnectionConfig {
|
|
97
|
+
type: DatabaseType.SQLITE;
|
|
98
|
+
filename: string;
|
|
99
|
+
mode?: number;
|
|
100
|
+
options?: {
|
|
101
|
+
readonly?: boolean;
|
|
102
|
+
fileMustExist?: boolean;
|
|
103
|
+
timeout?: number;
|
|
104
|
+
[key: string]: any;
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Union type for all connection configurations
|
|
109
|
+
*/
|
|
110
|
+
export type DatabaseConnectionConfig = IPostgreSQLConfig | IMySQLConfig | IMongoDBConfig | IDynamoDBConfig | ISQLiteConfig | IProductConnectionConfig;
|
|
111
|
+
/**
|
|
112
|
+
* Connection pool configuration
|
|
113
|
+
*/
|
|
114
|
+
export interface IConnectionPoolConfig {
|
|
115
|
+
min?: number;
|
|
116
|
+
max?: number;
|
|
117
|
+
idleTimeoutMillis?: number;
|
|
118
|
+
connectionTimeoutMillis?: number;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Connection options
|
|
122
|
+
*/
|
|
123
|
+
export interface IConnectionOptions {
|
|
124
|
+
/** Auto-retry connection on failure */
|
|
125
|
+
autoRetry?: boolean;
|
|
126
|
+
/** Max retry attempts */
|
|
127
|
+
maxRetries?: number;
|
|
128
|
+
/** Retry delay in milliseconds */
|
|
129
|
+
retryDelay?: number;
|
|
130
|
+
/** Connection pool configuration */
|
|
131
|
+
pool?: IConnectionPoolConfig;
|
|
132
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection.types.js","sourceRoot":"","sources":["../../../src/database/types/connection.types.ts"],"names":[],"mappings":";AAAA;;GAEG"}
|