Add Filters!

This commit is contained in:
2021-02-08 12:41:58 -05:00
parent 5fede6d6da
commit 6697358960
8 changed files with 664 additions and 855 deletions

View File

@@ -56,8 +56,8 @@ input TimeFilter {
notEqualTo: Time
lessThan: Time
lessThanOrEqualTo: Time
moreThan: Time
moreThanOrEqualTo: Time
greaterThan: Time
greaterThanOrEqualTo: Time
}
input IntFilter {
@@ -65,10 +65,8 @@ input IntFilter {
notEqualTo: Int
lessThan: Int
lessThanOrEqualTo: Int
moreThan: Int
moreThanOrEqualTo: Int
in: [Int!]
notIn: [Int!]
greaterThan: Int
greaterThanOrEqualTo: Int
}
input FloatFilter {
@@ -76,10 +74,8 @@ input FloatFilter {
notEqualTo: Float
lessThan: Float
lessThanOrEqualTo: Float
moreThan: Float
moreThanOrEqualTo: Float
in: [Float!]
notIn: [Float!]
greaterThan: Float
greaterThanOrEqualTo: Float
}
input BooleanFilter {
@@ -90,49 +86,32 @@ input BooleanFilter {
input IDFilter {
equalTo: ID
notEqualTo: ID
in: [ID!]
notIn: [ID!]
}
input StringFilter {
equalTo: String
notEqualTo: String
startWith: String
notStartWith: String
endWith: String
notEndWith: String
contain: String
notContain: String
in: [String!]
notIn: [String!]
startWithStrict: String
notStartWithStrict: String
endWithStrict: String
notEndWithStrict: String
containStrict: String
notContainStrict: String
startsWith: String
notStartsWith: String
endsWith: String
notEndsWith: String
contains: String
notContains: String
}
input RoleFilter {
equalTo: Role
notEqualTo: Role
in: [Role!]
notIn: [Role!]
}
input DeviceTypeFilter {
equalTo: DeviceType
notEqualTo: DeviceType
in: [DeviceType!]
notIn: [DeviceType!]
}
input AuthTypeFilter {
equalTo: AuthType
notEqualTo: AuthType
in: [AuthType!]
notIn: [AuthType!]
}
# ------------------------------------------------------------
@@ -160,8 +139,8 @@ type Device {
updatedAt: Time
name: String! @meta(gorm: "not null")
type: DeviceType! @meta(gorm: "default:Unknown;not null")
userID: ID! @meta(gorm: "not null")
refreshKey: String @isPrivate
userID: ID! @meta(gorm: "not null")
}
type MediaItem {
@@ -169,21 +148,22 @@ type MediaItem {
createdAt: Time
updatedAt: Time
exifDate: Time
latitude: Float
longitude: Float
latitude: Float @meta(gorm: "precision:5")
longitude: Float @meta(gorm: "precision:5")
isVideo: Boolean! @meta(gorm: "default:false;not null")
fileName: String! @meta(gorm: "not null")
origName: String! @meta(gorm: "not null")
tags: [Tag] @meta(gorm: "many2many:media_tags")
albums: [Album] @meta(gorm: "many2many:media_albums")
tags: [Tag] @meta(gorm: "many2many:media_tags;foreignKey:ID,UserID;References:ID")
albums: [Album] @meta(gorm: "many2many:media_albums;foreignKey:ID,UserID;Refrences:ID")
userID: ID! @meta(gorm: "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")
userID: ID! @meta(gorm: "not null")
}
type Album {
@@ -191,7 +171,7 @@ type Album {
createdAt: Time
updatedAt: Time
name: String! @meta(gorm: "unique;not null")
# userID: ID! @meta(gorm: "not null")
userID: ID! @meta(gorm: "not null")
}
# ------------------------------------------------------------
@@ -208,8 +188,8 @@ input UserFilter {
role: RoleFilter
authType: AuthTypeFilter
and: UserFilter
or: UserFilter
# and: UserFilter
# or: UserFilter
}
input MediaItemFilter {
@@ -224,8 +204,8 @@ input MediaItemFilter {
tags: TagFilter
albums: AlbumFilter
and: MediaItemFilter
or: MediaItemFilter
# and: MediaItemFilter
# or: MediaItemFilter
}
input DeviceFilter {
@@ -235,8 +215,8 @@ input DeviceFilter {
name: StringFilter
type: DeviceTypeFilter
and: MediaItemFilter
or: MediaItemFilter
# and: MediaItemFilter
# or: MediaItemFilter
}
input TagFilter {
@@ -245,8 +225,8 @@ input TagFilter {
updatedAt: TimeFilter
name: StringFilter
and: MediaItemFilter
or: MediaItemFilter
# and: MediaItemFilter
# or: MediaItemFilter
}
input AlbumFilter {
@@ -255,8 +235,8 @@ input AlbumFilter {
updatedAt: TimeFilter
name: StringFilter
and: MediaItemFilter
or: MediaItemFilter
# and: MediaItemFilter
# or: MediaItemFilter
}
# ------------------------------------------------------------