mirror of
https://github.com/0xJacky/nginx-ui.git
synced 2025-05-11 02:15:48 +02:00
change work dir
This commit is contained in:
parent
ce850f5e59
commit
08b54b5bbb
31 changed files with 260 additions and 259 deletions
|
@ -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
|
||||
}
|
|
@ -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
|
||||
}
|
|
@ -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)
|
||||
}
|
||||
}
|
|
@ -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
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
package model
|
||||
|
||||
type Log struct {
|
||||
Model
|
||||
Title string `json:"title"`
|
||||
Content string `json:"content"`
|
||||
}
|
|
@ -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)
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue