mirror of
https://github.com/stashapp/stash.git
synced 2025-12-17 04:14:39 +03:00
Support for assigning any image from a gallery as the cover (#5053)
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
This commit is contained in:
@@ -710,6 +710,45 @@ func (t *scenesGroupsTable) modifyJoins(ctx context.Context, id int, v []models.
|
||||
return nil
|
||||
}
|
||||
|
||||
type imageGalleriesTable struct {
|
||||
joinTable
|
||||
}
|
||||
|
||||
func (t *imageGalleriesTable) setCover(ctx context.Context, id int, galleryID int) error {
|
||||
if err := t.resetCover(ctx, galleryID); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
table := t.table.table
|
||||
|
||||
q := dialect.Update(table).Prepared(true).Set(goqu.Record{
|
||||
"cover": true,
|
||||
}).Where(t.idColumn.Eq(id), table.Col(galleryIDColumn).Eq(galleryID))
|
||||
|
||||
if _, err := exec(ctx, q); err != nil {
|
||||
return fmt.Errorf("setting cover flag in %s: %w", t.table.table.GetTable(), err)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (t *imageGalleriesTable) resetCover(ctx context.Context, galleryID int) error {
|
||||
table := t.table.table
|
||||
|
||||
q := dialect.Update(table).Prepared(true).Set(goqu.Record{
|
||||
"cover": false,
|
||||
}).Where(
|
||||
table.Col(galleryIDColumn).Eq(galleryID),
|
||||
table.Col("cover").Eq(true),
|
||||
)
|
||||
|
||||
if _, err := exec(ctx, q); err != nil {
|
||||
return fmt.Errorf("unsetting cover flags in %s: %w", t.table.table.GetTable(), err)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
type relatedFilesTable struct {
|
||||
table
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user