@betterportal/tunnels 1.0.6 → 1.0.8
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/lib/.bsb/clients/service-tunnels-client.d.ts +1 -1
- package/lib/.bsb/clients/service-tunnels-client.js +1 -1
- package/lib/.bsb/clients/service-tunnels-proxy.d.ts +1 -1
- package/lib/.bsb/clients/service-tunnels-proxy.js +1 -1
- package/lib/plugins/service-tunnels-admin/.bp-generated/registry.d.ts.map +1 -1
- package/lib/plugins/service-tunnels-admin/.bp-generated/registry.js +37 -51
- package/lib/plugins/service-tunnels-admin/.bp-generated/registry.js.map +1 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/GET.d.ts +10 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/GET.d.ts.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/GET.js +41 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/GET.js.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/index.d.ts +0 -7
- package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/index.d.ts.map +1 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/index.js +0 -38
- package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/index.js.map +1 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/GET.d.ts +18 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/GET.d.ts.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/GET.js +30 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/GET.js.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/index.d.ts +0 -15
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/index.d.ts.map +1 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/index.js +0 -27
- package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/index.js.map +1 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/downloads/GET.d.ts +13 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/downloads/GET.d.ts.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/downloads/GET.js +24 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/downloads/GET.js.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/downloads/index.d.ts +0 -10
- package/lib/plugins/service-tunnels-admin/bp-routes/downloads/index.d.ts.map +1 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/downloads/index.js +0 -21
- package/lib/plugins/service-tunnels-admin/bp-routes/downloads/index.js.map +1 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/landing/GET.d.ts +18 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/landing/GET.d.ts.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/landing/GET.js +38 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/landing/GET.js.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/landing/index.d.ts +0 -15
- package/lib/plugins/service-tunnels-admin/bp-routes/landing/index.d.ts.map +1 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/landing/index.js +0 -35
- package/lib/plugins/service-tunnels-admin/bp-routes/landing/index.js.map +1 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/GET.d.ts +20 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/GET.d.ts.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/GET.js +29 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/GET.js.map +1 -0
- package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/index.d.ts +0 -17
- package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/index.d.ts.map +1 -1
- package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/index.js +0 -26
- package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/index.js.map +1 -1
- package/lib/plugins/service-tunnels-admin/index.js +2 -2
- package/lib/plugins/service-tunnels-admin/index.js.map +1 -1
- package/lib/plugins/service-tunnels-client/index.js +2 -2
- package/lib/plugins/service-tunnels-client/index.js.map +1 -1
- package/lib/plugins/service-tunnels-proxy/index.js +2 -2
- package/lib/plugins/service-tunnels-proxy/index.js.map +1 -1
- package/lib/prisma.d.ts +2 -0
- package/lib/prisma.d.ts.map +1 -1
- package/lib/prisma.js +115 -0
- package/lib/prisma.js.map +1 -1
- package/lib/schemas/service-tunnels-admin.json +1 -1
- package/lib/schemas/service-tunnels-admin.plugin.json +1 -1
- package/lib/schemas/service-tunnels-client.json +2 -2
- package/lib/schemas/service-tunnels-client.plugin.json +2 -2
- package/lib/schemas/service-tunnels-proxy.json +2 -2
- package/lib/schemas/service-tunnels-proxy.plugin.json +2 -2
- package/package.json +3 -3
package/lib/prisma.js
CHANGED
|
@@ -1,7 +1,20 @@
|
|
|
1
1
|
import { PrismaPg } from "@prisma/adapter-pg";
|
|
2
2
|
import { PrismaClient } from "./generated/prisma/index.js";
|
|
3
|
+
import { createHash, randomUUID } from "node:crypto";
|
|
4
|
+
import { existsSync } from "node:fs";
|
|
5
|
+
import { readdir, readFile } from "node:fs/promises";
|
|
6
|
+
import { dirname, join } from "node:path";
|
|
7
|
+
import { fileURLToPath } from "node:url";
|
|
8
|
+
import { Client } from "pg";
|
|
3
9
|
let prismaClient;
|
|
4
10
|
let configuredConnectionString;
|
|
11
|
+
let migrationConnectionString;
|
|
12
|
+
let migrationPromise;
|
|
13
|
+
const MIGRATION_LOCK_ID = 836466020763084328n;
|
|
14
|
+
export async function initializePrisma(connectionString, obs) {
|
|
15
|
+
await runPrismaMigrations(connectionString, obs);
|
|
16
|
+
return configurePrisma(connectionString);
|
|
17
|
+
}
|
|
5
18
|
export function configurePrisma(connectionString) {
|
|
6
19
|
if (!connectionString) {
|
|
7
20
|
throw new Error("Prisma connection string is required");
|
|
@@ -18,6 +31,108 @@ export function configurePrisma(connectionString) {
|
|
|
18
31
|
});
|
|
19
32
|
return prismaClient;
|
|
20
33
|
}
|
|
34
|
+
async function runPrismaMigrations(connectionString, obs) {
|
|
35
|
+
if (!connectionString) {
|
|
36
|
+
throw new Error("Prisma connection string is required");
|
|
37
|
+
}
|
|
38
|
+
if (migrationPromise) {
|
|
39
|
+
if (migrationConnectionString !== connectionString) {
|
|
40
|
+
throw new Error("Prisma migrations have already been configured with a different connection string");
|
|
41
|
+
}
|
|
42
|
+
return migrationPromise;
|
|
43
|
+
}
|
|
44
|
+
migrationConnectionString = connectionString;
|
|
45
|
+
migrationPromise = applyPrismaMigrations(connectionString, obs);
|
|
46
|
+
return migrationPromise;
|
|
47
|
+
}
|
|
48
|
+
async function applyPrismaMigrations(connectionString, obs) {
|
|
49
|
+
const migrationsDir = findMigrationsDir();
|
|
50
|
+
const migrationNames = (await readdir(migrationsDir, { withFileTypes: true }))
|
|
51
|
+
.filter((entry) => entry.isDirectory())
|
|
52
|
+
.map((entry) => entry.name)
|
|
53
|
+
.sort();
|
|
54
|
+
const client = new Client({ connectionString });
|
|
55
|
+
await client.connect();
|
|
56
|
+
try {
|
|
57
|
+
await client.query("SELECT pg_advisory_lock($1)", [MIGRATION_LOCK_ID.toString()]);
|
|
58
|
+
await ensurePrismaMigrationsTable(client);
|
|
59
|
+
const applied = await loadAppliedMigrations(client);
|
|
60
|
+
for (const migrationName of migrationNames) {
|
|
61
|
+
const sql = await readFile(join(migrationsDir, migrationName, "migration.sql"), "utf8");
|
|
62
|
+
const checksum = createHash("sha256").update(sql).digest("hex");
|
|
63
|
+
const existing = applied.get(migrationName);
|
|
64
|
+
if (existing) {
|
|
65
|
+
if (!existing.finishedAt && !existing.rolledBackAt) {
|
|
66
|
+
throw new Error(`Prisma migration ${migrationName} was started but not completed`);
|
|
67
|
+
}
|
|
68
|
+
if (existing.checksum !== checksum) {
|
|
69
|
+
throw new Error(`Prisma migration ${migrationName} checksum does not match the applied migration`);
|
|
70
|
+
}
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
obs?.log?.info?.("Applying Prisma migration {migration}", { migration: migrationName });
|
|
74
|
+
await client.query("BEGIN");
|
|
75
|
+
try {
|
|
76
|
+
const id = randomUUID();
|
|
77
|
+
await client.query(`INSERT INTO "_prisma_migrations"
|
|
78
|
+
(id, checksum, migration_name, started_at, applied_steps_count)
|
|
79
|
+
VALUES ($1, $2, $3, now(), 0)`, [id, checksum, migrationName]);
|
|
80
|
+
if (sql.trim()) {
|
|
81
|
+
await client.query(sql);
|
|
82
|
+
}
|
|
83
|
+
await client.query(`UPDATE "_prisma_migrations"
|
|
84
|
+
SET finished_at = now(), applied_steps_count = 1
|
|
85
|
+
WHERE migration_name = $1`, [migrationName]);
|
|
86
|
+
await client.query("COMMIT");
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
await client.query("ROLLBACK");
|
|
90
|
+
throw error;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
finally {
|
|
95
|
+
await client.query("SELECT pg_advisory_unlock($1)", [MIGRATION_LOCK_ID.toString()]).catch(() => undefined);
|
|
96
|
+
await client.end();
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
function findMigrationsDir() {
|
|
100
|
+
const start = dirname(fileURLToPath(import.meta.url));
|
|
101
|
+
const candidates = [
|
|
102
|
+
join(start, "..", "prisma", "migrations"),
|
|
103
|
+
join(start, "..", "..", "prisma", "migrations")
|
|
104
|
+
];
|
|
105
|
+
const migrationsDir = candidates.find((candidate) => existsSync(candidate));
|
|
106
|
+
if (!migrationsDir) {
|
|
107
|
+
throw new Error(`Prisma migrations directory was not found from ${start}`);
|
|
108
|
+
}
|
|
109
|
+
return migrationsDir;
|
|
110
|
+
}
|
|
111
|
+
async function ensurePrismaMigrationsTable(client) {
|
|
112
|
+
await client.query(`
|
|
113
|
+
CREATE TABLE IF NOT EXISTS "_prisma_migrations" (
|
|
114
|
+
id VARCHAR(36) PRIMARY KEY NOT NULL,
|
|
115
|
+
checksum VARCHAR(64) NOT NULL,
|
|
116
|
+
finished_at TIMESTAMPTZ,
|
|
117
|
+
migration_name VARCHAR(255) NOT NULL,
|
|
118
|
+
logs TEXT,
|
|
119
|
+
rolled_back_at TIMESTAMPTZ,
|
|
120
|
+
started_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
|
121
|
+
applied_steps_count INTEGER NOT NULL DEFAULT 0
|
|
122
|
+
)
|
|
123
|
+
`);
|
|
124
|
+
}
|
|
125
|
+
async function loadAppliedMigrations(client) {
|
|
126
|
+
const result = await client.query(`SELECT migration_name, checksum, finished_at, rolled_back_at FROM "_prisma_migrations"`);
|
|
127
|
+
return new Map(result.rows.map((row) => [
|
|
128
|
+
row.migration_name,
|
|
129
|
+
{
|
|
130
|
+
checksum: row.checksum,
|
|
131
|
+
finishedAt: row.finished_at,
|
|
132
|
+
rolledBackAt: row.rolled_back_at
|
|
133
|
+
}
|
|
134
|
+
]));
|
|
135
|
+
}
|
|
21
136
|
export function getPrisma() {
|
|
22
137
|
if (!prismaClient) {
|
|
23
138
|
throw new Error("Prisma is not configured. Configure it from BSB service config before use.");
|
package/lib/prisma.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prisma.js","sourceRoot":"","sources":["../src/prisma.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"prisma.js","sourceRoot":"","sources":["../src/prisma.ts"],"names":[],"mappings":"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"}
|
|
@@ -232,7 +232,7 @@
|
|
|
232
232
|
}
|
|
233
233
|
}
|
|
234
234
|
},
|
|
235
|
-
"version": "1.0.
|
|
235
|
+
"version": "1.0.8",
|
|
236
236
|
"configSchema": {
|
|
237
237
|
"anyvaliVersion": "1.0",
|
|
238
238
|
"schemaVersion": "1.1",
|
|
@@ -314,7 +314,7 @@
|
|
|
314
314
|
"dependencies": [
|
|
315
315
|
{
|
|
316
316
|
"id": "betterportal/service-tunnels-proxy.js",
|
|
317
|
-
"version": "1.0.
|
|
317
|
+
"version": "1.0.8"
|
|
318
318
|
}
|
|
319
319
|
]
|
|
320
320
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "service-tunnels-client",
|
|
3
3
|
"name": "service-tunnels-client",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.8",
|
|
5
5
|
"description": "Client websocket/API service",
|
|
6
6
|
"category": "service",
|
|
7
7
|
"tags": [
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"dependencies": [
|
|
14
14
|
{
|
|
15
15
|
"id": "betterportal/service-tunnels-proxy.js",
|
|
16
|
-
"version": "1.0.
|
|
16
|
+
"version": "1.0.8"
|
|
17
17
|
}
|
|
18
18
|
],
|
|
19
19
|
"license": "(AGPL-3.0-only OR Commercial)",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"outputSchema": null
|
|
47
47
|
}
|
|
48
48
|
},
|
|
49
|
-
"version": "1.0.
|
|
49
|
+
"version": "1.0.8",
|
|
50
50
|
"configSchema": {
|
|
51
51
|
"anyvaliVersion": "1.0",
|
|
52
52
|
"schemaVersion": "1.1",
|
|
@@ -154,7 +154,7 @@
|
|
|
154
154
|
"dependencies": [
|
|
155
155
|
{
|
|
156
156
|
"id": "betterportal/service-tunnels-client.js",
|
|
157
|
-
"version": "1.0.
|
|
157
|
+
"version": "1.0.8"
|
|
158
158
|
}
|
|
159
159
|
]
|
|
160
160
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "service-tunnels-proxy",
|
|
3
3
|
"name": "service-tunnels-proxy",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.8",
|
|
5
5
|
"description": "Front-facing H3 tunnel service",
|
|
6
6
|
"category": "service",
|
|
7
7
|
"tags": [
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"dependencies": [
|
|
14
14
|
{
|
|
15
15
|
"id": "betterportal/service-tunnels-client.js",
|
|
16
|
-
"version": "1.0.
|
|
16
|
+
"version": "1.0.8"
|
|
17
17
|
}
|
|
18
18
|
],
|
|
19
19
|
"license": "(AGPL-3.0-only OR Commercial)",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@betterportal/tunnels",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.8",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "(AGPL-3.0-only OR Commercial)",
|
|
6
6
|
"repository": {
|
|
@@ -37,8 +37,8 @@
|
|
|
37
37
|
"check": "npm run build && npm test"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@betterportal/framework": "^10.0.
|
|
41
|
-
"@betterportal/plugin-bsb": "^10.0.
|
|
40
|
+
"@betterportal/framework": "^10.0.29",
|
|
41
|
+
"@betterportal/plugin-bsb": "^10.0.29",
|
|
42
42
|
"@bsb/base": "^9.6.41",
|
|
43
43
|
"@bsb/config-vault": "^9.6.47",
|
|
44
44
|
"@prisma/adapter-pg": "^7.8.0",
|