-- 🏍️🚗 ADICIONANDO SUPORTE A TIPOS DE VEÍCULO E FOTOS
-- =====================================================

-- 1. Adicionar coluna tipo_veiculo na tabela checklist_veiculo
ALTER TABLE checklist_veiculo 
ADD COLUMN tipo_veiculo ENUM('CARRO', 'MOTO') NOT NULL DEFAULT 'CARRO' 
AFTER veiculo_id;

-- 2. Adicionar comentário para documentar a coluna
ALTER TABLE checklist_veiculo 
MODIFY COLUMN tipo_veiculo ENUM('CARRO', 'MOTO') NOT NULL DEFAULT 'CARRO' 
COMMENT 'Tipo do veículo: CARRO ou MOTO';

-- 3. Criar tabela para armazenar fotos dos problemas
CREATE TABLE IF NOT EXISTS checklist_fotos (
    id INT AUTO_INCREMENT PRIMARY KEY,
    checklist_id INT NOT NULL,
    item_id VARCHAR(50) NOT NULL COMMENT 'ID do item do checklist (ex: elet_buzina)',
    nome_arquivo VARCHAR(255) NOT NULL COMMENT 'Nome do arquivo da foto',
    caminho_arquivo VARCHAR(500) NOT NULL COMMENT 'Caminho completo da foto no servidor',
    descricao_problema TEXT COMMENT 'Descrição do problema da foto',
    tamanho_arquivo INT COMMENT 'Tamanho do arquivo em bytes',
    tipo_mime VARCHAR(100) DEFAULT 'image/jpeg' COMMENT 'Tipo MIME da imagem',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    
    -- Chaves estrangeiras
    FOREIGN KEY (checklist_id) REFERENCES checklist_veiculo(id) ON DELETE CASCADE,
    
    -- Índices para performance
    INDEX idx_checklist_id (checklist_id),
    INDEX idx_item_id (item_id),
    INDEX idx_created_at (created_at)
) ENGINE=InnoDB 
  DEFAULT CHARSET=utf8mb4 
  COLLATE=utf8mb4_unicode_ci 
  COMMENT='Fotos dos problemas encontrados nos checklists';

-- 4. Criar diretório para upload de fotos (será feito via PHP)
-- /controlefrota/backend-php/uploads/checklist-fotos/YYYY/MM/

-- 5. Atualizar registros existentes para serem do tipo CARRO
UPDATE checklist_veiculo 
SET tipo_veiculo = 'CARRO' 
WHERE tipo_veiculo IS NULL OR tipo_veiculo = '';

-- 6. Adicionar índice na nova coluna para performance
ALTER TABLE checklist_veiculo 
ADD INDEX idx_tipo_veiculo (tipo_veiculo);

-- 7. Verificar as alterações
SELECT 
    'checklist_veiculo' as tabela,
    COUNT(*) as total_registros,
    tipo_veiculo,
    COUNT(*) as quantidade
FROM checklist_veiculo 
GROUP BY tipo_veiculo
UNION ALL
SELECT 
    'checklist_fotos' as tabela,
    COUNT(*) as total_registros,
    'N/A' as tipo_veiculo,
    COUNT(*) as quantidade
FROM checklist_fotos;

-- 8. Mostrar estrutura atualizada
DESCRIBE checklist_veiculo;
DESCRIBE checklist_fotos;

-- ✅ SCRIPT CONCLUÍDO!
-- Próximos passos:
-- - Atualizar API PHP para suportar tipo_veiculo
-- - Modificar entities Android
-- - Implementar upload de fotos
-- - Criar interface de seleção de tipo 