Files
access-handler/models/user.go
2025-11-19 16:29:37 +01:00

31 lines
973 B
Go

package models
import (
"time"
)
type User struct {
Id uint `gorm:"primaryKey" json:"id"`
Name string `gorm:"column:user_name" json:"user"`
Email string `gorm:"column:email" json:"email"`
RoleID *uint `gorm:"column:roleId" json:"roleId,omitempty"`
Role *Role `gorm:"foreignKey:RoleID" json:"role,omitempty"`
Password string `gorm:"column:password" json:"password"`
NewPassword string `gorm:"-" json:"newPassword,omitempty"`
Expiration string `gorm:"column:expiration" json:"expiration,omitempty"`
Settings Settings `gorm:"type:json" json:"settings"`
}
func (u *User) IsValid() bool {
return u.Name != ""
}
func (u *User) ExpirationIsValid() bool {
if u.Expiration == "" || u.Expiration == "never" {
return true
}
loc := time.Now().Location()
parsedTime, _ := time.ParseInLocation("2006-01-02 15:04:05", u.Expiration, loc)
return parsedTime.After(time.Now())
}