1
Fork 0

Replace all gorm .Scan() calls with .Find()

if the argument is a model. This ensures that the proper gorm hooks are
called which was causing the full screen view on the Places page to
crash.

Also fixed a bug in Messages.js that caused a crash.
This commit is contained in:
viktorstrate 2021-04-15 16:27:26 +02:00
parent 788a8e7c62
commit 8e8abe7d37
No known key found for this signature in database
GPG Key ID: 3F855605109C1E8A
5 changed files with 8 additions and 8 deletions

View File

@ -53,7 +53,7 @@ func (r *queryResolver) MyAlbums(ctx context.Context, order *models.Ordering, pa
query = models.FormatSQL(query, order, paginate)
var albums []*models.Album
if err := query.Scan(&albums).Error; err != nil {
if err := query.Find(&albums).Error; err != nil {
return nil, err
}
@ -160,7 +160,7 @@ func (r *albumResolver) Thumbnail(ctx context.Context, obj *models.Album) (*mode
) AND media.id IN (
SELECT media_id FROM media_urls WHERE media_urls.media_id = media.id
) LIMIT 1
`, obj.ID).Scan(&media).Error
`, obj.ID).Find(&media).Error
if err != nil {
return nil, err

View File

@ -35,7 +35,7 @@ func (r *queryResolver) MyMedia(ctx context.Context, order *models.Ordering, pag
query = models.FormatSQL(query, order, paginate)
if err := query.Scan(&media).Error; err != nil {
if err := query.Find(&media).Error; err != nil {
return nil, err
}
@ -91,7 +91,7 @@ func (r *queryResolver) MediaList(ctx context.Context, ids []int) ([]*models.Med
Joins("LEFT JOIN user_albums ON user_albums.album_id = media.album_id").
Where("media.id IN ?", ids).
Where("user_albums.user_id = ?", user.ID).
Scan(&media).Error
Find(&media).Error
if err != nil {
return nil, errors.Wrap(err, "could not get media list by media_id and user_id from database")

View File

@ -31,7 +31,7 @@ func (r *queryResolver) User(ctx context.Context, order *models.Ordering, pagina
var users []*models.User
if err := models.FormatSQL(r.Database.Model(models.User{}), order, paginate).Scan(&users).Error; err != nil {
if err := models.FormatSQL(r.Database.Model(models.User{}), order, paginate).Find(&users).Error; err != nil {
return nil, err
}

View File

@ -20,7 +20,7 @@ func RegisterVideoRoutes(db *gorm.DB, router *mux.Router) {
mediaName := mux.Vars(r)["name"]
var mediaURL models.MediaURL
result := db.Model(&models.MediaURL{}).Select("media_urls.*").Joins("Media").Where("media_urls.media_name = ?", mediaName).Scan(&mediaURL)
result := db.Model(&models.MediaURL{}).Select("media_urls.*").Joins("Media").Where("media_urls.media_name = ?", mediaName).Find(&mediaURL)
if err := result.Error; err != nil {
w.WriteHeader(http.StatusNotFound)
w.Write([]byte("404"))

View File

@ -54,7 +54,7 @@ const Messages = () => {
const RefDiv = props => <div {...props} ref={x => x && ref(x)} />
switch (message.type) {
case 'message':
case 'Message':
return props => (
<Message
as={RefDiv}
@ -66,7 +66,7 @@ const Messages = () => {
{...props}
/>
)
case 'progress':
case 'Progress':
return props => (
<MessageProgress
as={RefDiv}