package data import "github.com/google/uuid" type User struct { Id uint `json:"id" gorm:"primarykey;autoincrement"` UUID uuid.UUID `json:"uuid" gorm:"type:uuid;uniqueindex;not null"` UserId uuid.UUID `json:"user_id" gorm:"type:uuid;uniqueindex;not null"` Email string `json:"email" gorm:"uniqueindex;not null"` Type string `json:"type" gorm:"not null"` Nickname string `json:"nickname"` Subtitle string `json:"subtitle"` Avatar string `json:"avatar"` Checkin bool `json:"checkin" gorm:"not null;default:false"` } func (self *User) GetByEmail(email string) error { if err := Database.Where("email = ?", email).First(&self).Error; err != nil { return err } return nil } func (self *User) GetByUserId(userId string) error { if err := Database.Where("user_id = ?", userId).First(&self).Error; err != nil { return err } return nil } func (self *User) SetCheckinState(userId uuid.UUID, state bool) error { if err := Database.Where("user_id = ?", userId).First(&self).Error; err != nil { return err } self.Checkin = state Database.Save(&self) return nil }