videoplayer/dao/cid.go

123 lines
3.2 KiB
Go
Raw Normal View History

package dao
import (
"fmt"
"gorm.io/gorm"
)
type CID struct {
gorm.Model
Auth_id int `gorm:"column:auth_id"`
Name string `gorm:"column:name"`
Url string `gorm:"column:url"`
Time int `gorm:"column:time"` // 定时任务单位秒大于0表示定时任务
Script string `gorm:"column:script"`
Token string `gorm:"column:token"` // 用于外部回调
}
type CIDRunLog struct {
gorm.Model
CID_id int `gorm:"column:cid_id"`
Auth_id int `form:"column:auth_id"`
2024-07-06 18:46:55 +08:00
Script string `gorm:"column:script"`
Log string `gorm:"column:log"`
Error string `gorm:"column:error"`
}
// CreateCID 创建持续集成、部署
func CreateCID(name, url, script, token string, time, auth_id int) uint {
cid := CID{Name: name, Url: url, Script: script, Token: token, Auth_id: auth_id, Time: time}
result := DB.Debug().Create(&cid)
if result.Error != nil {
return 0
}
return cid.ID
}
// DeleteCIDByID 删除持续集成、部署
func DeleteCIDByID(id, auth_id int) bool {
res := DB.Debug().Model(&CID{}).Where("id = ? and auth_id = ?", id, auth_id).Delete(&CID{})
if res.Error != nil {
return false
}
return true
}
// FindCIDByID 查找持续集成、部署
func FindCIDByID(id, auth_id int) CID {
var cid CID
DB.Debug().Where("id = ? and auth_id = ?", id, auth_id).First(&cid)
return cid
}
// FindCIDByAuthID 查找持续集成、部署
func FindCIDByAuthID(auth_id int) []CID {
var cids []CID
DB.Debug().Where("auth_id = ?", auth_id).Find(&cids)
return cids
}
// UpdateCIDByID 更新持续集成、部署
func UpdateCIDByID(id, auth_id, time int, name, url, script, token string) bool {
pd := FindCIDByID(id, auth_id)
if pd.ID == 0 {
return false
}
// 如果token为空则不更新token
if token == "" {
token = pd.Token
}
result := DB.Debug().Model(&CID{}).Where("id = ? and auth_id = ?", id, auth_id).Updates(CID{Name: name, Url: url, Script: script, Token: token, Time: time})
if result.Error != nil {
return false
}
return true
}
// CreateRunLog,添加执行日志
2024-07-06 18:46:55 +08:00
func CreateRunLog(cid_id, auth_id int, script, log, err string) uint {
cidRunLog := CIDRunLog{CID_id: cid_id, Auth_id: auth_id, Log: log, Error: err, Script: script}
result := DB.Debug().Create(&cidRunLog)
if result != nil {
fmt.Println(err)
return 0
}
return cidRunLog.ID
}
func FindRunLogByAuthID(auth_id int) []CIDRunLog {
var cidRunLogs []CIDRunLog
2024-07-06 18:46:55 +08:00
DB.Debug().Where(" auth_id = ?", auth_id).Order("created_at desc").Find(&cidRunLogs)
return cidRunLogs
}
2024-07-06 20:48:38 +08:00
func FindRunLogByID(auth_id, cid_id int) []CIDRunLog {
var cidRunLog []CIDRunLog
DB.Debug().Where("cid_id = ? and auth_id = ?", cid_id, auth_id).Order("created_at desc").Find(&cidRunLog)
return cidRunLog
}
func FindRunLogByCIDLogID(id, auth_id int) []CIDRunLog {
var cidRunLogs []CIDRunLog
DB.Debug().Where("id = ? and auth_id = ?", id, auth_id).Order("created_at desc").Find(&cidRunLogs)
return cidRunLogs
}
func FindCIDByIDAndToken(id int, token string) CID {
var cid CID
DB.Debug().Where("id = ? and token = ?", id, token).First(&cid)
return cid
}
func FindCIDByTime() []CID {
var cids []CID
DB.Debug().Where("time > 0").Find(&cids)
return cids
}
// FindCIDByID 查找持续集成、部署
func FindCIDByCID(id uint) CID {
var cid CID
DB.Debug().Where("id = ? ", id).First(&cid)
return cid
}