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:
WithoutPants
2021-01-18 12:23:20 +11:00
committed by GitHub
parent 7bae990c67
commit 1e04deb3d4
168 changed files with 12683 additions and 10863 deletions

View File

@@ -16,7 +16,7 @@ func ToJSON(reader models.TagReader, tag *models.Tag) (*jsonschema.Tag, error) {
UpdatedAt: models.JSONTime{Time: tag.UpdatedAt.Timestamp},
}
image, err := reader.GetTagImage(tag.ID)
image, err := reader.GetImage(tag.ID)
if err != nil {
return nil, fmt.Errorf("error getting tag image: %s", err.Error())
}

View File

@@ -84,9 +84,9 @@ func TestToJSON(t *testing.T) {
imageErr := errors.New("error getting image")
mockTagReader.On("GetTagImage", tagID).Return(models.DefaultTagImage, nil).Once()
mockTagReader.On("GetTagImage", noImageID).Return(nil, nil).Once()
mockTagReader.On("GetTagImage", errImageID).Return(nil, imageErr).Once()
mockTagReader.On("GetImage", tagID).Return(models.DefaultTagImage, nil).Once()
mockTagReader.On("GetImage", noImageID).Return(nil, nil).Once()
mockTagReader.On("GetImage", errImageID).Return(nil, imageErr).Once()
for i, s := range scenarios {
tag := s.tag

View File

@@ -36,7 +36,7 @@ func (i *Importer) PreImport() error {
func (i *Importer) PostImport(id int) error {
if len(i.imageData) > 0 {
if err := i.ReaderWriter.UpdateTagImage(id, i.imageData); err != nil {
if err := i.ReaderWriter.UpdateImage(id, i.imageData); err != nil {
return fmt.Errorf("error setting tag image: %s", err.Error())
}
}

View File

@@ -59,10 +59,10 @@ func TestImporterPostImport(t *testing.T) {
imageData: imageBytes,
}
updateTagImageErr := errors.New("UpdateTagImage error")
updateTagImageErr := errors.New("UpdateImage error")
readerWriter.On("UpdateTagImage", tagID, imageBytes).Return(nil).Once()
readerWriter.On("UpdateTagImage", errImageID, imageBytes).Return(updateTagImageErr).Once()
readerWriter.On("UpdateImage", tagID, imageBytes).Return(nil).Once()
readerWriter.On("UpdateImage", errImageID, imageBytes).Return(updateTagImageErr).Once()
err := i.PostImport(tagID)
assert.Nil(t, err)