# The Query type represents the read entry points into the API. type Query { # Find character by either an ID or a nick. character(id: String, nick: String): Character # Find characters by either a list of ids, nicks or an author. Only one parameter at a time characters(ids: [String!], nicks: [String!], author: String): [Character!]! # Find channel by name channel(name: String!): Channel # Find all channels. Specifying `logged: true` restricts the search to only logged. channels(logged: Boolean): [Channel!]! # Find log by ID log(id: String!): Log # Find logs logs(filter: LogsFilter): [LogHeader!]! # Find post by ID. post(id: String!): Post # Find posts by IDs. It's meant to allow other parts of the UI to link to a cluster of posts, e.g. for a room description for the # Mapp should it ever become a thing. This does not have a filter, since it's meant to be queried in the logs' response's selection set. posts(ids: [String!]!): [Post!]! # Find file by ID file(id: String!): File # Files get all available files. If includePublic is set, it will return public files as well files(filter: FilesFilter): [File!]! # Find story by ID story(id: String!): Story # Find stories stories(filter: StoriesFilter): [Story!]! # Find story chapter by ID chapter(id: String!): Chapter # Find all distinct tags used in stories tags: [Tag!]! # Find current session session: Session! } # The Mutation type represents write entry points into the API. type Mutation { # Add a new character addCharacter(input: CharacterAddInput!): Character! # Add nick to character addCharacterNick(input: CharacterNickInput!): Character! # Remove nick from character removeCharacterNick(input: CharacterNickInput!): Character! # Edit character editCharacter(input: CharacterEditInput!): Character! # Remove a character removeCharacter(id: String!): Character! # Add a channel addChannel(input: ChannelAddInput!): Channel! # Edit a channel editChannel(input: ChannelEditInput!): Channel! # Remove a channel removeChannel(name: String!): Channel! # Add a new log addLog(input: LogAddInput!): Log! # Edit a log editLog(input: LogEditInput!): Log! # Remove a log removeLog(id: String!): Log! # Add a post addPost(input: AddPostInput!): Post! # Edit a post editPost(input: EditPostInput!): Post! # Move a post movePost(input: MovePostInput!): Post! # Remove a post removePost(id: String!): Post! # Edit a file editFile(input: EditFileInput!): File! # Remove a file removeFile(id: String!): File! # Add a story addStory(input: StoryAddInput!): Story! # Add a story tag addStoryTag(input: StoryTagAddInput!): Story! # Remove a story tag removeStoryTag(input: StoryTagRemoveInput!): Story! # Edit a story editStory(input: StoryEditInput!): Story! # Remove a story removeStory(id: String!): Story! # Add a chapter to a story addChapter(input: ChapterAddInput!): Chapter! # Edit a chapter editChapter(input: ChapterEditInput!): Chapter! # Remove a chapter removeChapter(id: String!): Chapter! # Log in login(username: String!, password: String!): Session! # Log out logout(): Session! } schema { query: Query mutation: Mutation }