Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Model ¶
type Model struct {
ModelLifecycles `json:"-"`
ID string `db:"id" json:"id"`
CreatedAt time.Time `db:"created_at" json:"created_at"`
UpdatedAt time.Time `db:"updated_at" json:"updated_at"`
}
Model provides default fields and lifecycle functions to models.
func (*Model) AfterCreate ¶
func (*Model) AfterDelete ¶
func (*Model) AfterUpdate ¶
func (*Model) BeforeCreate ¶
func (*Model) BeforeDelete ¶
func (*Model) BeforeUpdate ¶
type ModelLifecycles ¶
type ModelLifecycles interface {
BeforeCreate() error
AfterCreate() error
BeforeUpdate() error
AfterUpdate() error
BeforeDelete() error
AfterDelete() error
}
ModelLifecycles should be invoked from the repository before and after create, update and deletion of a model which implements the interface.
type UserModel ¶
type UserModel struct {
Model
Username string `db:"username" json:"username"`
Email string `db:"email" json:"email"`
GoogleId sql.NullString `db:"google_id" json:"-"`
AvatarUrl sql.NullString `db:"avatar_url"`
Password string `db:"password" json:"-"`
FirstName sql.NullString `db:"first_name" json:"first_name"`
LastName sql.NullString `db:"last_name" json:"last_name"`
BirthDate sql.NullTime `db:"birth_date" json:"birth_date"`
Role types.Role `db:"role" json:"role"`
Verified bool `db:"verified" json:"verified"`
About sql.NullString `db:"about" json:"about"`
}
UserModel represents the user data stored in the database.
func (*UserModel) BeforeCreate ¶
BeforeCreate overrides model lifecycle hook, hashes the users password before proceeding.
func (*UserModel) BeforeUpdated ¶
BeforeUpdated overrides model lifecycle hook, updating the updated_at time.
func (*UserModel) UpdateFrom ¶
func (m *UserModel) UpdateFrom(payload dtos.CreateOrUpdateUser)
Click to show internal directories.
Click to hide internal directories.