diff --git a/src/app/api/health-data-parser/visions/[id]/models/route.ts b/src/app/api/health-data-parser/visions/[id]/models/route.ts index bfc8a64..9c6aa20 100644 --- a/src/app/api/health-data-parser/visions/[id]/models/route.ts +++ b/src/app/api/health-data-parser/visions/[id]/models/route.ts @@ -15,8 +15,14 @@ export async function GET( const parser = visions.find(v => v.name === id) if (!parser) return NextResponse.json({error: 'Not found'}, {status: 404}) - const models = await parser.models({ - apiUrl: searchParams.get('apiUrl') || undefined, - }); + let models: VisionParserModel[] + try { + models = await parser.models({ + apiUrl: searchParams.get('apiUrl') || undefined, + }); + } catch (e) { + console.error(e) + models = [] + } return NextResponse.json({models}) } diff --git a/src/components/source/source-add-screen.tsx b/src/components/source/source-add-screen.tsx index 486a982..58354a2 100644 --- a/src/components/source/source-add-screen.tsx +++ b/src/components/source/source-add-screen.tsx @@ -1138,11 +1138,11 @@ export default function SourceAddScreen() { }, [visionDataList, visionParser]); useEffect(() => { - if (visionModelDataList?.models && visionParserModel === undefined) { + if (visionModelDataList?.models && visionModelDataList.models.length > 0 && visionParserModel === undefined) { const {name} = visionModelDataList.models[0]; setVisionParserModel({value: name, label: name}) } - }, [visionModelDataList, visionParserModel]); + }, [visionModelDataList, visionParser, visionParserModel]); useEffect(() => { if (documentDataList?.documents && documentParser === undefined) {