## Beskrivelse `listings` returnerer i dag alle rader. Med 10 010 annonser i databasen må klienten kunne hente én side om gangen, slik at katalogen kan kobles til API-et uten å laste hele tabellen. ## Akseptansekriterier - [ ] `listings` tar imot sidestørrelse og posisjon, for eksempel `limit` og `offset`, og returnerer annonsene på siden sammen med totalt antall treff. - [ ] Sidestørrelsen har en standardverdi og en øvre grense på serveren, for eksempel 24 og 100. For store eller negative verdier gir `BAD_USER_INPUT`. - [ ] Sorteringen er stabil: nyeste først etter `created_at`, med `id` som andre sorteringsnøkkel, slik at ingen annonser hoppes over eller vises to ganger mellom sidene. - [ ] `createdAt` er lagt til i `Listing`-typen i GraphQL-skjemaet. - [ ] Det finnes en indeks som passer til sorteringen, og en måling med `EXPLAIN ANALYZE` på 10 000 annonser er ført i `docs/datasett.md`. - [ ] API-tester dekker første side, siste side, side utenfor treffmengden, totalt antall og ugyldig sidestørrelse. - [ ] Endringen av `listings` er dokumentert i README under GraphQL. ## Avgrensning Søk, filtrering og valgfri sortering på serveren gjøres i egne oppgaver. Frontend endres ikke her. ## Avhengigheter #39 – `created_at` og det store datasettet.