Add Filters!
This commit is contained in:
@@ -16,15 +16,14 @@ type Album struct {
|
||||
CreatedAt *time.Time `json:"createdAt" `
|
||||
UpdatedAt *time.Time `json:"updatedAt" `
|
||||
Name string `json:"name" gorm:"unique;not null"`
|
||||
UserID string `json:"userID" gorm:"not null"`
|
||||
}
|
||||
|
||||
type AlbumFilter struct {
|
||||
ID *IDFilter `json:"id" `
|
||||
CreatedAt *TimeFilter `json:"createdAt" `
|
||||
UpdatedAt *TimeFilter `json:"updatedAt" `
|
||||
Name *StringFilter `json:"name" `
|
||||
And *MediaItemFilter `json:"and" `
|
||||
Or *MediaItemFilter `json:"or" `
|
||||
ID *IDFilter `json:"id" `
|
||||
CreatedAt *TimeFilter `json:"createdAt" `
|
||||
UpdatedAt *TimeFilter `json:"updatedAt" `
|
||||
Name *StringFilter `json:"name" `
|
||||
}
|
||||
|
||||
type AlbumResponse struct {
|
||||
@@ -39,10 +38,8 @@ type AuthResponse struct {
|
||||
}
|
||||
|
||||
type AuthTypeFilter struct {
|
||||
EqualTo *AuthType `json:"equalTo" `
|
||||
NotEqualTo *AuthType `json:"notEqualTo" `
|
||||
In []AuthType `json:"in" `
|
||||
NotIn []AuthType `json:"notIn" `
|
||||
EqualTo *AuthType `json:"equalTo" `
|
||||
NotEqualTo *AuthType `json:"notEqualTo" `
|
||||
}
|
||||
|
||||
type BooleanFilter struct {
|
||||
@@ -56,8 +53,8 @@ type Device struct {
|
||||
UpdatedAt *time.Time `json:"updatedAt" `
|
||||
Name string `json:"name" gorm:"not null"`
|
||||
Type DeviceType `json:"type" gorm:"default:Unknown;not null"`
|
||||
UserID string `json:"userID" gorm:"not null"`
|
||||
RefreshKey *string `json:"refreshKey" `
|
||||
UserID string `json:"userID" gorm:"not null"`
|
||||
}
|
||||
|
||||
type DeviceFilter struct {
|
||||
@@ -66,8 +63,6 @@ type DeviceFilter struct {
|
||||
UpdatedAt *TimeFilter `json:"updatedAt" `
|
||||
Name *StringFilter `json:"name" `
|
||||
Type *DeviceTypeFilter `json:"type" `
|
||||
And *MediaItemFilter `json:"and" `
|
||||
Or *MediaItemFilter `json:"or" `
|
||||
}
|
||||
|
||||
type DeviceResponse struct {
|
||||
@@ -76,39 +71,31 @@ type DeviceResponse struct {
|
||||
}
|
||||
|
||||
type DeviceTypeFilter struct {
|
||||
EqualTo *DeviceType `json:"equalTo" `
|
||||
NotEqualTo *DeviceType `json:"notEqualTo" `
|
||||
In []DeviceType `json:"in" `
|
||||
NotIn []DeviceType `json:"notIn" `
|
||||
EqualTo *DeviceType `json:"equalTo" `
|
||||
NotEqualTo *DeviceType `json:"notEqualTo" `
|
||||
}
|
||||
|
||||
type FloatFilter struct {
|
||||
EqualTo *float64 `json:"equalTo" `
|
||||
NotEqualTo *float64 `json:"notEqualTo" `
|
||||
LessThan *float64 `json:"lessThan" `
|
||||
LessThanOrEqualTo *float64 `json:"lessThanOrEqualTo" `
|
||||
MoreThan *float64 `json:"moreThan" `
|
||||
MoreThanOrEqualTo *float64 `json:"moreThanOrEqualTo" `
|
||||
In []float64 `json:"in" `
|
||||
NotIn []float64 `json:"notIn" `
|
||||
EqualTo *float64 `json:"equalTo" `
|
||||
NotEqualTo *float64 `json:"notEqualTo" `
|
||||
LessThan *float64 `json:"lessThan" `
|
||||
LessThanOrEqualTo *float64 `json:"lessThanOrEqualTo" `
|
||||
GreaterThan *float64 `json:"greaterThan" `
|
||||
GreaterThanOrEqualTo *float64 `json:"greaterThanOrEqualTo" `
|
||||
}
|
||||
|
||||
type IDFilter struct {
|
||||
EqualTo *string `json:"equalTo" `
|
||||
NotEqualTo *string `json:"notEqualTo" `
|
||||
In []string `json:"in" `
|
||||
NotIn []string `json:"notIn" `
|
||||
EqualTo *string `json:"equalTo" `
|
||||
NotEqualTo *string `json:"notEqualTo" `
|
||||
}
|
||||
|
||||
type IntFilter struct {
|
||||
EqualTo *int `json:"equalTo" `
|
||||
NotEqualTo *int `json:"notEqualTo" `
|
||||
LessThan *int `json:"lessThan" `
|
||||
LessThanOrEqualTo *int `json:"lessThanOrEqualTo" `
|
||||
MoreThan *int `json:"moreThan" `
|
||||
MoreThanOrEqualTo *int `json:"moreThanOrEqualTo" `
|
||||
In []int `json:"in" `
|
||||
NotIn []int `json:"notIn" `
|
||||
EqualTo *int `json:"equalTo" `
|
||||
NotEqualTo *int `json:"notEqualTo" `
|
||||
LessThan *int `json:"lessThan" `
|
||||
LessThanOrEqualTo *int `json:"lessThanOrEqualTo" `
|
||||
GreaterThan *int `json:"greaterThan" `
|
||||
GreaterThanOrEqualTo *int `json:"greaterThanOrEqualTo" `
|
||||
}
|
||||
|
||||
type MediaItem struct {
|
||||
@@ -116,29 +103,27 @@ type MediaItem struct {
|
||||
CreatedAt *time.Time `json:"createdAt" `
|
||||
UpdatedAt *time.Time `json:"updatedAt" `
|
||||
ExifDate *time.Time `json:"exifDate" `
|
||||
Latitude *float64 `json:"latitude" `
|
||||
Longitude *float64 `json:"longitude" `
|
||||
Latitude *float64 `json:"latitude" gorm:"precision:5"`
|
||||
Longitude *float64 `json:"longitude" gorm:"precision:5"`
|
||||
IsVideo bool `json:"isVideo" gorm:"default:false;not null"`
|
||||
FileName string `json:"fileName" gorm:"not null"`
|
||||
OrigName string `json:"origName" gorm:"not null"`
|
||||
Tags []*Tag `json:"tags" gorm:"many2many:media_tags"`
|
||||
Albums []*Album `json:"albums" gorm:"many2many:media_albums"`
|
||||
Tags []*Tag `json:"tags" gorm:"many2many:media_tags;foreignKey:ID,UserID;References:ID"`
|
||||
Albums []*Album `json:"albums" gorm:"many2many:media_albums;foreignKey:ID,UserID;Refrences:ID"`
|
||||
UserID string `json:"userID" gorm:"not null"`
|
||||
}
|
||||
|
||||
type MediaItemFilter struct {
|
||||
ID *IDFilter `json:"id" `
|
||||
CreatedAt *TimeFilter `json:"createdAt" `
|
||||
UpdatedAt *TimeFilter `json:"updatedAt" `
|
||||
ExifDate *TimeFilter `json:"exifDate" `
|
||||
Latitude *FloatFilter `json:"latitude" `
|
||||
Longitude *FloatFilter `json:"longitude" `
|
||||
IsVideo *BooleanFilter `json:"isVideo" `
|
||||
OrigName *StringFilter `json:"origName" `
|
||||
Tags *TagFilter `json:"tags" `
|
||||
Albums *AlbumFilter `json:"albums" `
|
||||
And *MediaItemFilter `json:"and" `
|
||||
Or *MediaItemFilter `json:"or" `
|
||||
ID *IDFilter `json:"id" `
|
||||
CreatedAt *TimeFilter `json:"createdAt" `
|
||||
UpdatedAt *TimeFilter `json:"updatedAt" `
|
||||
ExifDate *TimeFilter `json:"exifDate" `
|
||||
Latitude *FloatFilter `json:"latitude" `
|
||||
Longitude *FloatFilter `json:"longitude" `
|
||||
IsVideo *BooleanFilter `json:"isVideo" `
|
||||
OrigName *StringFilter `json:"origName" `
|
||||
Tags *TagFilter `json:"tags" `
|
||||
Albums *AlbumFilter `json:"albums" `
|
||||
}
|
||||
|
||||
type MediaItemResponse struct {
|
||||
@@ -177,29 +162,19 @@ type PageInfo struct {
|
||||
}
|
||||
|
||||
type RoleFilter struct {
|
||||
EqualTo *Role `json:"equalTo" `
|
||||
NotEqualTo *Role `json:"notEqualTo" `
|
||||
In []Role `json:"in" `
|
||||
NotIn []Role `json:"notIn" `
|
||||
EqualTo *Role `json:"equalTo" `
|
||||
NotEqualTo *Role `json:"notEqualTo" `
|
||||
}
|
||||
|
||||
type StringFilter struct {
|
||||
EqualTo *string `json:"equalTo" `
|
||||
NotEqualTo *string `json:"notEqualTo" `
|
||||
StartWith *string `json:"startWith" `
|
||||
NotStartWith *string `json:"notStartWith" `
|
||||
EndWith *string `json:"endWith" `
|
||||
NotEndWith *string `json:"notEndWith" `
|
||||
Contain *string `json:"contain" `
|
||||
NotContain *string `json:"notContain" `
|
||||
In []string `json:"in" `
|
||||
NotIn []string `json:"notIn" `
|
||||
StartWithStrict *string `json:"startWithStrict" `
|
||||
NotStartWithStrict *string `json:"notStartWithStrict" `
|
||||
EndWithStrict *string `json:"endWithStrict" `
|
||||
NotEndWithStrict *string `json:"notEndWithStrict" `
|
||||
ContainStrict *string `json:"containStrict" `
|
||||
NotContainStrict *string `json:"notContainStrict" `
|
||||
EqualTo *string `json:"equalTo" `
|
||||
NotEqualTo *string `json:"notEqualTo" `
|
||||
StartsWith *string `json:"startsWith" `
|
||||
NotStartsWith *string `json:"notStartsWith" `
|
||||
EndsWith *string `json:"endsWith" `
|
||||
NotEndsWith *string `json:"notEndsWith" `
|
||||
Contains *string `json:"contains" `
|
||||
NotContains *string `json:"notContains" `
|
||||
}
|
||||
|
||||
type Tag struct {
|
||||
@@ -207,15 +182,14 @@ type Tag struct {
|
||||
CreatedAt *time.Time `json:"createdAt" `
|
||||
UpdatedAt *time.Time `json:"updatedAt" `
|
||||
Name string `json:"name" gorm:"unique;not null"`
|
||||
UserID string `json:"userID" gorm:"not null"`
|
||||
}
|
||||
|
||||
type TagFilter struct {
|
||||
ID *IDFilter `json:"id" `
|
||||
CreatedAt *TimeFilter `json:"createdAt" `
|
||||
UpdatedAt *TimeFilter `json:"updatedAt" `
|
||||
Name *StringFilter `json:"name" `
|
||||
And *MediaItemFilter `json:"and" `
|
||||
Or *MediaItemFilter `json:"or" `
|
||||
ID *IDFilter `json:"id" `
|
||||
CreatedAt *TimeFilter `json:"createdAt" `
|
||||
UpdatedAt *TimeFilter `json:"updatedAt" `
|
||||
Name *StringFilter `json:"name" `
|
||||
}
|
||||
|
||||
type TagResponse struct {
|
||||
@@ -224,12 +198,12 @@ type TagResponse struct {
|
||||
}
|
||||
|
||||
type TimeFilter struct {
|
||||
EqualTo *time.Time `json:"equalTo" `
|
||||
NotEqualTo *time.Time `json:"notEqualTo" `
|
||||
LessThan *time.Time `json:"lessThan" `
|
||||
LessThanOrEqualTo *time.Time `json:"lessThanOrEqualTo" `
|
||||
MoreThan *time.Time `json:"moreThan" `
|
||||
MoreThanOrEqualTo *time.Time `json:"moreThanOrEqualTo" `
|
||||
EqualTo *time.Time `json:"equalTo" `
|
||||
NotEqualTo *time.Time `json:"notEqualTo" `
|
||||
LessThan *time.Time `json:"lessThan" `
|
||||
LessThanOrEqualTo *time.Time `json:"lessThanOrEqualTo" `
|
||||
GreaterThan *time.Time `json:"greaterThan" `
|
||||
GreaterThanOrEqualTo *time.Time `json:"greaterThanOrEqualTo" `
|
||||
}
|
||||
|
||||
type User struct {
|
||||
@@ -256,8 +230,6 @@ type UserFilter struct {
|
||||
LastName *StringFilter `json:"lastName" `
|
||||
Role *RoleFilter `json:"role" `
|
||||
AuthType *AuthTypeFilter `json:"authType" `
|
||||
And *UserFilter `json:"and" `
|
||||
Or *UserFilter `json:"or" `
|
||||
}
|
||||
|
||||
type UserResponse struct {
|
||||
|
||||
Reference in New Issue
Block a user