Compare commits

..

No commits in common. "4ca07631c70fcf39d69a4ad3f9536b1b86ea7588" and "681db027843e2cea75496a074f619af4602e1d76" have entirely different histories.

5 changed files with 45 additions and 15 deletions

View File

@ -22,6 +22,8 @@ function initEntitiesActions(store, router) {
$offset: Int = 0, $offset: Int = 0,
$after: Datetime = "1900-01-01", $after: Datetime = "1900-01-01",
$before: Datetime = "2100-01-01", $before: Datetime = "2100-01-01",
$afterTime: Datetime = "1900-01-01",
$beforeTime: Datetime = "2100-01-01",
$orderBy: [ReleasesOrderBy!] $orderBy: [ReleasesOrderBy!]
$exclude: [String!] $exclude: [String!]
$hasAuth: Boolean! $hasAuth: Boolean!
@ -89,19 +91,20 @@ function initEntitiesActions(store, router) {
or: [ or: [
{ {
date: { date: {
isNull: ${entityType === 'channel'} lessThan: $before,
greaterThan: $after
} }
} },
{ {
date: { date: {
isNull: false isNull: true
},
createdAt: {
lessThan: $beforeTime,
greaterThan: $afterTime,
} }
} }
] ]
effectiveDate: {
lessThan: $before,
greaterThan: $after
}
releasesTagsConnection: { releasesTagsConnection: {
none: { none: {
tag: { tag: {
@ -128,6 +131,8 @@ function initEntitiesActions(store, router) {
after, after,
before, before,
orderBy, orderBy,
afterTime: store.getters.after,
beforeTime: store.getters.before,
exclude: store.state.ui.tagFilter, exclude: store.state.ui.tagFilter,
hasAuth: !!store.state.auth.user, hasAuth: !!store.state.auth.user,
userId: store.state.auth.user?.id, userId: store.state.auth.user?.id,

View File

@ -3,6 +3,30 @@ import dayjs from 'dayjs';
dayjs.extend(utc); dayjs.extend(utc);
const dateRanges = {
latest: () => ({
after: '1900-01-01',
before: dayjs.utc().toDate(),
orderBy: ['DATE_DESC', 'CREATED_AT_DESC'],
}),
upcoming: () => ({
after: dayjs.utc().toDate(),
before: '2100-01-01',
orderBy: ['DATE_ASC', 'CREATED_AT_ASC'],
}),
new: () => ({
after: '1900-01-01 00:00:00',
before: '2100-01-01',
orderBy: ['CREATED_AT_DESC', 'DATE_ASC'],
}),
all: () => ({
after: '1900-01-01',
before: '2100-01-01',
orderBy: ['DATE_DESC', 'CREATED_AT_DESC'],
}),
};
/* requires PostgreSQL 12.x> not available in production yet
const dateRanges = { const dateRanges = {
latest: () => ({ latest: () => ({
after: '1900-01-01', after: '1900-01-01',
@ -25,6 +49,7 @@ const dateRanges = {
orderBy: ['EFFECTIVE_DATE_DESC'], orderBy: ['EFFECTIVE_DATE_DESC'],
}), }),
}; };
*/
function getDateRange(range) { function getDateRange(range) {
return (dateRanges[range] || dateRanges.all)(); return (dateRanges[range] || dateRanges.all)();

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{ {
"name": "traxxx", "name": "traxxx",
"version": "1.203.8", "version": "1.203.7",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "traxxx", "name": "traxxx",
"version": "1.203.8", "version": "1.203.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.203.8", "version": "1.203.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

@ -136,15 +136,15 @@ function getEntryId(html) {
function scrapeAll(scenes, site, entryIdFromTitle) { function scrapeAll(scenes, site, entryIdFromTitle) {
return scenes.map(({ el, query }) => { return scenes.map(({ el, query }) => {
const release = {}; const release = {};
const title = query.cnt('.content_img div, .dvd_info > a, a.update_title, a[title] + a[title]') || query.cnt('a[title*=" "]'); const title = query.cnt('.content_img div, .dvd_info > a, a ~ a');
release.title = title?.slice(0, title.match(/starring:/i)?.index || Infinity).trim(); release.title = title.slice(0, title.match(/starring:/i)?.index || Infinity).trim();
release.url = query.url('.content_img a, .dvd_info > a, a.update_title, a[title*=" "]'); release.url = query.url('.content_img a, .dvd_info > a, a ~ a');
release.date = query.date('.update_date', 'MM/DD/YYYY'); release.date = query.date('.update_date', 'MM/DD/YYYY');
release.entryId = (entryIdFromTitle && slugify(release.title)) || el.dataset.setid || query.q('.rating_box')?.dataset.id; release.entryId = (entryIdFromTitle && slugify(release.title)) || el.dataset.setid || query.q('.rating_box')?.dataset.id;
release.actors = query.all('.content_img .update_models a, .update_models a').map((actorEl) => ({ release.actors = query.all('.content_img .update_models a').map((actorEl) => ({
name: query.cnt(actorEl), name: query.cnt(actorEl),
url: query.url(actorEl, null), url: query.url(actorEl, null),
})); }));
@ -319,7 +319,7 @@ function scrapeMovie({ el, query }, url, site) {
?.map((scene) => ({ ...scene, movie })) ?.map((scene) => ({ ...scene, movie }))
.sort((sceneA, sceneB) => sceneA.date - sceneB.date); .sort((sceneA, sceneB) => sceneA.date - sceneB.date);
movie.date = curatedScenes?.[0]?.date; movie.date = curatedScenes?.[0].date;
return { return {
...movie, ...movie,