Upgrade to Beego 2's orm

This commit is contained in:
Deluan
2022-07-30 12:43:48 -04:00
parent 16afd3a490
commit 695f82a1a0
31 changed files with 56 additions and 105 deletions
+2 -2
View File
@@ -11,7 +11,7 @@ import (
"time"
. "github.com/Masterminds/squirrel"
"github.com/astaxie/beego/orm"
"github.com/beego/beego/v2/client/orm"
"github.com/deluan/rest"
"github.com/navidrome/navidrome/conf"
"github.com/navidrome/navidrome/consts"
@@ -25,7 +25,7 @@ type albumRepository struct {
sqlRestful
}
func NewAlbumRepository(ctx context.Context, o orm.Ormer) model.AlbumRepository {
func NewAlbumRepository(ctx context.Context, o orm.QueryExecutor) model.AlbumRepository {
r := &albumRepository{}
r.ctx = ctx
r.ormer = o
+1 -1
View File
@@ -5,7 +5,7 @@ import (
"os"
"path/filepath"
"github.com/astaxie/beego/orm"
"github.com/beego/beego/v2/client/orm"
"github.com/navidrome/navidrome/conf"
"github.com/navidrome/navidrome/consts"
"github.com/navidrome/navidrome/log"
+2 -2
View File
@@ -8,7 +8,7 @@ import (
"strings"
. "github.com/Masterminds/squirrel"
"github.com/astaxie/beego/orm"
"github.com/beego/beego/v2/client/orm"
"github.com/deluan/rest"
"github.com/navidrome/navidrome/conf"
"github.com/navidrome/navidrome/consts"
@@ -28,7 +28,7 @@ type dbArtist struct {
SimilarArtists string `structs:"similar_artists" json:"similarArtists"`
}
func NewArtistRepository(ctx context.Context, o orm.Ormer) model.ArtistRepository {
func NewArtistRepository(ctx context.Context, o orm.QueryExecutor) model.ArtistRepository {
r := &artistRepository{}
r.ctx = ctx
r.ormer = o
+1 -1
View File
@@ -3,7 +3,7 @@ package persistence
import (
"context"
"github.com/astaxie/beego/orm"
"github.com/beego/beego/v2/client/orm"
"github.com/navidrome/navidrome/log"
"github.com/navidrome/navidrome/model"
"github.com/navidrome/navidrome/model/request"
+2 -2
View File
@@ -4,7 +4,7 @@ import (
"context"
. "github.com/Masterminds/squirrel"
"github.com/astaxie/beego/orm"
"github.com/beego/beego/v2/client/orm"
"github.com/deluan/rest"
"github.com/navidrome/navidrome/log"
"github.com/navidrome/navidrome/model"
@@ -15,7 +15,7 @@ type genreRepository struct {
sqlRestful
}
func NewGenreRepository(ctx context.Context, o orm.Ormer) model.GenreRepository {
func NewGenreRepository(ctx context.Context, o orm.QueryExecutor) model.GenreRepository {
r := &genreRepository{}
r.ctx = ctx
r.ormer = o
+1 -1
View File
@@ -3,7 +3,7 @@ package persistence_test
import (
"context"
"github.com/astaxie/beego/orm"
"github.com/beego/beego/v2/client/orm"
"github.com/navidrome/navidrome/log"
"github.com/navidrome/navidrome/model"
"github.com/navidrome/navidrome/persistence"
+2 -2
View File
@@ -9,7 +9,7 @@ import (
"unicode/utf8"
. "github.com/Masterminds/squirrel"
"github.com/astaxie/beego/orm"
"github.com/beego/beego/v2/client/orm"
"github.com/deluan/rest"
"github.com/navidrome/navidrome/log"
"github.com/navidrome/navidrome/model"
@@ -20,7 +20,7 @@ type mediaFileRepository struct {
sqlRestful
}
func NewMediaFileRepository(ctx context.Context, o orm.Ormer) *mediaFileRepository {
func NewMediaFileRepository(ctx context.Context, o orm.QueryExecutor) *mediaFileRepository {
r := &mediaFileRepository{}
r.ctx = ctx
r.ormer = o
+1 -1
View File
@@ -5,7 +5,7 @@ import (
"time"
"github.com/Masterminds/squirrel"
"github.com/astaxie/beego/orm"
"github.com/beego/beego/v2/client/orm"
"github.com/google/uuid"
"github.com/navidrome/navidrome/log"
"github.com/navidrome/navidrome/model"
+2 -2
View File
@@ -3,7 +3,7 @@ package persistence
import (
"context"
"github.com/astaxie/beego/orm"
"github.com/beego/beego/v2/client/orm"
"github.com/navidrome/navidrome/conf"
"github.com/navidrome/navidrome/model"
)
@@ -12,7 +12,7 @@ type mediaFolderRepository struct {
ctx context.Context
}
func NewMediaFolderRepository(ctx context.Context, o orm.Ormer) model.MediaFolderRepository {
func NewMediaFolderRepository(ctx context.Context, o orm.QueryExecutor) model.MediaFolderRepository {
return &mediaFolderRepository{ctx}
}
+7 -24
View File
@@ -5,14 +5,14 @@ import (
"database/sql"
"reflect"
"github.com/astaxie/beego/orm"
"github.com/beego/beego/v2/client/orm"
"github.com/navidrome/navidrome/db"
"github.com/navidrome/navidrome/log"
"github.com/navidrome/navidrome/model"
)
type SQLStore struct {
orm orm.Ormer
orm orm.QueryExecutor
db *sql.DB
}
@@ -106,27 +106,10 @@ func (s *SQLStore) WithTx(block func(tx model.DataStore) error) error {
if err != nil {
return err
}
err = o.Begin()
if err != nil {
return err
}
newDb := &SQLStore{orm: o}
err = block(newDb)
if err != nil {
err2 := o.Rollback()
if err2 != nil {
return err2
}
return err
}
err2 := o.Commit()
if err2 != nil {
return err2
}
return nil
return o.DoTx(func(ctx context.Context, txOrm orm.TxOrmer) error {
newDb := &SQLStore{orm: txOrm}
return block(newDb)
})
}
func (s *SQLStore) GC(ctx context.Context, rootFolder string) error {
@@ -182,7 +165,7 @@ func (s *SQLStore) GC(ctx context.Context, rootFolder string) error {
return err
}
func (s *SQLStore) getOrmer() orm.Ormer {
func (s *SQLStore) getOrmer() orm.QueryExecutor {
if s.orm == nil {
o, err := orm.NewOrmWithDB(db.Driver, "default", s.db)
if err != nil {
+1 -1
View File
@@ -5,7 +5,7 @@ import (
"path/filepath"
"testing"
"github.com/astaxie/beego/orm"
"github.com/beego/beego/v2/client/orm"
_ "github.com/mattn/go-sqlite3"
"github.com/navidrome/navidrome/conf"
"github.com/navidrome/navidrome/db"
+2 -2
View File
@@ -4,7 +4,7 @@ import (
"context"
. "github.com/Masterminds/squirrel"
"github.com/astaxie/beego/orm"
"github.com/beego/beego/v2/client/orm"
"github.com/deluan/rest"
"github.com/navidrome/navidrome/model"
)
@@ -14,7 +14,7 @@ type playerRepository struct {
sqlRestful
}
func NewPlayerRepository(ctx context.Context, o orm.Ormer) model.PlayerRepository {
func NewPlayerRepository(ctx context.Context, o orm.QueryExecutor) model.PlayerRepository {
r := &playerRepository{}
r.ctx = ctx
r.ormer = o
+2 -2
View File
@@ -7,7 +7,7 @@ import (
"time"
. "github.com/Masterminds/squirrel"
"github.com/astaxie/beego/orm"
"github.com/beego/beego/v2/client/orm"
"github.com/deluan/rest"
"github.com/navidrome/navidrome/log"
"github.com/navidrome/navidrome/model"
@@ -25,7 +25,7 @@ type dbPlaylist struct {
RawRules string `structs:"rules" orm:"column(rules)"`
}
func NewPlaylistRepository(ctx context.Context, o orm.Ormer) model.PlaylistRepository {
func NewPlaylistRepository(ctx context.Context, o orm.QueryExecutor) model.PlaylistRepository {
r := &playlistRepository{}
r.ctx = ctx
r.ormer = o
+1 -1
View File
@@ -3,7 +3,7 @@ package persistence
import (
"context"
"github.com/astaxie/beego/orm"
"github.com/beego/beego/v2/client/orm"
"github.com/navidrome/navidrome/log"
"github.com/navidrome/navidrome/model"
"github.com/navidrome/navidrome/model/request"
+2 -2
View File
@@ -6,7 +6,7 @@ import (
"time"
. "github.com/Masterminds/squirrel"
"github.com/astaxie/beego/orm"
"github.com/beego/beego/v2/client/orm"
"github.com/navidrome/navidrome/log"
"github.com/navidrome/navidrome/model"
"github.com/navidrome/navidrome/utils"
@@ -16,7 +16,7 @@ type playQueueRepository struct {
sqlRepository
}
func NewPlayQueueRepository(ctx context.Context, o orm.Ormer) model.PlayQueueRepository {
func NewPlayQueueRepository(ctx context.Context, o orm.QueryExecutor) model.PlayQueueRepository {
r := &playQueueRepository{}
r.ctx = ctx
r.ormer = o
+1 -1
View File
@@ -5,7 +5,7 @@ import (
"time"
"github.com/Masterminds/squirrel"
"github.com/astaxie/beego/orm"
"github.com/beego/beego/v2/client/orm"
"github.com/google/uuid"
"github.com/navidrome/navidrome/log"
"github.com/navidrome/navidrome/model"
+2 -2
View File
@@ -4,7 +4,7 @@ import (
"context"
. "github.com/Masterminds/squirrel"
"github.com/astaxie/beego/orm"
"github.com/beego/beego/v2/client/orm"
"github.com/navidrome/navidrome/model"
)
@@ -12,7 +12,7 @@ type propertyRepository struct {
sqlRepository
}
func NewPropertyRepository(ctx context.Context, o orm.Ormer) model.PropertyRepository {
func NewPropertyRepository(ctx context.Context, o orm.QueryExecutor) model.PropertyRepository {
r := &propertyRepository{}
r.ctx = ctx
r.ormer = o
+1 -1
View File
@@ -3,7 +3,7 @@ package persistence
import (
"context"
"github.com/astaxie/beego/orm"
"github.com/beego/beego/v2/client/orm"
"github.com/navidrome/navidrome/log"
"github.com/navidrome/navidrome/model"
. "github.com/onsi/ginkgo/v2"
+2 -2
View File
@@ -5,7 +5,7 @@ import (
"time"
. "github.com/Masterminds/squirrel"
"github.com/astaxie/beego/orm"
"github.com/beego/beego/v2/client/orm"
"github.com/navidrome/navidrome/model"
)
@@ -13,7 +13,7 @@ type scrobbleBufferRepository struct {
sqlRepository
}
func NewScrobbleBufferRepository(ctx context.Context, o orm.Ormer) model.ScrobbleBufferRepository {
func NewScrobbleBufferRepository(ctx context.Context, o orm.QueryExecutor) model.ScrobbleBufferRepository {
r := &scrobbleBufferRepository{}
r.ctx = ctx
r.ormer = o
+2 -2
View File
@@ -4,7 +4,7 @@ import (
"context"
. "github.com/Masterminds/squirrel"
"github.com/astaxie/beego/orm"
"github.com/beego/beego/v2/client/orm"
"github.com/deluan/rest"
"github.com/navidrome/navidrome/model"
)
@@ -14,7 +14,7 @@ type shareRepository struct {
sqlRestful
}
func NewShareRepository(ctx context.Context, o orm.Ormer) model.ShareRepository {
func NewShareRepository(ctx context.Context, o orm.QueryExecutor) model.ShareRepository {
r := &shareRepository{}
r.ctx = ctx
r.ormer = o
+1 -1
View File
@@ -4,7 +4,7 @@ import (
"time"
. "github.com/Masterminds/squirrel"
"github.com/astaxie/beego/orm"
"github.com/beego/beego/v2/client/orm"
"github.com/google/uuid"
"github.com/navidrome/navidrome/log"
"github.com/navidrome/navidrome/model"
+2 -2
View File
@@ -7,7 +7,7 @@ import (
"time"
. "github.com/Masterminds/squirrel"
"github.com/astaxie/beego/orm"
"github.com/beego/beego/v2/client/orm"
"github.com/google/uuid"
"github.com/navidrome/navidrome/log"
"github.com/navidrome/navidrome/model"
@@ -17,7 +17,7 @@ import (
type sqlRepository struct {
ctx context.Context
tableName string
ormer orm.Ormer
ormer orm.QueryExecutor
sortMappings map[string]string
}
+1 -1
View File
@@ -4,7 +4,7 @@ import (
"time"
. "github.com/Masterminds/squirrel"
"github.com/astaxie/beego/orm"
"github.com/beego/beego/v2/client/orm"
"github.com/navidrome/navidrome/log"
"github.com/navidrome/navidrome/model"
"github.com/navidrome/navidrome/model/request"
+1 -1
View File
@@ -3,7 +3,7 @@ package persistence
import (
"context"
"github.com/astaxie/beego/orm"
"github.com/beego/beego/v2/client/orm"
"github.com/navidrome/navidrome/log"
"github.com/navidrome/navidrome/model"
"github.com/navidrome/navidrome/model/request"
+2 -2
View File
@@ -4,7 +4,7 @@ import (
"context"
. "github.com/Masterminds/squirrel"
"github.com/astaxie/beego/orm"
"github.com/beego/beego/v2/client/orm"
"github.com/deluan/rest"
"github.com/navidrome/navidrome/model"
)
@@ -14,7 +14,7 @@ type transcodingRepository struct {
sqlRestful
}
func NewTranscodingRepository(ctx context.Context, o orm.Ormer) model.TranscodingRepository {
func NewTranscodingRepository(ctx context.Context, o orm.QueryExecutor) model.TranscodingRepository {
r := &transcodingRepository{}
r.ctx = ctx
r.ormer = o
+2 -2
View File
@@ -4,7 +4,7 @@ import (
"context"
. "github.com/Masterminds/squirrel"
"github.com/astaxie/beego/orm"
"github.com/beego/beego/v2/client/orm"
"github.com/navidrome/navidrome/model"
)
@@ -12,7 +12,7 @@ type userPropsRepository struct {
sqlRepository
}
func NewUserPropsRepository(ctx context.Context, o orm.Ormer) model.UserPropsRepository {
func NewUserPropsRepository(ctx context.Context, o orm.QueryExecutor) model.UserPropsRepository {
r := &userPropsRepository{}
r.ctx = ctx
r.ormer = o
+2 -2
View File
@@ -9,7 +9,7 @@ import (
"time"
. "github.com/Masterminds/squirrel"
"github.com/astaxie/beego/orm"
"github.com/beego/beego/v2/client/orm"
"github.com/deluan/rest"
"github.com/google/uuid"
"github.com/navidrome/navidrome/conf"
@@ -29,7 +29,7 @@ var (
encKey []byte
)
func NewUserRepository(ctx context.Context, o orm.Ormer) model.UserRepository {
func NewUserRepository(ctx context.Context, o orm.QueryExecutor) model.UserRepository {
r := &userRepository{}
r.ctx = ctx
r.ormer = o
+1 -1
View File
@@ -4,7 +4,7 @@ import (
"context"
"errors"
"github.com/astaxie/beego/orm"
"github.com/beego/beego/v2/client/orm"
"github.com/deluan/rest"
"github.com/navidrome/navidrome/log"
"github.com/navidrome/navidrome/model"