fakebase-studio 1.0.3 → 1.0.5
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 +0 -2
- package/package.json +1 -1
- package/server/dist/db.d.ts +4 -0
- package/server/dist/db.d.ts.map +1 -1
- package/server/dist/db.js +43 -0
- package/server/dist/db.js.map +1 -1
- package/server/dist/index.d.ts.map +1 -1
- package/server/dist/index.js +14 -2
- package/server/dist/index.js.map +1 -1
- package/server/dist/routes/connect.d.ts.map +1 -1
- package/server/dist/routes/connect.js +0 -3
- package/server/dist/routes/connect.js.map +1 -1
- package/server/dist/routes/connections.d.ts.map +1 -1
- package/server/dist/routes/connections.js +0 -3
- package/server/dist/routes/connections.js.map +1 -1
- package/server/dist/routes/indexes.d.ts.map +1 -1
- package/server/dist/routes/indexes.js +0 -3
- package/server/dist/routes/indexes.js.map +1 -1
- package/server/dist/routes/schema.d.ts.map +1 -1
- package/server/dist/routes/schema.js +0 -4
- package/server/dist/routes/schema.js.map +1 -1
- package/server/dist/routes/tables.d.ts.map +1 -1
- package/server/dist/routes/tables.js +5 -7
- package/server/dist/routes/tables.js.map +1 -1
- package/server/dist/services/connections.service.d.ts.map +1 -1
- package/server/dist/services/connections.service.js +3 -2
- package/server/dist/services/connections.service.js.map +1 -1
- package/ui/dist/assets/index-C58yNoTI.js +71 -0
- package/ui/dist/assets/index-CmWCu1wa.css +1 -0
- package/ui/dist/index.html +2 -2
- package/ui/dist/assets/index-3A4u6lT6.css +0 -1
- package/ui/dist/assets/index-g7U-HL5c.js +0 -71
package/README.md
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
#Fakebase Studio
|
|
2
|
-
|
|
3
1
|
## What’s Fakebase?
|
|
4
2
|
|
|
5
3
|
Fakebase is a lightweight PostgreSQL browser built for developers who just want to see what’s going on in their database - fast. No setup, no dashboards, no accounts. Connect to any PostgreSQL instance and instantly explore your tables, relationships, indexes, and schema structure in a clean, modern interface. Fakebase takes responsibility for being the simple tool: open it, connect, understand your database.
|
package/package.json
CHANGED
package/server/dist/db.d.ts
CHANGED
|
@@ -15,4 +15,8 @@ export declare function connectToDatabase(connectionString: string): Promise<any
|
|
|
15
15
|
* @deprecated Use getOrCreatePool(connectionString) instead.
|
|
16
16
|
*/
|
|
17
17
|
export declare function getDb(): Pool;
|
|
18
|
+
/**
|
|
19
|
+
* Close all cached pools and the legacy pool. Safe to call multiple times (no-op after first).
|
|
20
|
+
*/
|
|
21
|
+
export declare function closeAllPools(): Promise<void>;
|
|
18
22
|
//# sourceMappingURL=db.d.ts.map
|
package/server/dist/db.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAkB1B;;;GAGG;AACH,wBAAgB,eAAe,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAgC9D;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,gBAAgB,EAAE,MAAM,gBAyC/D;AAED;;;GAGG;AACH,wBAAgB,KAAK,SAGpB;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAqBnD"}
|
package/server/dist/db.js
CHANGED
|
@@ -3,18 +3,34 @@ import { Pool } from "pg";
|
|
|
3
3
|
const connectionPools = new Map();
|
|
4
4
|
// Legacy single pool for backward compatibility with connect endpoint
|
|
5
5
|
let pool = null;
|
|
6
|
+
let closed = false;
|
|
7
|
+
const POOL_CONFIG = {
|
|
8
|
+
max: 10,
|
|
9
|
+
idleTimeoutMillis: 30_000,
|
|
10
|
+
connectionTimeoutMillis: 5000,
|
|
11
|
+
};
|
|
12
|
+
const MAX_CACHED_POOLS = 20;
|
|
6
13
|
/**
|
|
7
14
|
* Get or create a connection pool for the given connection string.
|
|
8
15
|
* Pools are cached and reused for the same connection string.
|
|
9
16
|
*/
|
|
10
17
|
export function getOrCreatePool(connectionString) {
|
|
11
18
|
if (!connectionPools.has(connectionString)) {
|
|
19
|
+
if (connectionPools.size >= MAX_CACHED_POOLS) {
|
|
20
|
+
const firstKey = connectionPools.keys().next().value;
|
|
21
|
+
if (firstKey !== undefined) {
|
|
22
|
+
const oldPool = connectionPools.get(firstKey);
|
|
23
|
+
connectionPools.delete(firstKey);
|
|
24
|
+
oldPool?.end().catch(() => { });
|
|
25
|
+
}
|
|
26
|
+
}
|
|
12
27
|
// Parse connection string to check if it's Supabase or needs SSL
|
|
13
28
|
const isSupabase = connectionString.includes("supabase.co");
|
|
14
29
|
const newPool = new Pool({
|
|
15
30
|
connectionString,
|
|
16
31
|
// Supabase requires SSL connections
|
|
17
32
|
ssl: isSupabase ? { rejectUnauthorized: false } : undefined,
|
|
33
|
+
...POOL_CONFIG,
|
|
18
34
|
});
|
|
19
35
|
// Handle pool errors
|
|
20
36
|
newPool.on("error", (err) => {
|
|
@@ -49,6 +65,7 @@ export async function connectToDatabase(connectionString) {
|
|
|
49
65
|
connectionString,
|
|
50
66
|
// Supabase requires SSL connections
|
|
51
67
|
ssl: isSupabase ? { rejectUnauthorized: false } : undefined,
|
|
68
|
+
...POOL_CONFIG,
|
|
52
69
|
});
|
|
53
70
|
try {
|
|
54
71
|
// Test connection
|
|
@@ -80,4 +97,30 @@ export function getDb() {
|
|
|
80
97
|
throw new Error("Database not connected");
|
|
81
98
|
return pool;
|
|
82
99
|
}
|
|
100
|
+
/**
|
|
101
|
+
* Close all cached pools and the legacy pool. Safe to call multiple times (no-op after first).
|
|
102
|
+
*/
|
|
103
|
+
export async function closeAllPools() {
|
|
104
|
+
if (closed)
|
|
105
|
+
return;
|
|
106
|
+
closed = true;
|
|
107
|
+
for (const [, p] of connectionPools) {
|
|
108
|
+
try {
|
|
109
|
+
await p.end();
|
|
110
|
+
}
|
|
111
|
+
catch (err) {
|
|
112
|
+
console.warn("Error closing pool:", err);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
connectionPools.clear();
|
|
116
|
+
if (pool) {
|
|
117
|
+
try {
|
|
118
|
+
await pool.end();
|
|
119
|
+
}
|
|
120
|
+
catch (err) {
|
|
121
|
+
console.warn("Error closing legacy pool:", err);
|
|
122
|
+
}
|
|
123
|
+
pool = null;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
83
126
|
//# sourceMappingURL=db.js.map
|
package/server/dist/db.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAE1B,+CAA+C;AAC/C,MAAM,eAAe,GAAG,IAAI,GAAG,EAAgB,CAAC;AAEhD,sEAAsE;AACtE,IAAI,IAAI,GAAgB,IAAI,CAAC;AAE7B;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,gBAAwB;IACtD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC3C,iEAAiE;QACjE,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAE5D,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC;YACvB,gBAAgB;YAChB,oCAAoC;YACpC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS;
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../db.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAWA,wBAAsB,WAAW,kBAmEhC"}
|
package/server/dist/index.js
CHANGED
|
@@ -4,11 +4,17 @@ import fastifyCors from "@fastify/cors";
|
|
|
4
4
|
import path from "path";
|
|
5
5
|
import { fileURLToPath } from "url";
|
|
6
6
|
import { registerRoutes } from "./routes/index.js";
|
|
7
|
+
import { closeAllPools } from "./db.js";
|
|
7
8
|
const __filename = fileURLToPath(import.meta.url);
|
|
8
9
|
const __dirname = path.dirname(__filename);
|
|
9
10
|
export async function startServer() {
|
|
10
11
|
const app = Fastify({
|
|
11
|
-
logger:
|
|
12
|
+
logger: {
|
|
13
|
+
level: "error",
|
|
14
|
+
},
|
|
15
|
+
});
|
|
16
|
+
app.addHook("onClose", async () => {
|
|
17
|
+
await closeAllPools();
|
|
12
18
|
});
|
|
13
19
|
// Global error handler
|
|
14
20
|
app.setErrorHandler((error, request, reply) => {
|
|
@@ -52,7 +58,13 @@ export async function startServer() {
|
|
|
52
58
|
const port = Number(process.env.PORT) || 4321;
|
|
53
59
|
const host = process.env.HOST || "0.0.0.0";
|
|
54
60
|
await app.listen({ port, host });
|
|
55
|
-
console.log(`
|
|
61
|
+
console.log(`Fakebase Studio running on http://localhost:${port}`);
|
|
62
|
+
process.once("SIGINT", () => {
|
|
63
|
+
app.close().then(() => process.exit(0)).catch(() => process.exit(1));
|
|
64
|
+
});
|
|
65
|
+
process.once("SIGTERM", () => {
|
|
66
|
+
app.close().then(() => process.exit(0)).catch(() => process.exit(1));
|
|
67
|
+
});
|
|
56
68
|
}
|
|
57
69
|
// Start server when this file is executed directly
|
|
58
70
|
startServer().catch((error) => {
|
package/server/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../routes/connect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAK/C;;GAEG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../routes/connect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAK/C;;GAEG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAyCvE"}
|
|
@@ -25,14 +25,11 @@ export async function connectRoutes(app) {
|
|
|
25
25
|
return sendError(reply, 400, new Error("Connection string is required"));
|
|
26
26
|
}
|
|
27
27
|
try {
|
|
28
|
-
request.log.info("Attempting to connect to database...");
|
|
29
28
|
const databaseName = await connectToDatabase(connectionString);
|
|
30
|
-
request.log.info({ databaseName }, "Successfully connected to database");
|
|
31
29
|
const data = { databaseName };
|
|
32
30
|
return sendSuccess(reply, data);
|
|
33
31
|
}
|
|
34
32
|
catch (error) {
|
|
35
|
-
request.log.error(error, "Error connecting to database");
|
|
36
33
|
return sendError(reply, 500, error);
|
|
37
34
|
}
|
|
38
35
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../routes/connect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAG5D;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAoB;
|
|
1
|
+
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../routes/connect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAG5D;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAoB;IACtD,gBAAgB;IAChB,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;QAC9B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,sBAAsB;IACtB,GAAG,CAAC,IAAI,CACN,cAAc,EACd;QACE,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,CAAC,kBAAkB,CAAC;gBAC9B,UAAU,EAAE;oBACV,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBACrC;aACF;SACF;KACF,EACD,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACvB,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;QAE1C,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,SAAS,CACd,KAAK,EACL,GAAG,EACH,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAC3C,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;YAE/D,MAAM,IAAI,GAAuB,EAAE,YAAY,EAAE,CAAC;YAClD,OAAO,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connections.d.ts","sourceRoot":"","sources":["../../routes/connections.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAS1C,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"connections.d.ts","sourceRoot":"","sources":["../../routes/connections.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAS1C,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,eAAe,iBAoI/D"}
|
|
@@ -35,7 +35,6 @@ export async function connectionsRoutes(fastify) {
|
|
|
35
35
|
}
|
|
36
36
|
try {
|
|
37
37
|
const connection = await saveConnection(connectionString, success ?? false, databaseName, name);
|
|
38
|
-
request.log.info(`Saved connection: ${name || databaseName || "unnamed"}`);
|
|
39
38
|
return reply.send({
|
|
40
39
|
success: true,
|
|
41
40
|
data: connection,
|
|
@@ -66,7 +65,6 @@ export async function connectionsRoutes(fastify) {
|
|
|
66
65
|
if (!wasRemoved) {
|
|
67
66
|
return sendError(reply, 404, "Connection not found");
|
|
68
67
|
}
|
|
69
|
-
request.log.info("Removed connection");
|
|
70
68
|
return reply.send({ success: true });
|
|
71
69
|
}
|
|
72
70
|
catch (error) {
|
|
@@ -92,7 +90,6 @@ export async function connectionsRoutes(fastify) {
|
|
|
92
90
|
if (!connection) {
|
|
93
91
|
return sendError(reply, 404, "Connection not found");
|
|
94
92
|
}
|
|
95
|
-
request.log.info(`Updated connection name to: ${name}`);
|
|
96
93
|
return reply.send({
|
|
97
94
|
success: true,
|
|
98
95
|
data: connection,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connections.js","sourceRoot":"","sources":["../../routes/connections.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAwB;IAC9D,sBAAsB;IACtB,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACvD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;YACvC,OAAO,KAAK,CAAC,IAAI,CAAC;gBAChB,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,MAAM,CAAC,WAAW;aACzB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,2BAA2B;IAC3B,OAAO,CAAC,IAAI,CAQV,kBAAkB,EAClB;QACE,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,CAAC,kBAAkB,CAAC;gBAC9B,UAAU,EAAE;oBACV,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACpC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC5B,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAChC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBACzB;aACF;SACF;KACF,EACD,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACvB,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;QAEvE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,+BAA+B,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,cAAc,CACrC,gBAAgB,EAChB,OAAO,IAAI,KAAK,EAChB,YAAY,EACZ,IAAI,CACL,CAAC;YAEF,OAAO,
|
|
1
|
+
{"version":3,"file":"connections.js","sourceRoot":"","sources":["../../routes/connections.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexes.d.ts","sourceRoot":"","sources":["../../routes/indexes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAS/C;;GAEG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"indexes.d.ts","sourceRoot":"","sources":["../../routes/indexes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAS/C;;GAEG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAuCvE"}
|
|
@@ -24,13 +24,10 @@ export async function indexesRoutes(app) {
|
|
|
24
24
|
try {
|
|
25
25
|
const pool = getOrCreatePool(connectionString);
|
|
26
26
|
await pool.query("SELECT 1 as test");
|
|
27
|
-
request.log.info("Fetching indexes list...");
|
|
28
27
|
const data = await getIndexesList(pool);
|
|
29
|
-
request.log.info({ indexCount: data.indexes.length, schemaCount: data.schemas.length }, "Indexes list fetched");
|
|
30
28
|
return sendSuccess(reply, data);
|
|
31
29
|
}
|
|
32
30
|
catch (error) {
|
|
33
|
-
request.log.error(error, "Error fetching indexes list");
|
|
34
31
|
return sendError(reply, 500, error);
|
|
35
32
|
}
|
|
36
33
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexes.js","sourceRoot":"","sources":["../../routes/indexes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAMhE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAoB;IACtD,MAAM,UAAU,GAAG;QACjB,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,kBAAkB,CAAC;QAC9B,UAAU,EAAE;YACV,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACrC;KACF,CAAC;IAEF;;;OAGG;IACH,GAAG,CAAC,IAAI,CACN,mBAAmB,EACnB,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAChC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACvB,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;QAE1C,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,SAAS,
|
|
1
|
+
{"version":3,"file":"indexes.js","sourceRoot":"","sources":["../../routes/indexes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAMhE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAoB;IACtD,MAAM,UAAU,GAAG;QACjB,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,kBAAkB,CAAC;QAC9B,UAAU,EAAE;YACV,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACrC;KACF,CAAC;IAEF;;;OAGG;IACH,GAAG,CAAC,IAAI,CACN,mBAAmB,EACnB,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAChC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACvB,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;QAE1C,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,SAAS,CACd,KAAK,EACL,GAAG,EACH,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAC3C,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,eAAe,CAAC,gBAAgB,CAAC,CAAC;YAC/C,MAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAErC,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;YAExC,OAAO,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../routes/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAM/C;;GAEG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../routes/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAM/C;;GAEG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAyCtE"}
|
|
@@ -21,19 +21,15 @@ export async function schemaRoutes(app) {
|
|
|
21
21
|
return sendError(reply, 400, new Error("Connection string is required"));
|
|
22
22
|
}
|
|
23
23
|
try {
|
|
24
|
-
request.log.info("Fetching schema data...");
|
|
25
24
|
// Get or create pool for this connection string
|
|
26
25
|
const pool = getOrCreatePool(connectionString);
|
|
27
26
|
// Test the pool connection first
|
|
28
|
-
request.log.debug("Testing pool connection...");
|
|
29
27
|
await pool.query("SELECT 1 as test");
|
|
30
28
|
// Get schema data
|
|
31
29
|
const schemaData = await getSchemaData(pool);
|
|
32
|
-
request.log.info({ tableCount: schemaData.tables.length, fkCount: schemaData.foreignKeys.length }, "Successfully fetched schema data");
|
|
33
30
|
return sendSuccess(reply, schemaData);
|
|
34
31
|
}
|
|
35
32
|
catch (error) {
|
|
36
|
-
request.log.error(error, "Error fetching schema data");
|
|
37
33
|
return sendError(reply, 500, error);
|
|
38
34
|
}
|
|
39
35
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../routes/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAG5D;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,GAAoB;IACrD,GAAG,CAAC,IAAI,CACN,aAAa,EACb;QACE,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,CAAC,kBAAkB,CAAC;gBAC9B,UAAU,EAAE;oBACV,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBACrC;aACF;SACF;KACF,EACD,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACvB,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;QAE1C,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,SAAS,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../routes/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAG5D;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,GAAoB;IACrD,GAAG,CAAC,IAAI,CACN,aAAa,EACb;QACE,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,CAAC,kBAAkB,CAAC;gBAC9B,UAAU,EAAE;oBACV,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBACrC;aACF;SACF;KACF,EACD,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACvB,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;QAE1C,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,SAAS,CACd,KAAK,EACL,GAAG,EACH,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAC3C,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,gDAAgD;YAChD,MAAM,IAAI,GAAG,eAAe,CAAC,gBAAgB,CAAC,CAAC;YAE/C,iCAAiC;YACjC,MAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAErC,kBAAkB;YAClB,MAAM,UAAU,GAAe,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;YAEzD,OAAO,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../../routes/tables.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAmC/C;;GAEG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../../routes/tables.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAmC/C;;GAEG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAuKzE"}
|
|
@@ -34,7 +34,7 @@ export async function tableDataRoutes(app) {
|
|
|
34
34
|
},
|
|
35
35
|
},
|
|
36
36
|
}, async (request, reply) => {
|
|
37
|
-
const { connectionString, schema, table, limit: limitParam } = request.body;
|
|
37
|
+
const { connectionString, schema, table, limit: limitParam, } = request.body;
|
|
38
38
|
if (!connectionString) {
|
|
39
39
|
return sendError(reply, 400, new Error("Connection string is required"));
|
|
40
40
|
}
|
|
@@ -52,14 +52,11 @@ export async function tableDataRoutes(app) {
|
|
|
52
52
|
const quotedSchema = `"${schema.replace(/"/g, '""')}"`;
|
|
53
53
|
const quotedTable = `"${table.replace(/"/g, '""')}"`;
|
|
54
54
|
const sql = `SELECT * FROM ${quotedSchema}.${quotedTable} LIMIT $1`;
|
|
55
|
-
request.log.info({ schema, table, limit }, "Fetching table data");
|
|
56
55
|
const result = await pool.query(sql, [limit]);
|
|
57
56
|
const rows = result.rows;
|
|
58
|
-
request.log.info({ rowCount: rows.length }, "Table data fetched");
|
|
59
57
|
return sendSuccess(reply, rows);
|
|
60
58
|
}
|
|
61
59
|
catch (error) {
|
|
62
|
-
request.log.error(error, "Error fetching table data");
|
|
63
60
|
return sendError(reply, 500, error);
|
|
64
61
|
}
|
|
65
62
|
});
|
|
@@ -97,7 +94,10 @@ export async function tableDataRoutes(app) {
|
|
|
97
94
|
const rlsStatusResult = await pool.query(`SELECT relrowsecurity, relforcerowsecurity
|
|
98
95
|
FROM pg_class
|
|
99
96
|
WHERE oid = $1::regclass`, [`${quotedSchema}.${quotedTable}`]);
|
|
100
|
-
const rlsStatus = rlsStatusResult.rows[0] ?? {
|
|
97
|
+
const rlsStatus = rlsStatusResult.rows[0] ?? {
|
|
98
|
+
relrowsecurity: false,
|
|
99
|
+
relforcerowsecurity: false,
|
|
100
|
+
};
|
|
101
101
|
// Get RLS policies
|
|
102
102
|
const policiesResult = await pool.query(`SELECT
|
|
103
103
|
policyname,
|
|
@@ -117,7 +117,6 @@ export async function tableDataRoutes(app) {
|
|
|
117
117
|
using: row.qual,
|
|
118
118
|
withCheck: row.with_check,
|
|
119
119
|
}));
|
|
120
|
-
request.log.info({ schema, table, policyCount: policies.length }, "Fetched RLS info");
|
|
121
120
|
return sendSuccess(reply, {
|
|
122
121
|
enabled: rlsStatus.relrowsecurity,
|
|
123
122
|
forced: rlsStatus.relforcerowsecurity,
|
|
@@ -125,7 +124,6 @@ export async function tableDataRoutes(app) {
|
|
|
125
124
|
});
|
|
126
125
|
}
|
|
127
126
|
catch (error) {
|
|
128
|
-
request.log.error(error, "Error fetching RLS info");
|
|
129
127
|
return sendError(reply, 500, error);
|
|
130
128
|
}
|
|
131
129
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tables.js","sourceRoot":"","sources":["../../routes/tables.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE5D,qEAAqE;AACrE,MAAM,eAAe,GAAG,0BAA0B,CAAC;AAEnD,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAC/B,MAAM,aAAa,GAAG,MAAM,CAAC;AAe7B,kGAAkG;AAClG,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACtB,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;IACjE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACrD,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QACxB,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAoB;IACxD,GAAG,CAAC,IAAI,CACN,kBAAkB,EAClB;QACE,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,CAAC,kBAAkB,EAAE,QAAQ,EAAE,OAAO,CAAC;gBACjD,UAAU,EAAE;oBACV,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACpC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;aACF;SACF;KACF,EACD,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACvB,MAAM,
|
|
1
|
+
{"version":3,"file":"tables.js","sourceRoot":"","sources":["../../routes/tables.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connections.service.d.ts","sourceRoot":"","sources":["../../services/connections.service.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,gBAAgB,EAAE,CAAC;CACjC;AAsCD;;;GAGG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAgBlE;AAUD;;GAEG;AACH,wBAAsB,cAAc,CAClC,gBAAgB,EAAE,MAAM,EACxB,OAAO,GAAE,OAAe,EACxB,YAAY,CAAC,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"connections.service.d.ts","sourceRoot":"","sources":["../../services/connections.service.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,gBAAgB,EAAE,CAAC;CACjC;AAsCD;;;GAGG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAgBlE;AAUD;;GAEG;AACH,wBAAsB,cAAc,CAClC,gBAAgB,EAAE,MAAM,EACxB,OAAO,GAAE,OAAe,EACxB,YAAY,CAAC,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,gBAAgB,CAAC,CAqC3B;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CASvE;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,gBAAgB,EAAE,MAAM,EACxB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAalC"}
|
|
@@ -70,10 +70,11 @@ export async function saveConnection(connectionString, success = false, database
|
|
|
70
70
|
// Check if connection string already exists
|
|
71
71
|
const existingIndex = config.connections.findIndex((conn) => conn.connectionString === connectionString);
|
|
72
72
|
const existing = existingIndex >= 0 ? config.connections[existingIndex] : null;
|
|
73
|
+
const resolvedName = name?.trim() || existing?.name?.trim() || "Unnamed";
|
|
73
74
|
const connectionConfig = {
|
|
74
75
|
id: existing?.id ?? crypto.randomUUID(),
|
|
75
76
|
connectionString,
|
|
76
|
-
name:
|
|
77
|
+
name: resolvedName,
|
|
77
78
|
timestamp: existing?.timestamp ?? Date.now(),
|
|
78
79
|
lastUsed: Date.now(),
|
|
79
80
|
success,
|
|
@@ -84,7 +85,7 @@ export async function saveConnection(connectionString, success = false, database
|
|
|
84
85
|
...existing,
|
|
85
86
|
...connectionConfig,
|
|
86
87
|
id: existing.id,
|
|
87
|
-
name:
|
|
88
|
+
name: resolvedName,
|
|
88
89
|
};
|
|
89
90
|
}
|
|
90
91
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connections.service.js","sourceRoot":"","sources":["../../services/connections.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAgB5B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,kBAAkB,CAAC,CAAC;AAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;AAE9D;;GAEG;AACH,KAAK,UAAU,eAAe;IAC5B,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,gCAAgC;IAClC,CAAC;AACH,CAAC;AAED,oFAAoF;AACpF,SAAS,4BAA4B,CAAC,gBAAwB;IAC5D,OAAO,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC5G,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAC1B,WAAkE;IAElE,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC9B,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,OAAO,IAAwB,CAAC;QAClC,CAAC;QACD,OAAO;YACL,GAAG,IAAI;YACP,EAAE,EAAE,4BAA4B,CAAC,IAAI,CAAC,gBAAgB,CAAC;SACpC,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,IAAI,CAAC;QACH,MAAM,eAAe,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAgE,CAAC;QAC/F,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;QACrC,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,qBAAqB,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,EAAE,WAAW,EAAE,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,wDAAwD;QACxD,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;IAC7B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,qBAAqB,CAAC,MAAyB;IAC5D,MAAM,eAAe,EAAE,CAAC;IACxB,MAAM,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAC5E,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,gBAAwB,EACxB,UAAmB,KAAK,EACxB,YAAqB,EACrB,IAAa;IAEb,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;IAEvC,4CAA4C;IAC5C,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAChD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,KAAK,gBAAgB,CACrD,CAAC;IAEF,MAAM,QAAQ,GAAG,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/E,MAAM,gBAAgB,GAAqB;QACzC,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,MAAM,CAAC,UAAU,EAAE;QACvC,gBAAgB;QAChB,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"connections.service.js","sourceRoot":"","sources":["../../services/connections.service.ts"],"names":[],"mappings":"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"}
|