Skip to content

Commit 35dd927

Browse files
committed
some secruity fixes
1 parent 8108ba4 commit 35dd927

File tree

3 files changed

+14
-36
lines changed

3 files changed

+14
-36
lines changed

frontend/api/borrowManagement.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ export async function borrowHandler(req, res) {
118118
borrowId: newBorrowId
119119
});
120120
} catch (itemError) {
121-
console.error(`Error processing item ${itemId}:`, itemError);
121+
console.error(`Error processing item`, itemError);
122122
failedItems.push({ id: itemId, reason: 'Processing error' });
123123
}
124124
}
@@ -158,6 +158,11 @@ export async function returnHandler(req, res) {
158158
const { notes_id } = req.body;
159159
const { notes_content } = req.body;
160160

161+
if (!Array.isArray(notes_content)) {
162+
console.error('notes_content is not an array');
163+
return res.status(400).json({ error: 'notes_content must be an array' });
164+
}
165+
161166
try {
162167
// Arrays to keep track of items
163168
const invalidItems = [];

frontend/api/email.js

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ import { query } from './db.js';
1212

1313
const mailjet = Mailjet.apiConnect(process.env.MJ_APIKEY_PUBLIC, process.env.MJ_APIKEY_PRIVATE);
1414

15+
const sendEmailAddr = "somerville.museum1@gmail.com"
16+
1517
/* send the automatic borrow email */
1618
export async function handlesendBorrowedEmail(req, res) {
1719
if (req.method !== "POST") {
@@ -32,7 +34,7 @@ export async function handlesendBorrowedEmail(req, res) {
3234
Messages: [
3335
{
3436
From: {
35-
Email: "somerville.museum1@gmail.com", // Replace with verified sender email
37+
Email: sendEmailAddr,
3638
Name: "Somerville Museum",
3739
},
3840
To: [
@@ -87,7 +89,7 @@ export async function handlesendOverdueEmail(req, res) {
8789
const response = await mailjet.post("send", { version: "v3.1" }).request({
8890
Messages: [
8991
{
90-
From: { Email: "somerville.museum1@gmail.com", Name: "Somerville Museum" },
92+
From: { Email: sendEmailAddr, Name: "Somerville Museum" },
9193
To: [{ Email: borrower_email, Name: borrower_name }],
9294
Subject: "Overdue Notice: Your Borrowed Items Are Past Due",
9395
HTMLPart: `
@@ -130,7 +132,7 @@ export async function handlesendReminderEmail(req, res) {
130132
const response = await mailjet.post("send", { version: "v3.1" }).request({
131133
Messages: [
132134
{
133-
From: { Email: "somerville.museum1@gmail.com", Name: "Somerville Museum" },
135+
From: { Email: sendEmailAddr, Name: "Somerville Museum" },
134136
To: [{ Email: borrower_email, Name: borrower_name }],
135137
Subject: "Reminder: Your Borrowed Items Are Due Soon",
136138
HTMLPart: `
@@ -191,7 +193,7 @@ export async function handlesendReturnEmail(req, res) {
191193
const response = await mailjet.post("send", { version: "v3.1" }).request({
192194
Messages: [
193195
{
194-
From: { Email: "somerville.museum1@gmail.com", Name: "Somerville Museum" },
196+
From: { Email: sendEmailAddr, Name: "Somerville Museum" },
195197
To: [{ Email: borrower_email, Name: borrower_name }],
196198
Subject: "Confirmation: Your Items Have Been Returned",
197199
HTMLPart: `
@@ -271,7 +273,7 @@ async function sendEmail({ to, subject, htmlContent }) {
271273
Messages: [
272274
{
273275
From: {
274-
Email: "somerville.museum1@gmail.com",
276+
Email: sendEmailAddr,
275277
Name: "Somerville Museum",
276278
},
277279
To: [

frontend/src/app/components/EditPage.jsx

Lines changed: 1 addition & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -215,35 +215,6 @@ export default function EditPage({ unit }) {
215215
}
216216
};
217217

218-
// const handleConditionSelect = (selectedConditions) => {
219-
220-
// // Ensure selectedconditionOptions is always an array
221-
// if (!Array.isArray(selectedconditionOptions)) {
222-
// setconditionOption([]);
223-
// return;
224-
// }
225-
226-
// // Extract only names, handling undefined values safely
227-
// const selectedNames = selectedconditionOptions.map(item => item?.name || "").filter(name => name !== "");
228-
229-
// // Update state
230-
// setconditionOption(selectedNames);
231-
// };
232-
233-
// const handleTimePeriodSelect = (selectedTimePeriods) => {
234-
// // Ensure selectedTimePeriods is always an array
235-
// if (!Array.isArray(selectedTimePeriods)) {
236-
// setSelectedTimePeriod([]);
237-
// return;
238-
// }
239-
240-
// // Extract only names
241-
// const selectedNames = selectedTimePeriods.map(item => item?.name || "");
242-
243-
// // Update state
244-
// setSelectedTimePeriod(selectedNames.filter(name => name !== ""));
245-
// };
246-
247218
const handleSeasonSelect = (season) => {
248219
setSelectedSeason((prevSelected) => {
249220
if (prevSelected.includes(season)) {
@@ -337,7 +308,7 @@ export default function EditPage({ unit }) {
337308
const urlParams = new URLSearchParams(window.location.search);
338309
const itemId = urlParams.get('id');
339310
if (itemId) {
340-
retrieveItem(itemId);
311+
retrieveItem();
341312
}
342313
}, []);
343314

0 commit comments

Comments
 (0)