Add support for scrobbling to listenbrainz

This commit is contained in:
Alex McGrath
2021-01-08 13:10:34 +00:00
committed by Senan Kelly
parent f4ff7e70f2
commit b9998f7ee6
10 changed files with 165 additions and 18 deletions

View File

@@ -78,6 +78,7 @@ func New(path string) (*DB, error) {
migrateUpdateTranscodePrefIDX(),
migrateAddAlbumIDX(),
migrateMultiGenre(),
migrateListenBrainz(),
))
if err = migr.Migrate(); err != nil {
return nil, fmt.Errorf("migrating to latest version: %w", err)

View File

@@ -210,3 +210,18 @@ func migrateMultiGenre() gormigrate.Migration {
},
}
}
func migrateListenBrainz() gormigrate.Migration {
return gormigrate.Migration{
ID: "202101081149",
Migrate: func(tx *gorm.DB) error {
step := tx.AutoMigrate(
User{},
)
if err := step.Error; err != nil {
return fmt.Errorf("step auto migrate: %w", err)
}
return nil
},
}
}

View File

@@ -134,12 +134,13 @@ func (t *Track) GenreStrings() []string {
}
type User struct {
ID int `gorm:"primary_key"`
CreatedAt time.Time
Name string `gorm:"not null; unique_index" sql:"default: null"`
Password string `gorm:"not null" sql:"default: null"`
LastFMSession string `sql:"default: null"`
IsAdmin bool `sql:"default: null"`
ID int `gorm:"primary_key"`
CreatedAt time.Time
Name string `gorm:"not null; unique_index" sql:"default: null"`
Password string `gorm:"not null" sql:"default: null"`
LastFMSession string `sql:"default: null"`
ListenBrainzSession string `sql:"default: null"`
IsAdmin bool `sql:"default: null"`
}
type Setting struct {