models

package
v0.0.0-...-68e8b16 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 16, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

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 (m *Model) AfterCreate() error

func (*Model) AfterDelete

func (m *Model) AfterDelete() error

func (*Model) AfterUpdate

func (m *Model) AfterUpdate() error

func (*Model) BeforeCreate

func (m *Model) BeforeCreate() error

func (*Model) BeforeDelete

func (m *Model) BeforeDelete() error

func (*Model) BeforeUpdate

func (m *Model) BeforeUpdate() error

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

func (m *UserModel) BeforeCreate() error

BeforeCreate overrides model lifecycle hook, hashes the users password before proceeding.

func (*UserModel) BeforeUpdated

func (m *UserModel) BeforeUpdated() error

BeforeUpdated overrides model lifecycle hook, updating the updated_at time.

func (*UserModel) UpdateFrom

func (m *UserModel) UpdateFrom(payload dtos.CreateOrUpdateUser)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL