forked from DebaucheryLibrarian/traxxx
Added stash menu to release page, returning stashes from stash API to avoid reloading or local interpolation.
This commit is contained in:
@@ -22,7 +22,7 @@ async function logoutApi(req, res) {
|
||||
|
||||
async function fetchMeApi(req, res) {
|
||||
if (req.session.user) {
|
||||
req.session.user = await fetchUser(req.session.user.id, req.session.user);
|
||||
req.session.user = await fetchUser(req.session.user.id, false, req.session.user);
|
||||
|
||||
res.send(req.session.user);
|
||||
return;
|
||||
|
||||
@@ -12,23 +12,35 @@ const schemaExtender = makeExtendSchemaPlugin(_build => ({
|
||||
}
|
||||
|
||||
extend type Actor {
|
||||
isStashed: Boolean @requires(columns: ["stashesActors"])
|
||||
isFavorited: Boolean @requires(columns: ["stashesActors"])
|
||||
isStashed(includeFavorites: Boolean = false): Boolean @requires(columns: ["stashesActors"])
|
||||
ageFromBirth: Int @requires(columns: ["dateOfBirth"])
|
||||
ageAtDeath: Int @requires(columns: ["dateOfBirth", "dateOfDeath"])
|
||||
height(units:Units): String @requires(columns: ["height"])
|
||||
weight(units:Units): String @requires(columns: ["weight"])
|
||||
penisLength(units:Units): String @requires(columns: ["penis_length"])
|
||||
penisGirth(units:Units): String @requires(columns: ["penis_girth"])
|
||||
height(units: Units): String @requires(columns: ["height"])
|
||||
weight(units: Units): String @requires(columns: ["weight"])
|
||||
penisLength(units: Units): String @requires(columns: ["penis_length"])
|
||||
penisGirth(units: Units): String @requires(columns: ["penis_girth"])
|
||||
}
|
||||
`,
|
||||
resolvers: {
|
||||
Actor: {
|
||||
isStashed(parent) {
|
||||
if (!parent['@stashes']) {
|
||||
isFavorited(parent) {
|
||||
if (!parent['@stashes'] || typeof parent['@stashes'][0]['@stash'].primary === 'undefined') {
|
||||
return null;
|
||||
}
|
||||
|
||||
return parent['@stashes'].length > 0;
|
||||
return parent['@stashes'].some(({ '@stash': stash }) => stash.primary);
|
||||
},
|
||||
isStashed(parent, args) {
|
||||
if (!parent['@stashes'] || typeof parent['@stashes'][0]['@stash'].primary === 'undefined') {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (args.includeFavorites) {
|
||||
return parent['@stashes'].length > 0;
|
||||
}
|
||||
|
||||
return parent['@stashes'].some(({ '@stash': stash }) => !stash.primary);
|
||||
},
|
||||
ageFromBirth(parent, _args, _context, _info) {
|
||||
if (!parent.dateOfBirth) return null;
|
||||
|
||||
@@ -5,17 +5,29 @@ const { makeExtendSchemaPlugin, gql } = require('graphile-utils');
|
||||
const schemaExtender = makeExtendSchemaPlugin(_build => ({
|
||||
typeDefs: gql`
|
||||
extend type Release {
|
||||
isStashed: Boolean @requires(columns: ["stashesScenesBySceneId"])
|
||||
isFavorited: Boolean @requires(columns: ["stashesScenesBySceneId"])
|
||||
isStashed(includeFavorites: Boolean = false): Boolean @requires(columns: ["stashesScenesBySceneId"])
|
||||
}
|
||||
`,
|
||||
resolvers: {
|
||||
Release: {
|
||||
isStashed(parent) {
|
||||
if (!parent['@stashes']) {
|
||||
isFavorited(parent) {
|
||||
if (!parent['@stashes'] || typeof parent['@stashes'][0]['@stash'].primary === 'undefined') {
|
||||
return null;
|
||||
}
|
||||
|
||||
return parent['@stashes'].length > 0;
|
||||
return parent['@stashes'].some(({ '@stash': stash }) => stash.primary);
|
||||
},
|
||||
isStashed(parent, args) {
|
||||
if (!parent['@stashes'] || typeof parent['@stashes'][0]['@stash'].primary === 'undefined') {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (args.includeFavorites) {
|
||||
return parent['@stashes'].length > 0;
|
||||
}
|
||||
|
||||
return parent['@stashes'].some(({ '@stash': stash }) => !stash.primary);
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
@@ -31,39 +31,39 @@ async function removeStashApi(req, res) {
|
||||
}
|
||||
|
||||
async function stashActorApi(req, res) {
|
||||
await stashActor(req.body.actorId, req.params.stashId, req.session.user);
|
||||
const stashes = await stashActor(req.body.actorId, req.params.stashId, req.session.user);
|
||||
|
||||
res.status(201).send();
|
||||
res.send(stashes);
|
||||
}
|
||||
|
||||
async function stashSceneApi(req, res) {
|
||||
await stashScene(req.body.sceneId, req.params.stashId, req.session.user);
|
||||
const stashes = await stashScene(req.body.sceneId, req.params.stashId, req.session.user);
|
||||
|
||||
res.status(201).send();
|
||||
res.send(stashes);
|
||||
}
|
||||
|
||||
async function stashMovieApi(req, res) {
|
||||
await stashMovie(req.body.movieId, req.params.stashId, req.session.user);
|
||||
const stashes = await stashMovie(req.body.movieId, req.params.stashId, req.session.user);
|
||||
|
||||
res.status(201).send();
|
||||
res.send(stashes);
|
||||
}
|
||||
|
||||
async function unstashActorApi(req, res) {
|
||||
await unstashActor(req.params.actorId, req.params.stashId, req.session.user);
|
||||
const stashes = await unstashActor(req.params.actorId, req.params.stashId, req.session.user);
|
||||
|
||||
res.status(204).send();
|
||||
res.send(stashes);
|
||||
}
|
||||
|
||||
async function unstashSceneApi(req, res) {
|
||||
await unstashScene(req.params.sceneId, req.params.stashId, req.session.user);
|
||||
const stashes = await unstashScene(req.params.sceneId, req.params.stashId, req.session.user);
|
||||
|
||||
res.status(204).send();
|
||||
res.send(stashes);
|
||||
}
|
||||
|
||||
async function unstashMovieApi(req, res) {
|
||||
await unstashMovie(req.params.movieId, req.params.stashId, req.session.user);
|
||||
const stashes = await unstashMovie(req.params.movieId, req.params.stashId, req.session.user);
|
||||
|
||||
res.status(204).send();
|
||||
res.send(stashes);
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
|
||||
Reference in New Issue
Block a user