diff --git a/backend/scripts/import-core.ts b/backend/scripts/import-core.ts index 8d9bff5..c84fccd 100644 --- a/backend/scripts/import-core.ts +++ b/backend/scripts/import-core.ts @@ -36,6 +36,7 @@ export interface TitleRow { /** IMDb skriver `\N` for manglende verdi. */ const NULL = '\\N'; +/** Maks 9 sifre holder verdien innenfor Postgres' integer, så importen ikke feiler på søppeldata. */ function optionalInt(value: string | undefined): number | null { if (value === undefined || value === NULL || !/^\d{1,9}$/.test(value)) return null; return Number(value); diff --git a/backend/src/config.ts b/backend/src/config.ts index d81ea22..d884781 100644 --- a/backend/src/config.ts +++ b/backend/src/config.ts @@ -24,6 +24,7 @@ export const repoRoot = findRepoRoot(); // Miljøvariabler som allerede er satt (f.eks. i CI) vinner over .env. dotenv.config({ path: path.join(repoRoot, '.env'), quiet: true }); +// Ugyldig eller manglende verdi i .env gir standardverdien i stedet for NaN. function int(value: string | undefined, fallback: number): number { const n = Number.parseInt(value ?? '', 10); return Number.isFinite(n) ? n : fallback; diff --git a/backend/src/db.ts b/backend/src/db.ts index 703fed0..b14da31 100644 --- a/backend/src/db.ts +++ b/backend/src/db.ts @@ -11,6 +11,7 @@ export function createPool( ): pg.Pool { const pool = new pg.Pool({ connectionString, + // Godt under Postgres' standardgrense på 100 tilkoblinger, så import og psql får plass samtidig. max: 10, // Uten tidsgrense henger en tilkobling mot en database bak brannmur til OS gir opp, og // /health og spørringer fyller poolen mens de venter. diff --git a/backend/src/errors.ts b/backend/src/errors.ts index b7d5e0f..5974197 100644 --- a/backend/src/errors.ts +++ b/backend/src/errors.ts @@ -2,6 +2,7 @@ import { GraphQLError } from 'graphql'; type ErrorCode = 'BAD_USER_INPUT' | 'NOT_FOUND' | 'UNAUTHENTICATED' | 'RATE_LIMITED'; +// Koden i extensions lar frontend skille feiltyper uten å tolke meldingsteksten. function make(code: ErrorCode) { return (message: string) => new GraphQLError(message, { extensions: { code } }); }