import os
import zipfile

def create_zip():
    zip_path = r"d:\SERVIDO_QNB\deploy_fidelidade_garcom.zip"
    base_dir = r"d:\SERVIDO_QNB"
    
    files_to_zip = [
        "server.js",
        "src/routes/uploads.js",
        "frontend/app.js",
        "frontend/admin.html",
        "frontend/index.html",
        "frontend/cardapio.js",
        "frontend/garcom.js",
        "frontend/garcom.html",
        "frontend/service-worker.js",
        "frontend/server.js"
    ]
    
    print(f"Iniciando a criação do zip em: {zip_path}")
    
    # Garantir que o zip antigo seja removido se existir
    if os.path.exists(zip_path):
        try:
            os.remove(zip_path)
            print("Zip antigo removido.")
        except Exception as e:
            print(f"Erro ao remover zip antigo: {e}")
            
    with zipfile.ZipFile(zip_path, 'w', zipfile.ZIP_DEFLATED) as zipf:
        for file in files_to_zip:
            full_path = os.path.join(base_dir, file)
            if os.path.exists(full_path):
                # O arcname define o caminho relativo dentro do zip
                # Usar barras normais para compatibilidade universal
                arcname = file.replace('\\', '/')
                zipf.write(full_path, arcname)
                print(f"Adicionado: {file} -> {arcname}")
            else:
                print(f"AVISO: Arquivo não encontrado no disco: {file}")
                
    print(f"Zip criado com sucesso em: {zip_path}")
    print(f"Tamanho do arquivo: {os.path.getsize(zip_path)} bytes")

if __name__ == "__main__":
    create_zip()
