package jobs

import "aot-printer-agent/internal/printing"

type Job = printing.Job

type ClaimRequest struct {
	AgentUUID    string `json:"agent_uuid"`
	BatchSize    int    `json:"batch_size"`
	LeaseSeconds int    `json:"lease_seconds"`
}

type ClaimResponse struct {
	Jobs []Job `json:"jobs"`
}

type StatusReport struct {
	AgentUUID    string                 `json:"agent_uuid"`
	Status       string                 `json:"status"`
	Adapter      string                 `json:"adapter"`
	SentAt       *string                `json:"sent_at"`
	ConfirmedAt  *string                `json:"confirmed_at"`
	DurationMS   int64                  `json:"duration_ms"`
	ErrorCode    *string                `json:"error_code"`
	ErrorMessage *string                `json:"error_message"`
	Meta         map[string]interface{} `json:"meta"`
}
