diff --git a/apps/backend/src/app/api/v1/integrations/neon/oauth/idp/[[...route]]/idp.ts b/apps/backend/src/app/api/v1/integrations/neon/oauth/idp/[[...route]]/idp.ts index 2e5818356..5e45ef045 100644 --- a/apps/backend/src/app/api/v1/integrations/neon/oauth/idp/[[...route]]/idp.ts +++ b/apps/backend/src/app/api/v1/integrations/neon/oauth/idp/[[...route]]/idp.ts @@ -48,9 +48,9 @@ function createAdapter(options: { } async upsert(id: string, payload: AdapterPayload, expiresInSeconds: number): Promise { - if (expiresInSeconds < 0) expiresInSeconds = 0; - if (expiresInSeconds > 60 * 60 * 24 * 365 * 100) expiresInSeconds = 60 * 60 * 24 * 365 * 100; - if (!Number.isFinite(expiresInSeconds)) expiresInSeconds = 0; + if (expiresInSeconds < 0) throw new StackAssertionError(`expiresInSeconds must be non-negative, got ${expiresInSeconds}`); + if (expiresInSeconds > 60 * 60 * 24 * 365 * 100) throw new StackAssertionError(`expiresInSeconds must be less than 100 years, got ${expiresInSeconds}`); + if (!Number.isFinite(expiresInSeconds)) throw new StackAssertionError(`expiresInSeconds must be a finite number, got ${expiresInSeconds}`); await niceUpdate(this.model, id, () => ({ payload, expiresAt: new Date(Date.now() + expiresInSeconds * 1000) })); }