stash/pkg/models/scene_marker.go
WithoutPants 7b5bd80515 Separate graphql API from rest of the system (#2503)
* Move graphql generated files to api
* Refactor identify options
* Remove models.StashBoxes
* Move ScraperSource to scraper package
* Rename field strategy enums
* Rename identify.TaskOptions to Options
2022-09-06 07:03:40 +00:00

41 lines
1.4 KiB
Go

package models
type SceneMarkerFilterType struct {
// Filter to only include scene markers with this tag
TagID *string `json:"tag_id"`
// Filter to only include scene markers with these tags
Tags *HierarchicalMultiCriterionInput `json:"tags"`
// Filter to only include scene markers attached to a scene with these tags
SceneTags *HierarchicalMultiCriterionInput `json:"scene_tags"`
// Filter to only include scene markers with these performers
Performers *MultiCriterionInput `json:"performers"`
}
type MarkerStringsResultType struct {
Count int `json:"count"`
ID string `json:"id"`
Title string `json:"title"`
}
type SceneMarkerReader interface {
Find(id int) (*SceneMarker, error)
FindMany(ids []int) ([]*SceneMarker, error)
FindBySceneID(sceneID int) ([]*SceneMarker, error)
CountByTagID(tagID int) (int, error)
GetMarkerStrings(q *string, sort *string) ([]*MarkerStringsResultType, error)
Wall(q *string) ([]*SceneMarker, error)
Query(sceneMarkerFilter *SceneMarkerFilterType, findFilter *FindFilterType) ([]*SceneMarker, int, error)
GetTagIDs(imageID int) ([]int, error)
}
type SceneMarkerWriter interface {
Create(newSceneMarker SceneMarker) (*SceneMarker, error)
Update(updatedSceneMarker SceneMarker) (*SceneMarker, error)
Destroy(id int) error
UpdateTags(markerID int, tagIDs []int) error
}
type SceneMarkerReaderWriter interface {
SceneMarkerReader
SceneMarkerWriter
}