12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- package models
- import (
- "time"
- )
- import (
- "golang.org/x/crypto/bcrypt"
- "gorm.io/gorm"
- )
- type User struct {
- gorm.Model
- OpenID string `gorm:"uniqueIndex"`
- OrgID uint `gorm:"index"`
- Name string
- Avatar string
- Password string `json:"-"`
- Mobile string `json:"mobile" gorm:"type:varchar(15);unique_index"`
- Email string `json:"email" gorm:"type:varchar(255);unique_index"`
- LastLoginTime time.Time
- }
- func (u *User) GenerateFromPassword(password []byte) error {
- hashPassword, err := bcrypt.GenerateFromPassword(password, bcrypt.DefaultCost)
- if err != nil {
- return err
- }
- u.Password = string(hashPassword)
- return nil
- }
- func (u *User) CompareHashAndPassword(password []byte) bool {
- if err := bcrypt.CompareHashAndPassword([]byte(u.Password), password); err != nil {
- return false
- }
- return true
- }
- type ConfigItem struct {
- gorm.Model
- Group string `gorm:"index"`
- Key string
- Value string
- OptionKey string
- ValueType string
- Description string
- Order int
- IsEnabled bool
- Uri string `gorm:"uniqueIndex"`
- DefaultValue string
- }
|