TeamVis Self-Host-Bundle v0.31.0
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
-- H2: Sichtbarkeits-Flags auf DB-Ebene durchsetzen.
|
||||
--
|
||||
-- phone_mobile, linkedin_url und xing_url waren spaltenweise an anon
|
||||
-- GRANTed (Migration 0014 ff.). Die Opt-out-Flags show_mobile/show_linkedin/
|
||||
-- show_xing filterten diese Felder aber NUR in der Render-Schicht
|
||||
-- (VisitingCard) und im vCard-Builder — über den öffentlichen anon-Key
|
||||
-- liessen sie sich per Supabase-REST direkt für ALLE aktiven Mitarbeiter
|
||||
-- abgreifen, unabhaengig vom Opt-out. Das ist dieselbe Klasse wie K-1:
|
||||
-- RLS-Policies und Grants filtern KEINE Spalten bedingt.
|
||||
--
|
||||
-- Ab jetzt liest die App diese Felder ausschliesslich serverseitig ueber
|
||||
-- getActiveEmployeeBySlug (auf createServiceClient umgestellt) und wendet
|
||||
-- die show_*-Flags weiterhin im Server-Render/vCard an. anon braucht die
|
||||
-- Felder daher nicht mehr.
|
||||
--
|
||||
-- successor_employee_id / successor_note werden ohnehin nur ueber
|
||||
-- getSuccessorInfoForSlug (service-role) gelesen und sind hier mit
|
||||
-- abgeraeumt (vorher unnoetig anon-lesbar, Low-Befund).
|
||||
--
|
||||
-- REVOKE auf nicht vorhandene Spalten-Grants ist ein No-op (NOTICE, kein
|
||||
-- Fehler) — die Migration ist damit auch auf Instanzen ohne den vollen
|
||||
-- Grant unkritisch.
|
||||
|
||||
revoke select (phone_mobile, linkedin_url, xing_url, successor_employee_id, successor_note)
|
||||
on public.employees from anon;
|
||||
Reference in New Issue
Block a user