fix: correct env var priority for authDisableSignUp

- Env var now properly overrides file config in both directions
- Follows established pattern for boolean config flags
- Removed redundant ?? false (field is typed boolean)
- PAPERCLIP_AUTH_DISABLE_SIGN_UP can now set to 'false' to
  override file config's 'true'
This commit is contained in:
Jason
2026-03-08 10:18:27 +08:00
parent 3860812323
commit 91fda5d04f
2 changed files with 5 additions and 3 deletions

View File

@@ -86,7 +86,7 @@ export function createBetterAuthInstance(db: Db, config: Config, trustedOrigins?
emailAndPassword: { emailAndPassword: {
enabled: true, enabled: true,
requireEmailVerification: false, requireEmailVerification: false,
disableSignUp: config.authDisableSignUp ?? false, disableSignUp: config.authDisableSignUp,
}, },
}; };

View File

@@ -143,9 +143,11 @@ export function loadConfig(): Config {
authBaseUrlModeFromEnv ?? authBaseUrlModeFromEnv ??
fileConfig?.auth?.baseUrlMode ?? fileConfig?.auth?.baseUrlMode ??
(authPublicBaseUrl ? "explicit" : "auto"); (authPublicBaseUrl ? "explicit" : "auto");
const disableSignUpFromEnv = process.env.PAPERCLIP_AUTH_DISABLE_SIGN_UP;
const authDisableSignUp: boolean = const authDisableSignUp: boolean =
process.env.PAPERCLIP_AUTH_DISABLE_SIGN_UP === "true" || disableSignUpFromEnv !== undefined
fileConfig?.auth?.disableSignUp === true; ? disableSignUpFromEnv === "true"
: (fileConfig?.auth?.disableSignUp ?? false);
const allowedHostnamesFromEnvRaw = process.env.PAPERCLIP_ALLOWED_HOSTNAMES; const allowedHostnamesFromEnvRaw = process.env.PAPERCLIP_ALLOWED_HOSTNAMES;
const allowedHostnamesFromEnv = allowedHostnamesFromEnvRaw const allowedHostnamesFromEnv = allowedHostnamesFromEnvRaw
? allowedHostnamesFromEnvRaw ? allowedHostnamesFromEnvRaw