correzioni
All checks were successful
Deploy to VPS / build (push) Successful in 17s
Deploy to VPS / deploy (push) Successful in 22s

This commit is contained in:
AV77web 2026-06-09 13:38:58 +02:00
parent 3fc220a757
commit d6c7451121
5 changed files with 22 additions and 5 deletions

3
dist/index.js vendored
View file

@ -18,8 +18,7 @@ app.options(/.*/, corsMiddleware);
app.get("/api/health", (_req, res) => { app.get("/api/health", (_req, res) => {
res.json({ status: "ok" }); res.json({ status: "ok" });
}); });
// Express 5: il wildcard * deve essere nominato (es. *splat) app.use("/api/auth", ExpressAuth(authConfig));
app.use("/api/auth/{*splat}", ExpressAuth(authConfig));
app.use("/api/utenti", utentiRouter); app.use("/api/utenti", utentiRouter);
app.use("/api/categorie-spesa", categorieRouter); app.use("/api/categorie-spesa", categorieRouter);
app.use("/api/rimborsi", rimborsiRouter); app.use("/api/rimborsi", rimborsiRouter);

2
dist/index.js.map vendored
View file

@ -1 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,eAAe,MAAM,uBAAuB,CAAC;AACpD,OAAO,cAAc,MAAM,sBAAsB,CAAC;AAClD,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AACxD,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAE9C,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;AACtB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AAE9C,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;AAC1B,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACxB,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;AACxB,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;AAElC,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;IACnC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEH,6DAA6D;AAC7D,GAAG,CAAC,GAAG,CAAC,oBAAoB,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;AACvD,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;AACrC,GAAG,CAAC,GAAG,CAAC,sBAAsB,EAAE,eAAe,CAAC,CAAC;AACjD,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;AACzC,GAAG,CAAC,GAAG,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAC;AAE/C,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAEtB,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE;IAC/B,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,EAAE,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC"} {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,eAAe,MAAM,uBAAuB,CAAC;AACpD,OAAO,cAAc,MAAM,sBAAsB,CAAC;AAClD,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AACxD,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAE9C,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;AACtB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AAE9C,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;AAC1B,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACxB,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;AACxB,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;AAElC,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;IACnC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;AAC9C,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;AACrC,GAAG,CAAC,GAAG,CAAC,sBAAsB,EAAE,eAAe,CAAC,CAAC;AACjD,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;AACzC,GAAG,CAAC,GAAG,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAC;AAE/C,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAEtB,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE;IAC/B,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,EAAE,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC"}

View file

@ -8,6 +8,7 @@ services:
env_file: env_file:
- .env - .env
environment: environment:
NODE_ENV: production
DB_HOST: mysql DB_HOST: mysql
DB_PORT: 3306 DB_PORT: 3306
PORT: 3003 PORT: 3003

View file

@ -5,11 +5,29 @@ import type { RowDataPacket } from "mysql2";
import pool from "../db/pool.js"; import pool from "../db/pool.js";
import type { Ruolo, Utente } from "../types/index.js"; import type { Ruolo, Utente } from "../types/index.js";
const isProduction = process.env.NODE_ENV === "production";
const crossOriginCookieOptions = {
httpOnly: true,
sameSite: "none" as const,
secure: true,
path: "/",
};
export const authConfig: ExpressAuthConfig = { export const authConfig: ExpressAuthConfig = {
basePath: "/api/auth",
trustHost: true, trustHost: true,
secret: process.env.AUTH_SECRET, secret: process.env.AUTH_SECRET,
useSecureCookies: isProduction,
session: { strategy: "jwt" }, session: { strategy: "jwt" },
pages: { signIn: "/login" }, pages: { signIn: "/login" },
cookies: isProduction
? {
sessionToken: { options: crossOriginCookieOptions },
csrfToken: { options: { ...crossOriginCookieOptions, httpOnly: false } },
callbackUrl: { options: crossOriginCookieOptions },
}
: undefined,
providers: [ providers: [
Credentials({ Credentials({
credentials: { credentials: {

View file

@ -23,8 +23,7 @@ app.get("/api/health", (_req, res) => {
res.json({ status: "ok" }); res.json({ status: "ok" });
}); });
// Express 5: il wildcard * deve essere nominato (es. *splat) app.use("/api/auth", ExpressAuth(authConfig));
app.use("/api/auth/{*splat}", ExpressAuth(authConfig));
app.use("/api/utenti", utentiRouter); app.use("/api/utenti", utentiRouter);
app.use("/api/categorie-spesa", categorieRouter); app.use("/api/categorie-spesa", categorieRouter);
app.use("/api/rimborsi", rimborsiRouter); app.use("/api/rimborsi", rimborsiRouter);