integrated the new logger across the entire API
This commit is contained in:
@@ -3,6 +3,7 @@ import { createEvent, getEventAttendance, getEventDetails, getShortEventsInRange
|
||||
import { CalendarAttendance, CalendarEvent } from "@app/shared/types/calendar";
|
||||
import { requireLogin, requireMemberState, requireRole } from "../middleware/auth";
|
||||
import { MemberState } from "@app/shared/types/member";
|
||||
import { logger } from "../services/logging/logger";
|
||||
|
||||
const express = require('express');
|
||||
const r = express.Router();
|
||||
@@ -28,7 +29,14 @@ r.get('/', async (req, res) => {
|
||||
|
||||
res.status(200).json(events);
|
||||
} catch (error) {
|
||||
console.error('Error fetching calendar events:', error);
|
||||
logger.error(
|
||||
'app',
|
||||
'Failed to get calendar events',
|
||||
{
|
||||
error: error instanceof Error ? error.message : String(error),
|
||||
stack: error instanceof Error ? error.stack : undefined,
|
||||
}
|
||||
);
|
||||
res.status(500).send('Error fetching calendar events');
|
||||
}
|
||||
});
|
||||
@@ -41,9 +49,21 @@ r.post('/:id/cancel', [requireLogin, requireMemberState(MemberState.Member)], as
|
||||
try {
|
||||
const eventID = Number(req.params.id);
|
||||
setEventCancelled(eventID, true);
|
||||
|
||||
logger.info('app', 'Calendar event cancelled', {
|
||||
event: eventID,
|
||||
user: req.user.id
|
||||
})
|
||||
res.sendStatus(200);
|
||||
} catch (error) {
|
||||
console.error('Error setting cancel status:', error);
|
||||
logger.error(
|
||||
'app',
|
||||
'Failed to get cancel calendar event',
|
||||
{
|
||||
error: error instanceof Error ? error.message : String(error),
|
||||
stack: error instanceof Error ? error.stack : undefined,
|
||||
}
|
||||
);
|
||||
res.status(500).send('Error setting cancel status');
|
||||
}
|
||||
})
|
||||
@@ -51,9 +71,21 @@ r.post('/:id/uncancel', [requireLogin, requireMemberState(MemberState.Member)],
|
||||
try {
|
||||
const eventID = Number(req.params.id);
|
||||
setEventCancelled(eventID, false);
|
||||
|
||||
logger.info('app', 'Calendar event un-cancelled', {
|
||||
event: eventID,
|
||||
user: req.user.id
|
||||
})
|
||||
res.sendStatus(200);
|
||||
} catch (error) {
|
||||
console.error('Error setting cancel status:', error);
|
||||
logger.error(
|
||||
'app',
|
||||
'Failed to uncancel calendar event',
|
||||
{
|
||||
error: error instanceof Error ? error.message : String(error),
|
||||
stack: error instanceof Error ? error.stack : undefined,
|
||||
}
|
||||
);
|
||||
res.status(500).send('Error setting cancel status');
|
||||
}
|
||||
})
|
||||
@@ -65,12 +97,27 @@ r.post('/:id/attendance', [requireLogin, requireMemberState(MemberState.Member)]
|
||||
let event = Number(req.params.id);
|
||||
let state = req.query.state as CalendarAttendance;
|
||||
setAttendanceStatus(member, event, state);
|
||||
|
||||
logger.info('app', 'Member set calendar event attendance', {
|
||||
event: event,
|
||||
user: req.user.id,
|
||||
state: state
|
||||
})
|
||||
|
||||
res.sendStatus(200);
|
||||
} catch (error) {
|
||||
console.error('Failed to set attendance:', error);
|
||||
logger.error(
|
||||
'app',
|
||||
'Failed to set attendance',
|
||||
{
|
||||
error: error instanceof Error ? error.message : String(error),
|
||||
stack: error instanceof Error ? error.stack : undefined,
|
||||
}
|
||||
);
|
||||
res.status(500).json(error);
|
||||
}
|
||||
})
|
||||
|
||||
//get event details
|
||||
r.get('/:id', async (req: Request, res: Response) => {
|
||||
try {
|
||||
@@ -79,9 +126,16 @@ r.get('/:id', async (req: Request, res: Response) => {
|
||||
let details: CalendarEvent = await getEventDetails(eventID);
|
||||
details.eventSignups = await getEventAttendance(eventID);
|
||||
res.status(200).json(details);
|
||||
} catch (err) {
|
||||
console.error('Insert failed:', err);
|
||||
res.status(500).json(err);
|
||||
} catch (error) {
|
||||
logger.error(
|
||||
'app',
|
||||
'Failed to get calendar event details',
|
||||
{
|
||||
error: error instanceof Error ? error.message : String(error),
|
||||
stack: error instanceof Error ? error.stack : undefined,
|
||||
}
|
||||
);
|
||||
res.status(500);
|
||||
}
|
||||
})
|
||||
|
||||
@@ -95,9 +149,22 @@ r.post('/', [requireLogin, requireMemberState(MemberState.Member)], async (req:
|
||||
event.start = new Date(event.start);
|
||||
event.end = new Date(event.end);
|
||||
createEvent(event);
|
||||
|
||||
logger.info('app', 'Calendar event posted', {
|
||||
event: event.id,
|
||||
user: req.user.id
|
||||
})
|
||||
|
||||
res.sendStatus(200);
|
||||
} catch (error) {
|
||||
console.error('Failed to create event:', error);
|
||||
logger.error(
|
||||
'app',
|
||||
'Failed to create calendar event',
|
||||
{
|
||||
error: error instanceof Error ? error.message : String(error),
|
||||
stack: error instanceof Error ? error.stack : undefined,
|
||||
}
|
||||
);
|
||||
res.status(500).json(error);
|
||||
}
|
||||
})
|
||||
@@ -108,9 +175,22 @@ r.put('/', [requireLogin, requireMemberState(MemberState.Member)], async (req: R
|
||||
event.start = new Date(event.start);
|
||||
event.end = new Date(event.end);
|
||||
updateEvent(event);
|
||||
|
||||
logger.info('app', 'Calendar event updated', {
|
||||
event: event.id,
|
||||
user: req.user.id
|
||||
})
|
||||
|
||||
res.sendStatus(200);
|
||||
} catch (error) {
|
||||
console.error('Failed to update event:', error);
|
||||
logger.error(
|
||||
'app',
|
||||
'Failed to update calendar event',
|
||||
{
|
||||
error: error instanceof Error ? error.message : String(error),
|
||||
stack: error instanceof Error ? error.stack : undefined,
|
||||
}
|
||||
);
|
||||
res.status(500).json(error);
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user