package request import ( "furtuna-be/internal/constants/product" "furtuna-be/internal/entity" ) type ProductParam struct { Search string `form:"search" json:"search" example:"Nasi Goreng"` Name string `form:"name" json:"name" example:"Nasi Goreng"` Type product.ProductType `form:"type" json:"type" example:"FOOD/BEVERAGE"` BranchID int64 `form:"branch_id" json:"branch_id" example:"1"` Available product.ProductStock `form:"available" json:"available" example:"1" example:"AVAILABLE/UNAVAILABLE"` Limit int `form:"limit" json:"limit" example:"10"` Offset int `form:"offset" json:"offset" example:"0"` } func (p *ProductParam) ToEntity() entity.ProductSearch { return entity.ProductSearch{ Search: p.Search, Name: p.Name, Type: p.Type, BranchID: p.BranchID, Available: p.Available, Limit: p.Limit, Offset: p.Offset, } } type Product struct { ID int64 `json:"id,omitempty"` PartnerID int64 `json:"partner_id"` Name string `json:"name" validate:"required"` Type string `json:"type"` Price float64 `json:"price" validate:"required"` IsWeekendTicket bool `json:"is_weekend_ticket"` IsSeasonTicket bool `json:"is_season_ticket"` Status string `json:"status"` Description string `json:"description" validate:"required"` } func (e *Product) ToEntity() *entity.Product { return &entity.Product{ Name: e.Name, Type: e.Type, Price: e.Price, Status: e.Status, Description: e.Description, } }