package dto

type CreateCityRequest struct {
	Name       string `json:"name" binding:"required,min=2"`
	ProvinceID string `json:"province_id" binding:"required"`
	Port       string `json:"port" binding:"required"`
}

type CreateCityResponse struct {
	ID         string  `json:"id"`
	Name       *string `json:"name"`
	ProvinceID *string `json:"province_id"`
	MerchantID *string `json:"merchant_id"`
	Port       *string `json:"port"`
}

type CityFilterAllRequest struct {
	ID         string `json:"id" form:"id"`
	Name       string `json:"name" form:"name"`
	ProvinceID string `json:"province_id" form:"province_id"`
	MerchantID string `json:"merchant_id" form:"merchant_id"`
	Port       string `json:"port" form:"port"`
}

type UpdateCityRequest struct {
	Name       string `json:"name" binding:"required,min=2"`
	ProvinceID string `json:"province_id" binding:"required"`
	Port       string `json:"port" binding:"required"`
}

type ImportCityResponse struct {
	JobID     string      `json:"job_id,omitempty"`
	TotalRows int         `json:"total_rows"`
	Imported  int         `json:"imported"`
	Skipped   int         `json:"skipped"`
	Logs      []ImportLog `json:"logs"`
	Errors    []string    `json:"errors"`
	IsAsync   bool        `json:"is_async"`
	Message   string      `json:"message,omitempty"`
}
