Compare commits
No commits in common. "2b808025f9014f5d5400e38ef673e014a79ccbc6" and "7bc4a955ba0cdae3fa7e925295e599ef899c0066" have entirely different histories.
2b808025f9
...
7bc4a955ba
|
@ -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>
|
||||||
|
|
|
@ -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": {
|
||||||
|
|
|
@ -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": {
|
||||||
|
|
|
@ -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,
|
||||||
};
|
};
|
||||||
|
|
|
@ -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,
|
||||||
};
|
};
|
||||||
|
|
|
@ -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);
|
||||||
|
|
Loading…
Reference in New Issue