290 lines
5.7 KiB
Go
290 lines
5.7 KiB
Go
package dao
|
|
|
|
import (
|
|
"videoplayer/proto"
|
|
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
// ==================== DNSServer 相关操作 ====================
|
|
|
|
func CreateDNSServer(server proto.DNSServer) (uint, error) {
|
|
var db2 *gorm.DB
|
|
if proto.Config.SERVER_SQL_LOG {
|
|
db2 = DB.Debug()
|
|
} else {
|
|
db2 = DB
|
|
}
|
|
res := db2.Create(&server)
|
|
if res.Error != nil {
|
|
return 0, res.Error
|
|
}
|
|
return server.ID, nil
|
|
}
|
|
|
|
func FindDNSServerByID(id uint) (proto.DNSServer, error) {
|
|
var server proto.DNSServer
|
|
var db2 *gorm.DB
|
|
if proto.Config.SERVER_SQL_LOG {
|
|
db2 = DB.Debug()
|
|
} else {
|
|
db2 = DB
|
|
}
|
|
res := db2.Where("id = ?", id).First(&server)
|
|
if res.Error != nil {
|
|
return proto.DNSServer{}, res.Error
|
|
}
|
|
return server, nil
|
|
}
|
|
|
|
func FindDNSServerByUserID(userID uint) ([]proto.DNSServer, error) {
|
|
var servers []proto.DNSServer
|
|
var db2 *gorm.DB
|
|
if proto.Config.SERVER_SQL_LOG {
|
|
db2 = DB.Debug()
|
|
} else {
|
|
db2 = DB
|
|
}
|
|
res := db2.Where("user_id = ?", userID).Find(&servers)
|
|
if res.Error != nil {
|
|
return nil, res.Error
|
|
}
|
|
return servers, nil
|
|
}
|
|
|
|
func FindAllDNSServer() ([]proto.DNSServer, error) {
|
|
var servers []proto.DNSServer
|
|
var db2 *gorm.DB
|
|
if proto.Config.SERVER_SQL_LOG {
|
|
db2 = DB.Debug()
|
|
} else {
|
|
db2 = DB
|
|
}
|
|
res := db2.Find(&servers)
|
|
if res.Error != nil {
|
|
return nil, res.Error
|
|
}
|
|
return servers, nil
|
|
}
|
|
|
|
func UpdateDNSServer(id uint, server *proto.DNSServer) error {
|
|
var db2 *gorm.DB
|
|
if proto.Config.SERVER_SQL_LOG {
|
|
db2 = DB.Debug()
|
|
} else {
|
|
db2 = DB
|
|
}
|
|
res := db2.Model(&proto.DNSServer{}).Where("id = ?", id).Updates(server)
|
|
return res.Error
|
|
}
|
|
|
|
func DeleteDNSServerByID(id uint) error {
|
|
var db2 *gorm.DB
|
|
if proto.Config.SERVER_SQL_LOG {
|
|
db2 = DB.Debug()
|
|
} else {
|
|
db2 = DB
|
|
}
|
|
res := db2.Where("id = ?", id).Delete(&proto.DNSServer{})
|
|
return res.Error
|
|
}
|
|
|
|
func DeleteDNSServerByUserID(userID uint) error {
|
|
var db2 *gorm.DB
|
|
if proto.Config.SERVER_SQL_LOG {
|
|
db2 = DB.Debug()
|
|
} else {
|
|
db2 = DB
|
|
}
|
|
res := db2.Where("user_id = ?", userID).Delete(&proto.DNSServer{})
|
|
return res.Error
|
|
}
|
|
|
|
// ==================== DNSZone 相关操作 ====================
|
|
|
|
func CreateDNSZone(zone proto.DNSZone) (uint, error) {
|
|
var db2 *gorm.DB
|
|
if proto.Config.SERVER_SQL_LOG {
|
|
db2 = DB.Debug()
|
|
} else {
|
|
db2 = DB
|
|
}
|
|
res := db2.Create(&zone)
|
|
if res.Error != nil {
|
|
return 0, res.Error
|
|
}
|
|
return zone.ID, nil
|
|
}
|
|
|
|
func FindDNSZoneByID(id uint) (proto.DNSZone, error) {
|
|
var zone proto.DNSZone
|
|
var db2 *gorm.DB
|
|
if proto.Config.SERVER_SQL_LOG {
|
|
db2 = DB.Debug()
|
|
} else {
|
|
db2 = DB
|
|
}
|
|
res := db2.Where("id = ?", id).First(&zone)
|
|
if res.Error != nil {
|
|
return proto.DNSZone{}, res.Error
|
|
}
|
|
return zone, nil
|
|
}
|
|
|
|
func FindDNSZoneByServerID(serverID uint) ([]proto.DNSZone, error) {
|
|
var zones []proto.DNSZone
|
|
var db2 *gorm.DB
|
|
if proto.Config.SERVER_SQL_LOG {
|
|
db2 = DB.Debug()
|
|
} else {
|
|
db2 = DB
|
|
}
|
|
res := db2.Where("server_id = ?", serverID).Find(&zones)
|
|
if res.Error != nil {
|
|
return nil, res.Error
|
|
}
|
|
return zones, nil
|
|
}
|
|
|
|
func FindAllDNSZone() ([]proto.DNSZone, error) {
|
|
var zones []proto.DNSZone
|
|
var db2 *gorm.DB
|
|
if proto.Config.SERVER_SQL_LOG {
|
|
db2 = DB.Debug()
|
|
} else {
|
|
db2 = DB
|
|
}
|
|
res := db2.Find(&zones)
|
|
if res.Error != nil {
|
|
return nil, res.Error
|
|
}
|
|
return zones, nil
|
|
}
|
|
|
|
func UpdateDNSZone(id uint, zone *proto.DNSZone) error {
|
|
var db2 *gorm.DB
|
|
if proto.Config.SERVER_SQL_LOG {
|
|
db2 = DB.Debug()
|
|
} else {
|
|
db2 = DB
|
|
}
|
|
res := db2.Model(&proto.DNSZone{}).Where("id = ?", id).Updates(zone)
|
|
return res.Error
|
|
}
|
|
|
|
func DeleteDNSZoneByID(id uint) error {
|
|
var db2 *gorm.DB
|
|
if proto.Config.SERVER_SQL_LOG {
|
|
db2 = DB.Debug()
|
|
} else {
|
|
db2 = DB
|
|
}
|
|
res := db2.Where("id = ?", id).Delete(&proto.DNSZone{})
|
|
return res.Error
|
|
}
|
|
|
|
func DeleteDNSZoneByServerID(serverID uint) error {
|
|
var db2 *gorm.DB
|
|
if proto.Config.SERVER_SQL_LOG {
|
|
db2 = DB.Debug()
|
|
} else {
|
|
db2 = DB
|
|
}
|
|
res := db2.Where("server_id = ?", serverID).Delete(&proto.DNSZone{})
|
|
return res.Error
|
|
}
|
|
|
|
// ==================== DNSRecord 相关操作 ====================
|
|
|
|
func CreateDNSRecord(record proto.DNSRecord) (uint, error) {
|
|
var db2 *gorm.DB
|
|
if proto.Config.SERVER_SQL_LOG {
|
|
db2 = DB.Debug()
|
|
} else {
|
|
db2 = DB
|
|
}
|
|
res := db2.Create(&record)
|
|
if res.Error != nil {
|
|
return 0, res.Error
|
|
}
|
|
return record.ID, nil
|
|
}
|
|
|
|
func FindDNSRecordByID(id uint) (proto.DNSRecord, error) {
|
|
var record proto.DNSRecord
|
|
var db2 *gorm.DB
|
|
if proto.Config.SERVER_SQL_LOG {
|
|
db2 = DB.Debug()
|
|
} else {
|
|
db2 = DB
|
|
}
|
|
res := db2.Where("id = ?", id).First(&record)
|
|
if res.Error != nil {
|
|
return proto.DNSRecord{}, res.Error
|
|
}
|
|
return record, nil
|
|
}
|
|
|
|
func FindDNSRecordByZoneID(zoneID uint) ([]proto.DNSRecord, error) {
|
|
var records []proto.DNSRecord
|
|
var db2 *gorm.DB
|
|
if proto.Config.SERVER_SQL_LOG {
|
|
db2 = DB.Debug()
|
|
} else {
|
|
db2 = DB
|
|
}
|
|
res := db2.Where("zone_id = ?", zoneID).Find(&records)
|
|
if res.Error != nil {
|
|
return nil, res.Error
|
|
}
|
|
return records, nil
|
|
}
|
|
|
|
func FindAllDNSRecord() ([]proto.DNSRecord, error) {
|
|
var records []proto.DNSRecord
|
|
var db2 *gorm.DB
|
|
if proto.Config.SERVER_SQL_LOG {
|
|
db2 = DB.Debug()
|
|
} else {
|
|
db2 = DB
|
|
}
|
|
res := db2.Find(&records)
|
|
if res.Error != nil {
|
|
return nil, res.Error
|
|
}
|
|
return records, nil
|
|
}
|
|
|
|
func UpdateDNSRecord(id uint, record *proto.DNSRecord) error {
|
|
var db2 *gorm.DB
|
|
if proto.Config.SERVER_SQL_LOG {
|
|
db2 = DB.Debug()
|
|
} else {
|
|
db2 = DB
|
|
}
|
|
res := db2.Model(&proto.DNSRecord{}).Where("id = ?", id).Updates(record)
|
|
return res.Error
|
|
}
|
|
|
|
func DeleteDNSRecordByID(id uint) error {
|
|
var db2 *gorm.DB
|
|
if proto.Config.SERVER_SQL_LOG {
|
|
db2 = DB.Debug()
|
|
} else {
|
|
db2 = DB
|
|
}
|
|
res := db2.Where("id = ?", id).Delete(&proto.DNSRecord{})
|
|
return res.Error
|
|
}
|
|
|
|
func DeleteDNSRecordByZoneID(zoneID uint) error {
|
|
var db2 *gorm.DB
|
|
if proto.Config.SERVER_SQL_LOG {
|
|
db2 = DB.Debug()
|
|
} else {
|
|
db2 = DB
|
|
}
|
|
res := db2.Where("zone_id = ?", zoneID).Delete(&proto.DNSRecord{})
|
|
return res.Error
|
|
}
|