Wooo API!

This commit is contained in:
2021-02-04 05:16:13 -05:00
parent c39fe6ec24
commit 082f923482
18 changed files with 977 additions and 795 deletions

View File

@@ -42,6 +42,7 @@ enum AuthResult {
type AuthResponse {
Result: AuthResult!
Device: Device
Error: String
}
@@ -138,17 +139,18 @@ input AuthTypeFilter {
# ------------------------------------------------------------
type Device {
id: ID @meta(gorm: "primarykey;not null")
id: ID! @meta(gorm: "primaryKey;not null")
createdAt: Time
updatedAt: Time
name: String! @meta(gorm: "not null")
type: DeviceType! @meta(gorm: "default:Unknown;not null")
user: User @meta(gorm: "ForeignKey:ID;not null")
userID: ID! @meta(gorm: "not null")
user: User! @meta(gorm: "foreignKey:ID;references:UserID;not null")
refreshKey: String
}
type User {
id: ID @meta(gorm: "primarykey;not null")
id: ID! @meta(gorm: "primaryKey;not null")
createdAt: Time
updatedAt: Time
email: String! @meta(gorm: "not null;unique")
@@ -161,7 +163,7 @@ type User {
}
type MediaItem {
id: ID @meta(gorm: "primarykey;not null")
id: ID! @meta(gorm: "primaryKey;not null")
createdAt: Time
updatedAt: Time
exifDate: Time
@@ -172,18 +174,19 @@ type MediaItem {
origName: String! @meta(gorm: "not null")
tags: [Tag] @meta(gorm: "many2many:media_tags")
albums: [Album] @meta(gorm: "many2many:media_albums")
user: User @meta(gorm: "ForeignKey:ID;not null")
userID: ID! @meta(gorm: "not null")
user: User! @meta(gorm: "foreignKey:ID;references:UserID;not null")
}
type Tag {
id: ID @meta(gorm: "primarykey;not null")
id: ID! @meta(gorm: "primaryKey;not null")
createdAt: Time
updatedAt: Time
name: String! @meta(gorm: "unique;not null")
}
type Album {
id: ID @meta(gorm: "primarykey;not null")
id: ID! @meta(gorm: "primaryKey;not null")
createdAt: Time
updatedAt: Time
name: String! @meta(gorm: "unique;not null")
@@ -331,8 +334,9 @@ type Query {
login(
user: String!
password: String!
): AuthResult!
logout: AuthResult! @hasMinRole(role: User)
deviceID: ID
): AuthResponse!
logout: AuthResponse! @hasMinRole(role: User)
# Single Item
mediaItem(id: ID!): MediaItem! @hasMinRole(role: User)