package data import ( "time" "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 time.Time `json:"checkin"` } 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, time time.Time) error { if err := Database.Where("user_id = ?", userId).First(&self).Error; err != nil { return err } self.Checkin = time Database.Save(&self) return nil }