Update how self is inserted for server

This commit is contained in:
Melody Becker 2025-05-10 12:02:57 +02:00
parent 4f64f0b847
commit 06841782df
Signed by: mstar
SSH key fingerprint: SHA256:vkXfS9FG2pVNVfvDrzd1VW9n8VJzqqdKQGljxxX8uK8

View file

@ -74,16 +74,30 @@ func insertDefaultDuck() (*models.MediaMetadata, error) {
} }
func insertServer(duck *models.MediaMetadata) (*models.RemoteServer, error) { func insertServer(duck *models.MediaMetadata) (*models.RemoteServer, error) {
// dbServer, err := dbgen.RemoteServer.Where(dbgen.RemoteServer.ID.Eq(1)).First() rs := dbgen.RemoteServer
// if err == nil { dbServer, err := rs.Where(rs.IsSelf.Is(true)).First()
// return dbServer, nil if err == nil {
// } else if err != gorm.ErrRecordNotFound { // Exists, ensure up to date info
// return nil, err tx := dbgen.Q.Begin()
// } if _, err = tx.RemoteServer.Where(rs.IsSelf.Is(true)).UpdateColumn(rs.Version, shared.Version); err != nil {
_ = tx.Rollback()
return nil, err
}
if _, err = tx.RemoteServer.Where(rs.IsSelf.Is(true)).
UpdateColumn(rs.Name, config.GlobalConfig.Self.ServerDisplayName); err != nil {
_ = tx.Rollback()
return nil, err
}
if err = tx.Commit(); err != nil {
return nil, err
}
return dbServer, nil
} else if err != gorm.ErrRecordNotFound {
// Db fail
return nil, err
}
// Doesn't exist, create
server := models.RemoteServer{ server := models.RemoteServer{
Model: gorm.Model{
ID: 1,
},
ServerType: models.ServerSoftwareLinstrom, ServerType: models.ServerSoftwareLinstrom,
SpecificType: "linstrom", SpecificType: "linstrom",
Version: shared.Version, Version: shared.Version,
@ -93,7 +107,7 @@ func insertServer(duck *models.MediaMetadata) (*models.RemoteServer, error) {
IconId: sql.NullString{String: duck.ID, Valid: true}, IconId: sql.NullString{String: duck.ID, Valid: true},
IsSelf: true, IsSelf: true,
} }
err := dbgen.RemoteServer.Save(&server) err = rs.Create(&server)
if err != nil { if err != nil {
return nil, err return nil, err
} }