Compare commits

..

No commits in common. "2b808025f9014f5d5400e38ef673e014a79ccbc6" and "7bc4a955ba0cdae3fa7e925295e599ef899c0066" have entirely different histories.

6 changed files with 37 additions and 34 deletions

View File

@ -11,7 +11,7 @@
<span class="copy">By entering, you agree to the following</span> <span class="copy">By entering, you agree to the following</span>
<ul class="rules"> <ul class="rules">
<li class="rule">You are at least 18 years old, and legally permitted to view adult material in your jurisdiction.</li> <li class="rule">You are at least 18 years old, and legally permitted to consume adult material in your jurisdiction.</li>
<li class="rule">You are prepared see, hear and read erotic and sexual material, and do not regard such content as obscene or offensive.</li> <li class="rule">You are prepared see, hear and read erotic and sexual material, and do not regard such content as obscene or offensive.</li>
<li class="rule">You understand that most sexual scenarios depicted on this website are fictional, performed by professional actors for the purpose of entertainment, and not representative of real-life interactions.</li> <li class="rule">You understand that most sexual scenarios depicted on this website are fictional, performed by professional actors for the purpose of entertainment, and not representative of real-life interactions.</li>
<li class="rule">Respect your sexual partners, communicate about each other's desires and limits, and take precautions to prevent sexually transmitted infections and unintended pregnancies.</li> <li class="rule">Respect your sexual partners, communicate about each other's desires and limits, and take precautions to prevent sexually transmitted infections and unintended pregnancies.</li>

2
package-lock.json generated
View File

@ -1,6 +1,6 @@
{ {
"name": "traxxx", "name": "traxxx",
"version": "1.147.0", "version": "1.146.6",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {

View File

@ -1,6 +1,6 @@
{ {
"name": "traxxx", "name": "traxxx",
"version": "1.147.0", "version": "1.146.6",
"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

@ -99,7 +99,7 @@ function withRelations(queryBuilder, withMedia = false) {
} }
} }
async function fetchScene(releaseId) { async function fetchRelease(releaseId) {
const release = await knex('releases') const release = await knex('releases')
.where('releases.id', releaseId) .where('releases.id', releaseId)
.modify(withRelations, true) .modify(withRelations, true)
@ -108,7 +108,7 @@ async function fetchScene(releaseId) {
return curateRelease(release, true); return curateRelease(release, true);
} }
async function fetchScenes(limit = 100) { async function fetchReleases(limit = 100) {
const releases = await knex('releases') const releases = await knex('releases')
.modify(withRelations, false) .modify(withRelations, false)
.limit(Math.min(limit, 1000000)); .limit(Math.min(limit, 1000000));
@ -116,7 +116,7 @@ async function fetchScenes(limit = 100) {
return releases.map(release => curateRelease(release)); return releases.map(release => curateRelease(release));
} }
async function searchScenes(query, limit = 100) { async function searchReleases(query, limit = 100) {
const releases = await knex const releases = await knex
.from(knex.raw('search_releases(?) as releases', [query])) .from(knex.raw('search_releases(?) as releases', [query]))
.modify(withRelations, false) .modify(withRelations, false)
@ -189,10 +189,10 @@ async function flushBatches(batchIds) {
module.exports = { module.exports = {
curateRelease, curateRelease,
fetchScene, fetchRelease,
fetchScenes, fetchReleases,
flushBatches, flushBatches,
searchScenes, searchReleases,
deleteScenes, deleteScenes,
deleteMovies, deleteMovies,
}; };

View File

@ -1,46 +1,49 @@
'use strict'; 'use strict';
const config = require('config'); const { fetchRelease, fetchReleases, searchReleases } = require('../releases');
const path = require('path');
const { fetchScene, fetchScenes, searchScenes } = require('../releases'); async function fetchReleaseApi(req, res, type = 'scene') {
const release = await fetchRelease(req.params.releaseId, type);
async function fetchSceneApi(req, res) {
const release = await fetchScene(req.params.releaseId);
if (release) { if (release) {
res.send({ scene: release }); res.send({ [type]: release });
return; return;
} }
res.status(404).send({ scene: null }); res.status(404).send({ [type]: null });
} }
async function fetchScenesApi(req, res) { async function fetchReleasesApi(req, res, type = 'scene') {
const query = req.query.query || req.query.q; const query = req.query.query || req.query.q;
const releases = query const releases = query
? await searchScenes(query, req.query.limit) ? await searchReleases(query, req.query.limit, type)
: await fetchScenes(req.query.limit); : await fetchReleases(req.query.limit, type);
res.send({ scenes: releases }); res.send({ [`${type}s`]: releases });
} }
async function fetchScenePosterApi(req, res) { async function fetchSceneApi(req, res) {
const scene = await fetchScene(req.params.releaseId); return fetchReleaseApi(req, res, 'scene');
const posterPath = scene?.poster?.path;
if (posterPath) {
res.sendFile(path.resolve(config.media.path, posterPath));
return;
} }
res.status(404).send(); async function fetchScenesApi(req, res) {
return fetchReleasesApi(req, res, 'scene');
}
async function fetchMovieApi(req, res) {
return fetchReleaseApi(req, res, 'movie');
}
async function fetchMoviesApi(req, res) {
return fetchReleasesApi(req, res, 'movie');
} }
module.exports = { module.exports = {
fetchRelease: fetchReleaseApi,
fetchReleases: fetchReleasesApi,
fetchScene: fetchSceneApi, fetchScene: fetchSceneApi,
fetchMovie: fetchMovieApi,
fetchScenes: fetchScenesApi, fetchScenes: fetchScenesApi,
fetchScenePoster: fetchScenePosterApi, fetchMovies: fetchMoviesApi,
}; };

View File

@ -17,7 +17,8 @@ const { ActorPlugins, SitePlugins, ReleasePlugins } = require('./plugins/plugins
const { const {
fetchScene, fetchScene,
fetchScenes, fetchScenes,
fetchScenePoster, fetchMovie,
fetchMovies,
} = require('./releases'); } = require('./releases');
const { const {
@ -80,10 +81,9 @@ async function initServer() {
router.get('/api/scenes', fetchScenes); router.get('/api/scenes', fetchScenes);
router.get('/api/scenes/:releaseId', fetchScene); router.get('/api/scenes/:releaseId', fetchScene);
router.get('/api/scenes/:releaseId/poster', fetchScenePoster);
// router.get('/api/movies', fetchMovies); router.get('/api/movies', fetchMovies);
// router.get('/api/movies/:releaseId', fetchMovie); router.get('/api/movies/:releaseId', fetchMovie);
router.get('/api/actors', fetchActors); router.get('/api/actors', fetchActors);
router.get('/api/actors/:actorId', fetchActor); router.get('/api/actors/:actorId', fetchActor);