mirror of
https://github.com/stashapp/stash.git
synced 2025-12-16 20:07:05 +03:00
Markers scene filter (#5097)
* Add scene filter to markers * Fix labels for scenes --------- Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
This commit is contained in:
@@ -9,6 +9,8 @@ type SceneMarkerFilterType struct {
|
||||
SceneTags *HierarchicalMultiCriterionInput `json:"scene_tags"`
|
||||
// Filter to only include scene markers with these performers
|
||||
Performers *MultiCriterionInput `json:"performers"`
|
||||
// Filter to only include scene markers from these scenes
|
||||
Scenes *MultiCriterionInput `json:"scenes"`
|
||||
// Filter by created at
|
||||
CreatedAt *TimestampCriterionInput `json:"created_at"`
|
||||
// Filter by updated at
|
||||
|
||||
@@ -40,6 +40,7 @@ func (qb *sceneMarkerFilterHandler) criterionHandler() criterionHandler {
|
||||
qb.tagsCriterionHandler(sceneMarkerFilter.Tags),
|
||||
qb.sceneTagsCriterionHandler(sceneMarkerFilter.SceneTags),
|
||||
qb.performersCriterionHandler(sceneMarkerFilter.Performers),
|
||||
qb.scenesCriterionHandler(sceneMarkerFilter.Scenes),
|
||||
×tampCriterionHandler{sceneMarkerFilter.CreatedAt, "scene_markers.created_at", nil},
|
||||
×tampCriterionHandler{sceneMarkerFilter.UpdatedAt, "scene_markers.updated_at", nil},
|
||||
&dateCriterionHandler{sceneMarkerFilter.SceneDate, "scenes.date", qb.joinScenes},
|
||||
@@ -187,3 +188,18 @@ func (qb *sceneMarkerFilterHandler) performersCriterionHandler(performers *model
|
||||
handler(ctx, f)
|
||||
}
|
||||
}
|
||||
|
||||
func (qb *sceneMarkerFilterHandler) scenesCriterionHandler(scenes *models.MultiCriterionInput) criterionHandlerFunc {
|
||||
addJoinsFunc := func(f *filterBuilder) {
|
||||
f.addLeftJoin(sceneTable, "markers_scenes", "markers_scenes.id = scene_markers.scene_id")
|
||||
}
|
||||
h := multiCriterionHandlerBuilder{
|
||||
primaryTable: sceneMarkerTable,
|
||||
foreignTable: "markers_scenes",
|
||||
joinTable: "",
|
||||
primaryFK: sceneIDColumn,
|
||||
foreignFK: sceneIDColumn,
|
||||
addJoinsFunc: addJoinsFunc,
|
||||
}
|
||||
return h.handler(scenes)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user