From 1e9020c5ba34da328731ad963638576d5d1d4ec5 Mon Sep 17 00:00:00 2001 From: Thomas Stallinger Date: Wed, 5 Aug 2026 08:52:09 +0200 Subject: [PATCH] feat: enrollment_sessions Tabelle (ADR-0008) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Datenmodell für zeitlich begrenzte, organisationsgebundene Vorab- Freigaben für geplante Massenrollouts. Verwaltung (anlegen/auflisten/ widerrufen) folgt in einem späteren Schritt zusammen mit der Neugerät-Bestätigung im Kundenplattform-Admin-Bereich. Der eigentliche Verbrauch (Auto-Modus-Gate im Installer) ist bewusst nicht Teil dieser Migration - separates, noch nicht begonnenes Folgeprojekt. Co-Authored-By: Claude Sonnet 5 --- migrations/0012_enrollment_sessions.sql | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 migrations/0012_enrollment_sessions.sql diff --git a/migrations/0012_enrollment_sessions.sql b/migrations/0012_enrollment_sessions.sql new file mode 100644 index 0000000..c2b8f1d --- /dev/null +++ b/migrations/0012_enrollment_sessions.sql @@ -0,0 +1,22 @@ +BEGIN; + +-- Siehe ADR-0008: zeitlich begrenzte, organisationsgebundene Vorab-Freigaben +-- fuer geplante Massenrollouts. Der tatsaechliche Verbrauch (devices_used +-- hochzaehlen, Pruefung im Auto-Modus-Gate) ist Teil eines separaten, +-- installer-seitigen Folgeprojekts - hier nur Datenmodell + Verwaltung. +CREATE TABLE enrollment_sessions ( + id UUID PRIMARY KEY, + organization_id UUID NOT NULL + REFERENCES organizations(id) + ON DELETE CASCADE, + bereitstellungsvorlage_id UUID NOT NULL + REFERENCES bereitstellungsvorlagen(id) + ON DELETE RESTRICT, + max_devices INTEGER NOT NULL, + devices_used INTEGER NOT NULL DEFAULT 0, + expires_at TIMESTAMPTZ NOT NULL, + revoked_at TIMESTAMPTZ, + created_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +COMMIT;