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.