Add Studio to movie and fix movie schema (#458)

* Add movie migration
* Update server and UI code for type changes
* Add studio to movies
* Movie blobs to end
* Document movie duration
* Add filtering on movie studio
This commit is contained in:
WithoutPants
2020-04-22 11:22:14 +10:00
committed by GitHub
parent f21e04dcbc
commit eee7adfb85
30 changed files with 531 additions and 144 deletions

View File

@@ -7,6 +7,11 @@ fragment MovieData on Movie {
date
rating
director
studio {
...StudioData
}
synopsis
url
front_image_path

View File

@@ -1,16 +1,17 @@
mutation MovieCreate(
$name: String!,
$aliases: String,
$duration: String,
$duration: Int,
$date: String,
$rating: String,
$rating: Int,
$studio_id: ID,
$director: String,
$synopsis: String,
$url: String,
$front_image: String,
$back_image: String) {
movieCreate(input: { name: $name, aliases: $aliases, duration: $duration, date: $date, rating: $rating, director: $director, synopsis: $synopsis, url: $url, front_image: $front_image, back_image: $back_image }) {
movieCreate(input: { name: $name, aliases: $aliases, duration: $duration, date: $date, rating: $rating, studio_id: $studio_id, director: $director, synopsis: $synopsis, url: $url, front_image: $front_image, back_image: $back_image }) {
...MovieData
}
}
@@ -19,16 +20,17 @@ mutation MovieUpdate(
$id: ID!
$name: String,
$aliases: String,
$duration: String,
$duration: Int,
$date: String,
$rating: String,
$rating: Int,
$studio_id: ID,
$director: String,
$synopsis: String,
$url: String,
$front_image: String,
$back_image: String) {
movieUpdate(input: { id: $id, name: $name, aliases: $aliases, duration: $duration, date: $date, rating: $rating, director: $director, synopsis: $synopsis, url: $url, front_image: $front_image, back_image: $back_image }) {
movieUpdate(input: { id: $id, name: $name, aliases: $aliases, duration: $duration, date: $date, rating: $rating, studio_id: $studio_id, director: $director, synopsis: $synopsis, url: $url, front_image: $front_image, back_image: $back_image }) {
...MovieData
}
}

View File

@@ -1,5 +1,5 @@
query FindMovies($filter: FindFilterType) {
findMovies(filter: $filter) {
query FindMovies($filter: FindFilterType, $movie_filter: MovieFilterType) {
findMovies(filter: $filter, movie_filter: $movie_filter) {
count
movies {
...MovieData

View File

@@ -25,7 +25,7 @@ type Query {
"""Find a movie by ID"""
findMovie(id: ID!): Movie
"""A function which queries Movie objects"""
findMovies(filter: FindFilterType): FindMoviesResultType!
findMovies(movie_filter: MovieFilterType, filter: FindFilterType): FindMoviesResultType!
findGallery(id: ID!): Gallery
findGalleries(filter: FindFilterType): FindGalleriesResultType!

View File

@@ -86,6 +86,11 @@ input SceneFilterType {
performers: MultiCriterionInput
}
input MovieFilterType {
"""Filter to only include movies with this studio"""
studios: MultiCriterionInput
}
enum CriterionModifier {
"""="""
EQUALS,

View File

@@ -3,9 +3,11 @@ type Movie {
checksum: String!
name: String!
aliases: String
duration: String
"""Duration in seconds"""
duration: Int
date: String
rating: String
rating: Int
studio: Studio
director: String
synopsis: String
url: String
@@ -18,9 +20,11 @@ type Movie {
input MovieCreateInput {
name: String!
aliases: String
duration: String
"""Duration in seconds"""
duration: Int
date: String
rating: String
rating: Int
studio_id: ID
director: String
synopsis: String
url: String
@@ -33,9 +37,10 @@ input MovieUpdateInput {
id: ID!
name: String
aliases: String
duration: String
duration: Int
date: String
rating: String
rating: Int
studio_id: ID
director: String
synopsis: String
url: String

View File

@@ -20,7 +20,7 @@ type ScenePathsType {
type SceneMovie {
movie: Movie!
scene_index: String
scene_index: Int
}
type Scene {
@@ -48,7 +48,7 @@ type Scene {
input SceneMovieInput {
movie_id: ID!
scene_index: String
scene_index: Int
}
input SceneUpdateInput {