Add admin review and confirmation of cross-service user IDs
This commit is contained in:
@@ -193,6 +193,19 @@ def init_db() -> None:
|
||||
PRIMARY KEY (source, local_user_id), UNIQUE (source, jellyfin_user_id)
|
||||
)
|
||||
""")
|
||||
conn.execute("""
|
||||
CREATE TABLE IF NOT EXISTS user_identity_confirmations (
|
||||
local_user_id INTEGER PRIMARY KEY,
|
||||
jellyfin_server_id TEXT NOT NULL,
|
||||
jellyfin_user_id TEXT NOT NULL,
|
||||
jellyfin_source TEXT NOT NULL,
|
||||
seerr_source TEXT NOT NULL,
|
||||
seerr_user_id INTEGER NOT NULL,
|
||||
confirmed_at TEXT NOT NULL,
|
||||
confirmed_by TEXT NOT NULL,
|
||||
UNIQUE (jellyfin_server_id, jellyfin_user_id)
|
||||
)
|
||||
""")
|
||||
conn.execute("""
|
||||
CREATE TABLE IF NOT EXISTS request_repairs (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
@@ -1288,6 +1301,7 @@ def set_user_jellyseerr_id(username: str, jellyseerr_user_id: Optional[int]) ->
|
||||
conn.execute(
|
||||
"""
|
||||
UPDATE users SET jellyseerr_user_id = ? WHERE username = ? COLLATE NOCASE
|
||||
AND id NOT IN (SELECT local_user_id FROM user_identity_confirmations)
|
||||
""",
|
||||
(jellyseerr_user_id, username),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user