TeamVis Self-Host-Bundle v0.46.1
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
-- ====================================================================
|
||||
-- 0058_legal_pages — Impressum + Datenschutzerklärung (öffentlich)
|
||||
-- ====================================================================
|
||||
-- Rechtliche Pflichtseiten: Impressum (§ 5 DDG) rendert die App künftig
|
||||
-- automatisch aus diesen Stammdaten, die Datenschutzerklärung (Art. 13
|
||||
-- DSGVO) aus einem pro Instanz editierbaren HTML-Feld (mit Vorlage als
|
||||
-- Fallback). White-Label: jeder Mandant ist eigener Diensteanbieter und
|
||||
-- pflegt seine eigenen Angaben.
|
||||
--
|
||||
-- Alle Spalten sind KEINE Geheimnisse — die öffentlichen Seiten lesen
|
||||
-- site_settings via anon. Der Grant unten (Muster 0043/0056) macht sie
|
||||
-- automatisch anon-lesbar (Block-Liste = bisherige Geheimnisse).
|
||||
|
||||
alter table public.site_settings
|
||||
-- Anschrift des Diensteanbieters (Impressum)
|
||||
add column if not exists company_street text,
|
||||
add column if not exists company_postal_code text,
|
||||
add column if not exists company_city text,
|
||||
-- Kontakt (Impressum: schnelle elektronische Kontaktaufnahme)
|
||||
add column if not exists contact_email text,
|
||||
add column if not exists contact_phone text,
|
||||
-- Zuständige Aufsichtsbehörde (falls einschlägig)
|
||||
add column if not exists supervisory_authority text,
|
||||
-- Datenschutzbeauftragte:r (Art. 37 DSGVO — bei öffentlichen Stellen Pflicht)
|
||||
add column if not exists dpo_name text,
|
||||
add column if not exists dpo_contact text,
|
||||
-- Freitext-HTML: editierbare Datenschutzerklärung + optionaler
|
||||
-- Impressum-Zusatz (z.B. Haftungsausschluss, Bildnachweise).
|
||||
add column if not exists privacy_policy_html text,
|
||||
add column if not exists imprint_extra_html text;
|
||||
|
||||
-- anon-Spalten-Grant neu setzen (Muster 0056): die neuen Rechts-Spalten
|
||||
-- sind KEINE Geheimnisse. Block-Liste bleibt unverändert → neue Spalten
|
||||
-- werden automatisch anon-lesbar.
|
||||
revoke all on public.site_settings from anon;
|
||||
|
||||
do $$
|
||||
declare
|
||||
v_cols text;
|
||||
begin
|
||||
select string_agg(quote_ident(column_name), ', ')
|
||||
into v_cols
|
||||
from information_schema.columns
|
||||
where table_schema = 'public'
|
||||
and table_name = 'site_settings'
|
||||
and column_name not in (
|
||||
'ai_anthropic_key', 'ai_openai_key', 'ai_openrouter_key',
|
||||
'apple_pass_cert_p12', 'apple_pass_passphrase', 'apple_pass_type_id',
|
||||
'google_wallet_service_account_json',
|
||||
'phone_api_token', 'phone_lookup_token', 'phone_webhook_secret',
|
||||
'license_key',
|
||||
'smtp_host', 'smtp_port', 'smtp_secure', 'smtp_user', 'smtp_pass',
|
||||
'smtp_from_email', 'smtp_from_name'
|
||||
);
|
||||
execute 'grant select (' || v_cols || ') on public.site_settings to anon';
|
||||
end $$;
|
||||
Reference in New Issue
Block a user