Release v0.2.34
This commit is contained in:
@@ -403,3 +403,53 @@ CREATE TABLE IF NOT EXISTS user_preference_acks (
|
||||
|
||||
CREATE INDEX IF NOT EXISTS user_preference_acks_user_revision_idx
|
||||
ON user_preference_acks (emby_user_id, revision DESC);
|
||||
|
||||
-- Which colour schemes an operator has decided a particular viewer may choose from.
|
||||
--
|
||||
-- Deliberately not part of user_preferences: that document is the viewer's own choices and
|
||||
-- is written by every television they own, where this is policy about them and is written
|
||||
-- only by the console. Keeping them apart is what stops a TV pushing itself a theme it was
|
||||
-- not offered simply by including the id in a settings write.
|
||||
--
|
||||
-- **A person with no rows here may choose anything.** Absence is permissive, because no row
|
||||
-- exists for anybody until an operator restricts somebody — reading it the other way round
|
||||
-- would empty every picker in the house the day this ships. It also means "allowed
|
||||
-- everything" and "never configured" are stored identically, which is correct: they are the
|
||||
-- same decision.
|
||||
--
|
||||
-- Seasonal themes are never in here. They are not grantable per person; the only switch is
|
||||
-- the seasonal_themes feature flag, and it is the operator's, for the whole household.
|
||||
CREATE TABLE IF NOT EXISTS user_themes (
|
||||
emby_user_id TEXT NOT NULL,
|
||||
theme_id TEXT NOT NULL,
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
||||
PRIMARY KEY (emby_user_id, theme_id)
|
||||
);
|
||||
|
||||
-- Subtitles the gateway fetched itself, which is the one place Memby holds a subtitle.
|
||||
--
|
||||
-- Bazarr does not need this: it writes the file beside the media file, so Emby finds it
|
||||
-- and the track arrives down the ordinary PlaybackInfo path. OpenSubtitles has no such
|
||||
-- reach — the gateway has no access to the media directory — so a file fetched from it is
|
||||
-- kept here and served back as a sidecar. That is the whole difference between the two
|
||||
-- providers, and it is why this table exists at all.
|
||||
--
|
||||
-- It is deliberately durable rather than a cache. A subtitle somebody fetched mid-film is
|
||||
-- one they will want again on the next episode of the same evening and on a rewatch a year
|
||||
-- later; spending a provider's daily download quota twice for the same file would be the
|
||||
-- feature working against the household. Rows are small — a subtitle is tens of kilobytes
|
||||
-- — and are deleted with nothing else, because nothing else knows the file exists.
|
||||
CREATE TABLE IF NOT EXISTS downloaded_subtitles (
|
||||
id TEXT PRIMARY KEY,
|
||||
item_id TEXT NOT NULL,
|
||||
language TEXT NOT NULL,
|
||||
label TEXT NOT NULL DEFAULT '',
|
||||
forced BOOLEAN NOT NULL DEFAULT false,
|
||||
hearing_impaired BOOLEAN NOT NULL DEFAULT false,
|
||||
format TEXT NOT NULL DEFAULT 'srt',
|
||||
provider TEXT NOT NULL DEFAULT '',
|
||||
content BYTEA NOT NULL,
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT now()
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS downloaded_subtitles_item_idx ON downloaded_subtitles (item_id);
|
||||
|
||||
Reference in New Issue
Block a user