[1.0.0] #19

Merged
ashir merged 80 commits from dev into main 2026-04-30 18:37:18 +00:00
2 changed files with 40 additions and 10 deletions
Showing only changes of commit dc3228a07a - Show all commits
@@ -1,5 +1,8 @@
import prisma from "../prisma/client.js"; import prisma from "../prisma/client.js";
import {sendEmail} from "../utils/sendEmail.js";
import {getEmailsByType} from "../utils/getEmailByTypes.js";
/* CREATE INQUIRY */ /* CREATE INQUIRY */
export const createInquiry = async (req, res) => { export const createInquiry = async (req, res) => {
try { try {
@@ -21,6 +24,28 @@ export const createInquiry = async (req, res) => {
message, message,
}, },
}); });
try {
const emailList = await getEmailsByType("INQUIRY");
if (emailList && emailList.length > 0) {
await sendEmail({
to: emailList,
subject: "New Inquiry Received",
html: `
<h2>New Inquiry</h2>
<p><b>Name:</b> ${fullName}</p>
<p><b>Phone:</b> ${number}</p>
<p><b>Email:</b> ${emailId}</p>
<p><b>Subject:</b> ${subject}</p>
<p><b>Message:</b> ${message}</p>
`,
});
}
} catch (err) {
console.error("Inquiry email failed:", err);
}
res.status(200).json({ res.status(200).json({
success: true, success: true,
+9 -4
View File
@@ -181,14 +181,16 @@ export default function EmailPage() {
<Button <Button
size="sm" size="sm"
variant="outline" variant="outline"
onClick={() => openEdit(item)}> onClick={() => openEdit(item)}
>
<Pencil className="h-4 w-4" /> <Pencil className="h-4 w-4" />
</Button> </Button>
<Button <Button
size="sm" size="sm"
variant="destructive" variant="destructive"
onClick={() => handleDelete(item.id)}> onClick={() => handleDelete(item.id)}
>
<Trash className="h-4 w-4" /> <Trash className="h-4 w-4" />
</Button> </Button>
</TableCell> </TableCell>
@@ -225,10 +227,12 @@ export default function EmailPage() {
name="type" name="type"
value={form.type} value={form.type}
onChange={handleChange} onChange={handleChange}
className="border rounded px-2 py-2 w-full"> className="border rounded px-2 py-2 w-full"
>
<option value="APPOINTMENT">APPOINTMENT</option> <option value="APPOINTMENT">APPOINTMENT</option>
<option value="CANDIDATE">CANDIDATE</option> <option value="CANDIDATE">CANDIDATE</option>
<option value="ACADEMICS">ACADEMICS</option> <option value="ACADEMICS">ACADEMICS</option>
<option value="INQUIRY">INQUIRY</option>
</select> </select>
<select <select
@@ -240,7 +244,8 @@ export default function EmailPage() {
isActive: e.target.value === "true", isActive: e.target.value === "true",
}) })
} }
className="border rounded px-2 py-2 w-full"> className="border rounded px-2 py-2 w-full"
>
<option value="true">Active</option> <option value="true">Active</option>
<option value="false">Inactive</option> <option value="false">Inactive</option>
</select> </select>