change work dir

This commit is contained in:
0xJacky 2022-02-18 18:04:13 +08:00
parent ce850f5e59
commit 08b54b5bbb
31 changed files with 260 additions and 259 deletions

View file

@ -1,63 +0,0 @@
package model
import (
"github.com/0xJacky/Nginx-UI/settings"
"github.com/dgrijalva/jwt-go"
"time"
)
type Auth struct {
Model
Name string `json:"name"`
Password string `json:"-"`
}
type AuthToken struct {
Token string `json:"token"`
}
type JWTClaims struct {
Name string `json:"name"`
jwt.StandardClaims
}
func GetUser(name string) (user Auth, err error) {
err = db.Where("name = ?", name).First(&user).Error
if err != nil {
return Auth{}, err
}
return user, err
}
func DeleteToken(token string) error {
return db.Where("token = ?", token).Delete(&AuthToken{}).Error
}
func CheckToken(token string) int64 {
return db.Where("token = ?", token).Find(&AuthToken{}).RowsAffected
}
func GenerateJWT(name string) (string, error) {
claims := JWTClaims{
Name: name,
StandardClaims: jwt.StandardClaims{
ExpiresAt: time.Now().Add(24 * time.Hour).Unix(),
},
}
unsignedToken := jwt.NewWithClaims(jwt.SigningMethodHS256, claims)
signedToken, err := unsignedToken.SignedString([]byte(settings.ServerSettings.JwtSecret))
if err != nil {
return "", err
}
err = db.Create(&AuthToken{
Token: signedToken,
}).Error
if err != nil {
return "", err
}
return signedToken, err
}

View file

@ -1,28 +0,0 @@
package model
type Cert struct {
Model
Domain string `json:"domain"`
}
func FirstCert(domain string) (c Cert, err error) {
err = db.First(&c, &Cert{
Domain: domain,
}).Error
return
}
func FirstOrCreateCert(domain string) (c Cert, err error) {
err = db.FirstOrCreate(&c, &Cert{Domain: domain}).Error
return
}
func GetAutoCertList() (c []Cert) {
db.Find(&c)
return
}
func (c *Cert) Remove() error {
return db.Where("domain", c.Domain).Delete(c).Error
}

View file

@ -1,49 +0,0 @@
package model
import (
"io/ioutil"
"log"
"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 := ioutil.ReadFile(path)
if err != nil {
log.Println(err)
}
config := ConfigBackup{Name: filepath.Base(path), FilePath: path, Content: string(content)}
result := db.Create(&config)
if result.Error != nil {
log.Println(result.Error)
}
}

View file

@ -1,38 +0,0 @@
package model
type Curd struct {
Model interface{}
}
func NewCurd(Model interface{}) *Curd {
return &Curd{Model: Model}
}
func (c *Curd) GetList(dest interface{}) (err error) {
err = db.Model(c.Model).Scan(dest).Error
return
}
func (c *Curd) First(dest interface{}, conds ...interface{}) (err error) {
err = db.Model(c.Model).First(dest, conds).Error
return
}
func (c *Curd) Add(value interface{}) (err error) {
err = db.Model(c.Model).Create(value).Error
if err != nil {
return err
}
err = db.Find(value).Error
return
}
func (c *Curd) Edit(orig interface{}, new interface{}) (err error) {
err = db.Model(orig).Updates(new).Error
return
}
func (c *Curd) Delete(value interface{}, conds ...interface{}) (err error) {
err = db.Model(c.Model).Delete(value, conds).Error
return
}

View file

@ -1,7 +0,0 @@
package model
type Log struct {
Model
Title string `json:"title"`
Content string `json:"content"`
}

View file

@ -1,44 +0,0 @@
package model
import (
"github.com/0xJacky/Nginx-UI/settings"
"gorm.io/driver/sqlite"
"gorm.io/gorm"
"gorm.io/gorm/logger"
"log"
"path"
"time"
)
var db *gorm.DB
type Model struct {
ID uint `gorm:"primary_key" json:"id"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
DeletedAt *time.Time `gorm:"index" json:"deleted_at"`
}
func Init() {
dbPath := path.Join(settings.DataDir, "database.db")
var err error
db, err = gorm.Open(sqlite.Open(dbPath), &gorm.Config{
Logger: logger.Default.LogMode(logger.Info),
PrepareStmt: true,
})
if err != nil {
log.Println(err)
}
// Migrate the schema
AutoMigrate(&ConfigBackup{})
AutoMigrate(&Auth{})
AutoMigrate(&AuthToken{})
AutoMigrate(&Cert{})
}
func AutoMigrate(model interface{}) {
err := db.AutoMigrate(model)
if err != nil {
log.Fatal(err)
}
}