37 lines
1.3 KiB
Go
37 lines
1.3 KiB
Go
package model
|
|
|
|
import "time"
|
|
|
|
// PrintJob groups a configuration with one or more orders for plate printing.
|
|
type PrintJob struct {
|
|
ID string `json:"id"`
|
|
Name string `json:"name,omitempty"`
|
|
ConfigurationID string `json:"configuration_id"`
|
|
OrderIDs []string `json:"order_ids"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
UpdatedAt time.Time `json:"updated_at"`
|
|
}
|
|
|
|
// PrintJobImageRef identifies one order image assigned to a layout slot.
|
|
type PrintJobImageRef struct {
|
|
OrderID string `json:"order_id"`
|
|
ImageID string `json:"image_id"`
|
|
}
|
|
|
|
// PrintJobSlotAssignment maps one plate item position to a customer image.
|
|
type PrintJobSlotAssignment struct {
|
|
Slot int `json:"slot"`
|
|
Image PrintJobImageRef `json:"image"`
|
|
Position LayoutPosition `json:"position"`
|
|
}
|
|
|
|
// PrintJobSummary describes image distribution and validation for a print job.
|
|
type PrintJobSummary struct {
|
|
ImageCount int `json:"image_count"`
|
|
SlotCount int `json:"slot_count"`
|
|
ImageOverflow bool `json:"image_overflow"`
|
|
Warning string `json:"warning,omitempty"`
|
|
Assignments []PrintJobSlotAssignment `json:"assignments"`
|
|
Preview LayoutPreview `json:"preview"`
|
|
}
|