2022-08-05 20:37:55 +02:00
|
|
|
package resolvers
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
2022-08-09 07:09:55 +02:00
|
|
|
|
2022-08-05 20:37:55 +02:00
|
|
|
"github.com/photoview/photoview/api/graphql/models"
|
2022-08-09 07:09:55 +02:00
|
|
|
// "github.com/pkg/errors"
|
2022-08-05 20:37:55 +02:00
|
|
|
"gorm.io/gorm"
|
|
|
|
)
|
|
|
|
|
2022-08-09 07:09:55 +02:00
|
|
|
func (r *mutationResolver) SetThumbnailDownsampleMethod(ctx context.Context, method models.ThumbnailFilter) (models.ThumbnailFilter, error) {
|
2022-08-05 20:37:55 +02:00
|
|
|
db := r.DB(ctx)
|
|
|
|
|
2022-08-09 07:09:55 +02:00
|
|
|
// if method > 5 {
|
|
|
|
// return 0, errors.New("The requested filter is unsupported, defaulting to nearest neighbor")
|
|
|
|
// }
|
2022-08-05 20:37:55 +02:00
|
|
|
|
|
|
|
if err := db.Session(&gorm.Session{AllowGlobalUpdate: true}).Model(&models.SiteInfo{}).Update("thumbnail_method", method).Error; err != nil {
|
2022-08-09 07:09:55 +02:00
|
|
|
return models.ThumbnailFilterNearestNeighbor, err
|
2022-08-05 20:37:55 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
var siteInfo models.SiteInfo
|
|
|
|
if err := db.First(&siteInfo).Error; err != nil {
|
2022-08-09 07:09:55 +02:00
|
|
|
return models.ThumbnailFilterNearestNeighbor, err
|
2022-08-05 20:37:55 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
return siteInfo.ThumbnailMethod, nil
|
2022-08-09 07:09:55 +02:00
|
|
|
|
|
|
|
// var langTrans *models.LanguageTranslation = nil
|
|
|
|
// if language != nil {
|
|
|
|
// lng := models.LanguageTranslation(*language)
|
|
|
|
// langTrans = &lng
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
2022-08-05 20:37:55 +02:00
|
|
|
}
|