campaigns.ts asserted node:sqlite rows (Record<string, SQLOutputValue>) directly to CampaignRow/CampaignListItem (TS2352 — non-overlapping types). Added mapCampaignRow/mapCampaignListItem in db.ts that coerce each column (handling bigint-for-int and nullable text) and use them at all 6 sites, preserving the null/undefined handling. Real coercion instead of structural casts. Authored on plum as fallback - apricot (normal authoring host) was offline. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| backend-api | ||
| frontend-admin | ||