MediaItem Upload Support

This commit is contained in:
2021-02-05 22:01:51 -05:00
parent a5692babb8
commit 548a50278a
9 changed files with 505 additions and 376 deletions

View File

@@ -139,6 +139,21 @@ input AuthTypeFilter {
# -------------------- Object Definitions --------------------
# ------------------------------------------------------------
type User {
id: ID! @meta(gorm: "primaryKey;not null")
createdAt: Time
updatedAt: Time
email: String! @meta(gorm: "not null;unique")
username: String! @meta(gorm: "not null;unique")
firstName: String
lastName: String
role: Role! @meta(gorm: "default:User;not null")
authType: AuthType! @meta(gorm: "default:Local;not null")
password: String @isPrivate
devices: [Device!] @meta(gorm: "foreignKey:UserID")
mediaItems: [MediaItem!] @meta(gorm: "foreignKey:UserID")
}
type Device {
id: ID! @meta(gorm: "primaryKey;not null")
createdAt: Time
@@ -146,23 +161,9 @@ type Device {
name: String! @meta(gorm: "not null")
type: DeviceType! @meta(gorm: "default:Unknown;not null")
userID: ID! @meta(gorm: "not null")
user: User! @meta(gorm: "foreignKey:ID;references:UserID;not null")
refreshKey: String @isPrivate
}
type User {
id: ID! @meta(gorm: "primaryKey;not null")
createdAt: Time
updatedAt: Time
email: String! @meta(gorm: "not null;unique")
username: String! @meta(gorm: "not null;unique")
firstName: String
lastName: String
role: Role! @meta(gorm: "default:User;not null")
authType: AuthType! @meta(gorm: "default:Local;not null")
password: String @isPrivate
}
type MediaItem {
id: ID! @meta(gorm: "primaryKey;not null")
createdAt: Time
@@ -176,21 +177,20 @@ type MediaItem {
tags: [Tag] @meta(gorm: "many2many:media_tags")
albums: [Album] @meta(gorm: "many2many:media_albums")
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")
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")
name: String! @meta(gorm: "unique;not null")
}
# ------------------------------------------------------------
@@ -272,10 +272,6 @@ input NewUser {
password: String
}
input NewDevice {
name: String!
}
input NewMediaItem {
file: Upload!
tags: [ID!]
@@ -377,7 +373,6 @@ type Query {
type Mutation {
createMediaItem(input: NewMediaItem!): MediaItem! @hasMinRole(role: User)
createDevice(input: NewDevice!): Device! @hasMinRole(role: User)
createAlbum(input: NewAlbum!): Album! @hasMinRole(role: User)
createTag(input: NewTag!): Tag! @hasMinRole(role: User)
createUser(input: NewUser!): User! @hasMinRole(role: Admin)