0.2.58 - Requests module
This commit is contained in:
@@ -508,3 +508,34 @@ CREATE TABLE IF NOT EXISTS downloaded_subtitles (
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS downloaded_subtitles_item_idx ON downloaded_subtitles (item_id);
|
||||
|
||||
-- What a viewer has asked the household to get hold of.
|
||||
--
|
||||
-- Radarr and Sonarr are the things that actually fetch a title, and neither keeps any idea
|
||||
-- of *who* wanted it: an added movie is an added movie. So this table is the only record of
|
||||
-- authorship, and it is what makes "My requests" a per-person page rather than a list of
|
||||
-- everything the household has ever added.
|
||||
--
|
||||
-- It deliberately stores no status. A request's state — waiting for a release, searching,
|
||||
-- downloaded, in the library — is Radarr's and Sonarr's to answer and changes without
|
||||
-- anybody touching Memby, so a status column here would be a second copy that is wrong
|
||||
-- within the hour. What is stored is the identity (which title, from which catalogue) plus
|
||||
-- enough metadata to draw the card before the *arr lookup returns; the state is derived per
|
||||
-- request by requestStatusFor.
|
||||
--
|
||||
-- The primary key is (viewer, catalogue, id) rather than a serial, so asking twice for the
|
||||
-- same film is the same request rather than two rows a viewer has to tell apart. The repeat
|
||||
-- refreshes requested_at, because the second ask is the one they remember making.
|
||||
CREATE TABLE IF NOT EXISTS media_requests (
|
||||
emby_user_id TEXT NOT NULL,
|
||||
media_type TEXT NOT NULL,
|
||||
foreign_id INTEGER NOT NULL,
|
||||
title TEXT NOT NULL DEFAULT '',
|
||||
year INTEGER NOT NULL DEFAULT 0,
|
||||
poster_url TEXT NOT NULL DEFAULT '',
|
||||
requested_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
||||
PRIMARY KEY (emby_user_id, media_type, foreign_id)
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS media_requests_user_requested_idx
|
||||
ON media_requests (emby_user_id, requested_at DESC);
|
||||
|
||||
Reference in New Issue
Block a user