add exit node name and fix db import issues

This commit is contained in:
miloschwartz 2025-06-15 17:49:27 -04:00
parent d46b9eaf87
commit b39708700d
No known key found for this signature in database
24 changed files with 39 additions and 38 deletions

View file

@ -2,8 +2,8 @@ import {
encodeHexLowerCase,
} from "@oslojs/encoding";
import { sha256 } from "@oslojs/crypto/sha2";
import { Olm, olms, olmSessions, OlmSession } from "@server/db/schemas";
import db from "@server/db";
import { Olm, olms, olmSessions, OlmSession } from "@server/db";
import { db } from "@server/db";
import { eq } from "drizzle-orm";
export const EXPIRES = 1000 * 60 * 60 * 24 * 30;

View file

@ -1,5 +1,5 @@
import { migrate } from "drizzle-orm/node-postgres/migrator";
import db from "./driver";
import { db } from "./driver";
import path from "path";
const migrationsFolder = path.join("server/migrations");

View file

@ -1,5 +1,5 @@
import { migrate } from "drizzle-orm/better-sqlite3/migrator";
import db from "./driver";
import { db } from "./driver";
import path from "path";
const migrationsFolder = path.join("server/migrations");

View file

@ -1,5 +1,5 @@
import db from "@server/db";
import { clients, orgs, sites } from "@server/db/schemas";
import { db } from "@server/db";
import { clients, orgs, sites } from "@server/db";
import { and, eq, isNotNull } from "drizzle-orm";
import config from "@server/lib/config";

View file

@ -161,6 +161,7 @@ export const configSchema = z
.default({}),
gerbil: z
.object({
exit_node_name: z.string().optional().default("default"),
start_port: portSchema
.optional()
.default(51820)

View file

@ -1,6 +1,6 @@
import { Request, Response, NextFunction } from "express";
import { db } from "@server/db";
import { userOrgs, clients, roleClients, userClients } from "@server/db/schemas";
import { userOrgs, clients, roleClients, userClients } from "@server/db";
import { and, eq } from "drizzle-orm";
import createHttpError from "http-errors";
import HttpCode from "@server/types/HttpCode";

View file

@ -12,7 +12,7 @@ import {
exitNodes,
orgs,
sites
} from "@server/db/schemas";
} from "@server/db";
import response from "@server/lib/response";
import HttpCode from "@server/types/HttpCode";
import createHttpError from "http-errors";

View file

@ -1,7 +1,7 @@
import { Request, Response, NextFunction } from "express";
import { z } from "zod";
import { db } from "@server/db";
import { clients, clientSites } from "@server/db/schemas";
import { clients, clientSites } from "@server/db";
import { eq } from "drizzle-orm";
import response from "@server/lib/response";
import HttpCode from "@server/types/HttpCode";

View file

@ -1,7 +1,7 @@
import { Request, Response, NextFunction } from "express";
import { z } from "zod";
import { db } from "@server/db";
import { clients, clientSites } from "@server/db/schemas";
import { clients, clientSites } from "@server/db";
import { eq, and } from "drizzle-orm";
import response from "@server/lib/response";
import HttpCode from "@server/types/HttpCode";

View file

@ -6,7 +6,7 @@ import {
sites,
userClients,
clientSites
} from "@server/db/schemas";
} from "@server/db";
import logger from "@server/logger";
import HttpCode from "@server/types/HttpCode";
import response from "@server/lib/response";

View file

@ -1,7 +1,7 @@
import { Request, Response, NextFunction } from "express";
import { z } from "zod";
import { db } from "@server/db";
import { clients, clientSites } from "@server/db/schemas";
import { clients, clientSites } from "@server/db";
import response from "@server/lib/response";
import HttpCode from "@server/types/HttpCode";
import createHttpError from "http-errors";

View file

@ -1,6 +1,6 @@
import { Request, Response, NextFunction } from "express";
import { z } from "zod";
import { clients, exitNodes, newts, olms, Site, sites, clientSites } from "@server/db/schemas";
import { clients, exitNodes, newts, olms, Site, sites, clientSites } from "@server/db";
import { db } from "@server/db";
import { eq } from "drizzle-orm";
import HttpCode from "@server/types/HttpCode";

View file

@ -53,7 +53,7 @@ export async function getConfig(
}
// Fetch exit node
let exitNodeQuery = await db
const exitNodeQuery = await db
.select()
.from(exitNodes)
.where(eq(exitNodes.publicKey, publicKey));
@ -77,7 +77,7 @@ export async function getConfig(
address,
listenPort,
reachableAt,
name: `Exit Node ${publicKey.slice(0, 8)}`
name: config.getRawConfig().gerbil.exit_node_name // defaults to "default"
})
.returning()
.execute();

