@dangao/bun-server 2.0.3 → 2.1.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 +4 -0
- package/dist/config/config-module.d.ts +3 -0
- package/dist/config/config-module.d.ts.map +1 -1
- package/dist/controller/controller.d.ts.map +1 -1
- package/dist/core/application.d.ts +6 -1
- package/dist/core/application.d.ts.map +1 -1
- package/dist/core/context.d.ts +10 -0
- package/dist/core/context.d.ts.map +1 -1
- package/dist/core/server.d.ts +5 -0
- package/dist/core/server.d.ts.map +1 -1
- package/dist/database/database-context.d.ts +25 -0
- package/dist/database/database-context.d.ts.map +1 -0
- package/dist/database/database-extension.d.ts +8 -9
- package/dist/database/database-extension.d.ts.map +1 -1
- package/dist/database/database-module.d.ts +7 -1
- package/dist/database/database-module.d.ts.map +1 -1
- package/dist/database/db-proxy.d.ts +12 -0
- package/dist/database/db-proxy.d.ts.map +1 -0
- package/dist/database/index.d.ts +6 -1
- package/dist/database/index.d.ts.map +1 -1
- package/dist/database/orm/transaction-interceptor.d.ts +0 -16
- package/dist/database/orm/transaction-interceptor.d.ts.map +1 -1
- package/dist/database/orm/transaction-manager.d.ts +10 -61
- package/dist/database/orm/transaction-manager.d.ts.map +1 -1
- package/dist/database/service.d.ts +4 -4
- package/dist/database/service.d.ts.map +1 -1
- package/dist/database/sql-manager.d.ts +14 -0
- package/dist/database/sql-manager.d.ts.map +1 -0
- package/dist/database/sqlite-adapter.d.ts +32 -0
- package/dist/database/sqlite-adapter.d.ts.map +1 -0
- package/dist/database/strategy-decorator.d.ts +8 -0
- package/dist/database/strategy-decorator.d.ts.map +1 -0
- package/dist/database/types.d.ts +122 -1
- package/dist/database/types.d.ts.map +1 -1
- package/dist/di/module-registry.d.ts.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3544 -2876
- package/dist/microservice/service-registry/service-registry-module.d.ts +16 -0
- package/dist/microservice/service-registry/service-registry-module.d.ts.map +1 -1
- package/dist/router/index.d.ts +1 -0
- package/dist/router/index.d.ts.map +1 -1
- package/dist/router/registry.d.ts +1 -1
- package/dist/router/registry.d.ts.map +1 -1
- package/dist/router/route.d.ts +2 -1
- package/dist/router/route.d.ts.map +1 -1
- package/dist/router/router.d.ts +1 -1
- package/dist/router/router.d.ts.map +1 -1
- package/dist/router/timeout-decorator.d.ts +6 -0
- package/dist/router/timeout-decorator.d.ts.map +1 -0
- package/dist/validation/decorators.d.ts.map +1 -1
- package/docs/database.md +48 -15
- package/docs/idle-timeout.md +42 -0
- package/docs/lifecycle.md +6 -0
- package/docs/microservice-nacos.md +1 -0
- package/docs/microservice-service-registry.md +7 -0
- package/docs/zh/database.md +48 -15
- package/docs/zh/idle-timeout.md +41 -0
- package/docs/zh/lifecycle.md +5 -0
- package/docs/zh/microservice-nacos.md +1 -0
- package/docs/zh/microservice-service-registry.md +6 -0
- package/package.json +5 -4
- package/src/ai/providers/anthropic-provider.ts +1 -1
- package/src/ai/providers/google-provider.ts +1 -1
- package/src/ai/providers/ollama-provider.ts +1 -1
- package/src/ai/providers/openai-provider.ts +2 -2
- package/src/auth/jwt.ts +1 -1
- package/src/cache/interceptors.ts +3 -3
- package/src/cache/types.ts +10 -10
- package/src/client/runtime.ts +1 -1
- package/src/config/config-module.ts +46 -14
- package/src/config/service.ts +2 -2
- package/src/controller/controller.ts +11 -1
- package/src/controller/param-binder.ts +1 -1
- package/src/conversation/service.ts +1 -1
- package/src/core/application.ts +61 -2
- package/src/core/cluster.ts +4 -4
- package/src/core/context.ts +71 -0
- package/src/core/server.ts +10 -0
- package/src/dashboard/controller.ts +2 -2
- package/src/database/connection-manager.ts +4 -4
- package/src/database/database-context.ts +43 -0
- package/src/database/database-extension.ts +12 -45
- package/src/database/database-module.ts +254 -11
- package/src/database/db-proxy.ts +75 -0
- package/src/database/index.ts +29 -0
- package/src/database/orm/transaction-interceptor.ts +12 -149
- package/src/database/orm/transaction-manager.ts +143 -210
- package/src/database/service.ts +53 -30
- package/src/database/sql-manager.ts +62 -0
- package/src/database/sqlite-adapter.ts +121 -0
- package/src/database/strategy-decorator.ts +42 -0
- package/src/database/types.ts +133 -1
- package/src/debug/middleware.ts +2 -2
- package/src/di/module-registry.ts +21 -5
- package/src/error/handler.ts +3 -3
- package/src/events/event-module.ts +4 -4
- package/src/files/static-middleware.ts +2 -2
- package/src/files/storage.ts +1 -1
- package/src/index.ts +27 -1
- package/src/interceptor/builtin/log-interceptor.ts +1 -1
- package/src/mcp/server.ts +1 -1
- package/src/microservice/service-registry/service-registry-module.ts +25 -1
- package/src/middleware/builtin/error-handler.ts +2 -2
- package/src/middleware/builtin/file-upload.ts +1 -1
- package/src/middleware/builtin/rate-limit.ts +1 -1
- package/src/middleware/builtin/static-file.ts +2 -2
- package/src/prompt/stores/file-store.ts +4 -4
- package/src/request/body-parser.ts +3 -3
- package/src/router/index.ts +1 -0
- package/src/router/registry.ts +10 -1
- package/src/router/route.ts +31 -3
- package/src/router/router.ts +10 -1
- package/src/router/timeout-decorator.ts +35 -0
- package/src/security/filter.ts +1 -1
- package/src/security/guards/guard-registry.ts +1 -1
- package/src/session/middleware.ts +1 -1
- package/src/session/types.ts +5 -5
- package/src/testing/test-client.ts +1 -1
- package/src/validation/decorators.ts +70 -2
- package/src/validation/rules/common.ts +2 -2
- package/tests/config/config-module-extended.test.ts +24 -0
- package/tests/core/application.test.ts +10 -0
- package/tests/core/context.test.ts +52 -0
- package/tests/database/database-module.test.ts +92 -344
- package/tests/database/db-proxy.test.ts +93 -0
- package/tests/database/sql-manager.test.ts +43 -0
- package/tests/database/sqlite-adapter.test.ts +45 -0
- package/tests/database/strategy-decorator.test.ts +29 -0
- package/tests/database/transaction.test.ts +84 -222
- package/tests/di/lifecycle.test.ts +37 -0
- package/tests/error/error-handler.test.ts +24 -0
- package/tests/microservice/service-registry.test.ts +15 -0
- package/tests/router/timeout-decorator.test.ts +48 -0
- package/tests/validation/validation.test.ts +18 -0
package/README.md
CHANGED
|
@@ -42,6 +42,8 @@
|
|
|
42
42
|
and `ResponseBuilder` helpers.
|
|
43
43
|
- 🧩 **Dependency injection container** with `@Injectable`, `@Inject`, module
|
|
44
44
|
metadata, lifecycle management and cached dependency plans.
|
|
45
|
+
- 🗄️ **Database v2** with `db` proxy, route-level pool/session strategy,
|
|
46
|
+
multi-tenant manager and unified transactions.
|
|
45
47
|
- 🧵 **Middleware pipeline** with global/class/method scopes plus built-ins
|
|
46
48
|
(logging, error, CORS, upload, static, ...).
|
|
47
49
|
- ✅ **Input validation** via decorators and `ValidationError` integration.
|
|
@@ -420,11 +422,13 @@ Examples are organized by difficulty and feature category:
|
|
|
420
422
|
- `full-app.ts` - Validation, uploads, static files, WebSocket
|
|
421
423
|
- `lifecycle-app.ts` - Lifecycle hooks (OnModuleInit, OnModuleDestroy, etc.)
|
|
422
424
|
- `async-config-app.ts` - Async module config with `forRootAsync()`
|
|
425
|
+
- `idle-timeout-app.ts` - Global and route-level idleTimeout
|
|
423
426
|
|
|
424
427
|
- **[Official Modules](./examples/02-official-modules/)** - Ready-to-use modules
|
|
425
428
|
- `auth-app.ts` - JWT + OAuth2 authentication (with Web UI)
|
|
426
429
|
- `session-app.ts` - Session management
|
|
427
430
|
- `database-app.ts` - Database connection and queries
|
|
431
|
+
- `nacos-auto-register-app.ts` - Nacos autoRegister switch example
|
|
428
432
|
- `orm-app.ts` - Entity + Repository pattern
|
|
429
433
|
- `cache-app.ts` - Caching with decorators
|
|
430
434
|
- `queue-app.ts` - Task queues and Cron jobs
|
|
@@ -2,6 +2,9 @@ import { type AsyncModuleOptions } from '../di/async-module';
|
|
|
2
2
|
import { ConfigService } from './service';
|
|
3
3
|
import { type ConfigModuleOptions } from './types';
|
|
4
4
|
export declare class ConfigModule {
|
|
5
|
+
private static readonly DANGEROUS_PATH_SEGMENTS;
|
|
6
|
+
private static isPlainObject;
|
|
7
|
+
private static createSafeContainer;
|
|
5
8
|
/**
|
|
6
9
|
* 创建配置模块
|
|
7
10
|
* @param options - 模块配置
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-module.d.ts","sourceRoot":"","sources":["../../src/config/config-module.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,kBAAkB,EAA0B,MAAM,oBAAoB,CAAC;AAErF,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAwB,KAAK,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEzE,qBAGa,YAAY;IACvB;;;OAGG;WACW,OAAO,CACnB,OAAO,GAAE,mBAAwB,GAChC,OAAO,YAAY;IAsDtB;;;;OAIG;WACW,YAAY,CACxB,YAAY,EAAE,kBAAkB,CAAC,mBAAmB,CAAC,GACpD,OAAO,YAAY;IAkCtB;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;IAQ1B;;OAEG;WACiB,sBAAsB,CACxC,OAAO,EAAE,aAAa,EACtB,mBAAmB,EAAE,WAAW,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,GACpE,OAAO,CAAC,IAAI,CAAC;IA+BhB;;OAEG;mBACkB,sBAAsB;IAuE3C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAwDvC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;
|
|
1
|
+
{"version":3,"file":"config-module.d.ts","sourceRoot":"","sources":["../../src/config/config-module.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,kBAAkB,EAA0B,MAAM,oBAAoB,CAAC;AAErF,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAwB,KAAK,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEzE,qBAGa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAI5C;IAEH,OAAO,CAAC,MAAM,CAAC,aAAa;IAQ5B,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAGlC;;;OAGG;WACW,OAAO,CACnB,OAAO,GAAE,mBAAwB,GAChC,OAAO,YAAY;IAsDtB;;;;OAIG;WACW,YAAY,CACxB,YAAY,EAAE,kBAAkB,CAAC,mBAAmB,CAAC,GACpD,OAAO,YAAY;IAkCtB;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;IAQ1B;;OAEG;WACiB,sBAAsB,CACxC,OAAO,EAAE,aAAa,EACtB,mBAAmB,EAAE,WAAW,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,GACpE,OAAO,CAAC,IAAI,CAAC;IA+BhB;;OAEG;mBACkB,sBAAsB;IAuE3C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAwDvC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;CAuC9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/controller/controller.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAS5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/controller/controller.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAS5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAUhD;;GAEG;AACH,eAAO,MAAM,uBAAuB,eAAuB,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CAC9B;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,GAAE,MAAW,IACzB,QAAQ,WAAW,CAAC,OAAO,CAAC,UAI9C;AAED;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4C;IACxE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA8C;IAEnF,OAAO;IAIP;;OAEG;WACW,WAAW,IAAI,kBAAkB;IAO/C;;;OAGG;IACI,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI;IAyKnF;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,YAAY;IA+BpB;;;OAGG;IACI,YAAY,IAAI,SAAS;IAIhC;;;OAGG;IACI,iBAAiB,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE;IAIlD;;;OAGG;IACI,wBAAwB,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE;IAIzD;;OAEG;IACI,KAAK,IAAI,IAAI;CAKrB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BunServer } from './server';
|
|
2
2
|
import type { Middleware } from '../middleware';
|
|
3
3
|
import type { ApplicationExtension } from '../extensions/types';
|
|
4
|
-
import type
|
|
4
|
+
import { type ModuleClass } from '../di/module';
|
|
5
5
|
import type { Constructor } from './types';
|
|
6
6
|
/**
|
|
7
7
|
* 应用配置选项
|
|
@@ -32,6 +32,11 @@ export interface ApplicationOptions {
|
|
|
32
32
|
* @default false
|
|
33
33
|
*/
|
|
34
34
|
reusePort?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* 连接空闲超时时间(毫秒)
|
|
37
|
+
* 框架内部会自动转换为 Bun.serve 的秒单位
|
|
38
|
+
*/
|
|
39
|
+
idleTimeout?: number;
|
|
35
40
|
}
|
|
36
41
|
/**
|
|
37
42
|
* 应用主类
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../src/core/application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAsB,MAAM,UAAU,CAAC;AAMzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAGhE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../src/core/application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAsB,MAAM,UAAU,CAAC;AAMzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAGhE,OAAO,EAAuB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAW3C;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAC,CAAY;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA2B;IAC7D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8B;IACzD,OAAO,CAAC,uBAAuB,CAAkB;gBAE9B,OAAO,GAAE,kBAAuB;IA6BnD;;;OAGG;IACI,GAAG,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAIxC;;OAEG;IACU,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoDpE;;OAEG;YACW,oBAAoB;IAqBlC;;;OAGG;YACW,sBAAsB;IAyBpC;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAqBhC;;OAEG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBlC;;;;;OAKG;IACU,gBAAgB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB9D;;OAEG;YACW,eAAe;IAkB7B;;;;OAIG;YACW,aAAa;IAyC3B;;;OAGG;IACI,kBAAkB,CAAC,eAAe,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI;IAKtE;;;OAGG;IACI,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAqBrD;;;OAGG;IACH,OAAO,CAAC,kCAAkC;IAc1C;;;OAGG;IACI,wBAAwB,CAAC,YAAY,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI;IAIzE;;;OAGG;IACI,iBAAiB,CAAC,SAAS,EAAE,oBAAoB,GAAG,IAAI;IAK/D;;;OAGG;IACI,SAAS,IAAI,SAAS,GAAG,SAAS;IAIzC;;;OAGG;YACW,gBAAgB;IA0C9B;;;OAGG;YACW,kBAAkB;IAgDhC;;;OAGG;IACI,YAAY;IAInB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA2B7B;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAS7B"}
|
package/dist/core/context.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ import { type URLSearchParams, URL } from 'url';
|
|
|
5
5
|
* 封装 Request 和 Response,提供便捷的访问方法
|
|
6
6
|
*/
|
|
7
7
|
export declare class Context {
|
|
8
|
+
private static readonly ERROR_REDACTED_KEYS;
|
|
8
9
|
/**
|
|
9
10
|
* 原始请求对象
|
|
10
11
|
*/
|
|
@@ -120,5 +121,14 @@ export declare class Context {
|
|
|
120
121
|
* @returns Response 对象
|
|
121
122
|
*/
|
|
122
123
|
createResponse(body?: unknown, init?: ResponseInit): Response;
|
|
124
|
+
/**
|
|
125
|
+
* 创建错误响应(自动过滤敏感字段)
|
|
126
|
+
* @param body - 错误响应体
|
|
127
|
+
* @param init - 响应初始化选项
|
|
128
|
+
* @returns Response 对象
|
|
129
|
+
*/
|
|
130
|
+
createErrorResponse(body?: unknown, init?: ResponseInit): Response;
|
|
131
|
+
private sanitizeErrorPayload;
|
|
132
|
+
private sanitizeValue;
|
|
123
133
|
}
|
|
124
134
|
//# sourceMappingURL=context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,OAAO,EAAE,KAAK,eAAe,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAEhD;;;GAGG;AACH,qBAAa,OAAO;IAClB;;OAEG;IACH,SAAgB,OAAO,EAAE,OAAO,CAAC;IAEjC;;OAEG;IACI,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAE3B;;OAEG;IACH,SAAgB,GAAG,EAAE,GAAG,CAAC;IAEzB;;OAEG;IACH,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,SAAgB,IAAI,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,SAAgB,KAAK,EAAE,eAAe,CAAC;IAEvC;;OAEG;IACI,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAE3C;;OAEG;IACH,SAAgB,OAAO,EAAE,OAAO,CAAC;IAEjC;;OAEG;IACI,eAAe,EAAE,OAAO,CAAC;IAEhC;;OAEG;IACI,UAAU,EAAE,MAAM,CAAO;IAEhC;;OAEG;IACI,KAAK,EAAE,gBAAgB,EAAE,CAAM;IAEtC;;OAEG;IACH,OAAO,CAAC,KAAK,CAAC,CAAU;IAExB;;OAEG;IACH,OAAO,CAAC,WAAW,CAAkB;gBAElB,OAAO,EAAE,OAAO;IAUnC;;;OAGG;IACU,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAQxC;;;OAGG;IACH,IAAW,IAAI,IAAI,OAAO,CAEzB;IAED;;;OAGG;IACH,IAAW,IAAI,CAAC,IAAI,EAAE,OAAO,EAG5B;IAED;;;;OAIG;IACI,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI3C;;;OAGG;IACI,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAQ5C;;;;OAIG;IACI,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIhD;;;;OAIG;IACI,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI5C;;;;OAIG;IACI,WAAW,IAAI,MAAM;IAmB5B;;;;OAIG;IACI,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAIlD;;;OAGG;IACI,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIpC;;;;;OAKG;IACI,cAAc,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,QAAQ;
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,OAAO,EAAE,KAAK,eAAe,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAEhD;;;GAGG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAwC;IACnF;;OAEG;IACH,SAAgB,OAAO,EAAE,OAAO,CAAC;IAEjC;;OAEG;IACI,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAE3B;;OAEG;IACH,SAAgB,GAAG,EAAE,GAAG,CAAC;IAEzB;;OAEG;IACH,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,SAAgB,IAAI,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,SAAgB,KAAK,EAAE,eAAe,CAAC;IAEvC;;OAEG;IACI,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAE3C;;OAEG;IACH,SAAgB,OAAO,EAAE,OAAO,CAAC;IAEjC;;OAEG;IACI,eAAe,EAAE,OAAO,CAAC;IAEhC;;OAEG;IACI,UAAU,EAAE,MAAM,CAAO;IAEhC;;OAEG;IACI,KAAK,EAAE,gBAAgB,EAAE,CAAM;IAEtC;;OAEG;IACH,OAAO,CAAC,KAAK,CAAC,CAAU;IAExB;;OAEG;IACH,OAAO,CAAC,WAAW,CAAkB;gBAElB,OAAO,EAAE,OAAO;IAUnC;;;OAGG;IACU,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAQxC;;;OAGG;IACH,IAAW,IAAI,IAAI,OAAO,CAEzB;IAED;;;OAGG;IACH,IAAW,IAAI,CAAC,IAAI,EAAE,OAAO,EAG5B;IAED;;;;OAIG;IACI,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI3C;;;OAGG;IACI,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAQ5C;;;;OAIG;IACI,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIhD;;;;OAIG;IACI,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI5C;;;;OAIG;IACI,WAAW,IAAI,MAAM;IAmB5B;;;;OAIG;IACI,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAIlD;;;OAGG;IACI,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIpC;;;;;OAKG;IACI,cAAc,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,QAAQ;IA4BpE;;;;;OAKG;IACI,mBAAmB,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,QAAQ;IAWzE,OAAO,CAAC,oBAAoB;IAe5B,OAAO,CAAC,aAAa;CAqCtB"}
|
package/dist/core/server.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/core/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE1D;;OAEG;IACH,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;IAE7C;;;OAGG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/core/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE1D;;OAEG;IACH,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;IAE7C;;;OAGG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAC,CAAkC;IACjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,eAAe,CAAC,CAAgB;IACxC,OAAO,CAAC,eAAe,CAAC,CAAa;gBAElB,OAAO,EAAE,aAAa;IAIzC;;OAEG;IACI,KAAK,IAAI,IAAI;IAsHpB;;OAEG;IACI,IAAI,IAAI,IAAI;IAWnB;;;;;OAKG;IACU,gBAAgB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2C9D;;OAEG;IACI,iBAAiB,IAAI,MAAM;IAIlC;;OAEG;IACI,mBAAmB,IAAI,OAAO;IAIrC;;;OAGG;IACI,SAAS,IAAI,MAAM,CAAC,uBAAuB,CAAC,GAAG,SAAS;IAI/D;;;OAGG;IACI,SAAS,IAAI,OAAO;IAI3B;;;OAGG;IACI,OAAO,IAAI,MAAM;IAOxB;;OAEG;IACI,WAAW,IAAI,MAAM,GAAG,SAAS;CAGzC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
2
|
+
import type { TransactionStatus } from './orm/transaction-types';
|
|
3
|
+
import type { SqliteAdapter } from './sqlite-adapter';
|
|
4
|
+
export type SqlTemplateCall = (strings: TemplateStringsArray, ...values: unknown[]) => Promise<unknown>;
|
|
5
|
+
export interface ReservedSqlSession extends SqlTemplateCall {
|
|
6
|
+
begin<T>(fn: () => Promise<T>): Promise<T>;
|
|
7
|
+
release(): Promise<void> | void;
|
|
8
|
+
}
|
|
9
|
+
export interface TransactionState {
|
|
10
|
+
id: string;
|
|
11
|
+
status: TransactionStatus;
|
|
12
|
+
level: number;
|
|
13
|
+
savepoints: string[];
|
|
14
|
+
}
|
|
15
|
+
export interface DatabaseSession {
|
|
16
|
+
reserved?: ReservedSqlSession;
|
|
17
|
+
sqlite?: SqliteAdapter;
|
|
18
|
+
tenantId: string;
|
|
19
|
+
transaction?: TransactionState;
|
|
20
|
+
lazyReserve?: () => Promise<ReservedSqlSession>;
|
|
21
|
+
}
|
|
22
|
+
export declare const databaseSessionStore: AsyncLocalStorage<DatabaseSession>;
|
|
23
|
+
export declare function getCurrentSession(): DatabaseSession | undefined;
|
|
24
|
+
export declare function runWithSession<T>(session: DatabaseSession, fn: () => Promise<T>): Promise<T>;
|
|
25
|
+
//# sourceMappingURL=database-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database-context.d.ts","sourceRoot":"","sources":["../../src/database/database-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,MAAM,eAAe,GAAG,CAC5B,OAAO,EAAE,oBAAoB,EAC7B,GAAG,MAAM,EAAE,OAAO,EAAE,KACjB,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IACzD,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACjD;AAED,eAAO,MAAM,oBAAoB,oCAA2C,CAAC;AAE7E,wBAAgB,iBAAiB,IAAI,eAAe,GAAG,SAAS,CAE/D;AAED,wBAAgB,cAAc,CAAC,CAAC,EAC9B,OAAO,EAAE,eAAe,EACxB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAEZ"}
|
|
@@ -1,20 +1,19 @@
|
|
|
1
1
|
import type { Container } from '../di/container';
|
|
2
2
|
import type { ApplicationExtension } from '../extensions/types';
|
|
3
|
+
import type { BunSQLManager } from './sql-manager';
|
|
4
|
+
import type { SqliteManager } from './sqlite-adapter';
|
|
3
5
|
/**
|
|
4
6
|
* 数据库扩展
|
|
5
|
-
*
|
|
7
|
+
* 注册事务拦截器,并在应用关闭时释放数据库资源
|
|
6
8
|
*/
|
|
7
9
|
export declare class DatabaseExtension implements ApplicationExtension {
|
|
10
|
+
private readonly sqlManager?;
|
|
11
|
+
private readonly sqliteManager?;
|
|
12
|
+
constructor(sqlManager?: BunSQLManager | undefined, sqliteManager?: SqliteManager | undefined);
|
|
8
13
|
register(container: Container): void;
|
|
9
14
|
/**
|
|
10
|
-
*
|
|
11
|
-
* 应该在应用启动时调用
|
|
15
|
+
* 关闭数据库资源
|
|
12
16
|
*/
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* 关闭数据库连接
|
|
16
|
-
* 应该在应用停止时调用
|
|
17
|
-
*/
|
|
18
|
-
close(container: Container): Promise<void>;
|
|
17
|
+
close(_container: Container): Promise<void>;
|
|
19
18
|
}
|
|
20
19
|
//# sourceMappingURL=database-extension.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database-extension.d.ts","sourceRoot":"","sources":["../../src/database/database-extension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"database-extension.d.ts","sourceRoot":"","sources":["../../src/database/database-extension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAQhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;;GAGG;AACH,qBAAa,iBAAkB,YAAW,oBAAoB;IAE1D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;IAC5B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;gBADd,UAAU,CAAC,EAAE,aAAa,YAAA,EAC1B,aAAa,CAAC,EAAE,aAAa,YAAA;IAGzC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAoB3C;;OAEG;IACU,KAAK,CAAC,UAAU,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;CAIzD"}
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
import { type AsyncModuleOptions } from '../di/async-module';
|
|
2
2
|
import { DatabaseHealthIndicator } from './health-indicator';
|
|
3
3
|
import { DatabaseService } from './service';
|
|
4
|
-
import { type DatabaseModuleOptions } from './types';
|
|
4
|
+
import { type BunSQLConfig, type DatabaseModuleOptions, type SqliteV2Config } from './types';
|
|
5
5
|
export declare class DatabaseModule {
|
|
6
|
+
private static isBunSqlType;
|
|
7
|
+
static normalizeConfig(options: DatabaseModuleOptions): Array<{
|
|
8
|
+
tenantId: string;
|
|
9
|
+
config: BunSQLConfig | SqliteV2Config;
|
|
10
|
+
}>;
|
|
11
|
+
private static createDatabaseMiddleware;
|
|
6
12
|
/**
|
|
7
13
|
* 创建数据库模块
|
|
8
14
|
* @param options - 模块配置
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database-module.d.ts","sourceRoot":"","sources":["../../src/database/database-module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"database-module.d.ts","sourceRoot":"","sources":["../../src/database/database-module.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,kBAAkB,EAA0B,MAAM,oBAAoB,CAAC;AAKrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAI7D,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAML,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACpB,MAAM,SAAS,CAAC;AASjB,qBAGa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,YAAY;WAMb,eAAe,CAC3B,OAAO,EAAE,qBAAqB,GAC7B,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,GAAG,cAAc,CAAA;KAAE,CAAC;IA0FrE,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAyEvC;;;OAGG;WACW,OAAO,CACnB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,cAAc;IA+IxB;;;;OAIG;WACW,YAAY,CACxB,YAAY,EAAE,kBAAkB,CAAC,qBAAqB,CAAC,GACtD,OAAO,cAAc;IAYxB;;;;;OAKG;WACW,qBAAqB,CACjC,eAAe,EAAE,eAAe,GAC/B,uBAAuB;CAG3B"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { BunSQLManager } from './sql-manager';
|
|
2
|
+
import type { TransactionManager } from './orm/transaction-manager';
|
|
3
|
+
type DbResult = Promise<unknown>;
|
|
4
|
+
export interface DbProxy {
|
|
5
|
+
(strings: TemplateStringsArray, ...values: unknown[]): DbResult;
|
|
6
|
+
transaction<T>(fn: () => Promise<T>): Promise<T>;
|
|
7
|
+
tenant(tenantId: string): DbProxy;
|
|
8
|
+
}
|
|
9
|
+
export declare function initDbProxy(sqlManager: BunSQLManager, txManager: TransactionManager): void;
|
|
10
|
+
export declare const db: DbProxy;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=db-proxy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"db-proxy.d.ts","sourceRoot":"","sources":["../../src/database/db-proxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,KAAK,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAEjC,MAAM,WAAW,OAAO;IACtB,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;IAChE,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACjD,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;CACnC;AAKD,wBAAgB,WAAW,CACzB,UAAU,EAAE,aAAa,EACzB,SAAS,EAAE,kBAAkB,GAC5B,IAAI,CAGN;AAoDD,eAAO,MAAM,EAAE,EAAE,OAAoB,CAAC"}
|
package/dist/database/index.d.ts
CHANGED
|
@@ -4,6 +4,11 @@ export { DatabaseConnectionManager } from './connection-manager';
|
|
|
4
4
|
export { ConnectionPool } from './connection-pool';
|
|
5
5
|
export { DatabaseHealthIndicator } from './health-indicator';
|
|
6
6
|
export { DatabaseExtension } from './database-extension';
|
|
7
|
-
export {
|
|
7
|
+
export { BunSQLManager } from './sql-manager';
|
|
8
|
+
export { SqliteAdapter, SqliteManager, Semaphore } from './sqlite-adapter';
|
|
9
|
+
export { db, initDbProxy, type DbProxy, } from './db-proxy';
|
|
10
|
+
export { DbStrategy, Session as DbSession, DB_STRATEGY_KEY, getDbStrategy, type DbStrategyType, } from './strategy-decorator';
|
|
11
|
+
export { databaseSessionStore, getCurrentSession, runWithSession, type DatabaseSession, type TransactionState, type ReservedSqlSession, } from './database-context';
|
|
12
|
+
export { BUN_SQL_MANAGER_TOKEN, DB_TOKEN, DATABASE_OPTIONS_TOKEN, DATABASE_SERVICE_TOKEN, SQLITE_MANAGER_TOKEN, type BunSQLConfig, type BunSQLPoolOptions, type ConnectionInfo, type ConnectionPoolOptions, type DatabaseConfig, type DatabaseModuleOptions, type DatabaseType, type MysqlConfig, type PostgresConfig, type SqliteV2Config, type SqliteConfig, type TenantConfig, } from './types';
|
|
8
13
|
export { Entity, Column, PrimaryKey, Repository, BaseRepository, DrizzleBaseRepository, OrmService, ORM_SERVICE_TOKEN, getEntityMetadata, getColumnMetadata, getRepositoryMetadata, type OrmModuleOptions, type BaseRepository as BaseRepositoryInterface, type EntityMetadata, type ColumnMetadata, Transactional, TransactionManager, TransactionInterceptor, Propagation, IsolationLevel, TransactionStatus, TRANSACTION_SERVICE_TOKEN, getTransactionMetadata, type TransactionOptions, type TransactionContext, } from './orm';
|
|
9
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,YAAY,GAClB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,MAAM,EACN,MAAM,EACN,UAAU,EACV,UAAU,EACV,cAAc,EACd,qBAAqB,EACrB,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,KAAK,gBAAgB,EACrB,KAAK,cAAc,IAAI,uBAAuB,EAC9C,KAAK,cAAc,EACnB,KAAK,cAAc,EAEnB,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,yBAAyB,EACzB,sBAAsB,EACtB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,GACxB,MAAM,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EACL,EAAE,EACF,WAAW,EACX,KAAK,OAAO,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,UAAU,EACV,OAAO,IAAI,SAAS,EACpB,eAAe,EACf,aAAa,EACb,KAAK,cAAc,GACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,qBAAqB,EACrB,QAAQ,EACR,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,YAAY,GAClB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,MAAM,EACN,MAAM,EACN,UAAU,EACV,UAAU,EACV,cAAc,EACd,qBAAqB,EACrB,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,KAAK,gBAAgB,EACrB,KAAK,cAAc,IAAI,uBAAuB,EAC9C,KAAK,cAAc,EACnB,KAAK,cAAc,EAEnB,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,yBAAyB,EACzB,sBAAsB,EACtB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,GACxB,MAAM,OAAO,CAAC"}
|
|
@@ -17,21 +17,5 @@ export declare class TransactionInterceptor implements Interceptor {
|
|
|
17
17
|
* @deprecated 使用拦截器机制,此方法保留用于向后兼容
|
|
18
18
|
*/
|
|
19
19
|
static executeWithTransaction<T>(target: unknown, propertyKey: string | symbol, originalMethod: (...args: unknown[]) => T | Promise<T>, args: unknown[], container: Container): Promise<T>;
|
|
20
|
-
/**
|
|
21
|
-
* 在新事务中执行方法
|
|
22
|
-
*/
|
|
23
|
-
private static executeInNewTransaction;
|
|
24
|
-
/**
|
|
25
|
-
* 在现有事务中执行方法
|
|
26
|
-
*/
|
|
27
|
-
private static executeInExistingTransaction;
|
|
28
|
-
/**
|
|
29
|
-
* 在嵌套事务中执行方法
|
|
30
|
-
*/
|
|
31
|
-
private static executeInNestedTransaction;
|
|
32
|
-
/**
|
|
33
|
-
* 判断是否应该回滚
|
|
34
|
-
*/
|
|
35
|
-
private static shouldRollback;
|
|
36
20
|
}
|
|
37
21
|
//# sourceMappingURL=transaction-interceptor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction-interceptor.d.ts","sourceRoot":"","sources":["../../../src/database/orm/transaction-interceptor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAMrD;;;;GAIG;AACH,qBAAa,sBAAuB,YAAW,WAAW;IACxD;;;OAGG;IACU,OAAO,CAAC,CAAC,EACpB,MAAM,EAAE,OAAO,EACf,WAAW,EAAE,MAAM,GAAG,MAAM,EAC5B,cAAc,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EACtD,IAAI,EAAE,OAAO,EAAE,EACf,SAAS,EAAE,SAAS,EACpB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"transaction-interceptor.d.ts","sourceRoot":"","sources":["../../../src/database/orm/transaction-interceptor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAMrD;;;;GAIG;AACH,qBAAa,sBAAuB,YAAW,WAAW;IACxD;;;OAGG;IACU,OAAO,CAAC,CAAC,EACpB,MAAM,EAAE,OAAO,EACf,WAAW,EAAE,MAAM,GAAG,MAAM,EAC5B,cAAc,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EACtD,IAAI,EAAE,OAAO,EAAE,EACf,SAAS,EAAE,SAAS,EACpB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,CAAC,CAAC;IAqFb;;;OAGG;WACiB,sBAAsB,CAAC,CAAC,EAC1C,MAAM,EAAE,OAAO,EACf,WAAW,EAAE,MAAM,GAAG,MAAM,EAC5B,cAAc,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EACtD,IAAI,EAAE,OAAO,EAAE,EACf,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,CAAC,CAAC;CAKd"}
|
|
@@ -1,77 +1,26 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { BunSQLManager } from '../sql-manager';
|
|
2
2
|
import { type TransactionOptions, type TransactionContext } from './transaction-types';
|
|
3
3
|
/**
|
|
4
4
|
* 事务管理器
|
|
5
5
|
* 管理数据库事务的生命周期
|
|
6
6
|
*/
|
|
7
7
|
export declare class TransactionManager {
|
|
8
|
-
private readonly
|
|
9
|
-
|
|
10
|
-
private readonly connectionTransactions;
|
|
11
|
-
constructor(databaseService: DatabaseService);
|
|
8
|
+
private readonly sqlManager;
|
|
9
|
+
constructor(sqlManager: BunSQLManager);
|
|
12
10
|
/**
|
|
13
|
-
*
|
|
11
|
+
* 在当前 session 中执行事务
|
|
14
12
|
*/
|
|
15
|
-
|
|
13
|
+
runInTransaction<T>(fn: () => Promise<T>, options?: TransactionOptions): Promise<T>;
|
|
16
14
|
/**
|
|
17
|
-
*
|
|
18
|
-
*/
|
|
19
|
-
commitTransaction(transactionId: string): Promise<void>;
|
|
20
|
-
/**
|
|
21
|
-
* 回滚事务
|
|
22
|
-
*/
|
|
23
|
-
rollbackTransaction(transactionId: string): Promise<void>;
|
|
24
|
-
/**
|
|
25
|
-
* 创建保存点(用于嵌套事务)
|
|
26
|
-
*/
|
|
27
|
-
createSavepoint(transactionId: string): Promise<string>;
|
|
28
|
-
/**
|
|
29
|
-
* 回滚到保存点
|
|
30
|
-
*/
|
|
31
|
-
rollbackToSavepoint(transactionId: string, savepointName: string): Promise<void>;
|
|
32
|
-
/**
|
|
33
|
-
* 获取当前事务上下文
|
|
15
|
+
* REQUIRES_NEW:使用独立连接开启新事务
|
|
34
16
|
*/
|
|
17
|
+
runInNewTransaction<T>(fn: () => Promise<T>, options?: TransactionOptions): Promise<T>;
|
|
18
|
+
runInNestedTransaction<T>(fn: () => Promise<T>, options?: TransactionOptions): Promise<T>;
|
|
35
19
|
getCurrentTransaction(): TransactionContext | null;
|
|
36
|
-
/**
|
|
37
|
-
* 检查是否有活动事务
|
|
38
|
-
*/
|
|
39
20
|
hasActiveTransaction(): boolean;
|
|
40
|
-
|
|
41
|
-
* 生成事务 ID
|
|
42
|
-
*/
|
|
21
|
+
runInSqliteTransaction<T>(fn: () => Promise<T>): Promise<T>;
|
|
43
22
|
private generateTransactionId;
|
|
44
|
-
/**
|
|
45
|
-
* 查找连接对应的事务 ID
|
|
46
|
-
*/
|
|
47
|
-
private findConnectionByTransactionId;
|
|
48
|
-
/**
|
|
49
|
-
* 清理事务
|
|
50
|
-
*/
|
|
51
|
-
private cleanupTransaction;
|
|
52
|
-
/**
|
|
53
|
-
* 执行 BEGIN 语句
|
|
54
|
-
*/
|
|
55
|
-
private executeBegin;
|
|
56
|
-
/**
|
|
57
|
-
* 执行 COMMIT 语句
|
|
58
|
-
*/
|
|
59
|
-
private executeCommit;
|
|
60
|
-
/**
|
|
61
|
-
* 执行 ROLLBACK 语句
|
|
62
|
-
*/
|
|
63
|
-
private executeRollback;
|
|
64
|
-
/**
|
|
65
|
-
* 执行 SAVEPOINT 语句
|
|
66
|
-
*/
|
|
67
|
-
private executeSavepoint;
|
|
68
|
-
/**
|
|
69
|
-
* 执行 ROLLBACK TO SAVEPOINT 语句
|
|
70
|
-
*/
|
|
71
|
-
private executeRollbackToSavepoint;
|
|
72
|
-
/**
|
|
73
|
-
* 获取隔离级别的 SQL
|
|
74
|
-
*/
|
|
75
23
|
private getIsolationLevelSQL;
|
|
24
|
+
private shouldRollback;
|
|
76
25
|
}
|
|
77
26
|
//# sourceMappingURL=transaction-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction-manager.d.ts","sourceRoot":"","sources":["../../../src/database/orm/transaction-manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transaction-manager.d.ts","sourceRoot":"","sources":["../../../src/database/orm/transaction-manager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACxB,MAAM,qBAAqB,CAAC;AAE7B;;;GAGG;AACH,qBACa,kBAAkB;IAG3B,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,aAAa;IAG5C;;OAEG;IACU,gBAAgB,CAAC,CAAC,EAC7B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,CAAC,CAAC;IAqDb;;OAEG;IACU,mBAAmB,CAAC,CAAC,EAChC,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,CAAC,CAAC;IAgBA,sBAAsB,CAAC,CAAC,EACnC,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,CAAC,CAAC;IA4BN,qBAAqB,IAAI,kBAAkB,GAAG,IAAI;IAclD,oBAAoB,IAAI,OAAO;IAKzB,sBAAsB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAoBxE,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,cAAc;CAqBvB"}
|
|
@@ -59,13 +59,13 @@ export declare class DatabaseService {
|
|
|
59
59
|
private querySqlite;
|
|
60
60
|
/**
|
|
61
61
|
* Bun.SQL 查询实现(PostgreSQL/MySQL)
|
|
62
|
-
*
|
|
62
|
+
* 通过模板字符串调用 Bun.SQL,确保参数走 Bun.SQL 转义逻辑
|
|
63
63
|
*/
|
|
64
64
|
private queryBunSQL;
|
|
65
65
|
/**
|
|
66
|
-
*
|
|
67
|
-
*
|
|
66
|
+
* 将 SQL 与 ? 占位符参数转换为模板字符串片段
|
|
67
|
+
* 让参数通过 Bun.SQL 的 values 通道注入,避免手工拼接 SQL
|
|
68
68
|
*/
|
|
69
|
-
private
|
|
69
|
+
private buildTemplateFromSql;
|
|
70
70
|
}
|
|
71
71
|
//# sourceMappingURL=service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/database/service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/database/service.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,qBAAqB,EACtB,MAAM,SAAS,CAAC;AAEjB;;;GAGG;AACH,qBACa,eAAe;IAC1B,OAAO,CAAC,iBAAiB,CAA4B;IACrD,OAAO,CAAC,OAAO,CAAwB;gBAEpB,OAAO,EAAE,qBAAqB;IA2BjD;;OAEG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxC;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAInC;;OAEG;IACU,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvC;;OAEG;IACI,YAAY;;;;;;IAInB;;OAEG;IACI,aAAa,IAAI,OAAO;IAI/B;;OAEG;IACH,IAAW,MAAM,IAAI,qBAAqB,CAEzC;IAED;;OAEG;IACI,eAAe,IAAI,cAAc,CAAC,MAAM,CAAC;IAIhD;;OAEG;IACU,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAQ5C;;OAEG;IACI,iBAAiB,IAAI,cAAc;IAI1C;;;OAGG;IACI,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAsB9E;;OAEG;IACH,OAAO,CAAC,WAAW;IA6BnB;;;OAGG;YACW,WAAW;IA+CzB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;CAiB7B"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { SQL } from 'bun';
|
|
2
|
+
import type { BunSQLConfig } from './types';
|
|
3
|
+
export declare class BunSQLManager {
|
|
4
|
+
private readonly instances;
|
|
5
|
+
private defaultTenantId;
|
|
6
|
+
getOrCreate(tenantId: string, config: BunSQLConfig): SQL;
|
|
7
|
+
hasTenant(tenantId: string): boolean;
|
|
8
|
+
get(tenantId: string): SQL | undefined;
|
|
9
|
+
setDefaultTenant(tenantId: string): void;
|
|
10
|
+
getDefault(): SQL;
|
|
11
|
+
destroy(tenantId: string, timeout?: number): Promise<void>;
|
|
12
|
+
destroyAll(timeout?: number): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=sql-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql-manager.d.ts","sourceRoot":"","sources":["../../src/database/sql-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0B;IACpD,OAAO,CAAC,eAAe,CAAa;IAE7B,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,GAAG;IAiBxD,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIpC,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS;IAItC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIxC,UAAU,IAAI,GAAG;IAUX,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,SAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAStD,UAAU,CAAC,OAAO,SAAK,GAAG,OAAO,CAAC,IAAI,CAAC;CAIrD"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type SQLQueryBindings } from 'bun:sqlite';
|
|
2
|
+
import type { SqliteV2Config } from './types';
|
|
3
|
+
export interface DisposableLock {
|
|
4
|
+
[Symbol.dispose](): void;
|
|
5
|
+
}
|
|
6
|
+
export declare class Semaphore {
|
|
7
|
+
private readonly max;
|
|
8
|
+
private active;
|
|
9
|
+
private readonly queue;
|
|
10
|
+
constructor(max: number);
|
|
11
|
+
acquire(): Promise<DisposableLock>;
|
|
12
|
+
private createDisposable;
|
|
13
|
+
}
|
|
14
|
+
export declare class SqliteAdapter {
|
|
15
|
+
private readonly db;
|
|
16
|
+
readonly semaphore: Semaphore;
|
|
17
|
+
constructor(config: SqliteV2Config);
|
|
18
|
+
query<T = unknown>(sql: string, params?: SQLQueryBindings[]): T[];
|
|
19
|
+
execute(sql: string, params?: SQLQueryBindings[]): Promise<void>;
|
|
20
|
+
close(): void;
|
|
21
|
+
}
|
|
22
|
+
export declare class SqliteManager {
|
|
23
|
+
private readonly instances;
|
|
24
|
+
private defaultTenantId;
|
|
25
|
+
getOrCreate(tenantId: string, config: SqliteV2Config): SqliteAdapter;
|
|
26
|
+
setDefaultTenant(tenantId: string): void;
|
|
27
|
+
getDefault(): SqliteAdapter;
|
|
28
|
+
getAdapter(tenantId: string): SqliteAdapter;
|
|
29
|
+
destroy(tenantId: string): void;
|
|
30
|
+
destroyAll(): void;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=sqlite-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlite-adapter.d.ts","sourceRoot":"","sources":["../../src/database/sqlite-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,MAAM,WAAW,cAAc;IAC7B,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;CAC1B;AAED,qBAAa,SAAS;IAID,OAAO,CAAC,QAAQ,CAAC,GAAG;IAHvC,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyB;gBAEX,GAAG,EAAE,MAAM;IAElC,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC;IAW/C,OAAO,CAAC,gBAAgB;CAczB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAW;IAC9B,SAAgB,SAAS,EAAE,SAAS,CAAC;gBAElB,MAAM,EAAE,cAAc;IAQlC,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,gBAAgB,EAAO,GAAG,CAAC,EAAE;IAK/D,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,gBAAgB,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAK1E,KAAK,IAAI,IAAI;CAGrB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoC;IAC9D,OAAO,CAAC,eAAe,CAAa;IAE7B,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,aAAa;IAUpE,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIxC,UAAU,IAAI,aAAa;IAU3B,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa;IAQ3C,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAS/B,UAAU,IAAI,IAAI;CAM1B"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import 'reflect-metadata';
|
|
2
|
+
import type { Constructor } from '@/core/types';
|
|
3
|
+
export declare const DB_STRATEGY_KEY: unique symbol;
|
|
4
|
+
export type DbStrategyType = 'pool' | 'session';
|
|
5
|
+
export declare function DbStrategy(strategy: DbStrategyType): MethodDecorator & ClassDecorator;
|
|
6
|
+
export declare function Session(): MethodDecorator & ClassDecorator;
|
|
7
|
+
export declare function getDbStrategy(controllerClass: Constructor<unknown>, methodName: string): DbStrategyType | undefined;
|
|
8
|
+
//# sourceMappingURL=strategy-decorator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strategy-decorator.d.ts","sourceRoot":"","sources":["../../src/database/strategy-decorator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,eAAO,MAAM,eAAe,eAAiD,CAAC;AAE9E,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,SAAS,CAAC;AAEhD,wBAAgB,UAAU,CACxB,QAAQ,EAAE,cAAc,GACvB,eAAe,GAAG,cAAc,CAQlC;AAED,wBAAgB,OAAO,IAAI,eAAe,GAAG,cAAc,CAE1D;AAED,wBAAgB,aAAa,CAC3B,eAAe,EAAE,WAAW,CAAC,OAAO,CAAC,EACrC,UAAU,EAAE,MAAM,GACjB,cAAc,GAAG,SAAS,CAa5B"}
|