Support overriding badger for testing

This commit is contained in:
Owen
2026-03-28 21:23:59 -07:00
parent 00ef6d617f
commit 757bb39622
4 changed files with 13 additions and 9 deletions

View File

@@ -79,6 +79,7 @@ export const configSchema = z
.default(3001) .default(3001)
.transform(stoi) .transform(stoi)
.pipe(portSchema), .pipe(portSchema),
badger_override: z.string().optional(),
next_port: portSchema next_port: portSchema
.optional() .optional()
.default(3002) .default(3002)

View File

@@ -833,6 +833,8 @@ hybridRouter.get(
) )
); );
logger.debug(`User ${userId} has roles in org ${orgId}:`, userOrgRoleRows);
return response<{ roleId: number, roleName: string }[]>(res, { return response<{ roleId: number, roleName: string }[]>(res, {
data: userOrgRoleRows, data: userOrgRoleRows,
success: true, success: true,

View File

@@ -3,7 +3,6 @@ import { verifyResourceAccessToken } from "@server/auth/verifyResourceAccessToke
import { import {
getResourceByDomain, getResourceByDomain,
getResourceRules, getResourceRules,
getRoleName,
getRoleResourceAccess, getRoleResourceAccess,
getUserResourceAccess, getUserResourceAccess,
getOrgLoginPage, getOrgLoginPage,
@@ -31,7 +30,6 @@ import { z } from "zod";
import { fromError } from "zod-validation-error"; import { fromError } from "zod-validation-error";
import { getCountryCodeForIp } from "@server/lib/geoip"; import { getCountryCodeForIp } from "@server/lib/geoip";
import { getAsnForIp } from "@server/lib/asn"; import { getAsnForIp } from "@server/lib/asn";
import { getOrgTierData } from "#dynamic/lib/billing";
import { verifyPassword } from "@server/auth/password"; import { verifyPassword } from "@server/auth/password";
import { import {
checkOrgAccessPolicy, checkOrgAccessPolicy,

View File

@@ -30,12 +30,15 @@ export async function traefikConfigProvider(
traefikConfig.http.middlewares[badgerMiddlewareName] = { traefikConfig.http.middlewares[badgerMiddlewareName] = {
plugin: { plugin: {
[badgerMiddlewareName]: { [badgerMiddlewareName]: {
apiBaseUrl: new URL( apiBaseUrl:
"/api/v1", config.getRawConfig().server.badger_override ||
`http://${ new URL(
config.getRawConfig().server.internal_hostname "/api/v1",
}:${config.getRawConfig().server.internal_port}` `http://${
).href, config.getRawConfig().server
.internal_hostname
}:${config.getRawConfig().server.internal_port}`
).href,
userSessionCookieName: userSessionCookieName:
config.getRawConfig().server.session_cookie_name, config.getRawConfig().server.session_cookie_name,
@@ -61,7 +64,7 @@ export async function traefikConfigProvider(
return res.status(HttpCode.OK).json(traefikConfig); return res.status(HttpCode.OK).json(traefikConfig);
} catch (e) { } catch (e) {
logger.error(`Failed to build Traefik config: ${e}`); logger.error(e);
return res.status(HttpCode.INTERNAL_SERVER_ERROR).json({ return res.status(HttpCode.INTERNAL_SERVER_ERROR).json({
error: "Failed to build Traefik config" error: "Failed to build Traefik config"
}); });