From 95e92dea3c0818f2a1ce1e8c1ddbff991659e037 Mon Sep 17 00:00:00 2001 From: Akulij Date: Sat, 29 Mar 2025 19:17:58 +0800 Subject: [PATCH] create UserInfo table --- cmd/app/db.go | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/cmd/app/db.go b/cmd/app/db.go index 270f231..bd9aeff 100644 --- a/cmd/app/db.go +++ b/cmd/app/db.go @@ -16,6 +16,23 @@ type User struct { 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 { return u.RoleBitmask&1 == 1 } @@ -37,6 +54,7 @@ func GetDB() (*gorm.DB, error) { } db.AutoMigrate(&User{}) + db.AutoMigrate(&UserInfo{}) db.AutoMigrate(&BotContent{}) db.AutoMigrate(&Message{}) db.AutoMigrate(&Reservation{}) @@ -78,6 +96,21 @@ func (bc BotController) GetUser(UserID int64) 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 { gorm.Model UserID int64