diff --git a/src/formHandler.ts b/src/formHandler.ts index d4ea25e..831ce96 100644 --- a/src/formHandler.ts +++ b/src/formHandler.ts @@ -45,6 +45,16 @@ export async function handleFormData(data: any) { sendToDatabase(report); } +export async function fetchReports(): Promise { + try { + const reports = await ReportSchema.find(); + return reports; + } catch (error) { + console.error("Error fetching reports:", error); + throw error; + } +} + async function sendMail(report: Report): Promise { const transporter = nodemailer.createTransport({ host: process.env.SMTP_HOST, diff --git a/src/index.ts b/src/index.ts index ffbcc88..6a333a8 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,5 +1,5 @@ import express, { Request, Response } from "express"; -import { handleFormData } from "./formHandler.js"; +import { handleFormData, fetchReports } from "./formHandler.js"; import { initDb } from "./database.js"; const app = express(); @@ -20,6 +20,15 @@ app.post('/submit', (req, res) => { res.status(200).json({ status: 'ok', message: 'Form received' }); }); +app.get('/fetch', async (req, res) => { + try { + const data = await fetchReports(); + res.status(200).json(data); + } catch (error) { + res.status(500).json({ error: 'Failed to fetch reports' }); + } +}); + app.listen(port, () => { console.log("Server running on port:", port); }); \ No newline at end of file