create UserInfo table

This commit is contained in:
Akulij 2025-03-29 19:17:58 +08:00
parent b6dae4b24c
commit 95e92dea3c

View File

@ -16,6 +16,23 @@ type User struct {
RoleBitmask uint RoleBitmask uint
} }
func (bc BotController) GetUserByID(UserID int64) (User, error) {
var user User
bc.db.First(&user, "ID", UserID)
if user == (User{}) {
return User{}, errors.New("No content")
}
return user, nil
}
type UserInfo struct {
gorm.Model
ID int64
Username string
FirstName string
LastName string
}
func (u User) IsAdmin() bool { func (u User) IsAdmin() bool {
return u.RoleBitmask&1 == 1 return u.RoleBitmask&1 == 1
} }
@ -37,6 +54,7 @@ func GetDB() (*gorm.DB, error) {
} }
db.AutoMigrate(&User{}) db.AutoMigrate(&User{})
db.AutoMigrate(&UserInfo{})
db.AutoMigrate(&BotContent{}) db.AutoMigrate(&BotContent{})
db.AutoMigrate(&Message{}) db.AutoMigrate(&Message{})
db.AutoMigrate(&Reservation{}) db.AutoMigrate(&Reservation{})
@ -78,6 +96,21 @@ func (bc BotController) GetUser(UserID int64) User {
return user return user
} }
func (bc BotController) UpdateUserInfo(ui UserInfo) {
bc.db.Save(&ui)
}
func (bc BotController) GetUserInfo(UserID int64) (UserInfo, error) {
var ui UserInfo
bc.db.First(&ui, "ID", UserID)
if ui == (UserInfo{}) {
log.Printf("NO UserInfo FOUND!!!, id: [%d]", UserID)
return UserInfo{}, errors.New("NO UserInfo FOUND!!!")
}
return ui, nil
}
type Message struct { type Message struct {
gorm.Model gorm.Model
UserID int64 UserID int64