Update Releases class queries to include tags, update ApiTransformer to use them

This commit is contained in:
DariusIII
2018-11-02 15:31:29 +01:00
parent 4e77277a51
commit 71a445b38a
3 changed files with 26 additions and 7 deletions
+22 -7
View File
@@ -71,7 +71,7 @@ class Releases
{
$orderBy = $this->getBrowseOrder($orderBy);
$qry = sprintf(
"SELECT r.*, cp.title AS parent_category, c.title AS sub_category,
"SELECT r.*, cp.title AS parent_category, c.title AS sub_category, GROUP_CONCAT(tt.tag_name SEPARATOR ',') AS tags,
CONCAT(cp.title, ' > ', c.title) AS category_name,
CONCAT(cp.id, ',', c.id) AS category_ids,
df.failed AS failed,
@@ -91,6 +91,7 @@ class Releases
) r
LEFT JOIN categories c ON c.id = r.categories_id
LEFT JOIN categories cp ON cp.id = c.parentid
LEFT JOIN tagging_tagged tt ON tt.taggable_id = r.id
LEFT OUTER JOIN videos v ON r.videos_id = v.id
LEFT OUTER JOIN tv_episodes tve ON r.tv_episodes_id = tve.id
LEFT OUTER JOIN video_data re ON re.releases_id = r.id
@@ -387,6 +388,7 @@ class Releases
groups.name AS group_name,
rn.releases_id AS nfoid, re.releases_id AS reid,
tve.firstaired,
GROUP_CONCAT(tt.tag_name SEPARATOR ',') AS tags,
df.failed AS failed
FROM releases r
LEFT OUTER JOIN video_data re ON re.releases_id = r.id
@@ -396,6 +398,7 @@ class Releases
LEFT JOIN categories c ON c.id = r.categories_id
LEFT JOIN categories cp ON cp.id = c.parentid
LEFT OUTER JOIN dnzb_failures df ON df.release_id = r.id
LEFT JOIN tagging_tagged tt ON tt.taggable_id = r.id
WHERE %s %s
AND r.nzbstatus = %d
AND r.categories_id BETWEEN %d AND %d
@@ -652,7 +655,8 @@ class Releases
re.releases_id AS reid,
cp.id AS categoryparentid,
v.tvdb, v.trakt, v.tvrage, v.tvmaze, v.imdb, v.tmdb,
tve.firstaired
tve.firstaired,
GROUP_CONCAT(tt.tag_name SEPARATOR ',') AS tags
FROM releases r
LEFT OUTER JOIN video_data re ON re.releases_id = r.id
LEFT OUTER JOIN videos v ON r.videos_id = v.id
@@ -662,6 +666,7 @@ class Releases
LEFT JOIN categories c ON c.id = r.categories_id
LEFT JOIN categories cp ON cp.id = c.parentid
LEFT OUTER JOIN dnzb_failures df ON df.release_id = r.id
LEFT JOIN tagging_tagged tt ON tt.taggable_id = r.id
%s",
$this->getConcatenatedCategoryIDs(),
$whereSql
@@ -735,7 +740,8 @@ class Releases
g.name AS group_name,
cp.id AS categoryparentid,
v.tvdb, v.trakt, v.tvrage, v.tvmaze, v.imdb, v.tmdb,
tve.firstaired, tve.title, tve.series, tve.episode
tve.firstaired, tve.title, tve.series, tve.episode,
GROUP_CONCAT(tt.tag_name SEPARATOR ',') AS tags
FROM releases r
LEFT OUTER JOIN videos v ON r.videos_id = v.id
LEFT OUTER JOIN tv_episodes tve ON r.tv_episodes_id = tve.id
@@ -743,6 +749,7 @@ class Releases
LEFT JOIN groups g ON g.id = r.groups_id
LEFT JOIN categories c ON c.id = r.categories_id
LEFT JOIN categories cp ON cp.id = c.parentid
LEFT JOIN tagging_tagged tt ON tt.taggable_id = r.id
%s",
$this->getConcatenatedCategoryIDs(),
$whereSql
@@ -871,7 +878,8 @@ class Releases
%s AS category_ids,
g.name AS group_name,
rn.releases_id AS nfoid,
re.releases_id AS reid
re.releases_id AS reid,
GROUP_CONCAT(tt.tag_name SEPARATOR ',') AS tags
FROM releases r
LEFT OUTER JOIN videos v ON r.videos_id = v.id AND v.type = 0
LEFT OUTER JOIN tv_info tvi ON v.id = tvi.videos_id
@@ -881,6 +889,7 @@ class Releases
LEFT JOIN groups g ON g.id = r.groups_id
LEFT OUTER JOIN video_data re ON re.releases_id = r.id
LEFT OUTER JOIN release_nfos rn ON rn.releases_id = r.id
LEFT JOIN tagging_tagged tt ON tt.taggable_id = r.id
%s",
$this->getConcatenatedCategoryIDs(),
$whereSql
@@ -1005,7 +1014,8 @@ class Releases
tve.series, tve.episode, tve.se_complete, tve.title, tve.firstaired, cp.title AS parent_category, c.title AS sub_category,
CONCAT(cp.title, ' > ', c.title) AS category_name,
%s AS category_ids,
g.name AS group_name
g.name AS group_name,
GROUP_CONCAT(tt.tag_name SEPARATOR ',') AS tags
FROM releases r
LEFT OUTER JOIN videos v ON r.videos_id = v.id AND v.type = 0
LEFT OUTER JOIN tv_info tvi ON v.id = tvi.videos_id
@@ -1013,6 +1023,7 @@ class Releases
LEFT JOIN categories c ON c.id = r.categories_id
LEFT JOIN categories cp ON cp.id = c.parentid
LEFT JOIN groups g ON g.id = r.groups_id
LEFT JOIN tagging_tagged tt ON tt.taggable_id = r.id
%s",
$this->getConcatenatedCategoryIDs(),
$whereSql
@@ -1074,13 +1085,15 @@ class Releases
%s AS category_ids,
g.name AS group_name,
rn.releases_id AS nfoid,
re.releases_id AS reid
re.releases_id AS reid,
GROUP_CONCAT(tt.tag_name SEPARATOR ',') AS tags
FROM releases r
LEFT JOIN categories c ON c.id = r.categories_id
LEFT JOIN categories cp ON cp.id = c.parentid
LEFT JOIN groups g ON g.id = r.groups_id
LEFT OUTER JOIN release_nfos rn ON rn.releases_id = r.id
LEFT OUTER JOIN releaseextrafull re ON re.releases_id = r.id
LEFT JOIN tagging_tagged tt ON tt.taggable_id = r.id
%s",
$this->getConcatenatedCategoryIDs(),
$whereSql
@@ -1147,13 +1160,15 @@ class Releases
concat(cp.title, ' > ', c.title) AS category_name,
%s AS category_ids,
g.name AS group_name,
rn.releases_id AS nfoid
rn.releases_id AS nfoid,
GROUP_CONCAT(tt.tag_name SEPARATOR ',') AS tags
FROM releases r
LEFT JOIN movieinfo m ON m.id = r.movieinfo_id
LEFT JOIN groups g ON g.id = r.groups_id
LEFT JOIN categories c ON c.id = r.categories_id
LEFT JOIN categories cp ON cp.id = c.parentid
LEFT OUTER JOIN release_nfos rn ON rn.releases_id = r.id
LEFT JOIN tagging_tagged tt ON tt.taggable_id = r.id
%s",
$this->getConcatenatedCategoryIDs(),
$whereSql
+1
View File
@@ -1,4 +1,5 @@
2018-11-02 DariusIII
* Chg: Update Releases class queries to include tags, update ApiTransformer to use them
* Chg: Add category tag constants and use them in categorization
* Chg: Update ouput messages formatting for TV processing
* Chg: Update ReleaseRemover messages output
+3
View File
@@ -34,6 +34,7 @@ class ApiTransformer extends TransformerAbstract
'url' => url('/').'/getnzb?id='.$releases->guid.'.nzb'.'&i='.$this->user->id.'&r='.$this->user->api_token,
'category' => $releases->categories_id,
'category_name' => $releases->category_name,
'tags' => $releases->tags ?? $this->null(),
'added' => Carbon::parse($releases->adddate)->toRssString(),
'size' => $releases->size,
'files' => $releases->totalpart,
@@ -56,6 +57,7 @@ class ApiTransformer extends TransformerAbstract
'url' => url('/').'/getnzb?id='.$releases->guid.'.nzb'.'&i='.$this->user->id.'&r='.$this->user->api_token,
'category' => $releases->categories_id,
'category_name' => $releases->category_name,
'tags' => $releases->tags ?? $this->null(),
'added' => Carbon::parse($releases->adddate)->toRssString(),
'size' => $releases->size,
'files' => $releases->totalpart,
@@ -84,6 +86,7 @@ class ApiTransformer extends TransformerAbstract
'url' => url('/').'/getnzb?id='.$releases->guid.'.nzb'.'&i='.$this->user->id.'&r='.$this->user->api_token,
'category' => $releases->categories_id,
'category_name' => $releases->category_name,
'tags' => $releases->tags ?? $this->null(),
'added' => Carbon::parse($releases->adddate)->toRssString(),
'size' => $releases->size,
'files' => $releases->totalpart,