feat(defects): read API — feed, per-section counts and history (T6)
GET /api/defects returns a newest-first feed joined to the project name,
bounded by limit; ?section=ID narrows to one section's history. GET
/api/defects/counts returns { sectionId: n } for the weak-point map. Adds a
(section_id, created_at) index and a db:seed script; ~2k rows query in ~20ms.
This commit is contained in:
12
server/api/defects.get.ts
Normal file
12
server/api/defects.get.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
import { getDb } from '../db/client'
|
||||
import { listDefects } from '../db/repositories/defects'
|
||||
|
||||
// Defect feed (F6), newest-first. `?section=ID` narrows to one section's
|
||||
// history (the lazy modal load); `?limit=N` bounds the slice.
|
||||
export default defineEventHandler(async (event) => {
|
||||
const { section, limit } = getQuery(event)
|
||||
return listDefects(getDb(), {
|
||||
sectionId: typeof section === 'string' ? section : undefined,
|
||||
limit: typeof limit === 'string' ? Number(limit) || undefined : undefined,
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user