Abstracted fragments and curation. Using GraphQL for tags.

This commit is contained in:
2019-12-16 05:30:25 +01:00
parent f4c2e6c08c
commit 6950a76cb5
10 changed files with 260 additions and 159 deletions

119
assets/js/fragments.js Normal file
View File

@@ -0,0 +1,119 @@
const siteFragment = `
site {
id
name
slug
url
network {
id
name
slug
url
}
}
`;
const releaseActorsFragment = `
actors: releasesActors(orderBy: GENDER_ASC) {
actor: releaseActor {
id
name
slug
birthdate
age
originCountry: countryByBirthCountryAlpha2 {
alpha2
name
alias
}
avatar: actorsMediasByTargetId(condition: { role: "avatar" }) {
thumbnail
}
}
}
`;
const releaseTagsFragment = `
tags: releasesTagsByTargetId {
tag: releaseTag {
name
priority
slug
id
}
}
`;
const releasePosterFragment = `
poster: releasesMediasByTargetId(condition: { role: "poster" }) {
index
path
thumbnail
}
`;
const releasePhotosFragment = `
photos: releasesMediasByTargetId(condition: { role: "photo" }) {
index
path
thumbnail
}
`;
const releaseTrailerFragment = `
trailer: releasesMediasByTargetId(condition: { role: "trailer" }) {
index
path
thumbnail
}
`;
const releasesFragment = `
releases(first:$limit, orderBy: DATE_DESC) {
id
title
date
createdAt
url
${releaseActorsFragment}
${releaseTagsFragment}
${releasePosterFragment}
${siteFragment}
}
`;
const releaseFragment = `
release(id: $releaseId) {
id
title
description
date
duration
createdAt
shootId
url
${releaseActorsFragment}
${releaseTagsFragment}
${releasePosterFragment}
${releasePhotosFragment}
${releaseTrailerFragment}
${siteFragment}
studio {
id
name
slug
url
}
}
`;
export {
releaseActorsFragment,
releaseTagsFragment,
releasePosterFragment,
releasePhotosFragment,
releaseTrailerFragment,
releasesFragment,
releaseFragment,
siteFragment,
};