/* Galvanic Corrosion - Rec Room custom server for communities. Copyright (C) 2025 @zombieb (Discord / proxnet Gitea) This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ import { APIUtils } from "../apiutils.ts"; import { Config } from "../config.ts"; const config = Config.getConfig() as Config.GalvanicConfiguration; const protocol = config.web.api.securepublichost ? "https" : "http"; export const route = APIUtils.createRouter("/ns"); type NameserverHosts = { Accounts: string; Auth: string; API: string; WWW: string; Notifications: string; Images: string; CDN: string; Commerce: string; Matchmaking: string; Storage: string; Chat: string; Leaderboard: string; }; const nameserver: NameserverHosts = { Accounts: `${protocol}://${config.web.api.publichost}/accounts`, Auth: `${protocol}://${config.web.api.publichost}/auth`, API: `${protocol}://${config.web.api.publichost}`, WWW: `${protocol}://${config.web.api.publichost}`, Notifications: `${protocol}://${config.web.api.publichost}/notify`, Images: `${protocol}://${config.web.api.publichost}/img`, CDN: `${protocol}://${config.web.api.publichost}/cdn`, Commerce: `${protocol}://${config.web.api.publichost}/commerce`, Matchmaking: `${protocol}://${config.web.api.publichost}/match`, Storage: `${protocol}://${config.web.api.publichost}/storage`, Chat: `${protocol}://${config.web.api.publichost}/chat`, Leaderboard: `${protocol}://${config.web.api.publichost}/leaderboard`, }; route.router.get("*", (_rq, rs) => { rs.json(nameserver); });