Compare commits

..

No commits in common. "86f56695e25164168c751a4c0007e80f7aa43794" and "4c503a317794ee185707dbfbe15eab7ca9042723" have entirely different histories.

8 changed files with 19 additions and 17 deletions

1
.gitignore vendored
View File

@ -10,4 +10,3 @@ config/*
assets/js/config/ assets/js/config/
!assets/js/config/default.js !assets/js/config/default.js
*.heapprofile *.heapprofile
*.heapsnapshot

View File

@ -1,6 +1,6 @@
const config = require('config'); const config = require('config');
exports.up = (knex) => Promise.resolve() exports.up = knex => Promise.resolve()
.then(() => knex.schema.createTable('countries', (table) => { .then(() => knex.schema.createTable('countries', (table) => {
table.text('alpha2', 2) table.text('alpha2', 2)
.unique() .unique()

View File

@ -1,4 +1,4 @@
exports.up = async (knex) => knex.raw(` exports.up = async knex => knex.raw(`
CREATE FUNCTION entities_scenes(entity entities) RETURNS SETOF releases AS $$ CREATE FUNCTION entities_scenes(entity entities) RETURNS SETOF releases AS $$
WITH RECURSIVE children AS ( WITH RECURSIVE children AS (
SELECT entities.id SELECT entities.id
@ -19,6 +19,6 @@ exports.up = async (knex) => knex.raw(`
COMMENT ON FUNCTION entities_scenes IS E'@sortable'; COMMENT ON FUNCTION entities_scenes IS E'@sortable';
`); `);
exports.down = async (knex) => knex.raw(` exports.down = async knex => knex.raw(`
DROP FUNCTION IF EXISTS entities_scenes; DROP FUNCTION IF EXISTS entities_scenes;
`); `);

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{ {
"name": "traxxx", "name": "traxxx",
"version": "1.204.11", "version": "1.204.10",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "traxxx", "name": "traxxx",
"version": "1.204.11", "version": "1.204.10",
"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.204.11", "version": "1.204.10",
"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

@ -186,8 +186,8 @@ async function init() {
} }
if (argv.save) { if (argv.save) {
const storedMovies = await storeMovies(deepMovies, storedScenes[0]?.batchId); const storedMovies = await storeMovies(deepMovies);
const storedMovieScenes = await storeScenes(deepMovieScenes, storedScenes[0]?.batchId); const storedMovieScenes = await storeScenes(deepMovieScenes);
await associateMovieScenes(storedMovies, [...storedScenes, ...storedMovieScenes]); await associateMovieScenes(storedMovies, [...storedScenes, ...storedMovieScenes]);
} }

View File

@ -179,6 +179,8 @@ async function getSession(site, parameters) {
const cookieString = await cookieJar.getCookieStringAsync(sessionUrl); const cookieString = await cookieJar.getCookieStringAsync(sessionUrl);
const { instance_token: instanceToken } = cookie.parse(cookieString); const { instance_token: instanceToken } = cookie.parse(cookieString);
console.log(site.name, instanceToken);
return { session, instanceToken }; return { session, instanceToken };
} }
@ -240,6 +242,8 @@ async function fetchLatest(site, page = 1, options) {
const { session, instanceToken } = options.beforeNetwork?.headers?.Instance ? options.beforeNetwork : await getSession(site, options.parameters); const { session, instanceToken } = options.beforeNetwork?.headers?.Instance ? options.beforeNetwork : await getSession(site, options.parameters);
console.log('fetch', instanceToken);
const beforeDate = moment().add('1', 'day').format('YYYY-MM-DD'); const beforeDate = moment().add('1', 'day').format('YYYY-MM-DD');
const limit = 24; const limit = 24;
const apiUrl = site.parameters?.native || site.parameters?.extract const apiUrl = site.parameters?.native || site.parameters?.extract

View File

@ -136,7 +136,7 @@ async function attachStudios(releases) {
return releasesWithStudio; return releasesWithStudio;
} }
function attachReleaseIds(releases, storedReleases, batchId) { function attachReleaseIds(releases, storedReleases) {
const storedReleaseIdsByEntityIdAndEntryId = storedReleases.reduce((acc, release) => { const storedReleaseIdsByEntityIdAndEntryId = storedReleases.reduce((acc, release) => {
if (!acc[release.entity_id]) acc[release.entity_id] = {}; if (!acc[release.entity_id]) acc[release.entity_id] = {};
acc[release.entity_id][release.entry_id] = release.id; acc[release.entity_id][release.entry_id] = release.id;
@ -157,7 +157,6 @@ function attachReleaseIds(releases, storedReleases, batchId) {
return { return {
...release, ...release,
id, id,
batchId,
}; };
} }
@ -315,12 +314,12 @@ async function storeChapters(releases) {
await associateReleaseMedia(chaptersWithId, 'chapter'); await associateReleaseMedia(chaptersWithId, 'chapter');
} }
async function storeScenes(releases, useBatchId) { async function storeScenes(releases) {
if (!releases || releases.length === 0) { if (!releases || releases.length === 0) {
return []; return [];
} }
const [batchId] = useBatchId ? [useBatchId] : await knex('batches').insert({ comment: null }).returning('id'); const [batchId] = await knex('batches').insert({ comment: null }).returning('id');
const releasesWithChannels = await attachChannelEntities(releases); const releasesWithChannels = await attachChannelEntities(releases);
const releasesWithBaseActors = releasesWithChannels.map((release) => ({ ...release, actors: toBaseActors(release.actors) })); const releasesWithBaseActors = releasesWithChannels.map((release) => ({ ...release, actors: toBaseActors(release.actors) }));
@ -334,8 +333,8 @@ async function storeScenes(releases, useBatchId) {
const storedReleaseEntries = Array.isArray(storedReleases) ? storedReleases : []; const storedReleaseEntries = Array.isArray(storedReleases) ? storedReleases : [];
const uniqueReleasesWithId = attachReleaseIds(uniqueReleases, storedReleaseEntries, batchId); const uniqueReleasesWithId = attachReleaseIds(uniqueReleases, storedReleaseEntries);
const duplicateReleasesWithId = attachReleaseIds(duplicateReleases, duplicateReleaseEntries, batchId); const duplicateReleasesWithId = attachReleaseIds(duplicateReleases, duplicateReleaseEntries);
const releasesWithId = uniqueReleasesWithId.concat(duplicateReleasesWithId); const releasesWithId = uniqueReleasesWithId.concat(duplicateReleasesWithId);
const updated = await knex.raw(` const updated = await knex.raw(`
@ -445,13 +444,13 @@ async function updateMovieSearch(movieIds) {
} }
} }
async function storeMovies(movies, useBatchId) { async function storeMovies(movies) {
if (!movies || movies.length === 0) { if (!movies || movies.length === 0) {
return []; return [];
} }
const { uniqueReleases } = await filterDuplicateReleases(movies); const { uniqueReleases } = await filterDuplicateReleases(movies);
const [batchId] = useBatchId ? [useBatchId] : await knex('batches').insert({ comment: null }).returning('id'); const [batchId] = await knex('batches').insert({ comment: null }).returning('id');
const curatedMovieEntries = await Promise.all(uniqueReleases.map((release) => curateReleaseEntry(release, batchId, null, 'movie'))); const curatedMovieEntries = await Promise.all(uniqueReleases.map((release) => curateReleaseEntry(release, batchId, null, 'movie')));