Files
evse-backend/migrate_structure.sh
2026-01-10 18:39:55 +00:00

60 lines
1.8 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
echo "==> 0) Criar branch (opcional)"
# git checkout -b refactor/estrutura-src
echo "==> 1) Criar pastas da nova estrutura"
mkdir -p src/{config,db,repositories,services,domain/normalize,mqtt/handlers,middleware,routes}
mkdir -p src/db/migrations
echo "==> 2) Mover ficheiros principais"
# app/server
mv app.js src/app.js
mv server.js src/server.js
# db
mv db.js src/db/knex.js
# knexfile continua na raiz (ok)
echo "==> 3) Mover routes"
mv routes/chargers.js src/routes/chargers.routes.js
mv routes/charger_sessions.js src/routes/sessions.routes.js
mv routes/push.js src/routes/push.routes.js
mv routes/users.js src/routes/users.routes.js
echo "==> 4) Mover middleware"
mv middleware/verifyToken.js src/middleware/auth.js
echo "==> 5) Mover MQTT"
mv mqtt/client.js src/mqtt/index.js
echo "==> 6) Mover pushService (utils -> services)"
mv utils/pushService.js src/services/push.service.js
echo "==> 7) Mover migrations"
mv migrations/* src/db/migrations/
echo "==> 8) Limpar pastas antigas (se vazias)"
rmdir routes 2>/dev/null || true
rmdir middleware 2>/dev/null || true
rmdir mqtt 2>/dev/null || true
rmdir utils 2>/dev/null || true
rmdir migrations 2>/dev/null || true
echo "==> 9) Criar placeholders úteis (opcional)"
touch src/config/index.js
touch src/services/{chargers.service.js,configs.service.js,sessions.service.js}
touch src/repositories/{chargers.repo.js,sessions.repo.js,push.repo.js}
touch src/domain/normalize/{chargingStatus.js,chargingConfig.js}
touch src/middleware/{validate.js,errorHandler.js}
touch src/mqtt/publishers.js
touch src/mqtt/handlers/{evse.handler.js,meter.handler.js,legacy.handler.js}
echo "==> 10) Mostrar nova árvore (até 4 níveis)"
tree -a -L 4 src || true
echo "✅ Estrutura criada e ficheiros movidos."
echo "⚠️ Próximo passo: corrigir os imports/paths (vai quebrar até ajustar)."