import cookieParser from "cookie-parser"; import "dotenv/config"; import express from "express"; import initializeDatabase from "./db"; import createInitialEmployeeIfNotExists from "./db/createInitialEmployee"; import accountsRouter from "./routes/accounts.routes"; import authRouter from "./routes/auth.routes"; import boatsRouter from "./routes/boat.routes"; import userRouter from "./routes/user.routes"; import boatTypeRouter from "./routes/boatType.routes"; import entryRouter from "./routes/createLogEntry.routes"; import sportRouter from "./routes/sport.routes"; import { resetCheckIns } from "./controllers/createLogEntry.controllers" import schedule from "node-schedule" let init = async () => { // DB console.log("Sarting Server") await initializeDatabase(); await createInitialEmployeeIfNotExists(); // server const app = express(); app.use(express.json()); app.use(cookieParser()); app.listen(process.env.PORT || 4000, () => { }); app.use(express.static('public')); app.use("/", authRouter); app.use("/", accountsRouter); app.use("/", boatsRouter); app.use("/", userRouter); app.use("/", boatTypeRouter); app.use("/", entryRouter); app.use("/", sportRouter); let rule = new schedule.RecurrenceRule(); rule.tz = "Europe/Berlin"; rule.minute = 30; rule.hour = 23; schedule.scheduleJob(rule, async (fireDate: Date) => { resetCheckIns(); }); }; init();