Import the gerbil endpoint into the database

This commit is contained in:
Owen Schwartz 2025-01-02 20:42:04 -05:00
parent c857a9bd76
commit c1f0242386
No known key found for this signature in database
GPG key ID: 8271FDFFD9E0CCBD

View file

@ -1,5 +1,5 @@
import { db } from "@server/db"; import { db } from "@server/db";
import { orgs, resources } from "../db/schema"; import { exitNodes, orgs, resources } from "../db/schema";
import config from "@server/lib/config"; import config from "@server/lib/config";
import { eq, ne } from "drizzle-orm"; import { eq, ne } from "drizzle-orm";
import logger from "@server/logger"; import logger from "@server/logger";
@ -7,11 +7,15 @@ import logger from "@server/logger";
export async function copyInConfig() { export async function copyInConfig() {
// create a url from config.getRawConfig().app.base_url and get the hostname // create a url from config.getRawConfig().app.base_url and get the hostname
const domain = config.getBaseDomain(); const domain = config.getBaseDomain();
const endpoint = config.getRawConfig().gerbil.base_endpoint;
// update the domain on all of the orgs where the domain is not equal to the new domain // update the domain on all of the orgs where the domain is not equal to the new domain
// TODO: eventually each org could have a unique domain that we do not want to overwrite, so this will be unnecessary // TODO: eventually each org could have a unique domain that we do not want to overwrite, so this will be unnecessary
await db.update(orgs).set({ domain }).where(ne(orgs.domain, domain)); await db.update(orgs).set({ domain }).where(ne(orgs.domain, domain));
// TODO: eventually each exit node could have a different endpoint
await db.update(exitNodes).set({ endpoint }).where(ne(exitNodes.endpoint, endpoint));
// update all resources fullDomain to use the new domain // update all resources fullDomain to use the new domain
await db.transaction(async (trx) => { await db.transaction(async (trx) => {
const allResources = await trx.select().from(resources); const allResources = await trx.select().from(resources);