liuhaijun e94826ce29 add server
Change-Id: I0760f17f6a01c0121b59fcbfafc666032dbc30af
2024-09-19 09:44:15 +00:00

72 lines
2.0 KiB
Go

package workspace
import (
"database/sql"
"git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/model"
"github.com/araujo88/lambda-go/pkg/core"
"gorm.io/gorm"
)
type Workspace struct {
model.BaseUserModifyDbModel
Name string `gorm:"column:name" json:"name"` //type:string comment:名称 version:2024-02-12 14:22
Description string `gorm:"column:description" json:"description"` //type:string comment:描述 version:2024-02-12 14:22
Group *string `gorm:"column:group" json:"group"` //type:string comment:分组 version:2024-02-12 14:22
}
func New() *Workspace {
w := &Workspace{}
w.Handler = w
return w
}
// 说明:
func (*Workspace) TableName() string {
return "sched_workspace"
}
func (w *Workspace) ListGroup() ([]string, error) {
var result []sql.NullString
tx := model.DB().Table(w.TableName()).Select("\"group\"").Distinct().Scan(&result)
if len(result) > 0 {
us := core.Map(result, func(s sql.NullString) string {
if s.Valid {
return s.String
}
return ""
})
return us, tx.Error
}
return []string{}, tx.Error
}
func (w *Workspace) FindResult(db *gorm.DB) (interface{}, error) {
var result []Workspace
if db == nil {
return result, nil
}
err := db.Find(&result).Error
return result, err
}
// 根据Id判断是否存在
func (w *Workspace) ExistById(id string) (bool, error) {
var count int64
err := model.DB().Table(w.TableName()).Where("id = ?", id).Count(&count).Error
return count > 0, err
}
// 根据Id获取环境变量
func GetWorkspaceById(id string) (*Workspace, error) {
var workspace Workspace
err := model.DB().Table(workspace.TableName()).Where("id = ?", id).First(&workspace).Error
return &workspace, err
}
// 根据Id列表获取环境变量
func GetWorkspaceByIds(ids []string) ([]Workspace, error) {
var workspaces []Workspace
err := model.DB().Table(New().TableName()).Where("id in (?)", ids).Find(&workspaces).Error
return workspaces, err
}