package entities import "time" // User represents a registered user type User struct { ID int `json:"id" db:"id"` Username string `json:"username" db:"username"` Email string `json:"email" db:"email"` Password string `json:"-" db:"password"` // Hidden from JSON CreatedAt time.Time `json:"created_at" db:"created_at"` UpdatedAt time.Time `json:"updated_at" db:"updated_at"` } // Validate validates user data func (u *User) Validate() error { if u.Username == "" { return ErrInvalidUsername } if u.Email == "" { return ErrInvalidEmail } if u.Password == "" { return ErrInvalidPassword } return nil } // ClearPassword removes password from user for safe serialization func (u *User) ClearPassword() { u.Password = "" }