fix: replace any casts with typed casts for Supabase join results

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AWxyMibCuGGtSQSqfajDQ7
This commit is contained in:
2026-07-11 07:52:53 +08:00
co-authored by Claude Sonnet 4.6
parent b281420810
commit ed14885253
4 changed files with 8 additions and 8 deletions
+1 -1
View File
@@ -26,7 +26,7 @@ export async function GET() {
const siteMap: Record<string, number> = {}
for (const r of rows) {
const name = (r.sites as any)?.name ?? 'Unknown'
const name = (r.sites as { name: string } | null)?.name ?? 'Unknown'
siteMap[name] = (siteMap[name] ?? 0) + 1
}
const by_site = Object.entries(siteMap).map(([name, count]) => ({ name, count }))
+3 -3
View File
@@ -1,6 +1,6 @@
import { NextResponse } from 'next/server'
import { createClient } from '@/lib/supabase/server'
import { validateIncidentInput } from '@/lib/incidents/validate'
import { validateIncidentInput, type IncidentType, type MedicalStatus } from '@/lib/incidents/validate'
import { uploadEvidenceFile, type EvidenceStage } from '@/lib/supabase/storage'
import { sendNewIncidentEmail } from '@/lib/notifications/email'
@@ -28,11 +28,11 @@ export async function POST(request: Request) {
const input = {
zone_token: body.zone_token as string,
incident_type: body.incident_type as any,
incident_type: body.incident_type as IncidentType,
description: body.description as string,
injury_involved: body.injury_involved === 'true' || body.injury_involved === true,
asset_involved: body.asset_involved === 'true' || body.asset_involved === true,
medical_status: body.medical_status as any || undefined,
medical_status: body.medical_status as MedicalStatus | undefined || undefined,
}
const validation = validateIncidentInput(input)
+2 -2
View File
@@ -32,13 +32,13 @@ export default async function ReportPage({ searchParams }: Props) {
<h1 className="text-2xl font-bold text-gray-900">Report an Incident</h1>
{zoneData ? (
<p className="text-sm text-gray-600 mt-1">
{(zoneData.sites as any)?.name ?? 'Unknown Site'} {zoneData.name}
{zoneData.sites.name} {zoneData.name}
</p>
) : (
<p className="text-sm text-amber-600 mt-1">No zone detected zone will not be recorded</p>
)}
</div>
<ReportForm zoneToken={zone ?? null} zoneName={zoneData?.name ?? null} siteName={(zoneData?.sites as any)?.name ?? null} />
<ReportForm zoneToken={zone ?? null} zoneName={zoneData?.name ?? null} siteName={zoneData?.sites.name ?? null} />
</main>
)
}