mail/back/server.ts
2023-05-02 13:51:13 +02:00

42 lines
1.3 KiB
TypeScript

import express from "express";
import cors from "cors";
const app = express();
import { execQueryAsync, execQuery } from "./db/db";
import emailManager from "./mails/EmailManager";
import accountRouter from "./routes/account";
import roomRouter from "./routes/room";
import messageRouter from "./routes/message";
app.use(express.json());
app.use(
express.urlencoded({
extended: true,
}),
);
app.use(cors());
app.listen(process.env.PORT || 5500);
app.use("/api/account", accountRouter);
app.use("/api/room", roomRouter);
app.use("/api/message", messageRouter);
// create imap and smtp instances for each account
emailManager.init();
// debug reset all tables
const shouldReset = false;
if (shouldReset) {
const query = "SELECT table_name FROM INFORMATION_SCHEMA.tables WHERE table_schema = 'mail'";
execQueryAsync(query, []).then((results) => {
execQuery("SET FOREIGN_KEY_CHECKS=0", []);
results.map((table) => {
if (table.table_name == "app_account") return;
if (table.table_name == "address") return;
if (table.table_name == "mailbox") return;
console.log(table.table_name);
execQuery("DELETE FROM " + table.table_name, []);
// execQuery("DROP TABLE " + table.table_name);
});
});
}