mirror of
https://github.com/stashapp/stash.git
synced 2025-12-18 04:44:37 +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:
@@ -13,7 +13,6 @@ type MarkerImporter struct {
|
||||
SceneID int
|
||||
ReaderWriter models.SceneMarkerReaderWriter
|
||||
TagWriter models.TagReaderWriter
|
||||
JoinWriter models.JoinReaderWriter
|
||||
Input jsonschema.SceneMarker
|
||||
MissingRefBehaviour models.ImportMissingRefEnum
|
||||
|
||||
@@ -66,15 +65,11 @@ func (i *MarkerImporter) populateTags() error {
|
||||
|
||||
func (i *MarkerImporter) PostImport(id int) error {
|
||||
if len(i.tags) > 0 {
|
||||
var tagJoins []models.SceneMarkersTags
|
||||
for _, tag := range i.tags {
|
||||
join := models.SceneMarkersTags{
|
||||
SceneMarkerID: id,
|
||||
TagID: tag.ID,
|
||||
}
|
||||
tagJoins = append(tagJoins, join)
|
||||
var tagIDs []int
|
||||
for _, t := range i.tags {
|
||||
tagIDs = append(tagIDs, t.ID)
|
||||
}
|
||||
if err := i.JoinWriter.UpdateSceneMarkersTags(id, tagJoins); err != nil {
|
||||
if err := i.ReaderWriter.UpdateTags(id, tagIDs); err != nil {
|
||||
return fmt.Errorf("failed to associate tags: %s", err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user