Filtrera hypoteser ur kunddelade vyer

Hypoteser är internt arbetsmaterial och får aldrig riskera att läsas
som konstaterade fel: de visas inte i Live Share-vyn, kundrapportens
tidslinje eller databasens delningsfunktion. De finns kvar i den
interna loggen, briefen och överlämningsrapporten.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012EQg3rJsrQ1ZNTvkzmQAtt
This commit is contained in:
Claude
2026-08-02 22:49:08 +00:00
parent fcded6bd43
commit 8908224a01
3 changed files with 13 additions and 4 deletions
+5 -1
View File
@@ -606,7 +606,11 @@ function RapportFlik({
const b = brief(arende, metodik, nu);
const bilder = foton(arende);
const fordelning = tidsfordelningsRader(arende, nu);
const kundposter = arende.handelser.filter((p) => p.handelse.typ !== "kategori_byte");
// Kategoribyten är interna; hypoteser är arbetsmaterial och ingår inte
// i det som delas med kund.
const kundposter = arende.handelser.filter(
(p) => p.handelse.typ !== "kategori_byte" && p.handelse.typ !== "hypotes",
);
// Alla exporter bygger på samma händelselogg och versionsmärks:
// version = antal händelser vid exporttillfället.
+5 -1
View File
@@ -33,7 +33,11 @@ export default function DelatArende() {
const avslutat = arAvslutat(arende);
const bilder = foton(arende);
const matvarden = arende.handelser.filter((p) => p.handelse.typ === "matvarde");
const kundposter = arende.handelser.filter((p) => p.handelse.typ !== "kategori_byte");
// Hypoteser är internt arbetsmaterial och delas inte externt —
// de får aldrig riskera att läsas som konstaterade fel.
const kundposter = arende.handelser.filter(
(p) => p.handelse.typ !== "kategori_byte" && p.handelse.typ !== "hypotes",
);
const pagaende = b.rekommenderatNastaSteg[0];
return (
@@ -44,7 +44,8 @@ revoke update, delete on public.felsokning_handelser from authenticated, anon;
-- Live Share: anonym läsning sker ENDAST via delningskod genom en
-- security definer-funktion — tabellerna exponeras aldrig direkt för anon.
-- Interna poster (kategoribyten) filtreras bort ur den delade vyn.
-- Interna poster (kategoribyten, hypoteser) filtreras bort ur den delade
-- vyn: hypoteser är arbetsmaterial och får aldrig läsas som konstaterade fel.
create or replace function public.hamta_delat_arende(kod text)
returns jsonb
language sql
@@ -58,7 +59,7 @@ as $$
select jsonb_agg(to_jsonb(h) order by h.tidpunkt, h.id)
from felsokning_handelser h
where h.arende_id = a.id
and h.handelse->>'typ' <> 'kategori_byte'
and h.handelse->>'typ' not in ('kategori_byte', 'hypotes')
), '[]'::jsonb)
)
from felsokning_arenden a