Documentation ¶
Index ¶
- Variables
- func NewVendorHandler(r *gin.RouterGroup, vendorService VendorServiceInterface)
- func Search(search string) func(db *gorm.DB) *gorm.DB
- type VendorHandler
- type VendorListResponse
- type VendorReporsitoryInterface
- type VendorRepository
- type VendorRequest
- type VendorResponse
- type VendorService
- type VendorServiceInterface
Constants ¶
This section is empty.
Variables ¶
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, } )
var FakeVendorList = []models.Vendor{FakeVendor_1, FakeVendor_2}
Functions ¶
func NewVendorHandler ¶
func NewVendorHandler(r *gin.RouterGroup, vendorService VendorServiceInterface)
NewVendorHandler creates a new vendor handler
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 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 ¶
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 ¶
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