@devbro/pashmak 0.1.35 → 0.1.37
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.
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { Middleware, Request, Response } from '@devbro/neko-router';
|
|
2
|
-
import { PostgresqlConnection } from '@devbro/neko-sql';
|
|
3
2
|
import { PoolConfig } from 'pg';
|
|
3
|
+
import { Connection } from '@devbro/neko-sql';
|
|
4
4
|
|
|
5
5
|
declare class DatabaseServiceProvider extends Middleware {
|
|
6
6
|
call(req: Request, res: Response, next: () => Promise<void>): Promise<void>;
|
|
7
7
|
private static instance;
|
|
8
8
|
register(): Promise<void>;
|
|
9
9
|
static getInstance(): DatabaseServiceProvider;
|
|
10
|
-
getConnection(db_config: PoolConfig):
|
|
10
|
+
getConnection(db_config: PoolConfig): Connection;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
export { DatabaseServiceProvider };
|
|
@@ -19,7 +19,7 @@ class DatabaseServiceProvider extends Middleware {
|
|
|
19
19
|
ctx().set(["database", name], conn);
|
|
20
20
|
conns.push(conn);
|
|
21
21
|
}
|
|
22
|
-
BaseModel.setConnection(
|
|
22
|
+
BaseModel.setConnection(() => {
|
|
23
23
|
const key = ["database", "default"];
|
|
24
24
|
let rc;
|
|
25
25
|
if (ctx.isActive()) {
|
|
@@ -27,7 +27,7 @@ class DatabaseServiceProvider extends Middleware {
|
|
|
27
27
|
} else if (Global.has(key)) {
|
|
28
28
|
rc = Global.get(key);
|
|
29
29
|
} else {
|
|
30
|
-
rc =
|
|
30
|
+
rc = this.getConnection(db_configs["default"]);
|
|
31
31
|
Global.set(key, rc);
|
|
32
32
|
}
|
|
33
33
|
return rc;
|
|
@@ -48,11 +48,8 @@ class DatabaseServiceProvider extends Middleware {
|
|
|
48
48
|
}
|
|
49
49
|
return DatabaseServiceProvider.instance;
|
|
50
50
|
}
|
|
51
|
-
|
|
51
|
+
getConnection(db_config) {
|
|
52
52
|
const conn = new PostgresqlConnection(db_config);
|
|
53
|
-
if (!await conn.connect()) {
|
|
54
|
-
throw new Error("Failed to connect to the database");
|
|
55
|
-
}
|
|
56
53
|
return conn;
|
|
57
54
|
}
|
|
58
55
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/DatabaseServiceProvider.mts"],"sourcesContent":["import { Middleware } from \"@devbro/neko-router\";\nimport { Request, Response } from \"@devbro/neko-router\";\nimport { PostgresqlConnection } from \"@devbro/neko-sql\";\nimport { PoolConfig } from \"pg\";\nimport { Connection } from \"@devbro/neko-sql\";\nimport { BaseModel } from \"@devbro/neko-orm\";\nimport { ctx } from \"@devbro/neko-context\";\nimport { config } from \"@devbro/neko-config\";\nimport { Global } from \"./global.mjs\";\n\nexport class DatabaseServiceProvider extends Middleware {\n async call(\n req: Request,\n res: Response,\n next: () => Promise<void>,\n ): Promise<void> {\n const db_configs: Record<string, PoolConfig & { name: string }> =\n config.get(\"databases\");\n\n const conns = [];\n try {\n for (const [name, db_config] of Object.entries(db_configs)) {\n const conn = await this.getConnection(db_config);\n ctx().set([\"database\", name], conn);\n conns.push(conn);\n }\n BaseModel.setConnection(
|
|
1
|
+
{"version":3,"sources":["../src/DatabaseServiceProvider.mts"],"sourcesContent":["import { Middleware } from \"@devbro/neko-router\";\nimport { Request, Response } from \"@devbro/neko-router\";\nimport { PostgresqlConnection } from \"@devbro/neko-sql\";\nimport { PoolConfig } from \"pg\";\nimport { Connection } from \"@devbro/neko-sql\";\nimport { BaseModel } from \"@devbro/neko-orm\";\nimport { ctx } from \"@devbro/neko-context\";\nimport { config } from \"@devbro/neko-config\";\nimport { Global } from \"./global.mjs\";\n\nexport class DatabaseServiceProvider extends Middleware {\n async call(\n req: Request,\n res: Response,\n next: () => Promise<void>,\n ): Promise<void> {\n const db_configs: Record<string, PoolConfig & { name: string }> =\n config.get(\"databases\");\n\n const conns = [];\n try {\n for (const [name, db_config] of Object.entries(db_configs)) {\n const conn = await this.getConnection(db_config);\n ctx().set([\"database\", name], conn);\n conns.push(conn);\n }\n BaseModel.setConnection(() => {\n const key = [\"database\", \"default\"];\n let rc: Connection | undefined;\n\n if (ctx.isActive()) {\n rc = ctx().get<Connection>(key);\n } else if (Global.has(key)) {\n rc = Global.get<Connection>(key);\n } else {\n rc = this.getConnection(db_configs[\"default\"]);\n Global.set(key, rc);\n }\n\n return rc!;\n });\n await next();\n } finally {\n for (const conn of conns) {\n await conn.disconnect();\n }\n }\n }\n\n private static instance: DatabaseServiceProvider;\n\n async register(): Promise<void> {}\n\n static getInstance(): DatabaseServiceProvider {\n if (!DatabaseServiceProvider.instance) {\n DatabaseServiceProvider.instance = new DatabaseServiceProvider();\n }\n return DatabaseServiceProvider.instance;\n }\n\n getConnection(db_config: PoolConfig): Connection {\n const conn = new PostgresqlConnection(db_config);\n return conn;\n }\n}\n"],"mappings":";;AAAA,SAAS,kBAAkB;AAE3B,SAAS,4BAA4B;AAGrC,SAAS,iBAAiB;AAC1B,SAAS,WAAW;AACpB,SAAS,cAAc;AACvB,SAAS,cAAc;AAEhB,MAAM,gCAAgC,WAAW;AAAA,EAVxD,OAUwD;AAAA;AAAA;AAAA,EACtD,MAAM,KACJ,KACA,KACA,MACe;AACf,UAAM,aACJ,OAAO,IAAI,WAAW;AAExB,UAAM,QAAQ,CAAC;AACf,QAAI;AACF,iBAAW,CAAC,MAAM,SAAS,KAAK,OAAO,QAAQ,UAAU,GAAG;AAC1D,cAAM,OAAO,MAAM,KAAK,cAAc,SAAS;AAC/C,YAAI,EAAE,IAAI,CAAC,YAAY,IAAI,GAAG,IAAI;AAClC,cAAM,KAAK,IAAI;AAAA,MACjB;AACA,gBAAU,cAAc,MAAM;AAC5B,cAAM,MAAM,CAAC,YAAY,SAAS;AAClC,YAAI;AAEJ,YAAI,IAAI,SAAS,GAAG;AAClB,eAAK,IAAI,EAAE,IAAgB,GAAG;AAAA,QAChC,WAAW,OAAO,IAAI,GAAG,GAAG;AAC1B,eAAK,OAAO,IAAgB,GAAG;AAAA,QACjC,OAAO;AACL,eAAK,KAAK,cAAc,WAAW,SAAS,CAAC;AAC7C,iBAAO,IAAI,KAAK,EAAE;AAAA,QACpB;AAEA,eAAO;AAAA,MACT,CAAC;AACD,YAAM,KAAK;AAAA,IACb,UAAE;AACA,iBAAW,QAAQ,OAAO;AACxB,cAAM,KAAK,WAAW;AAAA,MACxB;AAAA,IACF;AAAA,EACF;AAAA,EAEA,OAAe;AAAA,EAEf,MAAM,WAA0B;AAAA,EAAC;AAAA,EAEjC,OAAO,cAAuC;AAC5C,QAAI,CAAC,wBAAwB,UAAU;AACrC,8BAAwB,WAAW,IAAI,wBAAwB;AAAA,IACjE;AACA,WAAO,wBAAwB;AAAA,EACjC;AAAA,EAEA,cAAc,WAAmC;AAC/C,UAAM,OAAO,IAAI,qBAAqB,SAAS;AAC/C,WAAO;AAAA,EACT;AACF;","names":[]}
|
|
@@ -98,7 +98,7 @@ var DatabaseServiceProvider = class _DatabaseServiceProvider extends Middleware
|
|
|
98
98
|
(0, import_neko_context.ctx)().set(["database", name], conn);
|
|
99
99
|
conns.push(conn);
|
|
100
100
|
}
|
|
101
|
-
import_neko_orm.BaseModel.setConnection(
|
|
101
|
+
import_neko_orm.BaseModel.setConnection(() => {
|
|
102
102
|
const key = ["database", "default"];
|
|
103
103
|
let rc;
|
|
104
104
|
if (import_neko_context.ctx.isActive()) {
|
|
@@ -106,7 +106,7 @@ var DatabaseServiceProvider = class _DatabaseServiceProvider extends Middleware
|
|
|
106
106
|
} else if (Global.has(key)) {
|
|
107
107
|
rc = Global.get(key);
|
|
108
108
|
} else {
|
|
109
|
-
rc =
|
|
109
|
+
rc = this.getConnection(db_configs["default"]);
|
|
110
110
|
Global.set(key, rc);
|
|
111
111
|
}
|
|
112
112
|
return rc;
|
|
@@ -127,11 +127,8 @@ var DatabaseServiceProvider = class _DatabaseServiceProvider extends Middleware
|
|
|
127
127
|
}
|
|
128
128
|
return _DatabaseServiceProvider.instance;
|
|
129
129
|
}
|
|
130
|
-
|
|
130
|
+
getConnection(db_config) {
|
|
131
131
|
const conn = new import_neko_sql.PostgresqlConnection(db_config);
|
|
132
|
-
if (!await conn.connect()) {
|
|
133
|
-
throw new Error("Failed to connect to the database");
|
|
134
|
-
}
|
|
135
132
|
return conn;
|
|
136
133
|
}
|
|
137
134
|
};
|
package/dist/bin/index.cjs
CHANGED
|
@@ -2904,7 +2904,7 @@ var init_DatabaseServiceProvider = __esm({
|
|
|
2904
2904
|
(0, import_neko_context6.ctx)().set(["database", name], conn);
|
|
2905
2905
|
conns.push(conn);
|
|
2906
2906
|
}
|
|
2907
|
-
import_neko_orm.BaseModel.setConnection(
|
|
2907
|
+
import_neko_orm.BaseModel.setConnection(() => {
|
|
2908
2908
|
const key = ["database", "default"];
|
|
2909
2909
|
let rc;
|
|
2910
2910
|
if (import_neko_context6.ctx.isActive()) {
|
|
@@ -2912,7 +2912,7 @@ var init_DatabaseServiceProvider = __esm({
|
|
|
2912
2912
|
} else if (Global.has(key)) {
|
|
2913
2913
|
rc = Global.get(key);
|
|
2914
2914
|
} else {
|
|
2915
|
-
rc =
|
|
2915
|
+
rc = this.getConnection(db_configs["default"]);
|
|
2916
2916
|
Global.set(key, rc);
|
|
2917
2917
|
}
|
|
2918
2918
|
return rc;
|
|
@@ -2933,11 +2933,8 @@ var init_DatabaseServiceProvider = __esm({
|
|
|
2933
2933
|
}
|
|
2934
2934
|
return _DatabaseServiceProvider.instance;
|
|
2935
2935
|
}
|
|
2936
|
-
|
|
2936
|
+
getConnection(db_config) {
|
|
2937
2937
|
const conn = new import_neko_sql2.PostgresqlConnection(db_config);
|
|
2938
|
-
if (!await conn.connect()) {
|
|
2939
|
-
throw new Error("Failed to connect to the database");
|
|
2940
|
-
}
|
|
2941
2938
|
return conn;
|
|
2942
2939
|
}
|
|
2943
2940
|
};
|