Handling NULL actors and tags in search table query. Added limit parameter to home URL, default to 30.

This commit is contained in:
ThePendulum 2020-02-29 03:22:51 +01:00
parent 9c4cc24f42
commit a828fee476
2 changed files with 7 additions and 4 deletions

View File

@ -13,7 +13,10 @@ import FilterBar from '../header/filter-bar.vue';
import Releases from '../releases/releases.vue'; import Releases from '../releases/releases.vue';
async function fetchReleases() { async function fetchReleases() {
this.releases = await this.$store.dispatch('fetchReleases', { limit: 50 }); this.releases = await this.$store.dispatch('fetchReleases', {
limit: (this.$route.query && this.$route.query.limit && Number(this.$route.query.limit)) || 30,
});
this.$store.commit('setCache', { this.$store.commit('setCache', {
target: 'home', target: 'home',
releases: this.releases, releases: this.releases,

View File

@ -378,8 +378,8 @@ async function updateReleasesSearch(releaseIds) {
sites.name || ' ' || sites.name || ' ' ||
sites.slug || ' ' || sites.slug || ' ' ||
replace(CAST(releases.date AS VARCHAR), '-', ' ') || ' ' || replace(CAST(releases.date AS VARCHAR), '-', ' ') || ' ' ||
string_agg(actors.name, ' ') || ' ' || string_agg(coalesce(actors.name, ''), ' ') || ' ' ||
string_agg(tags.name, ' ') string_agg(coalesce(tags.name, ''), ' ')
) as document ) as document
FROM releases FROM releases
JOIN sites ON releases.site_id = sites.id JOIN sites ON releases.site_id = sites.id
@ -391,7 +391,7 @@ async function updateReleasesSearch(releaseIds) {
GROUP BY releases.id, sites.name, sites.slug; GROUP BY releases.id, sites.name, sites.slug;
`, [releaseIds]); `, [releaseIds]);
if (documents.row?.length > 0) { if (documents.rows?.length > 0) {
const query = knex('releases_search').insert(documents.rows).toString(); const query = knex('releases_search').insert(documents.rows).toString();
await knex.raw(`${query} ON CONFLICT (release_id) DO UPDATE SET document = EXCLUDED.document`); await knex.raw(`${query} ON CONFLICT (release_id) DO UPDATE SET document = EXCLUDED.document`);
} }