Files
lemma/backend/internal/models/user.go

32 lines
728 B
Go

package models
import (
"time"
"github.com/go-playground/validator/v10"
)
var validate = validator.New()
type UserRole string
const (
RoleAdmin UserRole = "admin"
RoleEditor UserRole = "editor"
RoleViewer UserRole = "viewer"
)
type User struct {
ID int `json:"id" validate:"required,min=1"`
Email string `json:"email" validate:"required,email"`
DisplayName string `json:"displayName"`
PasswordHash string `json:"-"`
Role UserRole `json:"role" validate:"required,oneof=admin editor viewer"`
CreatedAt time.Time `json:"createdAt"`
LastWorkspaceID int `json:"lastWorkspaceId"`
}
func (u *User) Validate() error {
return validate.Struct(u)
}