2026-06-09 13:01:53 +02:00
|
|
|
import { ExpressAuth } from "@auth/express";
|
|
|
|
|
import cors from "cors";
|
|
|
|
|
import dotenv from "dotenv";
|
|
|
|
|
import express from "express";
|
|
|
|
|
import { authConfig } from "./auth/config.js";
|
|
|
|
|
import { errorHandler } from "./middleware/errorHandler.js";
|
|
|
|
|
import categorieRouter from "./routes/categorie.js";
|
|
|
|
|
import rimborsiRouter from "./routes/rimborsi.js";
|
|
|
|
|
import statisticheRouter from "./routes/statistiche.js";
|
|
|
|
|
import utentiRouter from "./routes/utenti.js";
|
|
|
|
|
dotenv.config();
|
|
|
|
|
const app = express();
|
2026-06-09 11:22:41 +02:00
|
|
|
const port = Number(process.env.PORT) || 3003;
|
|
|
|
|
app.set("trust proxy", 1);
|
2026-06-09 13:15:32 +02:00
|
|
|
const allowedOrigins = [
|
|
|
|
|
"http://localhost:5173",
|
|
|
|
|
"http://127.0.0.1:5173",
|
|
|
|
|
process.env.FRONTEND_URL,
|
|
|
|
|
].filter(Boolean);
|
2026-06-09 13:01:53 +02:00
|
|
|
app.use(cors({
|
2026-06-09 13:15:32 +02:00
|
|
|
origin(origin, callback) {
|
|
|
|
|
if (!origin || allowedOrigins.includes(origin)) {
|
|
|
|
|
callback(null, true);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
callback(new Error("Origin non consentita"));
|
|
|
|
|
}
|
|
|
|
|
},
|
2026-06-09 11:22:41 +02:00
|
|
|
credentials: true,
|
|
|
|
|
}));
|
2026-06-09 13:01:53 +02:00
|
|
|
app.use(express.json());
|
2026-06-09 11:22:41 +02:00
|
|
|
app.get("/api/health", (_req, res) => {
|
|
|
|
|
res.json({ status: "ok" });
|
|
|
|
|
});
|
2026-06-09 13:01:53 +02:00
|
|
|
app.use("/api/auth/*", ExpressAuth(authConfig));
|
|
|
|
|
app.use("/api/utenti", utentiRouter);
|
|
|
|
|
app.use("/api/categorie-spesa", categorieRouter);
|
|
|
|
|
app.use("/api/rimborsi", rimborsiRouter);
|
|
|
|
|
app.use("/api/statistiche", statisticheRouter);
|
|
|
|
|
app.use(errorHandler);
|
2026-06-09 11:22:41 +02:00
|
|
|
app.listen(port, "0.0.0.0", () => {
|
|
|
|
|
console.log(`Backend in ascolto sulla porta ${port}`);
|
|
|
|
|
});
|
|
|
|
|
//# sourceMappingURL=index.js.map
|