36 lines
1.4 KiB
SQL
36 lines
1.4 KiB
SQL
-- ====================================================================
|
|
-- 0059_accessibility — Erklärung zur Barrierefreiheit (öffentlich)
|
|
-- ====================================================================
|
|
-- Optionale, pro Instanz editierbare Barrierefreiheitserklärung. Anders als
|
|
-- Impressum/Datenschutz ist sie NICHT für jede Instanz Pflicht (hängt von der
|
|
-- Einordnung des Betreibers ab) → opt-in: /barrierefreiheit + Footer-Link
|
|
-- erscheinen nur, wenn ein Text hinterlegt ist.
|
|
--
|
|
-- Kein Geheimnis — öffentliche Seite liest via anon. Grant-Muster wie 0058.
|
|
|
|
alter table public.site_settings
|
|
add column if not exists accessibility_html text;
|
|
|
|
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 $$;
|