models

package
v0.0.0-...-f516da5 Latest Latest
Warning

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

Go to latest
Published: Oct 27, 2023 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Hash

func Hash(password string) ([]byte, error)

func VerifyPassword

func VerifyPassword(hashedPassword, password string) error

Types

type Product

type Product struct {
	ID          uuid.UUID `gorm:"primary_key;auto_increment" json:"id"`
	Name        string    `gorm:"size:255;not null" json:"name"`
	Brand       string    `gorm:"size:255;not null" json:"brand"`
	Image       string    `gorm:"size:2000;null" json:"image"`
	Size        string    `gorm:"size:200;null" json:"size"`
	Model       string    `gorm:"size:255;null" json:"model"`
	Price       float64   `gorm:"default:0.00;null" json:"price"`
	OwnerID     uuid.UUID `gorm:"not null" json:"owner_id"`
	ExpDate     time.Time `gorm:"null" json:"exp_date"`
	Description string    `gorm:"size:2000;null" json:"description"`
	CreatedAt   time.Time `gorm:"default:CURRENT_TIMESTAMP" json:"created_at"`
	UpdatedAt   time.Time `gorm:"default:CURRENT_TIMESTAMP" json:"updated_at"`
}

Product struct for Product

func (*Product) DeleteAProduct

func (p *Product) DeleteAProduct(db *gorm.DB, pid uuid.UUID, oid uuid.UUID) (int64, error)

DeleteAProduct delete Product by id

func (*Product) FindAllOpenProducts

func (p *Product) FindAllOpenProducts(db *gorm.DB) (*[]Product, error)

FindAllOpenProducts get all Products

func (*Product) FindAllProducts

func (p *Product) FindAllProducts(db *gorm.DB, oid uuid.UUID) (*[]Product, error)

FindAllProducts get all Products

func (*Product) FindProductByID

func (p *Product) FindProductByID(db *gorm.DB, pid uuid.UUID, oid uuid.UUID) (*Product, error)

FindProductByID fin Product by id

func (*Product) Prepare

func (p *Product) Prepare()

Prepare set value for Product

func (*Product) SaveProduct

func (p *Product) SaveProduct(db *gorm.DB) (*Product, error)

SaveProduct save Product

func (*Product) UpdateAProduct

func (p *Product) UpdateAProduct(db *gorm.DB, pid uuid.UUID) (*Product, error)

UpdateAProduct update Product

func (*Product) Validate

func (p *Product) Validate(action string) error

Validate validations on actions

type ResponseProduct

type ResponseProduct struct {
	ID          uuid.UUID
	Name        string
	Brand       string
	Image       string
	Size        string
	Model       string
	Price       float64
	ExpDate     time.Time
	OwnerID     uuid.UUID
	Description string
	CreatedAt   time.Time
	UpdatedAt   time.Time
}

ResponseProduct return for the struct Product

func SanitizeProduct

func SanitizeProduct(p Product) ResponseProduct

SanitizeProduct the Product response

type ResponseUser

type ResponseUser struct {
	ID        uuid.UUID
	Fullname  string
	Nickname  string
	Email     string
	CreatedAt time.Time
	UpdatedAt time.Time
}

ResponseUser return for the struct Product

func SanitizeUser

func SanitizeUser(u User) ResponseUser

SanitizeUser the Product response

type User

type User struct {
	ID        uuid.UUID `gorm:"primary_key;auto_increment" json:"id"`
	Fullname  string    `gorm:"size:255;not null;unique" json:"fullname"`
	Nickname  string    `gorm:"size:255;not null;unique" json:"nickname"`
	Email     string    `gorm:"size:100;not null;unique" json:"email"`
	Password  string    `gorm:"size:100;not null;" json:"password"`
	CreatedAt time.Time `gorm:"default:CURRENT_TIMESTAMP" json:"created_at"`
	UpdatedAt time.Time `gorm:"default:CURRENT_TIMESTAMP" json:"updated_at"`
}

func (*User) BeforeSave

func (u *User) BeforeSave() error

func (*User) DeleteAUser

func (u *User) DeleteAUser(db *gorm.DB, uid uuid.UUID) (int64, error)

func (*User) FindAllUsers

func (u *User) FindAllUsers(db *gorm.DB) (*[]User, error)

func (*User) FindUserByID

func (u *User) FindUserByID(db *gorm.DB, uid uuid.UUID) (*User, error)

func (*User) Prepare

func (u *User) Prepare()

func (*User) SaveUser

func (u *User) SaveUser(db *gorm.DB) (*User, error)

func (*User) UpdateAUser

func (u *User) UpdateAUser(db *gorm.DB, uid uuid.UUID) (*User, error)

func (*User) Validate

func (u *User) Validate(action string) error

Jump to

Keyboard shortcuts

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