48 lines
1.2 KiB
Go
48 lines
1.2 KiB
Go
package dao
|
|
|
|
import (
|
|
"go-common/app/admin/ep/merlin/model"
|
|
|
|
pkgerr "github.com/pkg/errors"
|
|
)
|
|
|
|
// InsertMachinesV2 insert machines for v2.
|
|
func (d *Dao) InsertMachinesV2(u string, gmr *model.GenMachinesRequest, pgmr *model.PaasGenMachineRequest) (ms []*model.Machine, err error) {
|
|
tx := d.db.Begin()
|
|
if err = tx.Error; err != nil {
|
|
return
|
|
}
|
|
for _, pm := range pgmr.Machines {
|
|
m := pm.ToMachine(u, gmr)
|
|
if err = tx.Create(m).Error; err != nil {
|
|
tx.Rollback()
|
|
return
|
|
}
|
|
for _, n := range gmr.ToMachineNode(m.ID) {
|
|
if err = tx.Create(n).Error; err != nil {
|
|
tx.Rollback()
|
|
return
|
|
}
|
|
}
|
|
if err = tx.Create(m.ToMachineLog()).Error; err != nil {
|
|
tx.Rollback()
|
|
return
|
|
}
|
|
ms = append(ms, m)
|
|
}
|
|
if err = tx.Commit().Error; err != nil {
|
|
tx.Rollback()
|
|
}
|
|
return
|
|
}
|
|
|
|
// UpdateStatusForMachines update status for machines.
|
|
func (d *Dao) UpdateStatusForMachines(status int, ids []int64) (err error) {
|
|
return pkgerr.WithStack(d.db.Model(&model.Machine{}).Where("id IN (?)", ids).Update("status", status).Error)
|
|
}
|
|
|
|
// UpdateMachineStatusByName update status by name.
|
|
func (d *Dao) UpdateMachineStatusByName(status int, n string) error {
|
|
return pkgerr.WithStack(d.db.Model(&model.Machine{}).Where("name = ?", n).Update("status", status).Error)
|
|
}
|