Find scene markers by ID (#5567)

This commit is contained in:
damontecres 2025-01-29 21:41:09 -05:00 committed by GitHub
parent 8bacaa17f4
commit b30bd8d2fe
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 20 additions and 2 deletions

View file

@ -45,6 +45,7 @@ type Query {
findSceneMarkers( findSceneMarkers(
scene_marker_filter: SceneMarkerFilterType scene_marker_filter: SceneMarkerFilterType
filter: FindFilterType filter: FindFilterType
ids: [ID!]
): FindSceneMarkersResultType! ): FindSceneMarkersResultType!
findImage(id: ID, checksum: String): Image findImage(id: ID, checksum: String): Image

View file

@ -4,14 +4,31 @@ import (
"context" "context"
"github.com/stashapp/stash/pkg/models" "github.com/stashapp/stash/pkg/models"
"github.com/stashapp/stash/pkg/sliceutil/stringslice"
) )
func (r *queryResolver) FindSceneMarkers(ctx context.Context, sceneMarkerFilter *models.SceneMarkerFilterType, filter *models.FindFilterType) (ret *FindSceneMarkersResultType, err error) { func (r *queryResolver) FindSceneMarkers(ctx context.Context, sceneMarkerFilter *models.SceneMarkerFilterType, filter *models.FindFilterType, ids []string) (ret *FindSceneMarkersResultType, err error) {
idInts, err := stringslice.StringSliceToIntSlice(ids)
if err != nil {
return nil, err
}
if err := r.withReadTxn(ctx, func(ctx context.Context) error { if err := r.withReadTxn(ctx, func(ctx context.Context) error {
sceneMarkers, total, err := r.repository.SceneMarker.Query(ctx, sceneMarkerFilter, filter) var sceneMarkers []*models.SceneMarker
var err error
var total int
if len(idInts) > 0 {
sceneMarkers, err = r.repository.SceneMarker.FindMany(ctx, idInts)
total = len(sceneMarkers)
} else {
sceneMarkers, total, err = r.repository.SceneMarker.Query(ctx, sceneMarkerFilter, filter)
}
if err != nil { if err != nil {
return err return err
} }
ret = &FindSceneMarkersResultType{ ret = &FindSceneMarkersResultType{
Count: total, Count: total,
SceneMarkers: sceneMarkers, SceneMarkers: sceneMarkers,