type Studio {
  id: ID!
  name: String!
  url: String
  parent_studio: Studio
  child_studios: [Studio!]!
  aliases: [String!]!
  ignore_auto_tag: Boolean!

  image_path: String # Resolver
  scene_count(depth: Int): Int! # Resolver
  image_count(depth: Int): Int! # Resolver
  gallery_count(depth: Int): Int! # Resolver
  performer_count(depth: Int): Int! # Resolver
  movie_count(depth: Int): Int! # Resolver
  stash_ids: [StashID!]!
  # rating expressed as 1-100
  rating100: Int
  favorite: Boolean!
  details: String
  created_at: Time!
  updated_at: Time!
  movies: [Movie!]!
}

input StudioCreateInput {
  name: String!
  url: String
  parent_id: ID
  "This should be a URL or a base64 encoded data URL"
  image: String
  stash_ids: [StashIDInput!]
  # rating expressed as 1-100
  rating100: Int
  favorite: Boolean
  details: String
  aliases: [String!]
  ignore_auto_tag: Boolean
}

input StudioUpdateInput {
  id: ID!
  name: String
  url: String
  parent_id: ID
  "This should be a URL or a base64 encoded data URL"
  image: String
  stash_ids: [StashIDInput!]
  # rating expressed as 1-100
  rating100: Int
  favorite: Boolean
  details: String
  aliases: [String!]
  ignore_auto_tag: Boolean
}

input StudioDestroyInput {
  id: ID!
}

type FindStudiosResultType {
  count: Int!
  studios: [Studio!]!
}
