Files
api-proxy/pkg/opencatd/db/db.go
Sakurasan 2ba63e226d up
2023-03-28 22:46:22 +08:00

58 lines
1018 B
Go

package db
import (
"gorm.io/driver/sqlite"
"gorm.io/gorm"
)
type User struct {
gorm.Model
Name string `gorm:"not null"`
Token string `gorm:"unique;not null"`
}
var db *gorm.DB
func init() {
var err error
db, err = gorm.Open(sqlite.Open("./db/cat.db"), &gorm.Config{})
if err != nil {
panic("failed to connect database")
}
// 自动迁移 User 结构体
err = db.AutoMigrate(&User{})
if err != nil {
panic(err)
}
}
// 添加用户
func AddUser(name, token string) error {
user := &User{Name: name, Token: token}
result := db.Create(&user)
if result.Error != nil {
return result.Error
}
return nil
}
// 删除用户
func DeleteUser(id uint) error {
result := db.Delete(&User{}, id)
if result.Error != nil {
return result.Error
}
return nil
}
// 修改用户
func UpdateUser(id uint, name, token string) error {
user := &User{Name: name, Token: token}
result := db.Model(&User{}).Where("id = ?", id).Updates(user)
if result.Error != nil {
return result.Error
}
return nil
}