Compare commits
No commits in common. "ec70c4f0c7816182b3497a3458b8f19d1e8a68ce" and "0b5b9c8aa47739d00bc559d0198d135861090325" have entirely different histories.
ec70c4f0c7
...
0b5b9c8aa4
|
@ -32,44 +32,42 @@ function initReleasesActions(store, _router) {
|
|||
$limit: Int = 20
|
||||
) {
|
||||
releases: searchReleases(
|
||||
query: $query
|
||||
search: $query
|
||||
first: $limit
|
||||
) {
|
||||
releaseById {
|
||||
id
|
||||
title
|
||||
date
|
||||
url
|
||||
site {
|
||||
id
|
||||
title
|
||||
date
|
||||
slug
|
||||
name
|
||||
url
|
||||
site {
|
||||
network {
|
||||
id
|
||||
slug
|
||||
name
|
||||
url
|
||||
network {
|
||||
id
|
||||
slug
|
||||
name
|
||||
url
|
||||
}
|
||||
}
|
||||
actors: releasesActors {
|
||||
actor {
|
||||
id
|
||||
slug
|
||||
name
|
||||
}
|
||||
}
|
||||
actors: releasesActors {
|
||||
actor {
|
||||
id
|
||||
slug
|
||||
name
|
||||
}
|
||||
tags: releasesTags {
|
||||
tag {
|
||||
id
|
||||
name
|
||||
slug
|
||||
}
|
||||
}
|
||||
tags: releasesTags {
|
||||
tag {
|
||||
id
|
||||
name
|
||||
slug
|
||||
}
|
||||
poster: releasesPosterByReleaseId {
|
||||
media {
|
||||
thumbnail
|
||||
}
|
||||
}
|
||||
poster: releasesPosterByReleaseId {
|
||||
media {
|
||||
thumbnail
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -81,7 +79,7 @@ function initReleasesActions(store, _router) {
|
|||
|
||||
if (!res) return [];
|
||||
|
||||
return res.releases.map(release => curateRelease(release.releaseById));
|
||||
return res.releases.map(release => curateRelease(release));
|
||||
}
|
||||
|
||||
async function fetchReleaseById({ _commit }, releaseId) {
|
||||
|
|
|
@ -1,34 +1,14 @@
|
|||
exports.up = knex => Promise.resolve()
|
||||
.then(() => knex.raw(`
|
||||
CREATE VIEW releases_document AS
|
||||
SELECT
|
||||
releases.id,
|
||||
releases.site_id,
|
||||
to_tsvector(releases.title) ||
|
||||
to_tsvector(sites.name) ||
|
||||
to_tsvector(sites.slug) ||
|
||||
to_tsvector(replace(CAST(releases.date AS VARCHAR), '-', ' ')) ||
|
||||
to_tsvector(string_agg(actors.name, ' ')) ||
|
||||
to_tsvector(string_agg(tags.name, ' ')) as document
|
||||
FROM releases
|
||||
JOIN releases_actors AS local_actors ON local_actors.release_id = releases.id
|
||||
JOIN releases_tags AS local_tags ON local_tags.release_id = releases.id
|
||||
JOIN sites ON releases.site_id = sites.id
|
||||
JOIN actors ON local_actors.actor_id = actors.id
|
||||
JOIN tags ON local_tags.tag_id = tags.id
|
||||
GROUP BY releases.id, sites.name, sites.slug;
|
||||
|
||||
COMMENT ON VIEW releases_document IS E'@foreignKey (id) references releases (id)\n@foreignKey (site_id) references sites (id)';
|
||||
|
||||
CREATE FUNCTION search_releases(query text) RETURNS SETOF releases_document AS $$
|
||||
SELECT * FROM releases_document AS search
|
||||
WHERE search.document @@ plainto_tsquery(replace(query, '.', ' '))
|
||||
ORDER BY ts_rank(search.document, plainto_tsquery(replace(query, '.', ' '))) DESC;
|
||||
CREATE FUNCTION search_releases(search text) RETURNS SETOF releases AS $$
|
||||
SELECT * FROM releases
|
||||
WHERE
|
||||
title ILIKE ('%' || search || '%') OR
|
||||
url ILIKE ('%' || search || '%')
|
||||
$$ LANGUAGE SQL STABLE;
|
||||
`));
|
||||
|
||||
exports.down = knex => Promise.resolve()
|
||||
.then(() => knex.raw(`
|
||||
DROP FUNCTION IF EXISTS search_releases;
|
||||
DROP VIEW IF EXISTS releases_document;
|
||||
`));
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "traxxx",
|
||||
"version": "1.102.1",
|
||||
"version": "1.102.0",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "traxxx",
|
||||
"version": "1.102.1",
|
||||
"version": "1.102.0",
|
||||
"description": "All the latest porn releases in one place",
|
||||
"main": "src/app.js",
|
||||
"scripts": {
|
||||
|
|
Loading…
Reference in New Issue