mirror of
https://github.com/djdevin/recflare.git
synced 2026-09-08 14:41:28 -07:00
remove hard coded routes
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
/**
|
||||
* Service-discovery map: service label → subdomain. The game client fetches the
|
||||
* generated `{ label: "https://<subdomain>.<domain>" }` document from `/`.
|
||||
*
|
||||
* The base domain is injected at deploy time via the `DOMAIN` var (see
|
||||
* `run-wrangler-deploy`), so the real domain never lives in a versioned file.
|
||||
*/
|
||||
const SERVICE_SUBDOMAINS = {
|
||||
Accounts: 'accounts',
|
||||
AI: 'ai',
|
||||
API: 'api',
|
||||
Auth: 'auth',
|
||||
BugReporting: 'bugreporting',
|
||||
Cards: 'cards',
|
||||
CDN: 'cdn',
|
||||
Chat: 'chat',
|
||||
Clubs: 'clubs',
|
||||
CMS: 'cms',
|
||||
Commerce: 'commerce',
|
||||
Data: 'data',
|
||||
DataCollection: 'datacollection',
|
||||
Discovery: 'discovery',
|
||||
Econ: 'econ',
|
||||
GameLogs: 'gamelogs',
|
||||
Geo: 'geo',
|
||||
Images: 'img',
|
||||
Leaderboard: 'leaderboard',
|
||||
Link: 'link',
|
||||
Lists: 'lists',
|
||||
Matchmaking: 'match',
|
||||
Moderation: 'api',
|
||||
Notifications: 'notify',
|
||||
PlatformNotifications: 'platformnotifications',
|
||||
PlayerSettings: 'playersettings',
|
||||
RoomComments: 'roomcomments',
|
||||
RoomieIntegrations: 'roomieintegrations',
|
||||
Rooms: 'rooms',
|
||||
Storage: 'storage',
|
||||
Strings: 'strings',
|
||||
StringsCDN: 'strings-cdn',
|
||||
Studio: 'studio',
|
||||
Thorn: 'thorn',
|
||||
Videos: 'videos',
|
||||
WWW: 'www',
|
||||
} as const
|
||||
|
||||
/** Builds the endpoints document for `domain`, e.g. `rec.example.com`. */
|
||||
export function buildEndpoints(domain: string): Record<string, string> {
|
||||
return Object.fromEntries(
|
||||
Object.entries(SERVICE_SUBDOMAINS).map(([label, sub]) => [label, `https://${sub}.${domain}`])
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user