31 lines
853 B
Go
31 lines
853 B
Go
package api
|
|
|
|
import "printer.backend/internal/model"
|
|
|
|
type saveItemRequest struct {
|
|
Name string `json:"name"`
|
|
SizeMM float64 `json:"size_mm"`
|
|
WidthMM float64 `json:"width_mm"`
|
|
HeightMM float64 `json:"height_mm"`
|
|
CornerRadiusMM float64 `json:"corner_radius_mm"`
|
|
BleedMM float64 `json:"bleed_mm"`
|
|
MarginMM float64 `json:"margin_mm"`
|
|
PaddingMM float64 `json:"padding_mm"`
|
|
}
|
|
|
|
func itemSpecFromRequest(req saveItemRequest) (model.ItemSpec, error) {
|
|
spec := model.ItemSpec{
|
|
SizeMM: req.SizeMM,
|
|
WidthMM: req.WidthMM,
|
|
HeightMM: req.HeightMM,
|
|
CornerRadiusMM: req.CornerRadiusMM,
|
|
BleedMM: req.BleedMM,
|
|
MarginMM: req.MarginMM,
|
|
PaddingMM: req.PaddingMM,
|
|
}
|
|
if err := spec.Normalize(); err != nil {
|
|
return model.ItemSpec{}, err
|
|
}
|
|
return spec, nil
|
|
}
|