vendors

package
v0.0.0-...-4cd3371 Latest Latest
Warning

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

Go to latest
Published: Jun 19, 2022 License: GPL-3.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	FakeVendor_1 = models.Vendor{
		Base: models.Base{ID: uuid.New(), CreatedAt: time.Now(), UpdatedAt: time.Now()},
		Name: &vendorName1,
	}
	FakeVendor_2 = models.Vendor{
		Base: models.Base{ID: uuid.New(), CreatedAt: time.Now(), UpdatedAt: time.Now()},
		Name: &vendorName2,
	}
)

Functions

func NewVendorHandler

func NewVendorHandler(r *gin.RouterGroup, vendorService VendorServiceInterface)

NewVendorHandler creates a new vendor handler

func Search(search string) func(db *gorm.DB) *gorm.DB

Search adds where to search keywords

Types

type VendorHandler

type VendorHandler struct {
	// contains filtered or unexported fields
}

func (*VendorHandler) CreateVendor

func (h *VendorHandler) CreateVendor(c *gin.Context)

CreateVendor is a handler to create a vendor @Summary Create a vendor @Description Create a vendor with payload @Tags vendors @Accept json @Produce json @Param body body vendors.VendorRequest true "Vendor payload" @Success 201 {object} vendors.VendorResponse @Failure 400 {object} _type.APIErrorResponse @Failure 500 {object} _type.APIErrorResponse @Router /vendors/ [post]

func (*VendorHandler) GetVendors

func (h *VendorHandler) GetVendors(c *gin.Context)

GetVendors is a handler to get all vendors @Summary List all vendors @Description List all vendors with pagination and search @Tags vendors @Accept json @Produce json @Param q query string false "Search query" @Param page query int false "Page number" @Param limit query int false "Page limit" @Success 200 {object} vendors.VendorListResponse @Failure 500 {object} _type.APIErrorResponse @Router /vendors/ [get]

type VendorListResponse

type VendorListResponse struct {
	pgHelper.Pagination
	Data []VendorResponse `json:"data"`
}

func VendorsToVendorListResponse

func VendorsToVendorListResponse(reservations *[]models.Vendor, pagination *pgHelper.Pagination) *VendorListResponse

VendorsToVendorListResponse converts a list of reservations to a reservation list response

type VendorReporsitoryInterface

type VendorReporsitoryInterface interface {
	CreateVendor(vendor *models.Vendor) (*models.Vendor, error)
	GetVendors(pg *pgHelper.Pagination) (*[]models.Vendor, error)
}

type VendorRepository

type VendorRepository struct {
	// contains filtered or unexported fields
}

func NewVendorRepository

func NewVendorRepository(db *gorm.DB) *VendorRepository

NewVendorRepository creates a new vendor repository

func (*VendorRepository) CreateVendor

func (r *VendorRepository) CreateVendor(vendor *models.Vendor) (*models.Vendor, error)

CreateVendor creates a new vendor in database

func (*VendorRepository) GetVendors

func (r *VendorRepository) GetVendors(pg *pgHelper.Pagination) (*[]models.Vendor, error)

GetVendors gets vendors from database with pagination

func (*VendorRepository) Migration

func (r *VendorRepository) Migration()

Migration migrates database

type VendorRequest

type VendorRequest struct {
	Name *string `json:"name"`
}

func (*VendorRequest) ToVendor

func (req *VendorRequest) ToVendor() *models.Vendor

func (*VendorRequest) Validate

func (req *VendorRequest) Validate() error

type VendorResponse

type VendorResponse struct {
	ID        uuid.UUID `json:"id"`
	Name      string    `json:"name"`
	CreatedAt time.Time `json:"created_at"`
	UpdatedAt time.Time `json:"updated_at"`
}

func VendorToResponse

func VendorToResponse(vendor *models.Vendor) *VendorResponse

VendorToResponse converts a vendor to a response

type VendorService

type VendorService struct {
	// contains filtered or unexported fields
}

func NewVendorService

func NewVendorService(vendorRepo VendorReporsitoryInterface) *VendorService

NewVendorService creates a new vendor service

func (*VendorService) CreateVendor

func (s *VendorService) CreateVendor(vendor *models.Vendor) (*models.Vendor, error)

CreateVendor creates a new vendor in database

func (*VendorService) GetVendors

func (s *VendorService) GetVendors(pg *pgHelper.Pagination) (*[]models.Vendor, error)

GetVendors gets vendors from database with pagination

type VendorServiceInterface

type VendorServiceInterface interface {
	CreateVendor(vendor *models.Vendor) (*models.Vendor, error)
	GetVendors(pg *pgHelper.Pagination) (*[]models.Vendor, error)
}

Jump to

Keyboard shortcuts

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