Add soft account deletion safeguards

This commit is contained in:
JB
2026-07-24 23:30:53 -04:00
parent 472528f429
commit 05acc022c7
10 changed files with 131 additions and 10 deletions
+8
View File
@@ -31,6 +31,13 @@ CREATE TABLE IF NOT EXISTS login_events (
succeeded INTEGER NOT NULL CHECK(succeeded IN (0, 1)),
created_at TEXT NOT NULL
);
CREATE TABLE IF NOT EXISTS deleted_accounts (
user_id TEXT PRIMARY KEY REFERENCES users(id),
original_username TEXT NOT NULL,
deleted_at TEXT NOT NULL,
deleted_by TEXT NOT NULL REFERENCES users(id),
reason TEXT
);
CREATE INDEX IF NOT EXISTS login_events_user_created_idx ON login_events(user_id, created_at DESC);
INSERT OR IGNORE INTO roles(id,name,description) VALUES('role-data-editor','Data Editor','Access to ISAC game-data management');
INSERT OR IGNORE INTO roles(id,name,description) VALUES('role-user-operator','User Operator','View and moderate SHD.build users');
@@ -43,6 +50,7 @@ INSERT OR IGNORE INTO permissions(id,name,description) VALUES('permission-data-m
INSERT OR IGNORE INTO permissions(id,name,description) VALUES('permission-users-view','users.view','View users, activity, and content history');
INSERT OR IGNORE INTO permissions(id,name,description) VALUES('permission-users-moderate','users.moderate','Block, ban, and reactivate users');
INSERT OR IGNORE INTO permissions(id,name,description) VALUES('permission-users-roles','users.roles','Assign roles and direct permissions');
INSERT OR IGNORE INTO permissions(id,name,description) VALUES('permission-users-delete','users.delete','Soft-delete user accounts while retaining authored content');
INSERT OR IGNORE INTO role_permissions(role_id,permission_id) VALUES('role-data-editor','permission-isac-access');
INSERT OR IGNORE INTO role_permissions(role_id,permission_id) VALUES('role-data-editor','permission-data-manage');
INSERT OR IGNORE INTO role_permissions(role_id,permission_id) VALUES('role-user-operator','permission-isac-access');