cargo-platform/internal/handlers/dto/basic_pricing.go
teguh nugroho 8354634117
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ubah struktur
2026-08-25 16:49:27 +07:00

68 lines
4.6 KiB
Go

package dto
type BasicPricingComponentRequest struct {
CostComponentID string `json:"cost_component_id" binding:"required"`
Value float32 `json:"value"`
}
type BasicPricingComponentResponse struct {
ID string `json:"id"`
CostComponentID *string `json:"cost_component_id"`
Value *float32 `json:"value"`
}
type CreateBasicPricingRequest struct {
ProvinceSourceID string `json:"province_source_id" binding:"required"`
CitySourceID string `json:"city_source_id" binding:"required"`
DistrictSourceID string `json:"district_source_id" binding:"required"`
SubdistrictSourceID string `json:"subdistrict_source_id" binding:"required"`
PostalCodeSourceID string `json:"postal_code_source_id" binding:"required"`
ProvinceDestinationID string `json:"province_destination_id" binding:"required"`
CityDestinationID string `json:"city_destination_id" binding:"required"`
DistrictDestinationID string `json:"district_destination_id" binding:"required"`
SubdistrictDestinationID string `json:"subdistrict_destination_id" binding:"required"`
PostalCodeDestinationID string `json:"postal_code_destination_id" binding:"required"`
PackageTypeID string `json:"package_type_id" binding:"required"`
ModaID string `json:"moda_id" binding:"required"`
LeadTime string `json:"lead_time"`
MinimumWeight float32 `json:"minimum_weight"`
Components []BasicPricingComponentRequest `json:"components" binding:"required,dive"`
}
type CreateBasicPricingResponse struct {
ID string `json:"id"`
ProvinceSourceID *string `json:"province_source_id"`
CitySourceID *string `json:"city_source_id"`
DistrictSourceID *string `json:"district_source_id"`
SubdistrictSourceID *string `json:"subdistrict_source_id"`
PostalCodeSourceID *string `json:"postal_code_source_id"`
ProvinceDestinationID *string `json:"province_destination_id"`
CityDestinationID *string `json:"city_destination_id"`
DistrictDestinationID *string `json:"district_destination_id"`
SubdistrictDestinationID *string `json:"subdistrict_destination_id"`
PostalCodeDestinationID *string `json:"postal_code_destination_id"`
PackageTypeID *string `json:"package_type_id"`
ModaID *string `json:"moda_id"`
LeadTime *string `json:"lead_time"`
MinimumWeight *float32 `json:"minimum_weight"`
MerchantID *string `json:"merchant_id"`
Components []BasicPricingComponentResponse `json:"components"`
}
type BasicPricingFilterAllRequest struct {
ID string `json:"id" form:"id"`
ProvinceSourceID string `json:"province_source_id" form:"province_source_id"`
CitySourceID string `json:"city_source_id" form:"city_source_id"`
DistrictSourceID string `json:"district_source_id" form:"district_source_id"`
SubdistrictSourceID string `json:"subdistrict_source_id" form:"subdistrict_source_id"`
PostalCodeSourceID string `json:"postal_code_source_id" form:"postal_code_source_id"`
ProvinceDestinationID string `json:"province_destination_id" form:"province_destination_id"`
CityDestinationID string `json:"city_destination_id" form:"city_destination_id"`
DistrictDestinationID string `json:"district_destination_id" form:"district_destination_id"`
SubdistrictDestinationID string `json:"subdistrict_destination_id" form:"subdistrict_destination_id"`
PostalCodeDestinationID string `json:"postal_code_destination_id" form:"postal_code_destination_id"`
PackageTypeID string `json:"package_type_id" form:"package_type_id"`
ModaID string `json:"moda_id" form:"moda_id"`
MerchantID string `json:"merchant_id" form:"merchant_id"`
}