videoplayer/dao/cid.go

123 lines
3.3 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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"`
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,添加执行日志
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
DB.Debug().Where(" auth_id = ?", auth_id).Order("created_at desc").Find(&cidRunLogs)
return cidRunLogs
}
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).Limit(30)
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).Limit(30)
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
}