TeamVis Self-Host-Bundle v0.31.0

This commit is contained in:
TeamVis Release
2026-06-25 19:54:40 +02:00
commit 6335367369
68 changed files with 3765 additions and 0 deletions
+31
View File
@@ -0,0 +1,31 @@
-- ====================================================================
-- 0042_license — License-Foundation
-- ====================================================================
-- Speichert pro Instanz/Mandant einen signierten License-JWT. Inhalt:
-- - tier (free/starter/business/enterprise)
-- - max_employees, ma_overage_price_eur
-- - enabled modules + per-module limits
-- - hosting (cloud | self-hosted), branding_level
-- - exp
--
-- Der JWT wird im Application-Code per public key validiert (lib/
-- license.ts). Bei fehlendem oder ungueltigem Key faellt die Instanz
-- auf Free-Tier-Defaults zurueck (10 MA, Core only).
--
-- license_status ist ein gecachter Wert ('active' | 'grace' | 'expired'
-- | 'invalid'), license_checked_at der letzte Pruef-Zeitpunkt. Beides
-- nicht-load-bearing — wird beim periodischen Check refresht. Idee:
-- Render-Pages koennen ohne JWT-Decode den Status anzeigen.
-- --------------------------------------------------------------------
alter table public.site_settings
add column if not exists license_key text,
add column if not exists license_status text,
add column if not exists license_checked_at timestamptz;
comment on column public.site_settings.license_key is
'Signierter License-JWT (RS256). Wird per lib/license.ts gegen den Public Key validiert. NULL → Free-Tier-Defaults.';
comment on column public.site_settings.license_status is
'Gecachter Status: active | grace | expired | invalid | null. Wird beim periodischen Check aktualisiert.';
comment on column public.site_settings.license_checked_at is
'Letzter Validierungs-Zeitpunkt. Wird genutzt um Refresh-Cycles zu drosseln.';