Files
TREK/server/scripts/query-api-baseline.json
Maurice 4a3c97e500 docs(server): name the query API per statement shape and hold QueryBuilder calls to a baseline
server/CLAUDE.md now says which API new repository code uses: Kysely for join, aggregate and set-based statements, the entity methods for single-table CRUD, no new QueryBuilder calls. The TrekRepository docstring no longer calls Kysely an escape hatch. lint:query-api counts this.qb()/createQueryBuilder() per repository file against a baseline that may only shrink and runs in the server CI job.

The same file documents the JSON column and timestamp rules from the two changes before.
2026-10-10 20:15:56 +02:00

50 lines
2.6 KiB
JSON

{
"counts": {
"src/db/repositories/_shared/packing-visibility.ts": 1,
"src/db/repositories/_shared/reservation-travelers-owns.ts": 1,
"src/db/repositories/AssignmentParticipants.repository.ts": 3,
"src/db/repositories/BudgetItems.repository.ts": 1,
"src/db/repositories/Categories.repository.ts": 1,
"src/db/repositories/CollabMessageReactions.repository.ts": 2,
"src/db/repositories/CollabPollVotes.repository.ts": 1,
"src/db/repositories/DawarichConnections.repository.ts": 4,
"src/db/repositories/DawarichVisitSuggestions.repository.ts": 4,
"src/db/repositories/DayAccommodations.repository.ts": 12,
"src/db/repositories/DayAssignments.repository.ts": 20,
"src/db/repositories/DayNotes.repository.ts": 6,
"src/db/repositories/Days.repository.ts": 7,
"src/db/repositories/InviteTokens.repository.ts": 3,
"src/db/repositories/JourneyBooks.repository.ts": 3,
"src/db/repositories/JourneyContributors.repository.ts": 3,
"src/db/repositories/JourneyEntries.repository.ts": 9,
"src/db/repositories/JourneyPhotos.repository.ts": 6,
"src/db/repositories/Journeys.repository.ts": 4,
"src/db/repositories/JourneyShareTokens.repository.ts": 4,
"src/db/repositories/JourneyTrips.repository.ts": 1,
"src/db/repositories/McpTokens.repository.ts": 5,
"src/db/repositories/OauthTokens.repository.ts": 3,
"src/db/repositories/PlaceRatings.repository.ts": 1,
"src/db/repositories/Places.repository.ts": 28,
"src/db/repositories/PlaceShadowPicks.repository.ts": 3,
"src/db/repositories/PushSubscriptions.repository.ts": 1,
"src/db/repositories/ReservationDayPositions.repository.ts": 1,
"src/db/repositories/ReservationEndpoints.repository.ts": 5,
"src/db/repositories/Reservations.repository.ts": 14,
"src/db/repositories/ReservationTravelers.repository.ts": 2,
"src/db/repositories/RoadtripDayBoundaries.repository.ts": 3,
"src/db/repositories/RoadtripDayTracks.repository.ts": 1,
"src/db/repositories/RoadtripPreferences.repository.ts": 1,
"src/db/repositories/RoadtripVias.repository.ts": 6,
"src/db/repositories/Tags.repository.ts": 3,
"src/db/repositories/TodoItems.repository.ts": 2,
"src/db/repositories/TripDocumentLinks.repository.ts": 5,
"src/db/repositories/TripInviteTokens.repository.ts": 4,
"src/db/repositories/TripMembers.repository.ts": 8,
"src/db/repositories/TripPhotos.repository.ts": 1,
"src/db/repositories/Trips.repository.ts": 14,
"src/db/repositories/Users.repository.ts": 1,
"src/db/repositories/VacayPlanMembers.repository.ts": 3,
"src/db/repositories/VacayShares.repository.ts": 2
}
}