View file

@ -1,6 +1,6 @@
import { Request, Response, NextFunction } from "express";
import { z } from "zod";
import { clients, newts, olms, Site, sites, clientSites } from "@server/db/schemas";
import { clients, newts, olms, Site, sites, clientSites } from "@server/db";
import { db } from "@server/db";
import { eq } from "drizzle-orm";
import HttpCode from "@server/types/HttpCode";

View file

@ -2,8 +2,8 @@ import { z } from "zod";
import { MessageHandler } from "../ws";
import logger from "@server/logger";
import { fromError } from "zod-validation-error";
import db from "@server/db";
import { clients, clientSites, Newt, sites } from "@server/db/schemas";
import { db } from "@server/db";
import { clients, clientSites, Newt, sites } from "@server/db";
import { eq } from "drizzle-orm";
import { updatePeer } from "../olm/peers";

View file

@ -1,6 +1,6 @@
import db from "@server/db";
import { db } from "@server/db";
import { MessageHandler } from "../ws";
import { clients, Newt } from "@server/db/schemas";
import { clients, Newt } from "@server/db";
import { eq } from "drizzle-orm";
import logger from "@server/logger";

View file

@ -1,5 +1,5 @@
import db from "@server/db";
import { newts, sites } from "@server/db/schemas";
import { db } from "@server/db";
import { newts, sites } from "@server/db";
import { eq } from "drizzle-orm";
import { sendToClient } from "../ws";
import logger from "@server/logger";

View file

@ -1,9 +1,9 @@
import { NextFunction, Request, Response } from "express";
import db from "@server/db";
import { db } from "@server/db";
import { hash } from "@node-rs/argon2";
import HttpCode from "@server/types/HttpCode";
import { z } from "zod";
import { newts } from "@server/db/schemas";
import { newts } from "@server/db";
import createHttpError from "http-errors";
import response from "@server/lib/response";
import { SqliteError } from "better-sqlite3";

View file

@ -1,6 +1,6 @@
import { generateSessionToken } from "@server/auth/sessions/app";
import db from "@server/db";
import { olms } from "@server/db/schemas";
import { db } from "@server/db";
import { olms } from "@server/db";
import HttpCode from "@server/types/HttpCode";
import response from "@server/lib/response";
import { eq } from "drizzle-orm";

View file

@ -1,6 +1,6 @@
import db from "@server/db";
import { db } from "@server/db";
import { MessageHandler } from "../ws";
import { clients, Olm } from "@server/db/schemas";
import { clients, Olm } from "@server/db";
import { eq, lt, isNull } from "drizzle-orm";
import logger from "@server/logger";

View file

@ -1,4 +1,4 @@
import db from "@server/db";
import { db } from "@server/db";
import { MessageHandler } from "../ws";
import {
clients,
@ -7,7 +7,7 @@ import {
Olm,
olms,
sites
} from "@server/db/schemas";
} from "@server/db";
import { eq, inArray } from "drizzle-orm";
import { addPeer, deletePeer } from "../newt/peers";
import logger from "@server/logger";

View file

@ -1,6 +1,6 @@
import db from "@server/db";
import { db } from "@server/db";
import { MessageHandler } from "../ws";
import { clients, clientSites, Olm } from "@server/db/schemas";
import { clients, clientSites, Olm } from "@server/db";
import { eq } from "drizzle-orm";
import { updatePeer } from "../newt/peers";
import logger from "@server/logger";

View file

@ -1,5 +1,5 @@
import db from "@server/db";
import { clients, olms, newts, sites } from "@server/db/schemas";
import { db } from "@server/db";
import { clients, olms, newts, sites } from "@server/db";
import { eq } from "drizzle-orm";
import { sendToClient } from "../ws";
import logger from "@server/logger";

View file

@ -105,14 +105,14 @@ export async function copyInConfig() {
}
});
// TODO: eventually each exit node could have a different endpoint
const exitNodeName = config.getRawConfig().gerbil.exit_node_name;
await db
.update(exitNodes)
.set({ endpoint })
.where(ne(exitNodes.endpoint, endpoint));
// TODO: eventually each exit node could have a different port
.where(eq(exitNodes.name, exitNodeName));
await db
.update(exitNodes)
.set({ listenPort })
.where(ne(exitNodes.listenPort, listenPort));
.where(eq(exitNodes.name, exitNodeName));
}