TeamVis Self-Host-Bundle v0.60.0
This commit is contained in:
1 parent
73653b5e2d
commit
5715651fb7
4 files changed
+59
-7
No files matched your search
@@ -0,0 +1,52 @@
|
||||
-- Konto löschen aus der App (Apple Guideline 5.1.1(v))
|
||||
-- ====================================================================
|
||||
-- Bisher schickte die App nur einen Antrag an die Verwaltung. Apple
|
||||
-- verlangt, dass sich das Konto in der App selbst löschen lässt. Ablauf
|
||||
-- ab jetzt:
|
||||
--
|
||||
-- 1. sofort: App-Zugang weg (Tokens, Login-Codes, Push), Karte
|
||||
-- deaktiviert und öffentlich nicht mehr erreichbar — auch nicht als
|
||||
-- „nicht mehr im Unternehmen"-Seite
|
||||
-- 2. nach `account_deletion_days` (Default 30): Datensatz samt Foto
|
||||
-- endgültig gelöscht, die Person bekommt eine Bestätigung
|
||||
--
|
||||
-- Die Frist dazwischen erlaubt der Verwaltung, versehentliche Anträge
|
||||
-- zurückzunehmen und Kontakte/Termine der Karte zu übernehmen (sie hängen
|
||||
-- per ON DELETE CASCADE an der Karte).
|
||||
|
||||
alter table public.employees
|
||||
add column if not exists deletion_requested_at timestamptz;
|
||||
|
||||
comment on column public.employees.deletion_requested_at is
|
||||
'Zeitpunkt, zu dem die Person ihr Konto in der App gelöscht hat. Gesetzt → Karte offline, endgültige Löschung nach site_settings.account_deletion_days.';
|
||||
|
||||
create index if not exists employees_deletion_requested_at_idx
|
||||
on public.employees (deletion_requested_at)
|
||||
where deletion_requested_at is not null;
|
||||
|
||||
alter table public.site_settings
|
||||
add column if not exists account_deletion_days integer not null default 30;
|
||||
|
||||
comment on column public.site_settings.account_deletion_days is
|
||||
'Tage zwischen Kontolöschung in der App und endgültiger Löschung des Kartendatensatzes.';
|
||||
|
||||
-- Mindestens ein Tag (sonst gibt es kein Zurücknehmen), höchstens ein
|
||||
-- Jahr (die App nennt die Frist der Person; darüber ist sie für einen
|
||||
-- Datensatz ohne weiteren Zweck nicht mehr begründbar).
|
||||
alter table public.site_settings
|
||||
drop constraint if exists site_settings_account_deletion_days_check;
|
||||
alter table public.site_settings
|
||||
add constraint site_settings_account_deletion_days_check
|
||||
check (account_deletion_days between 1 and 365);
|
||||
|
||||
-- Beide Spalten sind nur für den Server bestimmt. Spaltenrechte hat
|
||||
-- 0073 für anon/authenticated explizit vergeben — neue Spalten sind
|
||||
-- davon nicht erfasst; das revoke hält es auch auf Instanzen fest, auf
|
||||
-- denen noch ein Tabellenrecht liegt.
|
||||
do $$
|
||||
begin
|
||||
revoke select (deletion_requested_at) on public.employees from anon, authenticated;
|
||||
revoke select (account_deletion_days) on public.site_settings from anon, authenticated;
|
||||
exception when others then
|
||||
raise notice 'Spaltenrechte nicht angepasst (%).', sqlerrm;
|
||||
end $$;
|
||||
Reference in new issue
Block a user