diff --git a/backend/src/config/upload.ts b/backend/src/config/upload.ts new file mode 100644 index 0000000..24fb8f8 --- /dev/null +++ b/backend/src/config/upload.ts @@ -0,0 +1,16 @@ +import path from "path"; +import multer from "multer"; + +const publicFolder = path.resolve(__dirname, "..", "..", "public"); +export default { + directory: publicFolder, + + storage: multer.diskStorage({ + destination: publicFolder, + filename(req, file, cb) { + const fileName = new Date().getTime() + path.extname(file.originalname); + + return cb(null, fileName); + } + }) +}; diff --git a/backend/src/server.ts b/backend/src/server.ts index a8d6c21..21fbd79 100644 --- a/backend/src/server.ts +++ b/backend/src/server.ts @@ -1,25 +1,33 @@ +import "reflect-metadata"; import "dotenv/config"; import "express-async-errors"; import express, { Request, Response, NextFunction } from "express"; import cors from "cors"; -import AppError from "./errors/AppError"; +import multer from "multer"; +import Sentry from "@sentry/node"; +import uploadConfig from "./config/upload"; +import AppError from "./errors/AppError"; import routes from "./routes"; import "./database"; // import path from "path"; -// import multer from "multer"; -// import Sentry from "@sentry/node"; // const { initWbot } = require("./libs/wbot"); // const wbotMessageListener = require("./services/wbotMessageListener"); // const wbotMonitor = require("./services/wbotMonitor"); // const Whatsapp = require("./models/Whatsapp"); +Sentry.init({ dsn: process.env.SENTRY_DSN }); + +const upload = multer(uploadConfig); const app = express(); app.use(cors()); app.use(express.json()); +app.use(Sentry.Handlers.requestHandler()); +app.use(upload.single("media")); +app.use("/public", express.static(uploadConfig.directory)); app.use(routes); app.use(async (err: Error, req: Request, res: Response, _: NextFunction) => { @@ -35,22 +43,6 @@ const server = app.listen(process.env.PORT, () => { console.log(`Server started on port: ${process.env.PORT}`); }); -// Sentry.init({ dsn: process.env.SENTRY_DSN }); - -// const fileStorage = multer.diskStorage({ -// destination: (req, file, cb) => { -// cb(null, path.resolve(__dirname, "..", "public")); -// }, -// filename: (req, file, cb) => { -// cb(null, new Date().getTime() + path.extname(file.originalname)); -// }, -// }); - -// app.use(Sentry.Handlers.requestHandler()); -// app.use(multer({ storage: fileStorage }).single("media")); -// app.use("/public", express.static(path.join(__dirname, "..", "public"))); -// app.use(Router); - // const io = require("./libs/socket").init(server); // io.on("connection", socket => { // console.log("Client Connected");