mirror of
https://github.com/stashapp/stash.git
synced 2025-12-17 04:14:39 +03:00
Data layer restructuring (#997)
* Move query builders to sqlite package * Add transaction system * Wrap model resolvers in transaction * Add error return value for StringSliceToIntSlice * Update/refactor mutation resolvers * Convert query builders * Remove unused join types * Add stash id unit tests * Use WAL journal mode
This commit is contained in:
@@ -7,7 +7,6 @@ import (
|
||||
"github.com/stashapp/stash/pkg/manager/jsonschema"
|
||||
"github.com/stashapp/stash/pkg/models"
|
||||
"github.com/stashapp/stash/pkg/models/mocks"
|
||||
"github.com/stashapp/stash/pkg/models/modelstest"
|
||||
"github.com/stretchr/testify/assert"
|
||||
|
||||
"testing"
|
||||
@@ -52,7 +51,7 @@ var frontImageBytes = []byte("frontImageBytes")
|
||||
var backImageBytes = []byte("backImageBytes")
|
||||
|
||||
var studio models.Studio = models.Studio{
|
||||
Name: modelstest.NullString(studioName),
|
||||
Name: models.NullString(studioName),
|
||||
}
|
||||
|
||||
var createTime time.Time = time.Date(2001, 01, 01, 0, 0, 0, 0, time.UTC)
|
||||
@@ -61,8 +60,8 @@ var updateTime time.Time = time.Date(2002, 01, 01, 0, 0, 0, 0, time.UTC)
|
||||
func createFullMovie(id int, studioID int) models.Movie {
|
||||
return models.Movie{
|
||||
ID: id,
|
||||
Name: modelstest.NullString(movieName),
|
||||
Aliases: modelstest.NullString(movieAliases),
|
||||
Name: models.NullString(movieName),
|
||||
Aliases: models.NullString(movieAliases),
|
||||
Date: date,
|
||||
Rating: sql.NullInt64{
|
||||
Int64: rating,
|
||||
@@ -72,9 +71,9 @@ func createFullMovie(id int, studioID int) models.Movie {
|
||||
Int64: duration,
|
||||
Valid: true,
|
||||
},
|
||||
Director: modelstest.NullString(director),
|
||||
Synopsis: modelstest.NullString(synopsis),
|
||||
URL: modelstest.NullString(url),
|
||||
Director: models.NullString(director),
|
||||
Synopsis: models.NullString(synopsis),
|
||||
URL: models.NullString(url),
|
||||
StudioID: sql.NullInt64{
|
||||
Int64: int64(studioID),
|
||||
Valid: true,
|
||||
|
||||
@@ -117,7 +117,7 @@ func (i *Importer) createStudio(name string) (int, error) {
|
||||
|
||||
func (i *Importer) PostImport(id int) error {
|
||||
if len(i.frontImageData) > 0 {
|
||||
if err := i.ReaderWriter.UpdateMovieImages(id, i.frontImageData, i.backImageData); err != nil {
|
||||
if err := i.ReaderWriter.UpdateImages(id, i.frontImageData, i.backImageData); err != nil {
|
||||
return fmt.Errorf("error setting movie images: %s", err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,6 @@ import (
|
||||
"github.com/stashapp/stash/pkg/manager/jsonschema"
|
||||
"github.com/stashapp/stash/pkg/models"
|
||||
"github.com/stashapp/stash/pkg/models/mocks"
|
||||
"github.com/stashapp/stash/pkg/models/modelstest"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/mock"
|
||||
)
|
||||
@@ -158,10 +157,10 @@ func TestImporterPostImport(t *testing.T) {
|
||||
backImageData: backImageBytes,
|
||||
}
|
||||
|
||||
updateMovieImageErr := errors.New("UpdateMovieImage error")
|
||||
updateMovieImageErr := errors.New("UpdateImages error")
|
||||
|
||||
readerWriter.On("UpdateMovieImages", movieID, frontImageBytes, backImageBytes).Return(nil).Once()
|
||||
readerWriter.On("UpdateMovieImages", errImageID, frontImageBytes, backImageBytes).Return(updateMovieImageErr).Once()
|
||||
readerWriter.On("UpdateImages", movieID, frontImageBytes, backImageBytes).Return(nil).Once()
|
||||
readerWriter.On("UpdateImages", errImageID, frontImageBytes, backImageBytes).Return(updateMovieImageErr).Once()
|
||||
|
||||
err := i.PostImport(movieID)
|
||||
assert.Nil(t, err)
|
||||
@@ -210,11 +209,11 @@ func TestCreate(t *testing.T) {
|
||||
readerWriter := &mocks.MovieReaderWriter{}
|
||||
|
||||
movie := models.Movie{
|
||||
Name: modelstest.NullString(movieName),
|
||||
Name: models.NullString(movieName),
|
||||
}
|
||||
|
||||
movieErr := models.Movie{
|
||||
Name: modelstest.NullString(movieNameErr),
|
||||
Name: models.NullString(movieNameErr),
|
||||
}
|
||||
|
||||
i := Importer{
|
||||
@@ -244,11 +243,11 @@ func TestUpdate(t *testing.T) {
|
||||
readerWriter := &mocks.MovieReaderWriter{}
|
||||
|
||||
movie := models.Movie{
|
||||
Name: modelstest.NullString(movieName),
|
||||
Name: models.NullString(movieName),
|
||||
}
|
||||
|
||||
movieErr := models.Movie{
|
||||
Name: modelstest.NullString(movieNameErr),
|
||||
Name: models.NullString(movieNameErr),
|
||||
}
|
||||
|
||||
i := Importer{
|
||||
|
||||
Reference in New Issue
Block a user