Add shared auth login flow
This commit is contained in:
@@ -59,6 +59,27 @@ CREATE TABLE contact (
|
||||
|
||||
CREATE INDEX idx_contact_party ON contact(party_id);
|
||||
|
||||
CREATE TABLE system_user (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
username TEXT NOT NULL,
|
||||
email TEXT NOT NULL,
|
||||
password_hash TEXT NOT NULL,
|
||||
role TEXT NOT NULL DEFAULT 'user',
|
||||
is_active BOOLEAN NOT NULL DEFAULT TRUE,
|
||||
failed_login_count INTEGER NOT NULL DEFAULT 0,
|
||||
locked_until TIMESTAMP,
|
||||
last_login_at TIMESTAMP,
|
||||
created_by_user_id BIGINT REFERENCES system_user(id) ON DELETE SET NULL,
|
||||
updated_by_user_id BIGINT REFERENCES system_user(id) ON DELETE SET NULL,
|
||||
created_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
||||
updated_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
||||
CONSTRAINT chk_system_user_role CHECK (role IN ('admin', 'user')),
|
||||
CONSTRAINT chk_system_user_failed_login_count CHECK (failed_login_count >= 0)
|
||||
);
|
||||
|
||||
CREATE UNIQUE INDEX uq_system_user_username_ci ON system_user (LOWER(username));
|
||||
CREATE UNIQUE INDEX uq_system_user_email_ci ON system_user (LOWER(email));
|
||||
|
||||
-- Lagergefuehrtes Produkt (Bestandsfuehrung, Charge, MHD)
|
||||
CREATE TABLE product (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
|
||||
@@ -41,6 +41,7 @@ Diese Referenz ordnet die aktuellen Tabellen, Views und technischen DB-Artefakte
|
||||
|
||||
- `audit_log`
|
||||
- `outbound_webhook_event`
|
||||
- `system_user`
|
||||
|
||||
## 3. Hinweise
|
||||
|
||||
@@ -48,4 +49,3 @@ Diese Referenz ordnet die aktuellen Tabellen, Views und technischen DB-Artefakte
|
||||
- Fremde Module schreiben nicht direkt in diese Artefakte.
|
||||
- `shared` besitzt keine fachlichen Tabellen.
|
||||
- Neue Tabellen fuer `buchhaltung` und `kundenberatung` werden erst mit deren Modulvertraegen definiert.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user