From ed8b64e9213978486275d3241d57546808b0f8e0 Mon Sep 17 00:00:00 2001 From: sax3l Date: Mon, 2 Nov 2026 15:04:33 +0100 Subject: [PATCH] fix(portal): explicit, server-listed data class for document structuring Never assume 'low'; the UI offers only the server-approved data classes and the route refuses external models for high/restricted data. --- app/portal/dokument/page.tsx | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/app/portal/dokument/page.tsx b/app/portal/dokument/page.tsx index 8ca20d2..7b2bd44 100644 --- a/app/portal/dokument/page.tsx +++ b/app/portal/dokument/page.tsx @@ -79,6 +79,7 @@ export default function DocumentsPage() { const [models, setModels] = useState(null); const [modelsError, setModelsError] = useState(null); const [modelId, setModelId] = useState(''); + const [dataClass, setDataClass] = useState('low'); const [format, setFormat] = useState<'json' | 'csv'>('json'); const [structuring, setStructuring] = useState(false); const [result, setResult] = useState(null); @@ -96,6 +97,9 @@ export default function DocumentsPage() { } setModels(body); setModelId((current) => current || body.models[0] || ''); + setDataClass((current) => + body.data_classes.includes(current) ? current : (body.data_classes[0] ?? 'low'), + ); }) .catch(() => setModelsError('Kunde inte läsa modellpolicyn')); }, []); @@ -183,7 +187,7 @@ export default function DocumentsPage() { instruction, fields, model_id: modelId, - data_class: 'low', + data_class: dataClass, format, }), }); @@ -200,7 +204,7 @@ export default function DocumentsPage() { } finally { setStructuring(false); } - }, [receipt, structuring, instruction, modelId, projectId, fields, format, t]); + }, [receipt, structuring, instruction, modelId, dataClass, projectId, fields, format, t]); function download() { if (!result?.export) return; @@ -414,7 +418,28 @@ export default function DocumentsPage() { + +

+ {t({ + en: 'External models are refused for high/restricted data.', + sv: 'Externa modeller nekas för hög/restricted data.', + })} +

{modelsError ?

{modelsError}

: null} -- 2.54.0