type Studio {
  id: ID!
  name: String!
  url: String @deprecated(reason: "Use urls")
  urls: [String!]!
  parent_studio: Studio
  child_studios: [Studio!]!
  aliases: [String!]!
  tags: [Tag!]!
  ignore_auto_tag: Boolean!
  organized: 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
  group_count(depth: Int): Int! # Resolver
  movie_count(depth: Int): Int! @deprecated(reason: "use group_count instead") # Resolver
  stash_ids: [StashID!]!
  # rating expressed as 1-100
  rating100: Int
  favorite: Boolean!
  details: String
  created_at: Time!
  updated_at: Time!
  groups: [Group!]!
  movies: [Movie!]! @deprecated(reason: "use groups instead")
  o_counter: Int

  custom_fields: Map!
}

input StudioCreateInput {
  name: String!
  url: String @deprecated(reason: "Use urls")
  urls: [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
  "Duplicate aliases and those equal to name will be ignored (case-insensitive)"
  aliases: [String!]
  tag_ids: [ID!]
  ignore_auto_tag: Boolean
  organized: Boolean

  custom_fields: Map
}

input StudioUpdateInput {
  id: ID!
  name: String
  url: String @deprecated(reason: "Use urls")
  urls: [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
  "Duplicate aliases and those equal to name will be ignored (case-insensitive)"
  aliases: [String!]
  tag_ids: [ID!]
  ignore_auto_tag: Boolean
  organized: Boolean

  custom_fields: CustomFieldsInput
}

input BulkStudioUpdateInput {
  ids: [ID!]!
  url: String @deprecated(reason: "Use urls")
  urls: BulkUpdateStrings
  parent_id: ID
  # rating expressed as 1-100
  rating100: Int
  favorite: Boolean
  details: String
  tag_ids: BulkUpdateIds
  ignore_auto_tag: Boolean
  organized: Boolean
}

input StudioDestroyInput {
  id: ID!
}

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