query ListPerformerScrapers {
  listScrapers(types: [PERFORMER]) {
    id
    name
    performer {
      urls
      supported_scrapes
    }
  }
}

query ListSceneScrapers {
  listScrapers(types: [SCENE]) {
    id
    name
    scene {
      urls
      supported_scrapes
    }
  }
}

query ListGalleryScrapers {
  listScrapers(types: [GALLERY]) {
    id
    name
    gallery {
      urls
      supported_scrapes
    }
  }
}

query ListMovieScrapers {
  listScrapers(types: [MOVIE]) {
    id
    name
    movie {
      urls
      supported_scrapes
    }
  }
}

query ScrapeSingleStudio(
  $source: ScraperSourceInput!
  $input: ScrapeSingleStudioInput!
) {
  scrapeSingleStudio(source: $source, input: $input) {
    ...ScrapedStudioData
  }
}

query ScrapeSinglePerformer(
  $source: ScraperSourceInput!
  $input: ScrapeSinglePerformerInput!
) {
  scrapeSinglePerformer(source: $source, input: $input) {
    ...ScrapedPerformerData
  }
}

query ScrapeMultiPerformers(
  $source: ScraperSourceInput!
  $input: ScrapeMultiPerformersInput!
) {
  scrapeMultiPerformers(source: $source, input: $input) {
    ...ScrapedPerformerData
  }
}

query ScrapePerformerURL($url: String!) {
  scrapePerformerURL(url: $url) {
    ...ScrapedPerformerData
  }
}

query ScrapeSingleScene(
  $source: ScraperSourceInput!
  $input: ScrapeSingleSceneInput!
) {
  scrapeSingleScene(source: $source, input: $input) {
    ...ScrapedSceneData
  }
}

query ScrapeMultiScenes(
  $source: ScraperSourceInput!
  $input: ScrapeMultiScenesInput!
) {
  scrapeMultiScenes(source: $source, input: $input) {
    ...ScrapedSceneData
  }
}

query ScrapeSceneURL($url: String!) {
  scrapeSceneURL(url: $url) {
    ...ScrapedSceneData
  }
}

query ScrapeSingleGallery(
  $source: ScraperSourceInput!
  $input: ScrapeSingleGalleryInput!
) {
  scrapeSingleGallery(source: $source, input: $input) {
    ...ScrapedGalleryData
  }
}

query ScrapeGalleryURL($url: String!) {
  scrapeGalleryURL(url: $url) {
    ...ScrapedGalleryData
  }
}

query ScrapeMovieURL($url: String!) {
  scrapeMovieURL(url: $url) {
    ...ScrapedMovieData
  }
}

query InstalledScraperPackages {
  installedPackages(type: Scraper) {
    ...PackageData
  }
}

query InstalledScraperPackagesStatus {
  installedPackages(type: Scraper) {
    ...PackageData
    source_package {
      ...PackageData
    }
  }
}

query AvailableScraperPackages($source: String!) {
  availablePackages(source: $source, type: Scraper) {
    ...PackageData
    requires {
      package_id
    }
  }
}
