Parse backend environment, expose more settings

This commit is contained in:
2025-03-28 21:53:03 +01:00
parent 9efe20f69f
commit 0c903e1087
3 changed files with 52 additions and 22 deletions

View File

@@ -2,10 +2,11 @@ import cors from "@elysiajs/cors";
import { staticPlugin } from "@elysiajs/static";
import { swagger } from "@elysiajs/swagger";
import { AttachmentId, PieceId, RepertoireId, RequestId, SessionId, Sha256_Bin, Sha256_Hex } from "common";
import { Effect, Option, pipe } from "effect";
import { Effect, Option, pipe, Redacted } from "effect";
import { Elysia, error, t } from "elysia";
import { sql } from "kysely";
import { CLIENT_ID, EXTERNAL_OAUTH_CONFIGURATION, getUser, INTERNAL_OAUTH_CONFIGURATION, makeAuthorizationUrl, REDIRECT_URI, revalidateTokens } from "./auth";
import { EXTERNAL_OAUTH_CONFIGURATION, getUser, INTERNAL_OAUTH_CONFIGURATION, makeAuthorizationUrl, REDIRECT_URI, revalidateTokens } from "./auth";
import { config } from "./config";
import * as Db from "./database";
import * as Model from "./model";
import { DbFromInstance } from "./services/db";
@@ -30,9 +31,9 @@ const app = new Elysia()
},
}))
.use(cors({ origin: process.env.NODE_ENV === "production" ? false : "localhost:5173" }))
.use(cors({ origin: config.NODE_ENV === "production" ? false : "localhost:5173" }))
.decorate("db", await Db.initDatabase(process.env.DB_PATH))
.decorate("db", await Db.initDatabase(config.DB_PATH))
.resolve(async ({ db, cookie }) => {
await db
@@ -201,12 +202,12 @@ const app = new Elysia()
"Content-Type": "application/x-www-form-urlencoded",
},
body: new URLSearchParams({
"client_id": CLIENT_ID,
"client_id": config.CLIENT_ID,
"code": code,
"redirect_uri": REDIRECT_URI,
"grant_type": "authorization_code",
"code_verifier": codeVerifier.value,
"client_secret": process.env.CLIENT_SECRET!,
"client_secret": Redacted.value(config.CLIENT_SECRET),
}).toString(),
});
@@ -229,7 +230,7 @@ const app = new Elysia()
.execute();
}
return redirect(process.env.NODE_ENV === "production" ? "https://music.renati.me/" : "http://localhost:5173/", 303) as unknown as void;
return redirect(config.NODE_ENV === "production" ? "https://music.renati.me/" : "http://localhost:5173/", 303) as unknown as void;
}, {
response: {
303: t.Void(),
@@ -859,5 +860,5 @@ const app = new Elysia()
// -------------------------------------------------------------------------
app.listen(process.env.PORT || 3000);
app.listen(config.PORT);
export type App = typeof app;