feat(api,web): auth et first-run — bootstrap admin, login, session, gardes
- api: auth controller/service, config env - web: App/LoginPage/ProfilePage, garde d'auth, client API, styles - shared: types/contrats auth - compose: variables d'environnement first-run Refs: #14
This commit is contained in:
@ -11,8 +11,14 @@ export type AppConfig = {
|
||||
cookieName: string;
|
||||
cookieSecure: boolean;
|
||||
openLibraryEnabled: boolean;
|
||||
initialAdminEmail: string;
|
||||
initialAdminPassword: string;
|
||||
initialAdminPasswordIsDefault: boolean;
|
||||
};
|
||||
|
||||
const DEFAULT_INITIAL_ADMIN_EMAIL = "admin@readabook.local";
|
||||
const DEFAULT_INITIAL_ADMIN_PASSWORD = "readabook-admin-change-me";
|
||||
|
||||
export function loadConfig(): AppConfig {
|
||||
const databasePath = resolve(process.env.DATABASE_PATH ?? "./data/readabook.sqlite");
|
||||
const storageDir = resolve(process.env.STORAGE_DIR ?? "./data/storage");
|
||||
@ -29,6 +35,9 @@ export function loadConfig(): AppConfig {
|
||||
jwtSecret: process.env.JWT_SECRET ?? "dev-change-me-readabook",
|
||||
cookieName: process.env.AUTH_COOKIE_NAME ?? "readabook_session",
|
||||
cookieSecure: process.env.COOKIE_SECURE === "true",
|
||||
openLibraryEnabled: process.env.OPEN_LIBRARY_ENABLED !== "false"
|
||||
openLibraryEnabled: process.env.OPEN_LIBRARY_ENABLED !== "false",
|
||||
initialAdminEmail: process.env.INITIAL_ADMIN_EMAIL ?? DEFAULT_INITIAL_ADMIN_EMAIL,
|
||||
initialAdminPassword: process.env.INITIAL_ADMIN_PASSWORD ?? DEFAULT_INITIAL_ADMIN_PASSWORD,
|
||||
initialAdminPasswordIsDefault: !process.env.INITIAL_ADMIN_PASSWORD
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user