mirror of
https://github.com/stashapp/stash.git
synced 2026-02-08 08:21:32 +01:00
Add studios_filter to TagFilterType
This commit is contained in:
parent
f629191b28
commit
fb143d4724
4 changed files with 22 additions and 0 deletions
|
|
@ -644,6 +644,8 @@ input TagFilterType {
|
|||
galleries_filter: GalleryFilterType
|
||||
"Filter by related performers that meet this criteria"
|
||||
performers_filter: PerformerFilterType
|
||||
"Filter by related studios that meet this criteria"
|
||||
studios_filter: StudioFilterType
|
||||
|
||||
"Filter by creation time"
|
||||
created_at: TimestampCriterionInput
|
||||
|
|
|
|||
|
|
@ -52,6 +52,8 @@ type TagFilterType struct {
|
|||
GalleriesFilter *GalleryFilterType `json:"galleries_filter"`
|
||||
// Filter by related performers that meet this criteria
|
||||
PerformersFilter *PerformerFilterType `json:"performers_filter"`
|
||||
// Filter by related studios that meet this criteria
|
||||
StudiosFilter *StudioFilterType `json:"studios_filter"`
|
||||
// Filter by created at
|
||||
CreatedAt *TimestampCriterionInput `json:"created_at"`
|
||||
// Filter by updated at
|
||||
|
|
|
|||
|
|
@ -108,6 +108,7 @@ type tagRepositoryType struct {
|
|||
images joinRepository
|
||||
galleries joinRepository
|
||||
performers joinRepository
|
||||
studios joinRepository
|
||||
}
|
||||
|
||||
var (
|
||||
|
|
@ -161,6 +162,14 @@ var (
|
|||
fkColumn: performerIDColumn,
|
||||
foreignTable: performerTable,
|
||||
},
|
||||
studios: joinRepository{
|
||||
repository: repository{
|
||||
tableName: studiosTagsTable,
|
||||
idColumn: tagIDColumn,
|
||||
},
|
||||
fkColumn: studioIDColumn,
|
||||
foreignTable: studioTable,
|
||||
},
|
||||
}
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -136,6 +136,15 @@ func (qb *tagFilterHandler) criterionHandler() criterionHandler {
|
|||
tagRepository.performers.innerJoin(f, "", "tags.id")
|
||||
},
|
||||
},
|
||||
|
||||
&relatedFilterHandler{
|
||||
relatedIDCol: "studios_tags.studio_id",
|
||||
relatedRepo: studioRepository.repository,
|
||||
relatedHandler: &studioFilterHandler{tagFilter.StudiosFilter},
|
||||
joinFn: func(f *filterBuilder) {
|
||||
tagRepository.studios.innerJoin(f, "", "tags.id")
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue