Documentation ¶
Index ¶
- type Models
- type RememberMeToken
- func (t *RememberMeToken) Delete(rememberMeToken string) error
- func (t *RememberMeToken) GenerateToken() (string, error)
- func (t *RememberMeToken) GetByToken(token string) (*RememberMeToken, error)
- func (t *RememberMeToken) InsertToken(userID int, hash ...string) (string, error)
- func (t *RememberMeToken) Table() string
- type Token
- func (t *Token) AuthenticateToken(r *http.Request) (*User, error)
- func (t *Token) Delete(id int) error
- func (t *Token) DeleteByToken(plainText string) error
- func (t *Token) GenerateToken(userID int, ttl time.Duration) (*Token, error)
- func (t *Token) Get(id int) (*Token, error)
- func (t *Token) GetByToken(plainText string) (*Token, error)
- func (t *Token) GetTokensForUser(id int) ([]*Token, error)
- func (t *Token) GetUserForToken(token string) (*User, error)
- func (t *Token) Insert(token Token, u User) error
- func (t *Token) Table() string
- func (t *Token) ValidToken(token string) (bool, error)
- type User
- func (u *User) CheckForRememberToken(id int, token string) bool
- func (u *User) Delete(id int) error
- func (u *User) Get(id int) (*User, error)
- func (u *User) GetAll() ([]*User, error)
- func (u *User) GetByEmail(email string) (*User, error)
- func (u *User) Insert(theUser User) (int, error)
- func (u *User) PasswordMatches(plainText string) (bool, error)
- func (u *User) ResetPassword(id int, password string) error
- func (u *User) Table() string
- func (u *User) Update(theUser User) error
- func (u *User) Validate(validator *goravel.Validation)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Models ¶
type Models struct { // ** Register your models here. Users User Tokens Token RememberMeTokens RememberMeToken }
Models is the wrapper for all database models any models inserted here (and in the New function) are easily accessible throughout the entire application
type RememberMeToken ¶
type RememberMeToken struct { ID int `db:"id,omitempty"` UserID int `db:"user_id"` RememberMeToken string `db:"remember_me_token"` CreatedAt time.Time `db:"created_at"` UpdatedAt time.Time `db:"updated_at"` }
func (*RememberMeToken) Delete ¶
func (t *RememberMeToken) Delete(rememberMeToken string) error
func (*RememberMeToken) GenerateToken ¶
func (t *RememberMeToken) GenerateToken() (string, error)
func (*RememberMeToken) GetByToken ¶
func (t *RememberMeToken) GetByToken(token string) (*RememberMeToken, error)
GetByToken returns a token by it's remember me token
func (*RememberMeToken) InsertToken ¶
func (t *RememberMeToken) InsertToken(userID int, hash ...string) (string, error)
func (*RememberMeToken) Table ¶
func (t *RememberMeToken) Table() string
type Token ¶
type Token struct { ID int `db:"id" json:"id"` UserID int `db:"user_id" json:"user_id"` FirstName string `db:"first_name" json:"first_name"` Email string `db:"email" json:"email"` PlainText string `db:"token" json:"token"` Hash []byte `db:"token_hash" json:"-"` CreatedAt time.Time `db:"created_at" json:"created_at"` UpdatedAt time.Time `db:"updated_at" json:"updated_at"` Expires time.Time `db:"expiry" json:"expiry"` }
func (*Token) DeleteByToken ¶
func (*Token) GenerateToken ¶
func (*Token) GetByToken ¶
GetByToken returns a token by its plain text value
func (*Token) GetUserForToken ¶
GetUserForToken returns the user associated with a token
type User ¶
type User struct { ID int `db:"id,omitempty"` // The omitempty tag is primarily used in JSON and XML serialization to indicate that the field should be omitted from the output if it has an empty value. FirstName string `db:"first_name"` LastName string `db:"last_name"` Email string `db:"email"` Active int `db:"user_active"` Password string `db:"password"` CreatedAt time.Time `db:"created_at"` UpdatedAt time.Time `db:"updated_at"` Token Token `db:"-"` // The - tag indicates that the field should be ignored entirely during serialization or deserialization. }
User is the type for a user
func (*User) CheckForRememberToken ¶
CheckForRememberToken checks for a remember_me_token associated with a user
func (*User) GetByEmail ¶
GetByEmail gets one user, by email
func (*User) PasswordMatches ¶
PasswordMatches verifies a supplied password against the hash stored in the database. It returns true if valid, and false if the password does not match, or if there is an error. Note that an error is only returned if something goes wrong (since an invalid password is not an error -- it's just the wrong password))
func (*User) ResetPassword ¶
ResetPassword resets a users's password, by id, using supplied password
func (*User) Validate ¶
func (u *User) Validate(validator *goravel.Validation)