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, } }