diff --git a/.sqlx/query-0a3680a6cf353c210c1609bef5061f5026f61256c901564548d56f816dd4c68d.json b/.sqlx/query-0a3680a6cf353c210c1609bef5061f5026f61256c901564548d56f816dd4c68d.json deleted file mode 100644 index 929e086..0000000 --- a/.sqlx/query-0a3680a6cf353c210c1609bef5061f5026f61256c901564548d56f816dd4c68d.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "db_name": "SQLite", - "query": "\n SELECT se.id AS \"season_id!: i64\",\n se.number AS \"season_number!: i64\",\n s.title AS \"series_title!: String\",\n s.original_language\n FROM seasons se\n JOIN series s ON s.id = se.series_id\n WHERE s.blocked = 0\n AND EXISTS (\n SELECT 1 FROM episodes e\n WHERE e.season_id = se.id\n AND e.wanted = 1\n AND NOT EXISTS (\n SELECT 1 FROM media_files f\n WHERE f.owner_kind = 'episode' AND f.owner_id = e.id\n )\n AND NOT EXISTS (\n SELECT 1 FROM grabs g\n WHERE g.target_kind = 'episode' AND g.target_id = e.id\n AND g.state IN ('sent', 'downloaded', 'imported')\n )\n )\n AND NOT EXISTS (\n SELECT 1 FROM grabs g\n WHERE g.target_kind = 'season' AND g.target_id = se.id\n AND g.state IN ('sent', 'downloaded', 'imported')\n )\n ORDER BY se.id\n ", - "describe": { - "columns": [ - { - "name": "season_id!: i64", - "ordinal": 0, - "type_info": "Integer" - }, - { - "name": "season_number!: i64", - "ordinal": 1, - "type_info": "Integer" - }, - { - "name": "series_title!: String", - "ordinal": 2, - "type_info": "Text" - }, - { - "name": "original_language", - "ordinal": 3, - "type_info": "Text" - } - ], - "parameters": { - "Right": 0 - }, - "nullable": [ - false, - false, - false, - true - ] - }, - "hash": "0a3680a6cf353c210c1609bef5061f5026f61256c901564548d56f816dd4c68d" -} diff --git a/.sqlx/query-f547ac991490ac5af5c16e707a2b52e83207a194e496dcaecfa253cdc0757463.json b/.sqlx/query-45d5b3f5e133289014b2f6e10fc14070b4b4ec2f18d97f7546f3b866004c404b.json similarity index 69% rename from .sqlx/query-f547ac991490ac5af5c16e707a2b52e83207a194e496dcaecfa253cdc0757463.json rename to .sqlx/query-45d5b3f5e133289014b2f6e10fc14070b4b4ec2f18d97f7546f3b866004c404b.json index 9c387f1..0ff3d5c 100644 --- a/.sqlx/query-f547ac991490ac5af5c16e707a2b52e83207a194e496dcaecfa253cdc0757463.json +++ b/.sqlx/query-45d5b3f5e133289014b2f6e10fc14070b4b4ec2f18d97f7546f3b866004c404b.json @@ -1,6 +1,6 @@ { "db_name": "SQLite", - "query": "SELECT s.id AS \"id!: i64\", s.tmdb_id AS \"tmdb_id!: i64\", s.title AS \"title!: String\", s.year, s.original_language, s.root_id AS \"root_id!: i64\", s.auto_track AS \"auto_track!: bool\", s.overrides AS \"overrides!: serde_json::Value\", s.upstream_ended AS \"upstream_ended!: bool\", s.blocked AS \"blocked!: bool\" FROM series s JOIN title_owners t ON t.title_kind = 'series' AND t.title_id = s.id WHERE t.owner_id = ? ORDER BY s.title, s.year, s.id", + "query": "SELECT s.id AS \"id!: i64\", s.tmdb_id AS \"tmdb_id!: i64\", s.tvdb_id, s.title AS \"title!: String\", s.year, s.original_language, s.root_id AS \"root_id!: i64\", s.auto_track AS \"auto_track!: bool\", s.overrides AS \"overrides!: serde_json::Value\", s.upstream_ended AS \"upstream_ended!: bool\", s.blocked AS \"blocked!: bool\" FROM series s JOIN title_owners t ON t.title_kind = 'series' AND t.title_id = s.id WHERE t.owner_id = ? ORDER BY s.title, s.year, s.id", "describe": { "columns": [ { @@ -14,43 +14,48 @@ "type_info": "Integer" }, { - "name": "title!: String", + "name": "tvdb_id", "ordinal": 2, + "type_info": "Integer" + }, + { + "name": "title!: String", + "ordinal": 3, "type_info": "Text" }, { "name": "year", - "ordinal": 3, + "ordinal": 4, "type_info": "Integer" }, { "name": "original_language", - "ordinal": 4, + "ordinal": 5, "type_info": "Text" }, { "name": "root_id!: i64", - "ordinal": 5, - "type_info": "Integer" - }, - { - "name": "auto_track!: bool", "ordinal": 6, "type_info": "Integer" }, { - "name": "overrides!: serde_json::Value", + "name": "auto_track!: bool", "ordinal": 7, + "type_info": "Integer" + }, + { + "name": "overrides!: serde_json::Value", + "ordinal": 8, "type_info": "Text" }, { "name": "upstream_ended!: bool", - "ordinal": 8, + "ordinal": 9, "type_info": "Integer" }, { "name": "blocked!: bool", - "ordinal": 9, + "ordinal": 10, "type_info": "Integer" } ], @@ -60,6 +65,7 @@ "nullable": [ false, false, + true, false, true, true, @@ -70,5 +76,5 @@ false ] }, - "hash": "f547ac991490ac5af5c16e707a2b52e83207a194e496dcaecfa253cdc0757463" + "hash": "45d5b3f5e133289014b2f6e10fc14070b4b4ec2f18d97f7546f3b866004c404b" } diff --git a/.sqlx/query-1a2db8b6fd48a7f3a32cd2ce33e4dbab9e46e99e004fd5a913e12ac6110071c2.json b/.sqlx/query-71534a7c100984bfe082a1348474263fa67c980e532fc037cc77b82c1109ecaa.json similarity index 74% rename from .sqlx/query-1a2db8b6fd48a7f3a32cd2ce33e4dbab9e46e99e004fd5a913e12ac6110071c2.json rename to .sqlx/query-71534a7c100984bfe082a1348474263fa67c980e532fc037cc77b82c1109ecaa.json index 33dbc30..db5a0a9 100644 --- a/.sqlx/query-1a2db8b6fd48a7f3a32cd2ce33e4dbab9e46e99e004fd5a913e12ac6110071c2.json +++ b/.sqlx/query-71534a7c100984bfe082a1348474263fa67c980e532fc037cc77b82c1109ecaa.json @@ -1,6 +1,6 @@ { "db_name": "SQLite", - "query": "SELECT id AS \"id!: i64\", tmdb_id AS \"tmdb_id!: i64\", title AS \"title!: String\", year, original_language, root_id AS \"root_id!: i64\", auto_track AS \"auto_track!: bool\", overrides AS \"overrides!: serde_json::Value\", upstream_ended AS \"upstream_ended!: bool\", blocked AS \"blocked!: bool\" FROM series WHERE id = ?", + "query": "SELECT id AS \"id!: i64\", tmdb_id AS \"tmdb_id!: i64\", tvdb_id, title AS \"title!: String\", year, original_language, root_id AS \"root_id!: i64\", auto_track AS \"auto_track!: bool\", overrides AS \"overrides!: serde_json::Value\", upstream_ended AS \"upstream_ended!: bool\", blocked AS \"blocked!: bool\" FROM series WHERE id = ?", "describe": { "columns": [ { @@ -14,43 +14,48 @@ "type_info": "Integer" }, { - "name": "title!: String", + "name": "tvdb_id", "ordinal": 2, + "type_info": "Integer" + }, + { + "name": "title!: String", + "ordinal": 3, "type_info": "Text" }, { "name": "year", - "ordinal": 3, + "ordinal": 4, "type_info": "Integer" }, { "name": "original_language", - "ordinal": 4, + "ordinal": 5, "type_info": "Text" }, { "name": "root_id!: i64", - "ordinal": 5, - "type_info": "Integer" - }, - { - "name": "auto_track!: bool", "ordinal": 6, "type_info": "Integer" }, { - "name": "overrides!: serde_json::Value", + "name": "auto_track!: bool", "ordinal": 7, + "type_info": "Integer" + }, + { + "name": "overrides!: serde_json::Value", + "ordinal": 8, "type_info": "Text" }, { "name": "upstream_ended!: bool", - "ordinal": 8, + "ordinal": 9, "type_info": "Integer" }, { "name": "blocked!: bool", - "ordinal": 9, + "ordinal": 10, "type_info": "Integer" } ], @@ -60,6 +65,7 @@ "nullable": [ false, false, + true, false, true, true, @@ -70,5 +76,5 @@ false ] }, - "hash": "1a2db8b6fd48a7f3a32cd2ce33e4dbab9e46e99e004fd5a913e12ac6110071c2" + "hash": "71534a7c100984bfe082a1348474263fa67c980e532fc037cc77b82c1109ecaa" } diff --git a/.sqlx/query-950ae08a8a33d4ce3b088ae8ebac734baefdc2e6da90ac144d2dc0466e8cbe26.json b/.sqlx/query-7c76ab54e1c32a1e98cfc04ffb709382d09fc1eea9f1ddf3b613446a4c1bdb31.json similarity index 73% rename from .sqlx/query-950ae08a8a33d4ce3b088ae8ebac734baefdc2e6da90ac144d2dc0466e8cbe26.json rename to .sqlx/query-7c76ab54e1c32a1e98cfc04ffb709382d09fc1eea9f1ddf3b613446a4c1bdb31.json index 72c9654..313730c 100644 --- a/.sqlx/query-950ae08a8a33d4ce3b088ae8ebac734baefdc2e6da90ac144d2dc0466e8cbe26.json +++ b/.sqlx/query-7c76ab54e1c32a1e98cfc04ffb709382d09fc1eea9f1ddf3b613446a4c1bdb31.json @@ -1,6 +1,6 @@ { "db_name": "SQLite", - "query": "SELECT id AS \"id!: i64\", tmdb_id AS \"tmdb_id!: i64\", title AS \"title!: String\", year, original_language, root_id AS \"root_id!: i64\", auto_track AS \"auto_track!: bool\", overrides AS \"overrides!: serde_json::Value\", upstream_ended AS \"upstream_ended!: bool\", blocked AS \"blocked!: bool\" FROM series ORDER BY title, year, id", + "query": "SELECT id AS \"id!: i64\", tmdb_id AS \"tmdb_id!: i64\", tvdb_id, title AS \"title!: String\", year, original_language, root_id AS \"root_id!: i64\", auto_track AS \"auto_track!: bool\", overrides AS \"overrides!: serde_json::Value\", upstream_ended AS \"upstream_ended!: bool\", blocked AS \"blocked!: bool\" FROM series ORDER BY title, year, id", "describe": { "columns": [ { @@ -14,43 +14,48 @@ "type_info": "Integer" }, { - "name": "title!: String", + "name": "tvdb_id", "ordinal": 2, + "type_info": "Integer" + }, + { + "name": "title!: String", + "ordinal": 3, "type_info": "Text" }, { "name": "year", - "ordinal": 3, + "ordinal": 4, "type_info": "Integer" }, { "name": "original_language", - "ordinal": 4, + "ordinal": 5, "type_info": "Text" }, { "name": "root_id!: i64", - "ordinal": 5, - "type_info": "Integer" - }, - { - "name": "auto_track!: bool", "ordinal": 6, "type_info": "Integer" }, { - "name": "overrides!: serde_json::Value", + "name": "auto_track!: bool", "ordinal": 7, + "type_info": "Integer" + }, + { + "name": "overrides!: serde_json::Value", + "ordinal": 8, "type_info": "Text" }, { "name": "upstream_ended!: bool", - "ordinal": 8, + "ordinal": 9, "type_info": "Integer" }, { "name": "blocked!: bool", - "ordinal": 9, + "ordinal": 10, "type_info": "Integer" } ], @@ -60,6 +65,7 @@ "nullable": [ false, false, + true, false, true, true, @@ -70,5 +76,5 @@ false ] }, - "hash": "950ae08a8a33d4ce3b088ae8ebac734baefdc2e6da90ac144d2dc0466e8cbe26" + "hash": "7c76ab54e1c32a1e98cfc04ffb709382d09fc1eea9f1ddf3b613446a4c1bdb31" } diff --git a/.sqlx/query-88f8bbd8844d26dd81973b5cfd4cb5df34d72f53cd68578a47773eff0a10e054.json b/.sqlx/query-88f8bbd8844d26dd81973b5cfd4cb5df34d72f53cd68578a47773eff0a10e054.json new file mode 100644 index 0000000..25dd49f --- /dev/null +++ b/.sqlx/query-88f8bbd8844d26dd81973b5cfd4cb5df34d72f53cd68578a47773eff0a10e054.json @@ -0,0 +1,12 @@ +{ + "db_name": "SQLite", + "query": "INSERT INTO series (tmdb_id, tvdb_id, title, year, original_language, root_id, auto_track, upstream_ended, blocked, overrides) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", + "describe": { + "columns": [], + "parameters": { + "Right": 10 + }, + "nullable": [] + }, + "hash": "88f8bbd8844d26dd81973b5cfd4cb5df34d72f53cd68578a47773eff0a10e054" +} diff --git a/.sqlx/query-6a164386b22fa587458007a843d0bfe7030ef0665dd989c1018dd83e2ec330cd.json b/.sqlx/query-c6c072e04e334786f6cbd514cdfd4f6b493df9a5f8e140138cce32395b9d937d.json similarity index 52% rename from .sqlx/query-6a164386b22fa587458007a843d0bfe7030ef0665dd989c1018dd83e2ec330cd.json rename to .sqlx/query-c6c072e04e334786f6cbd514cdfd4f6b493df9a5f8e140138cce32395b9d937d.json index 9bf668d..84096da 100644 --- a/.sqlx/query-6a164386b22fa587458007a843d0bfe7030ef0665dd989c1018dd83e2ec330cd.json +++ b/.sqlx/query-c6c072e04e334786f6cbd514cdfd4f6b493df9a5f8e140138cce32395b9d937d.json @@ -1,6 +1,6 @@ { "db_name": "SQLite", - "query": "SELECT s.title AS \"series_title!: String\", s.original_language,\n se.number AS \"season_number!: i64\", e.number AS \"episode_number!: i64\"\n FROM episodes e\n JOIN seasons se ON se.id = e.season_id\n JOIN series s ON s.id = se.series_id\n WHERE e.id = ?", + "query": "SELECT s.title AS \"series_title!: String\", s.tvdb_id AS series_tvdb_id, s.original_language,\n se.number AS \"season_number!: i64\", e.number AS \"episode_number!: i64\"\n FROM episodes e\n JOIN seasons se ON se.id = e.season_id\n JOIN series s ON s.id = se.series_id\n WHERE e.id = ?", "describe": { "columns": [ { @@ -9,18 +9,23 @@ "type_info": "Text" }, { - "name": "original_language", + "name": "series_tvdb_id", "ordinal": 1, + "type_info": "Integer" + }, + { + "name": "original_language", + "ordinal": 2, "type_info": "Text" }, { "name": "season_number!: i64", - "ordinal": 2, + "ordinal": 3, "type_info": "Integer" }, { "name": "episode_number!: i64", - "ordinal": 3, + "ordinal": 4, "type_info": "Integer" } ], @@ -30,9 +35,10 @@ "nullable": [ false, true, + true, false, false ] }, - "hash": "6a164386b22fa587458007a843d0bfe7030ef0665dd989c1018dd83e2ec330cd" + "hash": "c6c072e04e334786f6cbd514cdfd4f6b493df9a5f8e140138cce32395b9d937d" } diff --git a/.sqlx/query-2934322298dad8dfe3583122fc56e10dd8785b11d41338c7936e47e94590ab37.json b/.sqlx/query-c724a7b776e5fcafadce90cb7bd235220cda3d8894d7cb5c2a411e816eb2ce0e.json similarity index 63% rename from .sqlx/query-2934322298dad8dfe3583122fc56e10dd8785b11d41338c7936e47e94590ab37.json rename to .sqlx/query-c724a7b776e5fcafadce90cb7bd235220cda3d8894d7cb5c2a411e816eb2ce0e.json index ca463dc..c311402 100644 --- a/.sqlx/query-2934322298dad8dfe3583122fc56e10dd8785b11d41338c7936e47e94590ab37.json +++ b/.sqlx/query-c724a7b776e5fcafadce90cb7bd235220cda3d8894d7cb5c2a411e816eb2ce0e.json @@ -1,6 +1,6 @@ { "db_name": "SQLite", - "query": "SELECT s.id AS \"id!: i64\", s.tmdb_id AS \"tmdb_id!: i64\",\n s.title AS \"title!: String\", s.year, s.root_id AS \"root_id!: i64\",\n r.path AS \"root_path!: String\",\n s.upstream_ended AS \"upstream_ended!: bool\",\n s.created_at AS \"created_at!: String\"\n FROM series s JOIN roots r ON r.id = s.root_id\n WHERE (?1 IS NULL OR s.id = ?1) AND (?2 IS NULL OR s.tmdb_id = ?2)\n ORDER BY s.title, s.year, s.id", + "query": "SELECT s.id AS \"id!: i64\", s.tmdb_id AS \"tmdb_id!: i64\", s.tvdb_id,\n s.title AS \"title!: String\", s.year, s.root_id AS \"root_id!: i64\",\n r.path AS \"root_path!: String\",\n s.upstream_ended AS \"upstream_ended!: bool\",\n s.created_at AS \"created_at!: String\"\n FROM series s JOIN roots r ON r.id = s.root_id\n WHERE (?1 IS NULL OR s.id = ?1) AND (?2 IS NULL OR s.tmdb_id = ?2)\n ORDER BY s.title, s.year, s.id", "describe": { "columns": [ { @@ -14,33 +14,38 @@ "type_info": "Integer" }, { - "name": "title!: String", + "name": "tvdb_id", "ordinal": 2, + "type_info": "Integer" + }, + { + "name": "title!: String", + "ordinal": 3, "type_info": "Text" }, { "name": "year", - "ordinal": 3, - "type_info": "Integer" - }, - { - "name": "root_id!: i64", "ordinal": 4, "type_info": "Integer" }, { - "name": "root_path!: String", + "name": "root_id!: i64", "ordinal": 5, + "type_info": "Integer" + }, + { + "name": "root_path!: String", + "ordinal": 6, "type_info": "Text" }, { "name": "upstream_ended!: bool", - "ordinal": 6, + "ordinal": 7, "type_info": "Integer" }, { "name": "created_at!: String", - "ordinal": 7, + "ordinal": 8, "type_info": "Text" } ], @@ -50,6 +55,7 @@ "nullable": [ false, false, + true, false, true, false, @@ -58,5 +64,5 @@ false ] }, - "hash": "2934322298dad8dfe3583122fc56e10dd8785b11d41338c7936e47e94590ab37" + "hash": "c724a7b776e5fcafadce90cb7bd235220cda3d8894d7cb5c2a411e816eb2ce0e" } diff --git a/.sqlx/query-e69149d2ede23a1fd668de5163aa85192473cbfc4e68656a11c58d66184fdcd0.json b/.sqlx/query-e69149d2ede23a1fd668de5163aa85192473cbfc4e68656a11c58d66184fdcd0.json deleted file mode 100644 index ad53459..0000000 --- a/.sqlx/query-e69149d2ede23a1fd668de5163aa85192473cbfc4e68656a11c58d66184fdcd0.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "db_name": "SQLite", - "query": "INSERT INTO series (tmdb_id, title, year, original_language, root_id, auto_track, upstream_ended, blocked, overrides) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)", - "describe": { - "columns": [], - "parameters": { - "Right": 9 - }, - "nullable": [] - }, - "hash": "e69149d2ede23a1fd668de5163aa85192473cbfc4e68656a11c58d66184fdcd0" -} diff --git a/.sqlx/query-e8258c109f1d5a3fab62f702fbc274701e8b508de480e03bab593e449ef8d9d4.json b/.sqlx/query-e8258c109f1d5a3fab62f702fbc274701e8b508de480e03bab593e449ef8d9d4.json new file mode 100644 index 0000000..12b415f --- /dev/null +++ b/.sqlx/query-e8258c109f1d5a3fab62f702fbc274701e8b508de480e03bab593e449ef8d9d4.json @@ -0,0 +1,44 @@ +{ + "db_name": "SQLite", + "query": "\n SELECT se.id AS \"season_id!: i64\",\n se.number AS \"season_number!: i64\",\n s.title AS \"series_title!: String\",\n s.tvdb_id AS series_tvdb_id,\n s.original_language\n FROM seasons se\n JOIN series s ON s.id = se.series_id\n WHERE s.blocked = 0\n AND EXISTS (\n SELECT 1 FROM episodes e\n WHERE e.season_id = se.id\n AND e.wanted = 1\n AND NOT EXISTS (\n SELECT 1 FROM media_files f\n WHERE f.owner_kind = 'episode' AND f.owner_id = e.id\n )\n AND NOT EXISTS (\n SELECT 1 FROM grabs g\n WHERE g.target_kind = 'episode' AND g.target_id = e.id\n AND g.state IN ('sent', 'downloaded', 'imported')\n )\n )\n AND NOT EXISTS (\n SELECT 1 FROM grabs g\n WHERE g.target_kind = 'season' AND g.target_id = se.id\n AND g.state IN ('sent', 'downloaded', 'imported')\n )\n ORDER BY se.id\n ", + "describe": { + "columns": [ + { + "name": "season_id!: i64", + "ordinal": 0, + "type_info": "Integer" + }, + { + "name": "season_number!: i64", + "ordinal": 1, + "type_info": "Integer" + }, + { + "name": "series_title!: String", + "ordinal": 2, + "type_info": "Text" + }, + { + "name": "series_tvdb_id", + "ordinal": 3, + "type_info": "Integer" + }, + { + "name": "original_language", + "ordinal": 4, + "type_info": "Text" + } + ], + "parameters": { + "Right": 0 + }, + "nullable": [ + false, + false, + false, + true, + true + ] + }, + "hash": "e8258c109f1d5a3fab62f702fbc274701e8b508de480e03bab593e449ef8d9d4" +}