Order & Sorting

This commit is contained in:
2021-02-08 19:42:20 -05:00
parent 6697358960
commit af237110f9
12 changed files with 727 additions and 604 deletions

View File

@@ -32,6 +32,11 @@ enum AuthType {
LDAP
}
enum OrderDirection {
ASC
DESC
}
# ------------------------------------------------------------
# ---------------------- Authentication ----------------------
# ------------------------------------------------------------
@@ -267,39 +272,49 @@ input NewAlbum {
name: String!
}
input Page {
size: Int
page: Int
}
input Order {
by: String
direction: OrderDirection
}
# ------------------------------------------------------------
# ------------------------ Responses -------------------------
# ------------------------------------------------------------
type PageInfo {
count: Int!
type PageResponse {
size: Int!
page: Int!
total: Int!
}
type MediaItemResponse {
data: [MediaItem]
pageInfo: PageInfo!
page: PageResponse!
}
type UserResponse {
data: [User]
pageInfo: PageInfo!
page: PageResponse!
}
type DeviceResponse {
data: [Device]
pageInfo: PageInfo!
page: PageResponse!
}
type TagResponse {
data: [Tag]
pageInfo: PageInfo!
page: PageResponse!
}
type AlbumResponse {
data: [Album]
pageInfo: PageInfo!
page: PageResponse!
}
# ------------------------------------------------------------
@@ -313,62 +328,52 @@ type Query {
password: String!
deviceID: ID
): AuthResponse!
logout: AuthResponse! @hasMinRole(role: User)
logout: AuthResponse! @hasMinRole(role: User)
# Single Item
mediaItem(
id: ID!
delete: Boolean
): MediaItem! @hasMinRole(role: User)
): MediaItem! @hasMinRole(role: User)
device(
id: ID!
delete: Boolean
): Device! @hasMinRole(role: User)
): Device! @hasMinRole(role: User)
album(
id: ID!
delete: Boolean
): Album! @hasMinRole(role: User)
): Album! @hasMinRole(role: User)
user(
id: ID!
delete: Boolean
): User! @hasMinRole(role: Admin) # TODO: Delete All User Content
): User! @hasMinRole(role: Admin)
tag(
id: ID!
delete: Boolean
): Tag! @hasMinRole(role: User)
me(delete: Boolean): User! @hasMinRole(role: User)
): Tag! @hasMinRole(role: User)
me: User! @hasMinRole(role: User)
# All
mediaItems(
delete: Boolean
filter: MediaItemFilter
count: Int
page: Int
): MediaItemResponse! @hasMinRole(role: User)
page: Page
order: Order
): MediaItemResponse! @hasMinRole(role: User)
devices(
delete: Boolean
filter: DeviceFilter
count: Int
page: Int
): DeviceResponse! @hasMinRole(role: User)
page: Page
order: Order
): DeviceResponse! @hasMinRole(role: User)
albums(
delete: Boolean
filter: AlbumFilter
count: Int
page: Int
): AlbumResponse! @hasMinRole(role: User)
page: Page
order: Order
): AlbumResponse! @hasMinRole(role: User)
tags(
delete: Boolean
filter: TagFilter
count: Int
page: Int
): TagResponse! @hasMinRole(role: User)
page: Page
order: Order
): TagResponse! @hasMinRole(role: User)
users(
delete: Boolean
filter: UserFilter
count: Int
page: Int
): UserResponse! @hasMinRole(role: Admin) # TODO: Delete All User Content
page: Page
order: Order
): UserResponse! @hasMinRole(role: Admin)
}
type Mutation {