mirror of https://github.com/stashapp/stash.git
132 lines
4.4 KiB
GraphQL
132 lines
4.4 KiB
GraphQL
"""The query root for this schema"""
|
|
type Query {
|
|
"""Find a scene by ID or Checksum"""
|
|
findScene(id: ID, checksum: String): Scene
|
|
"""A function which queries Scene objects"""
|
|
findScenes(scene_filter: SceneFilterType, scene_ids: [Int!], filter: FindFilterType): FindScenesResultType!
|
|
|
|
findScenesByPathRegex(filter: FindFilterType): FindScenesResultType!
|
|
|
|
parseSceneFilenames(filter: FindFilterType, config: SceneParserInput!): SceneParserResultType!
|
|
|
|
"""A function which queries SceneMarker objects"""
|
|
findSceneMarkers(scene_marker_filter: SceneMarkerFilterType filter: FindFilterType): FindSceneMarkersResultType!
|
|
|
|
"""Find a performer by ID"""
|
|
findPerformer(id: ID!): Performer
|
|
"""A function which queries Performer objects"""
|
|
findPerformers(performer_filter: PerformerFilterType, filter: FindFilterType): FindPerformersResultType!
|
|
|
|
"""Find a studio by ID"""
|
|
findStudio(id: ID!): Studio
|
|
"""A function which queries Studio objects"""
|
|
findStudios(filter: FindFilterType): FindStudiosResultType!
|
|
|
|
findGallery(id: ID!): Gallery
|
|
findGalleries(filter: FindFilterType): FindGalleriesResultType!
|
|
|
|
findTag(id: ID!): Tag
|
|
|
|
"""Retrieve random scene markers for the wall"""
|
|
markerWall(q: String): [SceneMarker!]!
|
|
"""Retrieve random scenes for the wall"""
|
|
sceneWall(q: String): [Scene!]!
|
|
|
|
"""Get marker strings"""
|
|
markerStrings(q: String, sort: String): [MarkerStringsResultType]!
|
|
"""Get the list of valid galleries for a given scene ID"""
|
|
validGalleriesForScene(scene_id: ID): [Gallery!]!
|
|
"""Get stats"""
|
|
stats: StatsResultType!
|
|
"""Organize scene markers by tag for a given scene ID"""
|
|
sceneMarkerTags(scene_id: ID!): [SceneMarkerTag!]!
|
|
|
|
logs: [LogEntry!]!
|
|
|
|
# Scrapers
|
|
|
|
"""List available scrapers"""
|
|
listScrapers(scraper_type: ScraperType!): [Scraper!]!
|
|
"""Scrape a list of performers based on name"""
|
|
scrapePerformerList(scraper_id: ID!, query: String!): [ScrapedPerformer!]!
|
|
"""Scrapes a complete performer record based on a scrapePerformerList result"""
|
|
scrapePerformer(scraper_id: ID!, scraped_performer: ScrapedPerformerInput!): ScrapedPerformer
|
|
"""Scrapes a complete performer record based on a URL"""
|
|
scrapePerformerURL(url: String!): ScrapedPerformer
|
|
|
|
"""Scrape a performer using Freeones"""
|
|
scrapeFreeones(performer_name: String!): ScrapedPerformer
|
|
"""Scrape a list of performers from a query"""
|
|
scrapeFreeonesPerformerList(query: String!): [String!]!
|
|
|
|
# Config
|
|
"""Returns the current, complete configuration"""
|
|
configuration: ConfigResult!
|
|
"""Returns an array of paths for the given path"""
|
|
directories(path: String): [String!]!
|
|
|
|
# Metadata
|
|
|
|
"""Start an import. Returns the job ID"""
|
|
metadataImport: String!
|
|
"""Start an export. Returns the job ID"""
|
|
metadataExport: String!
|
|
"""Start a scan. Returns the job ID"""
|
|
metadataScan(input: ScanMetadataInput!): String!
|
|
"""Start generating content. Returns the job ID"""
|
|
metadataGenerate(input: GenerateMetadataInput!): String!
|
|
"""Clean metadata. Returns the job ID"""
|
|
metadataClean: String!
|
|
|
|
jobStatus: MetadataUpdateStatus!
|
|
stopJob: Boolean!
|
|
|
|
# Get everything
|
|
|
|
allPerformers: [Performer!]!
|
|
allStudios: [Studio!]!
|
|
allTags: [Tag!]!
|
|
|
|
# Version
|
|
version: Version!
|
|
}
|
|
|
|
type Mutation {
|
|
sceneUpdate(input: SceneUpdateInput!): Scene
|
|
bulkSceneUpdate(input: BulkSceneUpdateInput!): [Scene!]
|
|
sceneDestroy(input: SceneDestroyInput!): Boolean!
|
|
scenesUpdate(input: [SceneUpdateInput!]!): [Scene]
|
|
|
|
sceneMarkerCreate(input: SceneMarkerCreateInput!): SceneMarker
|
|
sceneMarkerUpdate(input: SceneMarkerUpdateInput!): SceneMarker
|
|
sceneMarkerDestroy(id: ID!): Boolean!
|
|
|
|
performerCreate(input: PerformerCreateInput!): Performer
|
|
performerUpdate(input: PerformerUpdateInput!): Performer
|
|
performerDestroy(input: PerformerDestroyInput!): Boolean!
|
|
|
|
studioCreate(input: StudioCreateInput!): Studio
|
|
studioUpdate(input: StudioUpdateInput!): Studio
|
|
studioDestroy(input: StudioDestroyInput!): Boolean!
|
|
|
|
tagCreate(input: TagCreateInput!): Tag
|
|
tagUpdate(input: TagUpdateInput!): Tag
|
|
tagDestroy(input: TagDestroyInput!): Boolean!
|
|
|
|
"""Change general configuration options"""
|
|
configureGeneral(input: ConfigGeneralInput!): ConfigGeneralResult!
|
|
configureInterface(input: ConfigInterfaceInput!): ConfigInterfaceResult!
|
|
}
|
|
|
|
type Subscription {
|
|
"""Update from the metadata manager"""
|
|
metadataUpdate: MetadataUpdateStatus!
|
|
|
|
loggingSubscribe: [LogEntry!]!
|
|
}
|
|
|
|
schema {
|
|
query: Query
|
|
mutation: Mutation
|
|
subscription: Subscription
|
|
} |