mirror of
https://github.com/stashapp/stash.git
synced 2025-12-10 02:15:30 +01:00
* Add API to merge tags Add new API endpoint, `tagsMerge(source, destination)` to merge multiple tags into a single one. The "sources" must be provided as a list of ids and the destination as a single id. All usages of the source tags (scenes, markers (primary and additional), images, galleries and performers) will be updated to the destination tag, all aliases of the source tags will be updated to the destination, and the name of the source will be added as alias to the destination as well. * Add merge tag UI * Add unit tests * Update test mocks * Update internationalisation * Add changelog entry Co-authored-by: gitgiggety <gitgiggety@outlook.com>
523 lines
12 KiB
Go
523 lines
12 KiB
Go
// Code generated by mockery v0.0.0-dev. DO NOT EDIT.
|
|
|
|
package mocks
|
|
|
|
import (
|
|
models "github.com/stashapp/stash/pkg/models"
|
|
mock "github.com/stretchr/testify/mock"
|
|
)
|
|
|
|
// PerformerReaderWriter is an autogenerated mock type for the PerformerReaderWriter type
|
|
type PerformerReaderWriter struct {
|
|
mock.Mock
|
|
}
|
|
|
|
// All provides a mock function with given fields:
|
|
func (_m *PerformerReaderWriter) All() ([]*models.Performer, error) {
|
|
ret := _m.Called()
|
|
|
|
var r0 []*models.Performer
|
|
if rf, ok := ret.Get(0).(func() []*models.Performer); ok {
|
|
r0 = rf()
|
|
} else {
|
|
if ret.Get(0) != nil {
|
|
r0 = ret.Get(0).([]*models.Performer)
|
|
}
|
|
}
|
|
|
|
var r1 error
|
|
if rf, ok := ret.Get(1).(func() error); ok {
|
|
r1 = rf()
|
|
} else {
|
|
r1 = ret.Error(1)
|
|
}
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
// Count provides a mock function with given fields:
|
|
func (_m *PerformerReaderWriter) Count() (int, error) {
|
|
ret := _m.Called()
|
|
|
|
var r0 int
|
|
if rf, ok := ret.Get(0).(func() int); ok {
|
|
r0 = rf()
|
|
} else {
|
|
r0 = ret.Get(0).(int)
|
|
}
|
|
|
|
var r1 error
|
|
if rf, ok := ret.Get(1).(func() error); ok {
|
|
r1 = rf()
|
|
} else {
|
|
r1 = ret.Error(1)
|
|
}
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
// CountByTagID provides a mock function with given fields: tagID
|
|
func (_m *PerformerReaderWriter) CountByTagID(tagID int) (int, error) {
|
|
ret := _m.Called(tagID)
|
|
|
|
var r0 int
|
|
if rf, ok := ret.Get(0).(func(int) int); ok {
|
|
r0 = rf(tagID)
|
|
} else {
|
|
r0 = ret.Get(0).(int)
|
|
}
|
|
|
|
var r1 error
|
|
if rf, ok := ret.Get(1).(func(int) error); ok {
|
|
r1 = rf(tagID)
|
|
} else {
|
|
r1 = ret.Error(1)
|
|
}
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
// Create provides a mock function with given fields: newPerformer
|
|
func (_m *PerformerReaderWriter) Create(newPerformer models.Performer) (*models.Performer, error) {
|
|
ret := _m.Called(newPerformer)
|
|
|
|
var r0 *models.Performer
|
|
if rf, ok := ret.Get(0).(func(models.Performer) *models.Performer); ok {
|
|
r0 = rf(newPerformer)
|
|
} else {
|
|
if ret.Get(0) != nil {
|
|
r0 = ret.Get(0).(*models.Performer)
|
|
}
|
|
}
|
|
|
|
var r1 error
|
|
if rf, ok := ret.Get(1).(func(models.Performer) error); ok {
|
|
r1 = rf(newPerformer)
|
|
} else {
|
|
r1 = ret.Error(1)
|
|
}
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
// Destroy provides a mock function with given fields: id
|
|
func (_m *PerformerReaderWriter) Destroy(id int) error {
|
|
ret := _m.Called(id)
|
|
|
|
var r0 error
|
|
if rf, ok := ret.Get(0).(func(int) error); ok {
|
|
r0 = rf(id)
|
|
} else {
|
|
r0 = ret.Error(0)
|
|
}
|
|
|
|
return r0
|
|
}
|
|
|
|
// DestroyImage provides a mock function with given fields: performerID
|
|
func (_m *PerformerReaderWriter) DestroyImage(performerID int) error {
|
|
ret := _m.Called(performerID)
|
|
|
|
var r0 error
|
|
if rf, ok := ret.Get(0).(func(int) error); ok {
|
|
r0 = rf(performerID)
|
|
} else {
|
|
r0 = ret.Error(0)
|
|
}
|
|
|
|
return r0
|
|
}
|
|
|
|
// Find provides a mock function with given fields: id
|
|
func (_m *PerformerReaderWriter) Find(id int) (*models.Performer, error) {
|
|
ret := _m.Called(id)
|
|
|
|
var r0 *models.Performer
|
|
if rf, ok := ret.Get(0).(func(int) *models.Performer); ok {
|
|
r0 = rf(id)
|
|
} else {
|
|
if ret.Get(0) != nil {
|
|
r0 = ret.Get(0).(*models.Performer)
|
|
}
|
|
}
|
|
|
|
var r1 error
|
|
if rf, ok := ret.Get(1).(func(int) error); ok {
|
|
r1 = rf(id)
|
|
} else {
|
|
r1 = ret.Error(1)
|
|
}
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
// FindByGalleryID provides a mock function with given fields: galleryID
|
|
func (_m *PerformerReaderWriter) FindByGalleryID(galleryID int) ([]*models.Performer, error) {
|
|
ret := _m.Called(galleryID)
|
|
|
|
var r0 []*models.Performer
|
|
if rf, ok := ret.Get(0).(func(int) []*models.Performer); ok {
|
|
r0 = rf(galleryID)
|
|
} else {
|
|
if ret.Get(0) != nil {
|
|
r0 = ret.Get(0).([]*models.Performer)
|
|
}
|
|
}
|
|
|
|
var r1 error
|
|
if rf, ok := ret.Get(1).(func(int) error); ok {
|
|
r1 = rf(galleryID)
|
|
} else {
|
|
r1 = ret.Error(1)
|
|
}
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
// FindByImageID provides a mock function with given fields: imageID
|
|
func (_m *PerformerReaderWriter) FindByImageID(imageID int) ([]*models.Performer, error) {
|
|
ret := _m.Called(imageID)
|
|
|
|
var r0 []*models.Performer
|
|
if rf, ok := ret.Get(0).(func(int) []*models.Performer); ok {
|
|
r0 = rf(imageID)
|
|
} else {
|
|
if ret.Get(0) != nil {
|
|
r0 = ret.Get(0).([]*models.Performer)
|
|
}
|
|
}
|
|
|
|
var r1 error
|
|
if rf, ok := ret.Get(1).(func(int) error); ok {
|
|
r1 = rf(imageID)
|
|
} else {
|
|
r1 = ret.Error(1)
|
|
}
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
// FindByNames provides a mock function with given fields: names, nocase
|
|
func (_m *PerformerReaderWriter) FindByNames(names []string, nocase bool) ([]*models.Performer, error) {
|
|
ret := _m.Called(names, nocase)
|
|
|
|
var r0 []*models.Performer
|
|
if rf, ok := ret.Get(0).(func([]string, bool) []*models.Performer); ok {
|
|
r0 = rf(names, nocase)
|
|
} else {
|
|
if ret.Get(0) != nil {
|
|
r0 = ret.Get(0).([]*models.Performer)
|
|
}
|
|
}
|
|
|
|
var r1 error
|
|
if rf, ok := ret.Get(1).(func([]string, bool) error); ok {
|
|
r1 = rf(names, nocase)
|
|
} else {
|
|
r1 = ret.Error(1)
|
|
}
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
// FindBySceneID provides a mock function with given fields: sceneID
|
|
func (_m *PerformerReaderWriter) FindBySceneID(sceneID int) ([]*models.Performer, error) {
|
|
ret := _m.Called(sceneID)
|
|
|
|
var r0 []*models.Performer
|
|
if rf, ok := ret.Get(0).(func(int) []*models.Performer); ok {
|
|
r0 = rf(sceneID)
|
|
} else {
|
|
if ret.Get(0) != nil {
|
|
r0 = ret.Get(0).([]*models.Performer)
|
|
}
|
|
}
|
|
|
|
var r1 error
|
|
if rf, ok := ret.Get(1).(func(int) error); ok {
|
|
r1 = rf(sceneID)
|
|
} else {
|
|
r1 = ret.Error(1)
|
|
}
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
// FindByStashIDStatus provides a mock function with given fields: hasStashID, stashboxEndpoint
|
|
func (_m *PerformerReaderWriter) FindByStashIDStatus(hasStashID bool, stashboxEndpoint string) ([]*models.Performer, error) {
|
|
ret := _m.Called(hasStashID, stashboxEndpoint)
|
|
|
|
var r0 []*models.Performer
|
|
if rf, ok := ret.Get(0).(func(bool, string) []*models.Performer); ok {
|
|
r0 = rf(hasStashID, stashboxEndpoint)
|
|
} else {
|
|
if ret.Get(0) != nil {
|
|
r0 = ret.Get(0).([]*models.Performer)
|
|
}
|
|
}
|
|
|
|
var r1 error
|
|
if rf, ok := ret.Get(1).(func(bool, string) error); ok {
|
|
r1 = rf(hasStashID, stashboxEndpoint)
|
|
} else {
|
|
r1 = ret.Error(1)
|
|
}
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
// FindMany provides a mock function with given fields: ids
|
|
func (_m *PerformerReaderWriter) FindMany(ids []int) ([]*models.Performer, error) {
|
|
ret := _m.Called(ids)
|
|
|
|
var r0 []*models.Performer
|
|
if rf, ok := ret.Get(0).(func([]int) []*models.Performer); ok {
|
|
r0 = rf(ids)
|
|
} else {
|
|
if ret.Get(0) != nil {
|
|
r0 = ret.Get(0).([]*models.Performer)
|
|
}
|
|
}
|
|
|
|
var r1 error
|
|
if rf, ok := ret.Get(1).(func([]int) error); ok {
|
|
r1 = rf(ids)
|
|
} else {
|
|
r1 = ret.Error(1)
|
|
}
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
// FindNamesBySceneID provides a mock function with given fields: sceneID
|
|
func (_m *PerformerReaderWriter) FindNamesBySceneID(sceneID int) ([]*models.Performer, error) {
|
|
ret := _m.Called(sceneID)
|
|
|
|
var r0 []*models.Performer
|
|
if rf, ok := ret.Get(0).(func(int) []*models.Performer); ok {
|
|
r0 = rf(sceneID)
|
|
} else {
|
|
if ret.Get(0) != nil {
|
|
r0 = ret.Get(0).([]*models.Performer)
|
|
}
|
|
}
|
|
|
|
var r1 error
|
|
if rf, ok := ret.Get(1).(func(int) error); ok {
|
|
r1 = rf(sceneID)
|
|
} else {
|
|
r1 = ret.Error(1)
|
|
}
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
// GetImage provides a mock function with given fields: performerID
|
|
func (_m *PerformerReaderWriter) GetImage(performerID int) ([]byte, error) {
|
|
ret := _m.Called(performerID)
|
|
|
|
var r0 []byte
|
|
if rf, ok := ret.Get(0).(func(int) []byte); ok {
|
|
r0 = rf(performerID)
|
|
} else {
|
|
if ret.Get(0) != nil {
|
|
r0 = ret.Get(0).([]byte)
|
|
}
|
|
}
|
|
|
|
var r1 error
|
|
if rf, ok := ret.Get(1).(func(int) error); ok {
|
|
r1 = rf(performerID)
|
|
} else {
|
|
r1 = ret.Error(1)
|
|
}
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
// GetStashIDs provides a mock function with given fields: performerID
|
|
func (_m *PerformerReaderWriter) GetStashIDs(performerID int) ([]*models.StashID, error) {
|
|
ret := _m.Called(performerID)
|
|
|
|
var r0 []*models.StashID
|
|
if rf, ok := ret.Get(0).(func(int) []*models.StashID); ok {
|
|
r0 = rf(performerID)
|
|
} else {
|
|
if ret.Get(0) != nil {
|
|
r0 = ret.Get(0).([]*models.StashID)
|
|
}
|
|
}
|
|
|
|
var r1 error
|
|
if rf, ok := ret.Get(1).(func(int) error); ok {
|
|
r1 = rf(performerID)
|
|
} else {
|
|
r1 = ret.Error(1)
|
|
}
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
// GetTagIDs provides a mock function with given fields: performerID
|
|
func (_m *PerformerReaderWriter) GetTagIDs(performerID int) ([]int, error) {
|
|
ret := _m.Called(performerID)
|
|
|
|
var r0 []int
|
|
if rf, ok := ret.Get(0).(func(int) []int); ok {
|
|
r0 = rf(performerID)
|
|
} else {
|
|
if ret.Get(0) != nil {
|
|
r0 = ret.Get(0).([]int)
|
|
}
|
|
}
|
|
|
|
var r1 error
|
|
if rf, ok := ret.Get(1).(func(int) error); ok {
|
|
r1 = rf(performerID)
|
|
} else {
|
|
r1 = ret.Error(1)
|
|
}
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
// Query provides a mock function with given fields: performerFilter, findFilter
|
|
func (_m *PerformerReaderWriter) Query(performerFilter *models.PerformerFilterType, findFilter *models.FindFilterType) ([]*models.Performer, int, error) {
|
|
ret := _m.Called(performerFilter, findFilter)
|
|
|
|
var r0 []*models.Performer
|
|
if rf, ok := ret.Get(0).(func(*models.PerformerFilterType, *models.FindFilterType) []*models.Performer); ok {
|
|
r0 = rf(performerFilter, findFilter)
|
|
} else {
|
|
if ret.Get(0) != nil {
|
|
r0 = ret.Get(0).([]*models.Performer)
|
|
}
|
|
}
|
|
|
|
var r1 int
|
|
if rf, ok := ret.Get(1).(func(*models.PerformerFilterType, *models.FindFilterType) int); ok {
|
|
r1 = rf(performerFilter, findFilter)
|
|
} else {
|
|
r1 = ret.Get(1).(int)
|
|
}
|
|
|
|
var r2 error
|
|
if rf, ok := ret.Get(2).(func(*models.PerformerFilterType, *models.FindFilterType) error); ok {
|
|
r2 = rf(performerFilter, findFilter)
|
|
} else {
|
|
r2 = ret.Error(2)
|
|
}
|
|
|
|
return r0, r1, r2
|
|
}
|
|
|
|
// QueryForAutoTag provides a mock function with given fields: words
|
|
func (_m *PerformerReaderWriter) QueryForAutoTag(words []string) ([]*models.Performer, error) {
|
|
ret := _m.Called(words)
|
|
|
|
var r0 []*models.Performer
|
|
if rf, ok := ret.Get(0).(func([]string) []*models.Performer); ok {
|
|
r0 = rf(words)
|
|
} else {
|
|
if ret.Get(0) != nil {
|
|
r0 = ret.Get(0).([]*models.Performer)
|
|
}
|
|
}
|
|
|
|
var r1 error
|
|
if rf, ok := ret.Get(1).(func([]string) error); ok {
|
|
r1 = rf(words)
|
|
} else {
|
|
r1 = ret.Error(1)
|
|
}
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
// Update provides a mock function with given fields: updatedPerformer
|
|
func (_m *PerformerReaderWriter) Update(updatedPerformer models.PerformerPartial) (*models.Performer, error) {
|
|
ret := _m.Called(updatedPerformer)
|
|
|
|
var r0 *models.Performer
|
|
if rf, ok := ret.Get(0).(func(models.PerformerPartial) *models.Performer); ok {
|
|
r0 = rf(updatedPerformer)
|
|
} else {
|
|
if ret.Get(0) != nil {
|
|
r0 = ret.Get(0).(*models.Performer)
|
|
}
|
|
}
|
|
|
|
var r1 error
|
|
if rf, ok := ret.Get(1).(func(models.PerformerPartial) error); ok {
|
|
r1 = rf(updatedPerformer)
|
|
} else {
|
|
r1 = ret.Error(1)
|
|
}
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
// UpdateFull provides a mock function with given fields: updatedPerformer
|
|
func (_m *PerformerReaderWriter) UpdateFull(updatedPerformer models.Performer) (*models.Performer, error) {
|
|
ret := _m.Called(updatedPerformer)
|
|
|
|
var r0 *models.Performer
|
|
if rf, ok := ret.Get(0).(func(models.Performer) *models.Performer); ok {
|
|
r0 = rf(updatedPerformer)
|
|
} else {
|
|
if ret.Get(0) != nil {
|
|
r0 = ret.Get(0).(*models.Performer)
|
|
}
|
|
}
|
|
|
|
var r1 error
|
|
if rf, ok := ret.Get(1).(func(models.Performer) error); ok {
|
|
r1 = rf(updatedPerformer)
|
|
} else {
|
|
r1 = ret.Error(1)
|
|
}
|
|
|
|
return r0, r1
|
|
}
|
|
|
|
// UpdateImage provides a mock function with given fields: performerID, image
|
|
func (_m *PerformerReaderWriter) UpdateImage(performerID int, image []byte) error {
|
|
ret := _m.Called(performerID, image)
|
|
|
|
var r0 error
|
|
if rf, ok := ret.Get(0).(func(int, []byte) error); ok {
|
|
r0 = rf(performerID, image)
|
|
} else {
|
|
r0 = ret.Error(0)
|
|
}
|
|
|
|
return r0
|
|
}
|
|
|
|
// UpdateStashIDs provides a mock function with given fields: performerID, stashIDs
|
|
func (_m *PerformerReaderWriter) UpdateStashIDs(performerID int, stashIDs []models.StashID) error {
|
|
ret := _m.Called(performerID, stashIDs)
|
|
|
|
var r0 error
|
|
if rf, ok := ret.Get(0).(func(int, []models.StashID) error); ok {
|
|
r0 = rf(performerID, stashIDs)
|
|
} else {
|
|
r0 = ret.Error(0)
|
|
}
|
|
|
|
return r0
|
|
}
|
|
|
|
// UpdateTags provides a mock function with given fields: performerID, tagIDs
|
|
func (_m *PerformerReaderWriter) UpdateTags(performerID int, tagIDs []int) error {
|
|
ret := _m.Called(performerID, tagIDs)
|
|
|
|
var r0 error
|
|
if rf, ok := ret.Get(0).(func(int, []int) error); ok {
|
|
r0 = rf(performerID, tagIDs)
|
|
} else {
|
|
r0 = ret.Error(0)
|
|
}
|
|
|
|
return r0
|
|
}
|