package mission

import "errors"

var (
	ErrRequired                    = errors.New("mission required")
	ErrMissionIDRequired           = errors.New("mission id required")
	ErrFileAttachmentIDRequired    = errors.New("mission file_attachment_id required")
	ErrFlightIDRequired            = errors.New("mission flight_id required")
	ErrTypeInvalid                 = errors.New("mission type invalid")
	ErrSubtypeInvalid              = errors.New("mission subtype invalid")
	ErrSubtypeRequired             = errors.New("mission subtype required")
	ErrSubtypeForbidden            = errors.New("mission subtype forbidden")
	ErrDuplicateFlight             = errors.New("mission duplicate flight")
	ErrScheduleMissing             = errors.New("mission schedule not found")
	ErrBaseMissing                 = errors.New("mission base not found")
	ErrTwilightMissing             = errors.New("mission twilight time not available")
	ErrCoordinatesInvalid          = errors.New("base coordinates invalid")
	ErrLockedAfterFlightInspection = errors.New("mission locked by after_flight_inspection")
)

const (
	ErrorMessageRequired                    = "mission is required"
	ErrorMessageMissionIDRequired           = "mission_id is required"
	ErrorMessageFlightIDRequired            = "flight_id is required"
	ErrorMessageTypeInvalid                 = "type is invalid or not found in mission category"
	ErrorMessageSubtypeRequired             = "subtype_id is required when type is HEMS"
	ErrorMessageSubtypeInvalid              = "subtype_id is invalid or not found"
	ErrorMessageSubtypeForbidden            = "subtype_id is only allowed when type is HEMS"
	ErrorMessageDuplicateFlight             = "mission for this flight already exists"
	ErrorMessageNotFound                    = "mission not found"
	ErrorMessageInvalidMissionID            = "mission_id is invalid UUID"
	ErrorMessageInvalidFlightID             = "flight_id is invalid UUID"
	ErrorMessageInvalidFlight               = "flight_uuid is invalid UUID"
	ErrorMessageScheduleMissing             = "mission schedule not found for the mission date"
	ErrorMessageBaseMissing                 = "mission base not found"
	ErrorMessageTwilightMissing             = "civil twilight time could not be calculated for this base and date"
	ErrorMessageCoordinatesInvalid          = "base coordinates are invalid"
	ErrorMessageLockedAfterFlightInspection = "mission is locked because after flight inspection already exists"
)
