"""Constantes del dominio para la carga individual asíncrona."""

from __future__ import annotations


INGESTION_SOURCE_INDIVIDUAL = "individual"

UPLOAD_STATUS_PRECHECK_EN_COLA = "precheck_en_cola"
UPLOAD_STATUS_PRECHECK_PROCESANDO = "precheck_procesando"
UPLOAD_STATUS_ESPERANDO_CONFIRMACION = "esperando_confirmacion"
UPLOAD_STATUS_LISTO_PARA_PROCESAR = "listo_para_procesar"
UPLOAD_STATUS_PROCESANDO = "procesando"
UPLOAD_STATUS_COMPLETADO = "completado"
UPLOAD_STATUS_CANCELADO = "cancelado"
UPLOAD_STATUS_FALLIDO = "fallido"

NON_TERMINAL_UPLOAD_STATUSES = {
    UPLOAD_STATUS_PRECHECK_EN_COLA,
    UPLOAD_STATUS_PRECHECK_PROCESANDO,
    UPLOAD_STATUS_ESPERANDO_CONFIRMACION,
    UPLOAD_STATUS_LISTO_PARA_PROCESAR,
    UPLOAD_STATUS_PROCESANDO,
}

TERMINAL_UPLOAD_STATUSES = {
    UPLOAD_STATUS_COMPLETADO,
    UPLOAD_STATUS_CANCELADO,
    UPLOAD_STATUS_FALLIDO,
}

PENDING_ACTION_CONFIRM_CASE_IDENTITY = "confirm_case_identity"
PENDING_ACTION_CONFIRM_TYPE_OVERRIDE = "confirm_type_override"
PENDING_ACTION_CONFIRM_CASE_OVERRIDE = "confirm_case_override"

INDIVIDUAL_QUEUE_NAME = "individual_uploads"

SUPPORTED_INDIVIDUAL_SUPPORT_TYPES = {
    "factura",
    "quirurgico",
    "laboratorio",
    "radiologia",
    "generico",
}
