data

package
v0.0.0-...-d322c7c Latest Latest
Warning

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

Go to latest
Published: May 29, 2020 License: MIT Imports: 8 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrNotFound = fmt.Errorf("Product not found")

ErrNotFound => product not found

Functions

func AddProduct

func AddProduct(p *Product) error

AddProduct append new product to productsList

func Create

func Create(u *User) error

Create new user

func DeleteProduct

func DeleteProduct(p *Product) error

DeleteProduct func

func GetProduct

func GetProduct(id int, p *Product) error

GetProduct func

func GetProducts

func GetProducts(p *Products) error

GetProducts returns all products from the database

func UpdateProduct

func UpdateProduct(p *Product) error

UpdateProduct func

Types

type Product

type Product struct {
	// gorm.Model
	ID          int     `json:"id"`
	Brand       string  `json:"brand" validate:"required"`
	Title       string  `json:"title" validate:"required"`
	Description string  `json:"desc" validate:"required"`
	Price       float64 `json:"price" validate:"required"`
}

Product structure

func (*Product) FromJSON

func (p *Product) FromJSON(r io.Reader) error

FromJSON for marshaling product

func (*Product) ToJSON

func (p *Product) ToJSON(w io.Writer) error

ToJSON for marshaling product

func (*Product) Validate

func (p *Product) Validate() error

Validate product

type Products

type Products []*Product

Products type used in Get Products

func (Products) ToJSON

func (p Products) ToJSON(w io.Writer) error

ToJSON for marshaling productsList

type User

type User struct {
	gorm.Model
	UserName  string `json:"username" gorm:"size:15;unique_index" validate:"required"`
	FirstName string `json:"first_name" gorm:"size:15" validate:"required"`
	LastName  string `json:"last_name" gorm:"size:15" validate:"required"`
	Email     string `json:"email" gorm:"type:varchar(100);unique_index" validate:"required"`
	Password  string `json:"password" gorm:"size:255" validate:"required"`
}

User model

func (*User) Clean

func (u *User) Clean() *User

Clean the user fields

func (*User) FromJSON

func (u *User) FromJSON(r io.Reader) error

FromJSON for marshaling product

func (*User) SetPassword

func (u *User) SetPassword() error

SetPassword role is to hash user password

func (*User) ToJSON

func (u *User) ToJSON(w io.Writer) error

ToJSON for marshaling product

func (*User) Validate

func (u *User) Validate() error

Validate user

Jump to

Keyboard shortcuts

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