This commit is contained in:
C菌
2023-03-29 02:40:21 +08:00
parent 2ba63e226d
commit 8985c03ac9
5 changed files with 177 additions and 44 deletions

71
pkg/getway/db/db.go Normal file
View File

@@ -0,0 +1,71 @@
package db
import (
"os"
"gorm.io/driver/mysql"
"gorm.io/gorm"
)
// 定义User模型
type User struct {
UserID int `gorm:"primaryKey"`
Username string `gorm:"not null"`
Email string `gorm:"not null"`
AvatarURL string
AccessToken string `gorm:"not null"`
}
// 初始化GORM数据库
func initializeDB() (*gorm.DB, error) {
dsn := os.Getenv("MYSQL_DSN")
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
if err != nil {
return nil, err
}
return db, nil
}
// 创建用户
func createUser(db *gorm.DB, user *User) error {
result := db.Create(user)
if result.Error != nil {
return result.Error
}
return nil
}
// 根据用户ID查询用户
func getUserByID(db *gorm.DB, userID int) (*User, error) {
var user User
result := db.First(&user, userID)
if result.Error != nil {
return nil, result.Error
}
return &user, nil
}
// 更新用户
func updateUser(db *gorm.DB, user *User) error {
result := db.Save(user)
if result.Error != nil {
return result.Error
}
return nil
}
// 删除用户
func deleteUser(db *gorm.DB, user *User) error {
result := db.Delete(user)
if result.Error != nil {
return result.Error
}
return nil
}

View File

@@ -5,12 +5,6 @@ import (
"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() {
@@ -26,32 +20,3 @@ func init() {
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
}

41
pkg/opencatd/db/keydb.go Normal file
View File

@@ -0,0 +1,41 @@
package db
import "gorm.io/gorm"
type Key struct {
gorm.Model
ApiKey string
UserId string
}
// 添加记录
func AddKey(apiKey string, userId string) error {
key := Key{
ApiKey: apiKey,
UserId: userId,
}
if err := db.Create(&key).Error; err != nil {
return err
}
return nil
}
// 删除记录
func DeleteKey(id uint) error {
if err := db.Delete(&Key{}, id).Error; err != nil {
return err
}
return nil
}
// 更新记录
func UpdateKey(id uint, apiKey string, userId string) error {
key := Key{
ApiKey: apiKey,
UserId: userId,
}
if err := db.Model(&Key{}).Where("id = ?", id).Updates(key).Error; err != nil {
return err
}
return nil
}

38
pkg/opencatd/db/userdb.go Normal file
View File

@@ -0,0 +1,38 @@
package db
import "gorm.io/gorm"
type User struct {
gorm.Model
Name string `gorm:"not null"`
Token string `gorm:"unique;not null"`
}
// 添加用户
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
}