mirror of
https://github.com/lzh-1625/go_process_manager.git
synced 2025-10-25 00:40:23 +08:00
add gen
This commit is contained in:
@@ -1,12 +1,9 @@
|
||||
package repository
|
||||
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"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"
|
||||
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type processRepository struct{}
|
||||
@@ -26,9 +23,9 @@ func (p *processRepository) GetAllProcessConfig() []model.Process {
|
||||
|
||||
func (p *processRepository) GetProcessConfigByUser(username string) []model.Process {
|
||||
result := []model.Process{}
|
||||
tx := db.Raw(`SELECT p.* FROM permission left join process p where pid =p.uuid and owned = 1 and account = ?`, username).Scan(&result)
|
||||
if tx.Error != nil {
|
||||
log.Logger.Error(tx.Error)
|
||||
err := query.Permission.LeftJoin(query.Process, 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 []model.Process{}
|
||||
}
|
||||
return result
|
||||
@@ -40,25 +37,11 @@ func (p *processRepository) UpdateProcessConfig(process model.Process) error {
|
||||
}
|
||||
|
||||
func (p *processRepository) AddProcessConfig(process model.Process) (int, error) {
|
||||
var existingProcess model.Process
|
||||
err := db.Model(&model.Process{}).Where("name = ?", process.Name).First(&existingProcess).Error
|
||||
|
||||
if err != nil && err != gorm.ErrRecordNotFound {
|
||||
log.Logger.Error(err)
|
||||
return 0, err
|
||||
}
|
||||
|
||||
if err == nil {
|
||||
|
||||
return 0, errors.New("process name already exists")
|
||||
}
|
||||
|
||||
tx := db.Create(&process)
|
||||
if tx.Error != nil {
|
||||
log.Logger.Error(tx.Error)
|
||||
return 0, tx.Error
|
||||
}
|
||||
|
||||
return process.Uuid, nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user