You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

81 lines
1.5 KiB
Go

package common
import (
"autogo/dbsql"
"autogo/models"
"errors"
"gorm.io/gorm"
)
var NotifyList []models.Notify
func InitNotifyInfos() error {
var list []models.Notify
db, err := dbsql.GetConn(dbsql.DSN)
if err != nil {
return err
}
defer dbsql.Close(db)
db.Find(&list)
if db.Error != nil {
return db.Error
}
NotifyList = list
return nil
}
// 根据section和name获取通知信息
func GetNotifyInfo(section, name string) (models.Notify, error) {
var n models.Notify
db, err := dbsql.GetConn(dbsql.DSN)
if err != nil {
return n, err
}
defer dbsql.Close(db)
db.Where("section = ? AND name = ?", section, name).Last(&n)
if db.Error != nil {
return n, db.Error
}
if n.ID < 0 {
return n, errors.New("没有找到notify配置")
}
return n, nil
}
// 创建通知
func createNotify(db *gorm.DB, n *models.Notify) error {
return db.Create(n).Error
}
// 查询所有通知
func getAllNotifys(db *gorm.DB) ([]models.Notify, error) {
var ns []models.Notify
err := db.Find(&ns).Error
return ns, err
}
// 根据 ID 查询通知
func getNotifyByID(db *gorm.DB, id uint) (models.Notify, error) {
var n models.Notify
err := db.First(&n, id).Error
return n, err
}
// 更新通知
func updateNotify(db *gorm.DB, n *models.Notify) error {
return db.Updates(n).Error
}
// 删除通知
func deleteNotify(db *gorm.DB, id uint) error {
return db.Delete(&models.Notify{}, id).Error
}