Compare commits

..

No commits in common. "2076028697c102ff262b0dae6eda55cc62b36653" and "2e2d8a15ac245d40a7677a69996fce5286b6310b" have entirely different histories.

6 changed files with 59 additions and 44 deletions

View File

@ -415,12 +415,11 @@ const releaseFields = `
`; `;
const releasesFragment = ` const releasesFragment = `
connection: releasesShowcasedsConnection( connection: releasesConnection(
filter: { filter: {
release: {
date: { date: {
lessThan: $before, lessThan: $before,
greaterThan: $after greaterThan: $after,
} }
releasesTagsConnection: { releasesTagsConnection: {
none: { none: {
@ -432,17 +431,33 @@ const releasesFragment = `
} }
} }
} }
# isShowcased: {
# equalTo: true
# }
or: [
{
entity: {
showcased: {
equalTo: true
} }
}
}
{
studio: {
showcased: {
equalTo: true
}
}
}
]
}, },
first: $limit, first: $limit,
offset: $offset, offset: $offset,
orderBy: $orderBy orderBy: $orderBy,
) { ) {
releases: nodes { releases: nodes {
release {
${releaseFields} ${releaseFields}
} }
}
totalCount totalCount
} }
`; `;

View File

@ -22,7 +22,7 @@ function initReleasesActions(store, router) {
$offset:Int = 0, $offset:Int = 0,
$after:Datetime = "1900-01-01 00:00:00", $after:Datetime = "1900-01-01 00:00:00",
$before:Datetime = "2100-01-01 00:00:00", $before:Datetime = "2100-01-01 00:00:00",
$orderBy: [ReleasesShowcasedsOrderBy!], $orderBy: [ReleasesOrderBy!],
$exclude: [String!] $exclude: [String!]
) { ) {
${releasesFragment} ${releasesFragment}
@ -34,12 +34,12 @@ function initReleasesActions(store, router) {
offset: Math.max(0, (pageNumber - 1)) * limit, offset: Math.max(0, (pageNumber - 1)) * limit,
after, after,
before, before,
orderBy: `RELEASE_BY_RELEASE_ID__${orderBy}`, orderBy,
exclude: store.state.ui.tagFilter, exclude: store.state.ui.tagFilter,
}); });
return { return {
releases: releases.map((release) => curateRelease(release.release || release)), releases: releases.map((release) => curateRelease(release)),
totalCount, totalCount,
}; };
} }

View File

@ -1,20 +1,20 @@
const config = require('config'); exports.up = async (knex) => Promise.resolve()
.then(() => knex.raw(`
exports.up = async (knex) => knex.raw(` CREATE FUNCTION releases_is_showcased(release releases) RETURNS BOOLEAN AS $$
CREATE VIEW releases_showcased AS ( SELECT COALESCE(entities.showcased, false) OR COALESCE(studios.showcased, false) FROM releases
SELECT releases.id AS release_id FROM releases
LEFT JOIN entities ON entities.id = releases.entity_id LEFT JOIN entities ON entities.id = releases.entity_id
LEFT JOIN entities AS studios ON studios.id = releases.studio_id LEFT JOIN entities AS studios ON studios.id = releases.studio_id
WHERE entities.showcased WHERE releases.id = release.id
OR entities.showcased $$ LANGUAGE SQL STABLE;
); `)).then(() => knex.schema.alterTable('releases', (table) => {
table.index('entity_id');
table.index('studio_id');
}));
COMMENT ON VIEW releases_showcased IS E'@foreignKey (release_id) references releases (id)'; exports.down = async (knex) => Promise.resolve()
GRANT SELECT ON releases_showcased TO :visitor; .then(() => knex.schema.alterTable('releases', (table) => {
`, { table.dropIndex('entity_id');
visitor: knex.raw(config.database.query.user), table.dropIndex('studio_id');
}); })).then(() => knex.raw(`
DROP FUNCTION IF EXISTS releases_is_showcased;
exports.down = async (knex) => knex.raw(` `));
DROP VIEW IF EXISTS releases_showcased;
`);

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{ {
"name": "traxxx", "name": "traxxx",
"version": "1.225.8", "version": "1.225.7",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "traxxx", "name": "traxxx",
"version": "1.225.8", "version": "1.225.7",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"@casl/ability": "^5.2.2", "@casl/ability": "^5.2.2",

View File

@ -1,6 +1,6 @@
{ {
"name": "traxxx", "name": "traxxx",
"version": "1.225.8", "version": "1.225.7",
"description": "All the latest porn releases in one place", "description": "All the latest porn releases in one place",
"main": "src/app.js", "main": "src/app.js",
"scripts": { "scripts": {

View File

@ -632,7 +632,7 @@ streamQueue.define('fetchStreamSource', async ({ source, tempFileTarget, hashStr
}); });
async function fetchSource(source, baseMedia) { async function fetchSource(source, baseMedia) {
const maxAttempts = source.attempts || argv.mediaAttempts || 3; const maxAttempts = source.attempts || 3;
logger.silly(`Fetching media from ${source.src}`); logger.silly(`Fetching media from ${source.src}`);
logger.debug(`Memory usage before media fetch: ${process.memoryUsage.rss() / 1000000} MB (${source.src})`); logger.debug(`Memory usage before media fetch: ${process.memoryUsage.rss() / 1000000} MB (${source.src})`);