Added support for import / export of scene cover images

This commit is contained in:
Stash Dev
2019-12-31 14:38:49 -08:00
parent 9766071815
commit 653406efd1
7 changed files with 35 additions and 8 deletions

View File

@@ -60,6 +60,9 @@ func (r *mutationResolver) ScenesUpdate(ctx context.Context, input []*models.Sce
func (r *mutationResolver) sceneUpdate(input models.SceneUpdateInput, tx *sqlx.Tx) (*models.Scene, error) {
// Populate scene from the input
sceneID, _ := strconv.Atoi(input.ID)
var coverImageData []byte
updatedTime := time.Now()
updatedScene := models.ScenePartial{
ID: sceneID,
@@ -77,6 +80,14 @@ func (r *mutationResolver) sceneUpdate(input models.SceneUpdateInput, tx *sqlx.T
if input.Date != nil {
updatedScene.Date = &models.SQLiteDate{String: *input.Date, Valid: true}
}
if input.CoverImage != nil && *input.CoverImage != "" {
var err error
_, coverImageData, err = utils.ProcessBase64Image(*input.CoverImage)
if err != nil {
return nil, err
}
updatedScene.Cover = &coverImageData
}
if input.Rating != nil {
updatedScene.Rating = &sql.NullInt64{Int64: int64(*input.Rating), Valid: true}
@@ -151,18 +162,13 @@ func (r *mutationResolver) sceneUpdate(input models.SceneUpdateInput, tx *sqlx.T
}
// only update the cover image if provided and everything else was successful
if input.CoverImage != nil && *input.CoverImage != "" {
_, imageData, err := utils.ProcessBase64Image(*input.CoverImage)
if err != nil {
return nil, err
}
if coverImageData != nil {
scene, err := qb.Find(sceneID)
if err != nil {
return nil, err
}
err = manager.SetSceneScreenshot(scene.Checksum, imageData)
err = manager.SetSceneScreenshot(scene.Checksum, coverImageData)
if err != nil {
return nil, err
}