# This file was generated. Do not edit manually. schema { query: Query mutation: Mutation } type Category { icon: String! id: Long! name: String! } "Information about the offset pagination." type CollectionSegmentInfo { "Indicates whether more items exist following the set defined by the clients arguments." hasNextPage: Boolean! "Indicates whether more items exist prior the set defined by the clients arguments." hasPreviousPage: Boolean! } "A segment of a collection." type EntriesCollectionSegment { "A flattened list of the items." items: [Entry!] "Information to aid in pagination." pageInfo: CollectionSegmentInfo! totalCount: Int! } "A connection to a list of items." type EntriesV2Connection { "A list of edges." edges: [EntriesV2Edge!] "A flattened list of the nodes." nodes: [Entry!] "Information to aid in pagination." pageInfo: PageInfo! "Identifies the total count of items in the connection." totalCount: Int! } "An edge in a connection." type EntriesV2Edge { "A cursor for use in pagination." cursor: String! "The item at the end of the edge." node: Entry! } type Entry { author: String! authorId: UUID! categories: [Category!]! createdAt: DateTime! dependantReleases: [Release!]! description: String! downloads: Long! entryType: EntryType! icon: Image iconId: UUID id: Long! images: [Image!]! latestRelease: Release latestReleaseId: Long layoutInfo: [LayoutInfo!]! name: String! pluginInfo: PluginInfo releases: [Release!]! summary: String! tags: [Tag!]! } type Image { description: String entry: Entry entryId: Long height: Int! id: UUID! mimeType: String! name: String! size: Long! width: Int! } type LayoutInfo { deviceProvider: UUID! deviceType: RGBDeviceType! entry: Entry! entryId: Long! id: Long! logicalLayout: String model: String! physicalLayout: KeyboardLayoutType vendor: String! } type Mutation { addEntry(input: CreateEntryInput!): Entry addLayoutInfo(input: CreateLayoutInfoInput!): LayoutInfo removeEntry(id: Long!): Entry removeLayoutInfo(id: Long!): LayoutInfo! removeRelease(id: Long!): Release! setLayoutInfo(input: SetLayoutInfoInput!): [LayoutInfo!]! updateEntry(input: UpdateEntryInput!): Entry updateEntryImage(input: UpdateEntryImageInput!): Image updateRelease(input: UpdateReleaseInput!): Release } "Information about pagination in a connection." type PageInfo { "When paginating forwards, the cursor to continue." endCursor: String "Indicates whether more edges exist following the set defined by the clients arguments." hasNextPage: Boolean! "Indicates whether more edges exist prior the set defined by the clients arguments." hasPreviousPage: Boolean! "When paginating backwards, the cursor to continue." startCursor: String } type PluginInfo { api: Int entry: Entry! entryId: Long! helpPage: String pluginGuid: UUID! repository: String requiresAdmin: Boolean! supportsLinux: Boolean! supportsOSX: Boolean! supportsWindows: Boolean! website: String } "A segment of a collection." type PluginInfosCollectionSegment { "A flattened list of the items." items: [PluginInfo!] "Information to aid in pagination." pageInfo: CollectionSegmentInfo! totalCount: Int! } type Query { categories(order: [CategorySortInput!], where: CategoryFilterInput): [Category!]! entries(order: [EntrySortInput!], search: String, skip: Int, take: Int, where: EntryFilterInput): EntriesCollectionSegment entriesV2( "Returns the elements in the list that come after the specified cursor." after: String, "Returns the elements in the list that come before the specified cursor." before: String, "Returns the first _n_ elements from the list." first: Int, "Returns the last _n_ elements from the list." last: Int, order: [EntrySortInput!], search: String, where: EntryFilterInput ): EntriesV2Connection entry(id: Long!): Entry pluginInfo(pluginGuid: UUID!): PluginInfo pluginInfos(order: [PluginInfoSortInput!], skip: Int, take: Int, where: PluginInfoFilterInput): PluginInfosCollectionSegment release(id: Long!): Release searchEntries(input: String!, order: [EntrySortInput!], type: EntryType, where: EntryFilterInput): [Entry!]! searchKeyboardLayout(deviceProvider: UUID!, logicalLayout: String, model: String!, physicalLayout: KeyboardLayoutType!, vendor: String!): LayoutInfo searchLayout(deviceProvider: UUID!, deviceType: RGBDeviceType!, model: String!, vendor: String!): LayoutInfo submittedEntries(order: [EntrySortInput!], where: EntryFilterInput): [Entry!]! } type Release { changelog: String createdAt: DateTime! dependencies: [Entry!]! downloadSize: Long! downloads: Long! entry: Entry! entryId: Long! id: Long! md5Hash: String version: String! } type Tag { id: Long! name: String! } enum ApplyPolicy { AFTER_RESOLVER BEFORE_RESOLVER VALIDATION } enum EntryType { LAYOUT PLUGIN PROFILE } enum KeyboardLayoutType { ABNT ANSI ISO JIS KS UNKNOWN } enum RGBDeviceType { ALL COOLER DRAM FAN GAME_CONTROLLER GRAPHICS_CARD HEADSET HEADSET_STAND KEYBOARD KEYPAD LED_CONTROLLER LED_MATRIX LED_STRIPE MAINBOARD MONITOR MOUSE MOUSEPAD NONE SPEAKER UNKNOWN } enum SortEnumType { ASC DESC } "The `DateTime` scalar represents an ISO-8601 compliant date time type." scalar DateTime "The `Long` scalar type represents non-fractional signed whole 64-bit numeric values. Long can represent values between -(2^63) and 2^63 - 1." scalar Long scalar UUID input BooleanOperationFilterInput { eq: Boolean neq: Boolean } input CategoryFilterInput { and: [CategoryFilterInput!] icon: StringOperationFilterInput id: LongOperationFilterInput name: StringOperationFilterInput or: [CategoryFilterInput!] } input CategorySortInput { icon: SortEnumType id: SortEnumType name: SortEnumType } input CreateEntryInput { categories: [Long!]! description: String! entryType: EntryType! name: String! summary: String! tags: [String!]! } input CreateLayoutInfoInput { deviceProvider: UUID! deviceType: RGBDeviceType! entryId: Long! logicalLayout: String model: String! physicalLayout: KeyboardLayoutType vendor: String! } input DateTimeOperationFilterInput { eq: DateTime gt: DateTime gte: DateTime in: [DateTime] lt: DateTime lte: DateTime neq: DateTime ngt: DateTime ngte: DateTime nin: [DateTime] nlt: DateTime nlte: DateTime } input EntryFilterInput { and: [EntryFilterInput!] author: StringOperationFilterInput authorId: UuidOperationFilterInput categories: ListFilterInputTypeOfCategoryFilterInput createdAt: DateTimeOperationFilterInput dependantReleases: ListFilterInputTypeOfReleaseFilterInput description: StringOperationFilterInput downloads: LongOperationFilterInput entryType: EntryTypeOperationFilterInput icon: ImageFilterInput iconId: UuidOperationFilterInput id: LongOperationFilterInput images: ListFilterInputTypeOfImageFilterInput latestRelease: ReleaseFilterInput latestReleaseId: LongOperationFilterInput layoutInfo: ListFilterInputTypeOfLayoutInfoFilterInput name: StringOperationFilterInput or: [EntryFilterInput!] pluginInfo: PluginInfoFilterInput releases: ListFilterInputTypeOfReleaseFilterInput summary: StringOperationFilterInput tags: ListFilterInputTypeOfTagFilterInput } input EntrySortInput { author: SortEnumType authorId: SortEnumType createdAt: SortEnumType description: SortEnumType downloads: SortEnumType entryType: SortEnumType icon: ImageSortInput iconId: SortEnumType id: SortEnumType latestRelease: ReleaseSortInput latestReleaseId: SortEnumType name: SortEnumType pluginInfo: PluginInfoSortInput summary: SortEnumType } input EntryTypeOperationFilterInput { eq: EntryType in: [EntryType!] neq: EntryType nin: [EntryType!] } input ImageFilterInput { and: [ImageFilterInput!] description: StringOperationFilterInput entry: EntryFilterInput entryId: LongOperationFilterInput height: IntOperationFilterInput id: UuidOperationFilterInput mimeType: StringOperationFilterInput name: StringOperationFilterInput or: [ImageFilterInput!] size: LongOperationFilterInput width: IntOperationFilterInput } input ImageSortInput { description: SortEnumType entry: EntrySortInput entryId: SortEnumType height: SortEnumType id: SortEnumType mimeType: SortEnumType name: SortEnumType size: SortEnumType width: SortEnumType } input IntOperationFilterInput { eq: Int gt: Int gte: Int in: [Int] lt: Int lte: Int neq: Int ngt: Int ngte: Int nin: [Int] nlt: Int nlte: Int } input LayoutInfoFilterInput { and: [LayoutInfoFilterInput!] deviceProvider: UuidOperationFilterInput deviceType: RGBDeviceTypeOperationFilterInput entry: EntryFilterInput entryId: LongOperationFilterInput id: LongOperationFilterInput logicalLayout: StringOperationFilterInput model: StringOperationFilterInput or: [LayoutInfoFilterInput!] physicalLayout: NullableOfKeyboardLayoutTypeOperationFilterInput vendor: StringOperationFilterInput } input LayoutInfoInput { deviceProvider: UUID! deviceType: RGBDeviceType! logicalLayout: String model: String! physicalLayout: KeyboardLayoutType vendor: String! } input ListFilterInputTypeOfCategoryFilterInput { all: CategoryFilterInput any: Boolean none: CategoryFilterInput some: CategoryFilterInput } input ListFilterInputTypeOfEntryFilterInput { all: EntryFilterInput any: Boolean none: EntryFilterInput some: EntryFilterInput } input ListFilterInputTypeOfImageFilterInput { all: ImageFilterInput any: Boolean none: ImageFilterInput some: ImageFilterInput } input ListFilterInputTypeOfLayoutInfoFilterInput { all: LayoutInfoFilterInput any: Boolean none: LayoutInfoFilterInput some: LayoutInfoFilterInput } input ListFilterInputTypeOfReleaseFilterInput { all: ReleaseFilterInput any: Boolean none: ReleaseFilterInput some: ReleaseFilterInput } input ListFilterInputTypeOfTagFilterInput { all: TagFilterInput any: Boolean none: TagFilterInput some: TagFilterInput } input LongOperationFilterInput { eq: Long gt: Long gte: Long in: [Long] lt: Long lte: Long neq: Long ngt: Long ngte: Long nin: [Long] nlt: Long nlte: Long } input NullableOfKeyboardLayoutTypeOperationFilterInput { eq: KeyboardLayoutType in: [KeyboardLayoutType] neq: KeyboardLayoutType nin: [KeyboardLayoutType] } input PluginInfoFilterInput { and: [PluginInfoFilterInput!] api: IntOperationFilterInput entry: EntryFilterInput entryId: LongOperationFilterInput helpPage: StringOperationFilterInput or: [PluginInfoFilterInput!] pluginGuid: UuidOperationFilterInput repository: StringOperationFilterInput requiresAdmin: BooleanOperationFilterInput supportsLinux: BooleanOperationFilterInput supportsOSX: BooleanOperationFilterInput supportsWindows: BooleanOperationFilterInput website: StringOperationFilterInput } input PluginInfoSortInput { api: SortEnumType entry: EntrySortInput entryId: SortEnumType helpPage: SortEnumType pluginGuid: SortEnumType repository: SortEnumType requiresAdmin: SortEnumType supportsLinux: SortEnumType supportsOSX: SortEnumType supportsWindows: SortEnumType website: SortEnumType } input RGBDeviceTypeOperationFilterInput { eq: RGBDeviceType in: [RGBDeviceType!] neq: RGBDeviceType nin: [RGBDeviceType!] } input ReleaseFilterInput { and: [ReleaseFilterInput!] changelog: StringOperationFilterInput createdAt: DateTimeOperationFilterInput dependencies: ListFilterInputTypeOfEntryFilterInput downloadSize: LongOperationFilterInput downloads: LongOperationFilterInput entry: EntryFilterInput entryId: LongOperationFilterInput id: LongOperationFilterInput md5Hash: StringOperationFilterInput or: [ReleaseFilterInput!] version: StringOperationFilterInput } input ReleaseSortInput { changelog: SortEnumType createdAt: SortEnumType downloadSize: SortEnumType downloads: SortEnumType entry: EntrySortInput entryId: SortEnumType id: SortEnumType md5Hash: SortEnumType version: SortEnumType } input SetLayoutInfoInput { entryId: Long! layoutInfo: [LayoutInfoInput!]! } input StringOperationFilterInput { and: [StringOperationFilterInput!] contains: String endsWith: String eq: String in: [String] ncontains: String nendsWith: String neq: String nin: [String] nstartsWith: String or: [StringOperationFilterInput!] startsWith: String } input TagFilterInput { and: [TagFilterInput!] id: LongOperationFilterInput name: StringOperationFilterInput or: [TagFilterInput!] } input UpdateEntryImageInput { description: String id: UUID! name: String! } input UpdateEntryInput { categories: [Long!]! description: String! id: Long! name: String! summary: String! tags: [String!]! } input UpdateReleaseInput { changelog: String id: Long! } input UuidOperationFilterInput { eq: UUID gt: UUID gte: UUID in: [UUID] lt: UUID lte: UUID neq: UUID ngt: UUID ngte: UUID nin: [UUID] nlt: UUID nlte: UUID }