initial commit

This commit is contained in:
Ludwig Lehnert
2026-02-03 16:39:37 +01:00
commit 70fe6076a4
30 changed files with 2128 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
CREATE TABLE IF NOT EXISTS shares (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL UNIQUE,
owner_upn TEXT NOT NULL,
created_at TEXT NOT NULL,
state TEXT NOT NULL
);
CREATE TABLE IF NOT EXISTS principals (
id INTEGER PRIMARY KEY AUTOINCREMENT,
type TEXT NOT NULL,
name TEXT,
upn TEXT,
UNIQUE(type, name, upn)
);
CREATE TABLE IF NOT EXISTS memberships (
share_id INTEGER NOT NULL,
principal_id INTEGER NOT NULL,
role TEXT NOT NULL,
PRIMARY KEY (share_id, principal_id),
FOREIGN KEY (share_id) REFERENCES shares(id),
FOREIGN KEY (principal_id) REFERENCES principals(id)
);
CREATE TABLE IF NOT EXISTS group_members (
group_id INTEGER NOT NULL,
user_upn TEXT NOT NULL,
PRIMARY KEY (group_id, user_upn),
FOREIGN KEY (group_id) REFERENCES principals(id)
);