103 lines
1.5 KiB
JavaScript
103 lines
1.5 KiB
JavaScript
import { graphql } from '../api';
|
|
import { curateStash } from '../curate';
|
|
|
|
function initStashesActions(_store, _router) {
|
|
async function fetchUserStashes(context, userId) {
|
|
const { stashes } = await graphql(`
|
|
query Stashes(
|
|
$userId: Int!
|
|
) {
|
|
stashes(
|
|
filter: {
|
|
userId: {
|
|
equalTo: $userId
|
|
}
|
|
}
|
|
) {
|
|
id
|
|
name
|
|
actors: stashesActors {
|
|
comment
|
|
actor {
|
|
id
|
|
name
|
|
slug
|
|
gender
|
|
age
|
|
ageFromBirth
|
|
dateOfBirth
|
|
birthCity
|
|
birthState
|
|
birthCountry: countryByBirthCountryAlpha2 {
|
|
alpha2
|
|
name
|
|
alias
|
|
}
|
|
avatar: avatarMedia {
|
|
id
|
|
path
|
|
thumbnail
|
|
lazy
|
|
}
|
|
}
|
|
}
|
|
scenes: stashesScenes {
|
|
comment
|
|
scene {
|
|
id
|
|
title
|
|
slug
|
|
url
|
|
date
|
|
actors: releasesActors {
|
|
actor {
|
|
id
|
|
name
|
|
slug
|
|
}
|
|
}
|
|
tags: releasesTags {
|
|
tag {
|
|
id
|
|
name
|
|
slug
|
|
}
|
|
}
|
|
entity {
|
|
id
|
|
name
|
|
slug
|
|
independent
|
|
parent {
|
|
id
|
|
name
|
|
slug
|
|
independent
|
|
}
|
|
}
|
|
poster: releasesPosterByReleaseId {
|
|
media {
|
|
path
|
|
thumbnail
|
|
lazy
|
|
isS3
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
`, {
|
|
userId,
|
|
});
|
|
|
|
return stashes.map(stash => curateStash(stash));
|
|
}
|
|
|
|
return {
|
|
fetchUserStashes,
|
|
};
|
|
}
|
|
|
|
export default initStashesActions;
|