diff --git a/server/auth/sessions/olm.ts b/server/auth/sessions/olm.ts index 263489ca..89a0e81e 100644 --- a/server/auth/sessions/olm.ts +++ b/server/auth/sessions/olm.ts @@ -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; diff --git a/server/db/pg/migrate.ts b/server/db/pg/migrate.ts index b9463dd4..70b2ef54 100644 --- a/server/db/pg/migrate.ts +++ b/server/db/pg/migrate.ts @@ -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"); diff --git a/server/db/sqlite/migrate.ts b/server/db/sqlite/migrate.ts index 20b9043f..e4a730d0 100644 --- a/server/db/sqlite/migrate.ts +++ b/server/db/sqlite/migrate.ts @@ -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"); diff --git a/server/lib/ip.ts b/server/lib/ip.ts index 6ad235a7..f30243cd 100644 --- a/server/lib/ip.ts +++ b/server/lib/ip.ts @@ -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"; diff --git a/server/lib/readConfigFile.ts b/server/lib/readConfigFile.ts index ded3d832..5071edc8 100644 --- a/server/lib/readConfigFile.ts +++ b/server/lib/readConfigFile.ts @@ -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) diff --git a/server/middlewares/verifyClientAccess.ts b/server/middlewares/verifyClientAccess.ts index e5c566d1..df45b541 100644 --- a/server/middlewares/verifyClientAccess.ts +++ b/server/middlewares/verifyClientAccess.ts @@ -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"; diff --git a/server/routers/client/createClient.ts b/server/routers/client/createClient.ts index 1dffcd8f..5c529757 100644 --- a/server/routers/client/createClient.ts +++ b/server/routers/client/createClient.ts @@ -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"; diff --git a/server/routers/client/deleteClient.ts b/server/routers/client/deleteClient.ts index 21185d26..a7512574 100644 --- a/server/routers/client/deleteClient.ts +++ b/server/routers/client/deleteClient.ts @@ -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"; diff --git a/server/routers/client/getClient.ts b/server/routers/client/getClient.ts index 9a1475bc..46f31b8c 100644 --- a/server/routers/client/getClient.ts +++ b/server/routers/client/getClient.ts @@ -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"; diff --git a/server/routers/client/listClients.ts b/server/routers/client/listClients.ts index 6a0610ac..34099b96 100644 --- a/server/routers/client/listClients.ts +++ b/server/routers/client/listClients.ts @@ -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"; diff --git a/server/routers/client/updateClient.ts b/server/routers/client/updateClient.ts index f1d827c4..87bb3c47 100644 --- a/server/routers/client/updateClient.ts +++ b/server/routers/client/updateClient.ts @@ -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"; diff --git a/server/routers/gerbil/getAllRelays.ts b/server/routers/gerbil/getAllRelays.ts index ffffe424..abe4d593 100644 --- a/server/routers/gerbil/getAllRelays.ts +++ b/server/routers/gerbil/getAllRelays.ts @@ -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"; diff --git a/server/routers/gerbil/getConfig.ts b/server/routers/gerbil/getConfig.ts index de3da171..60340ede 100644 --- a/server/routers/gerbil/getConfig.ts +++ b/server/routers/gerbil/getConfig.ts @@ -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(); diff --git a/server/routers/gerbil/updateHolePunch.ts b/server/routers/gerbil/updateHolePunch.ts index 62a1b837..c48f7551 100644 --- a/server/routers/gerbil/updateHolePunch.ts +++ b/server/routers/gerbil/updateHolePunch.ts @@ -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"; diff --git a/server/routers/newt/handleGetConfigMessage.ts b/server/routers/newt/handleGetConfigMessage.ts index 9fbd5314..8d79d4fd 100644 --- a/server/routers/newt/handleGetConfigMessage.ts +++ b/server/routers/newt/handleGetConfigMessage.ts @@ -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"; diff --git a/server/routers/newt/handleReceiveBandwidthMessage.ts b/server/routers/newt/handleReceiveBandwidthMessage.ts index 92de1350..89b24f78 100644 --- a/server/routers/newt/handleReceiveBandwidthMessage.ts +++ b/server/routers/newt/handleReceiveBandwidthMessage.ts @@ -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"; diff --git a/server/routers/newt/peers.ts b/server/routers/newt/peers.ts index d81fabfa..ff57e6fd 100644 --- a/server/routers/newt/peers.ts +++ b/server/routers/newt/peers.ts @@ -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"; diff --git a/server/routers/olm/createOlm.ts b/server/routers/olm/createOlm.ts index 25f4bb31..03864703 100644 --- a/server/routers/olm/createOlm.ts +++ b/server/routers/olm/createOlm.ts @@ -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"; diff --git a/server/routers/olm/getOlmToken.ts b/server/routers/olm/getOlmToken.ts index 97274189..c26f5936 100644 --- a/server/routers/olm/getOlmToken.ts +++ b/server/routers/olm/getOlmToken.ts @@ -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"; diff --git a/server/routers/olm/handleOlmPingMessage.ts b/server/routers/olm/handleOlmPingMessage.ts index 3040e04b..e06f810c 100644 --- a/server/routers/olm/handleOlmPingMessage.ts +++ b/server/routers/olm/handleOlmPingMessage.ts @@ -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"; diff --git a/server/routers/olm/handleOlmRegisterMessage.ts b/server/routers/olm/handleOlmRegisterMessage.ts index f541378f..9f626a7b 100644 --- a/server/routers/olm/handleOlmRegisterMessage.ts +++ b/server/routers/olm/handleOlmRegisterMessage.ts @@ -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"; diff --git a/server/routers/olm/handleOlmRelayMessage.ts b/server/routers/olm/handleOlmRelayMessage.ts index 85c987ee..83a97a41 100644 --- a/server/routers/olm/handleOlmRelayMessage.ts +++ b/server/routers/olm/handleOlmRelayMessage.ts @@ -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"; diff --git a/server/routers/olm/peers.ts b/server/routers/olm/peers.ts index 9d42a29e..48a915aa 100644 --- a/server/routers/olm/peers.ts +++ b/server/routers/olm/peers.ts @@ -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"; diff --git a/server/setup/copyInConfig.ts b/server/setup/copyInConfig.ts index 6ab8d446..e375211c 100644 --- a/server/setup/copyInConfig.ts +++ b/server/setup/copyInConfig.ts @@ -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)); }