Files
unified-media-manager/internal/db/migrations/007_users_requests.sql
2026-04-24 10:45:19 -07:00

33 lines
1.4 KiB
SQL

-- Users table for API key authentication
CREATE TABLE IF NOT EXISTS users (
id BIGSERIAL PRIMARY KEY,
username TEXT NOT NULL UNIQUE,
display_name TEXT NOT NULL DEFAULT '',
role TEXT NOT NULL DEFAULT 'user',
api_key TEXT UNIQUE,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE UNIQUE INDEX IF NOT EXISTS idx_users_api_key ON users (api_key) WHERE api_key IS NOT NULL;
-- Requests table for media request workflow
CREATE TABLE IF NOT EXISTS requests (
id BIGSERIAL PRIMARY KEY,
media_id BIGINT,
media_type TEXT NOT NULL DEFAULT '',
title TEXT NOT NULL DEFAULT '',
requested_by BIGINT NOT NULL REFERENCES users(id),
status TEXT NOT NULL DEFAULT 'pending',
quality_profile_id INTEGER REFERENCES quality_profiles(id),
root_folder_id INTEGER REFERENCES root_folders(id),
notes TEXT DEFAULT '',
reviewed_by BIGINT REFERENCES users(id),
reviewed_at TIMESTAMPTZ,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE INDEX IF NOT EXISTS idx_requests_status ON requests (status);
CREATE INDEX IF NOT EXISTS idx_requests_requested_by ON requests (requested_by);
CREATE INDEX IF NOT EXISTS idx_requests_media ON requests (media_id, media_type);