nginx-ui/model/config_backup.go
2023-11-26 18:59:12 +08:00

49 lines
904 B
Go

package model
import (
"github.com/0xJacky/Nginx-UI/internal/logger"
"os"
"path/filepath"
)
type ConfigBackup struct {
Model
Name string `json:"name"`
FilePath string `json:"file_path"`
Content string `json:"content" gorm:"type:text"`
}
type ConfigBackupListItem struct {
Model
Name string `json:"name"`
FilePath string `json:"file_path"`
}
func GetBackupList(path string) (configs []ConfigBackupListItem) {
db.Model(&ConfigBackup{}).
Where(&ConfigBackup{FilePath: path}).
Find(&configs)
return
}
func GetBackup(id int) (config ConfigBackup) {
db.First(&config, id)
return
}
func CreateBackup(path string) {
content, err := os.ReadFile(path)
if err != nil {
logger.Error(err)
}
config := ConfigBackup{Name: filepath.Base(path), FilePath: path, Content: string(content)}
result := db.Create(&config)
if result.Error != nil {
logger.Error(result.Error)
}
}