Skip to content
Snippets Groups Projects
server.ts 1.38 KiB
Newer Older
Leander Tolksdorf's avatar
Leander Tolksdorf committed
import cookieParser from "cookie-parser";
import "dotenv/config";
import express from "express";
Leander Tolksdorf's avatar
Leander Tolksdorf committed
import initializeDatabase from "./db";
alrwasheda's avatar
alrwasheda committed
import createInitialEmployeeIfNotExists from "./db/createInitialEmployee";
Leander Tolksdorf's avatar
Leander Tolksdorf committed
import accountsRouter from "./routes/accounts.routes";
Leander Tolksdorf's avatar
Leander Tolksdorf committed
import authRouter from "./routes/auth.routes";
alrwasheda's avatar
alrwasheda committed
import boatsRouter from "./routes/boat.routes";
alrwasheda's avatar
alrwasheda committed
import userRouter from "./routes/user.routes";
alrwasheda's avatar
alrwasheda committed
import boatTypeRouter from "./routes/boatType.routes";
import entryRouter from "./routes/createLogEntry.routes";
elit04's avatar
elit04 committed
import sportRouter from "./routes/sport.routes";
import { resetCheckIns } from "./controllers/createLogEntry.controllers"
import schedule from "node-schedule"
let init = async () => {
  // DB
  await initializeDatabase();
alrwasheda's avatar
alrwasheda committed
  await createInitialEmployeeIfNotExists();
  app.use(express.json());
Leander Tolksdorf's avatar
Leander Tolksdorf committed
  app.use(cookieParser());
  app.listen(process.env.PORT || 4000, () => { });
  app.use(express.static('public'));
Leander Tolksdorf's avatar
Leander Tolksdorf committed
  app.use("/", authRouter);
Leander Tolksdorf's avatar
Leander Tolksdorf committed
  app.use("/", accountsRouter);
alrwasheda's avatar
alrwasheda committed
  app.use("/", boatsRouter);
alrwasheda's avatar
alrwasheda committed
  app.use("/", userRouter);
elit04's avatar
elit04 committed
  app.use("/", boatTypeRouter);
elit04's avatar
elit04 committed
  app.use("/", entryRouter);
elit04's avatar
elit04 committed
  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();