Workshop - Layout info WIP

This commit is contained in:
Robert committed 2023-10-23 19:33:38 +02:00
1 parent c77d51fb58
commit f4b9b67f1a
25 files changed
+361 -63

No files matched your search

@@ -0,0 +1,23 @@
fragment category on Category {
name
icon
}
fragment layoutInfo on LayoutInfo {
id
deviceProvider
deviceType
model
vendor
logicalLayout
physicalLayout
}
fragment submittedEntry on Entry {
id
name
summary
entryType
downloads
createdAt
}
@@ -10,8 +10,7 @@ query GetEntries($search: String $filter: EntryFilterInput $skip: Int $take: Int
downloads
createdAt
categories {
name
icon
...category
}
}
}
@@ -9,8 +9,7 @@ query GetEntryById($id: Long!) {
createdAt
description
categories {
name
icon
...category
}
latestRelease {
id
@@ -1,14 +1,8 @@
query GetSubmittedEntries($filter: EntryFilterInput) {
submittedEntries(where: $filter order: {createdAt: DESC}) {
id
name
summary
entryType
downloads
createdAt
...submittedEntry
categories {
name
icon
...category
}
}
}
@@ -1,11 +1,6 @@
query GetSubmittedEntryById($id: Long!) {
entry(id: $id) {
id
name
summary
entryType
downloads
createdAt
...submittedEntry
description
categories {
id
@@ -13,5 +8,8 @@ query GetSubmittedEntryById($id: Long!) {
tags {
name
}
layoutInfo {
...layoutInfo
}
}
}
@@ -6,9 +6,7 @@ query SearchEntries($input: String! $type: EntryType) {
entryType
author
categories {
id
name
icon
...category
}
}
}
@@ -42,6 +42,7 @@ type Entry {
images: [Image!]!
latestRelease: Release
latestReleaseId: Long
layoutInfo: [LayoutInfo!]!
name: String!
releases: [Release!]!
summary: String!
@@ -53,9 +54,23 @@ type Image {
mimeType: String!
}
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!
updateEntry(input: UpdateEntryInput!): Entry
}
@@ -64,6 +79,8 @@ type Query {
entries(order: [EntrySortInput!], search: String, skip: Int, take: Int, where: EntryFilterInput): EntriesCollectionSegment
entry(id: Long!): Entry
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!]!
}
@@ -95,6 +112,37 @@ enum EntryType {
PROFILE
}
enum KeyboardLayoutType {
ABNT
ANSI
ISO
JIS
KS
UNKNOWN
}
enum RGBDeviceType {
ALL
COOLER
DRAM
FAN
GRAPHICS_CARD
HEADSET
HEADSET_STAND
KEYBOARD
KEYPAD
LED_CONTROLLER
LED_MATRIX
LED_STRIPE
MAINBOARD
MONITOR
MOUSE
MOUSEPAD
NONE
SPEAKER
UNKNOWN
}
enum SortEnumType {
ASC
DESC
@@ -131,6 +179,16 @@ input CreateEntryInput {
tags: [String!]!
}
input CreateLayoutInfoInput {
deviceProvider: UUID!
deviceType: RGBDeviceType!
entryId: Long!
logicalLayout: String
model: String!
physicalLayout: KeyboardLayoutType
vendor: String!
}
input DateTimeOperationFilterInput {
eq: DateTime
gt: DateTime
@@ -161,6 +219,7 @@ input EntryFilterInput {
images: ListFilterInputTypeOfImageFilterInput
latestRelease: ReleaseFilterInput
latestReleaseId: LongOperationFilterInput
layoutInfo: ListFilterInputTypeOfLayoutInfoFilterInput
name: StringOperationFilterInput
or: [EntryFilterInput!]
releases: ListFilterInputTypeOfReleaseFilterInput
@@ -203,6 +262,20 @@ input ImageSortInput {
mimeType: SortEnumType
}
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 ListFilterInputTypeOfCategoryFilterInput {
all: CategoryFilterInput
any: Boolean
@@ -217,6 +290,13 @@ input ListFilterInputTypeOfImageFilterInput {
some: ImageFilterInput
}
input ListFilterInputTypeOfLayoutInfoFilterInput {
all: LayoutInfoFilterInput
any: Boolean
none: LayoutInfoFilterInput
some: LayoutInfoFilterInput
}
input ListFilterInputTypeOfReleaseFilterInput {
all: ReleaseFilterInput
any: Boolean
@@ -246,6 +326,20 @@ input LongOperationFilterInput {
nlte: Long
}
input NullableOfKeyboardLayoutTypeOperationFilterInput {
eq: KeyboardLayoutType
in: [KeyboardLayoutType]
neq: KeyboardLayoutType
nin: [KeyboardLayoutType]
}
input RGBDeviceTypeOperationFilterInput {
eq: RGBDeviceType
in: [RGBDeviceType!]
neq: RGBDeviceType
nin: [RGBDeviceType!]
}
input ReleaseFilterInput {
and: [ReleaseFilterInput!]
createdAt: DateTimeOperationFilterInput