mirror of
https://github.com/lzh-1625/go_process_manager.git
synced 2025-09-27 20:32:10 +08:00
55 lines
1.5 KiB
Go
55 lines
1.5 KiB
Go
package repository
|
|
|
|
import (
|
|
"github.com/lzh-1625/go_process_manager/internal/app/model"
|
|
"github.com/lzh-1625/go_process_manager/internal/app/repository/query"
|
|
"github.com/lzh-1625/go_process_manager/log"
|
|
)
|
|
|
|
type processRepository struct{}
|
|
|
|
var ProcessRepository = new(processRepository)
|
|
|
|
func (p *processRepository) GetAllProcessConfig() []model.Process {
|
|
result := []model.Process{}
|
|
tx := db.Find(&result)
|
|
if tx.Error != nil {
|
|
log.Logger.Error(tx.Error)
|
|
return nil
|
|
}
|
|
return result
|
|
}
|
|
|
|
func (p *processRepository) GetProcessConfigByUser(username string) []model.Process {
|
|
result := []model.Process{}
|
|
err := query.Process.LeftJoin(query.Permission, query.Process.Uuid.EqCol(query.Permission.Pid)).
|
|
Where(query.Permission.Owned.Is(true)).
|
|
Where(query.Permission.Account.Eq(username)).
|
|
Scan(&result)
|
|
if err != nil {
|
|
log.Logger.Error(err)
|
|
return nil
|
|
}
|
|
return result
|
|
}
|
|
|
|
func (p *processRepository) UpdateProcessConfig(process model.Process) error {
|
|
return db.Save(&process).Error
|
|
}
|
|
|
|
func (p *processRepository) AddProcessConfig(process model.Process) (id int, err error) {
|
|
err = db.Create(&process).Error
|
|
id = process.Uuid
|
|
return
|
|
}
|
|
|
|
func (p *processRepository) DeleteProcessConfig(uuid int) error {
|
|
_, err := query.Process.Where(query.Process.Uuid.Eq(uuid)).Delete()
|
|
return err
|
|
}
|
|
|
|
func (p *processRepository) GetProcessConfigById(uuid int) (data model.Process, err error) {
|
|
err = db.Model(&model.Process{}).Where(&model.Process{Uuid: uuid}).First(&data).Error
|
|
return
|
|
}
|