1
Fork 0
This commit is contained in:
viktorstrate 2021-09-30 16:05:23 +02:00
parent d060ee9fd9
commit f6cc86d75a
No known key found for this signature in database
GPG Key ID: 3F855605109C1E8A
2 changed files with 11 additions and 4 deletions

View File

@ -145,8 +145,15 @@ func hashSharePassword(password *string) (*string, error) {
func getUserToken(db *gorm.DB, userID int, tokenValue string) (*models.ShareToken, error) {
var query string
if db.Dialector.Name() == "postgres" {
query = "\"Owner\".id = ? OR \"Owner\".admin = TRUE"
} else {
query = "Owner.id = ? OR Owner.admin = TRUE"
}
var token models.ShareToken
err := db.Where("share_tokens.value = ?", tokenValue).Joins("Owner").Where("Owner.id = ? OR Owner.admin = TRUE", userID).First(&token).Error
err := db.Where("share_tokens.value = ?", tokenValue).Joins("Owner").Where(query, userID).First(&token).Error
if err != nil {
return nil, errors.Wrap(err, "failed to get user share token from database")

View File

@ -69,19 +69,19 @@ func TestShareToken(t *testing.T) {
assert.NotNil(t, share)
assert.NotEmpty(t, share.Value)
assert.NotNil(t, share.AlbumID)
assert.Equal(t, rootAlbum.ID, *share.AlbumID)
assert.Nil(t, share.MediaID)
})
t.Run("Add media share", func(t *testing.T) {
share, err := actions.AddMediaShare(db, user, rootAlbum.ID, &expireTime, &sharePassword)
share, err := actions.AddMediaShare(db, user, media[0].ID, &expireTime, &sharePassword)
mediaShare = share
assert.NoError(t, err)
assert.NotNil(t, share)
assert.NotEmpty(t, share.Value)
assert.NotNil(t, share.MediaID)
assert.Equal(t, media[0].ID, *share.MediaID)
assert.Nil(t, share.AlbumID)
})