mirror of
https://github.com/1Panel-dev/1Panel.git
synced 2026-09-23 08:00:55 +00:00
51 lines
1.4 KiB
Go
51 lines
1.4 KiB
Go
package repo
|
|
|
|
import "github.com/1Panel-dev/1Panel/agent/app/model"
|
|
|
|
type AgentAccountModelRepo struct{}
|
|
|
|
type IAgentAccountModelRepo interface {
|
|
List(opts ...DBOption) ([]model.AgentAccountModel, error)
|
|
GetFirst(opts ...DBOption) (*model.AgentAccountModel, error)
|
|
Create(item *model.AgentAccountModel) error
|
|
Save(item *model.AgentAccountModel) error
|
|
DeleteByID(id uint) error
|
|
Delete(opts ...DBOption) error
|
|
}
|
|
|
|
func NewIAgentAccountModelRepo() IAgentAccountModelRepo {
|
|
return &AgentAccountModelRepo{}
|
|
}
|
|
|
|
func (a AgentAccountModelRepo) List(opts ...DBOption) ([]model.AgentAccountModel, error) {
|
|
var list []model.AgentAccountModel
|
|
if err := getDb(opts...).Find(&list).Error; err != nil {
|
|
return nil, err
|
|
}
|
|
return list, nil
|
|
}
|
|
|
|
func (a AgentAccountModelRepo) GetFirst(opts ...DBOption) (*model.AgentAccountModel, error) {
|
|
var item model.AgentAccountModel
|
|
if err := getDb(opts...).First(&item).Error; err != nil {
|
|
return nil, err
|
|
}
|
|
return &item, nil
|
|
}
|
|
|
|
func (a AgentAccountModelRepo) Create(item *model.AgentAccountModel) error {
|
|
return getDb().Create(item).Error
|
|
}
|
|
|
|
func (a AgentAccountModelRepo) Save(item *model.AgentAccountModel) error {
|
|
return getDb().Save(item).Error
|
|
}
|
|
|
|
func (a AgentAccountModelRepo) DeleteByID(id uint) error {
|
|
return getDb().Delete(&model.AgentAccountModel{}, id).Error
|
|
}
|
|
|
|
func (a AgentAccountModelRepo) Delete(opts ...DBOption) error {
|
|
return getDb(opts...).Delete(&model.AgentAccountModel{}).Error
|
|
}
|