fix: use private helcimApiToken for all server-side Helcim API calls

This commit is contained in:
Jennie Robinson Faber 2026-04-04 13:37:34 +01:00
parent ccd1d0783a
commit d31b5b4dac
53 changed files with 1755 additions and 572 deletions

View file

@ -1,60 +1,36 @@
import Event from "../../models/event";
import Member from "../../models/member";
import { connectDB } from '../../utils/mongoose.js'
import Event from '../../models/event'
export default defineEventHandler(async (event) => {
const query = getQuery(event);
const { memberId } = query;
if (!memberId) {
throw createError({
statusCode: 400,
statusMessage: "Member ID is required",
});
}
await connectDB()
const member = await requireAuth(event)
try {
// Verify member exists
const member = await Member.findById(memberId);
if (!member) {
throw createError({
statusCode: 404,
statusMessage: "Member not found",
});
}
// Find all events where the user is registered
// Filter out cancelled events and only show future events
const now = new Date();
const now = new Date()
const events = await Event.find({
"registrations.memberId": memberId,
'registrations.memberId': member._id,
isCancelled: { $ne: true },
startDate: { $gte: now },
})
.select(
"title slug description startDate endDate location featureImage maxAttendees registeredCount",
)
.select('title slug description startDate endDate location featureImage maxAttendees registeredCount')
.sort({ startDate: 1 })
.limit(10);
console.log(
`Found ${events.length} registered events for member ${memberId}`,
);
.limit(10)
return {
events,
count: events.length,
};
}
} catch (error) {
console.error("Error fetching member events:", error);
console.error('Error fetching member events:', error)
if (error.statusCode) {
throw error;
throw error
}
throw createError({
statusCode: 500,
statusMessage: "Failed to fetch registered events",
});
statusMessage: 'Failed to fetch registered events',
})
}
});
})