99 lines
2.9 KiB
Go
99 lines
2.9 KiB
Go
package dto
|
|
|
|
import (
|
|
"errors"
|
|
|
|
"github.com/Caknoooo/go-gin-clean-starter/database/entities"
|
|
pkgdto "github.com/Caknoooo/go-gin-clean-starter/pkg/dto"
|
|
"github.com/google/uuid"
|
|
)
|
|
|
|
const (
|
|
MESSAGE_FAILED_CREATE_ZONA = "failed create zona"
|
|
MESSAGE_SUCCESS_CREATE_ZONA = "success create zona"
|
|
MESSAGE_FAILED_GET_ZONA = "failed get zona"
|
|
MESSAGE_SUCCESS_GET_ZONA = "success get zona"
|
|
MESSAGE_FAILED_UPDATE_ZONA = "failed update zona"
|
|
MESSAGE_SUCCESS_UPDATE_ZONA = "success update zona"
|
|
MESSAGE_FAILED_DELETE_ZONA = "failed delete zona"
|
|
MESSAGE_SUCCESS_DELETE_ZONA = "success delete zona"
|
|
MESSAGE_FAILED_GET_DATA_FROM_BODY = "failed get data from body"
|
|
)
|
|
|
|
var (
|
|
ErrCreateZona = errors.New("failed to create zona")
|
|
ErrGetZonaById = errors.New("failed to get zona by id")
|
|
ErrUpdateZona = errors.New("failed to update zona")
|
|
ErrDeleteZona = errors.New("failed to delete zona")
|
|
)
|
|
|
|
type ZonaCreateRequest struct {
|
|
Code string `json:"code" binding:"required"`
|
|
Name string `json:"name" binding:"required"`
|
|
Type string `json:"type" binding:"required"`
|
|
Temperature string `json:"temperature"`
|
|
Hazardous bool `json:"hazardous"`
|
|
// QRCodeZone string `json:"qr_code_zone"`
|
|
// IsActive bool `json:"is_active"`
|
|
WarehouseID string `json:"warehouse_id" binding:"required"`
|
|
ClientID string `json:"client_id" binding:"required"`
|
|
}
|
|
|
|
type ZonaUpdateRequest struct {
|
|
Code string `json:"code"`
|
|
Name string `json:"name"`
|
|
Type string `json:"type"`
|
|
Temperature string `json:"temperature"`
|
|
Hazardous bool `json:"hazardous"`
|
|
// QRCodeZone string `json:"qr_code_zone"`
|
|
IsActive bool `json:"is_active"`
|
|
// WarehouseID string `json:"warehouse_id"`
|
|
// ClientID string `json:"client_id"`
|
|
}
|
|
|
|
type ZonaResponse struct {
|
|
ID string `json:"id"`
|
|
Code string `json:"code"`
|
|
Name string `json:"name"`
|
|
Type string `json:"type"`
|
|
Temperature string `json:"temperature"`
|
|
Hazardous bool `json:"hazardous"`
|
|
QRCodeZone string `json:"qr_code_zone"`
|
|
IsActive bool `json:"is_active"`
|
|
// WarehouseID string `json:"warehouse_id"`
|
|
// ClientID string `json:"client_id"`
|
|
Warehouse pkgdto.IdNameResponse `json:"warehouse"`
|
|
Client pkgdto.IdNameResponse `json:"client"`
|
|
}
|
|
|
|
func ToZonaResponse(e entities.MZonaEntity) ZonaResponse {
|
|
warehouse := pkgdto.IdNameResponse{}
|
|
if e.Warehouse.ID != uuid.Nil {
|
|
warehouse = pkgdto.IdNameResponse{
|
|
ID: e.Warehouse.ID.String(),
|
|
Name: e.Warehouse.Name,
|
|
}
|
|
}
|
|
|
|
client := pkgdto.IdNameResponse{}
|
|
if e.Client.ID != uuid.Nil {
|
|
client = pkgdto.IdNameResponse{
|
|
ID: e.Client.ID.String(),
|
|
Name: e.Client.Name,
|
|
}
|
|
}
|
|
|
|
return ZonaResponse{
|
|
ID: e.ID.String(),
|
|
Code: e.Code,
|
|
Name: e.Name,
|
|
Type: e.Type,
|
|
Temperature: e.Temperature,
|
|
Hazardous: e.Hazardous,
|
|
QRCodeZone: e.QRCodeZone,
|
|
IsActive: e.IsActive,
|
|
Warehouse: warehouse,
|
|
Client: client,
|
|
}
|
|
}
|