fix: use pino err key for proper Error serialization in controllers
Error objects logged as { error } were serialized as {} because pino
only applies its error serializer to the err key.
This commit is contained in:
@@ -15,7 +15,7 @@ export class CaldavController {
|
|||||||
const response = await this.caldavService.saveConfig(config);
|
const response = await this.caldavService.saveConfig(config);
|
||||||
res.json(response);
|
res.json(response);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
log.error({ error, userId: req.user?.userId }, "Error saving config");
|
log.error({ err: error, userId: req.user?.userId }, "Error saving config");
|
||||||
res.status(500).json({ error: "Failed to save config" });
|
res.status(500).json({ error: "Failed to save config" });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -30,7 +30,7 @@ export class CaldavController {
|
|||||||
// Don't expose the password to the client
|
// Don't expose the password to the client
|
||||||
res.json(config);
|
res.json(config);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
log.error({ error, userId: req.user?.userId }, "Error loading config");
|
log.error({ err: error, userId: req.user?.userId }, "Error loading config");
|
||||||
res.status(500).json({ error: "Failed to load config" });
|
res.status(500).json({ error: "Failed to load config" });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -40,7 +40,7 @@ export class CaldavController {
|
|||||||
await this.caldavService.deleteConfig(req.user!.userId);
|
await this.caldavService.deleteConfig(req.user!.userId);
|
||||||
res.status(204).send();
|
res.status(204).send();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
log.error({ error, userId: req.user?.userId }, "Error deleting config");
|
log.error({ err: error, userId: req.user?.userId }, "Error deleting config");
|
||||||
res.status(500).json({ error: "Failed to delete config" });
|
res.status(500).json({ error: "Failed to delete config" });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -50,7 +50,7 @@ export class CaldavController {
|
|||||||
const events = await this.caldavService.pullEvents(req.user!.userId);
|
const events = await this.caldavService.pullEvents(req.user!.userId);
|
||||||
res.json(events);
|
res.json(events);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
log.error({ error, userId: req.user?.userId }, "Error pulling events");
|
log.error({ err: error, userId: req.user?.userId }, "Error pulling events");
|
||||||
res.status(500).json({ error: "Failed to pull events" });
|
res.status(500).json({ error: "Failed to pull events" });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -60,7 +60,7 @@ export class CaldavController {
|
|||||||
await this.caldavService.pushAll(req.user!.userId);
|
await this.caldavService.pushAll(req.user!.userId);
|
||||||
res.status(204).send();
|
res.status(204).send();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
log.error({ error, userId: req.user?.userId }, "Error pushing events");
|
log.error({ err: error, userId: req.user?.userId }, "Error pushing events");
|
||||||
res.status(500).json({ error: "Failed to push events" });
|
res.status(500).json({ error: "Failed to push events" });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -78,7 +78,7 @@ export class CaldavController {
|
|||||||
await this.caldavService.pushEvent(req.user!.userId, event);
|
await this.caldavService.pushEvent(req.user!.userId, event);
|
||||||
res.status(204).send();
|
res.status(204).send();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
log.error({ error, userId: req.user?.userId }, "Error pushing event");
|
log.error({ err: error, userId: req.user?.userId }, "Error pushing event");
|
||||||
res.status(500).json({ error: "Failed to push event" });
|
res.status(500).json({ error: "Failed to push event" });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ export class ChatController {
|
|||||||
res.json(response);
|
res.json(response);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
log.error(
|
log.error(
|
||||||
{ error, userId: req.user?.userId },
|
{ err: error, userId: req.user?.userId },
|
||||||
"Error processing message",
|
"Error processing message",
|
||||||
);
|
);
|
||||||
res.status(500).json({ error: "Failed to process message" });
|
res.status(500).json({ error: "Failed to process message" });
|
||||||
@@ -79,13 +79,13 @@ export class ChatController {
|
|||||||
await this.caldavService.pushAll(userId);
|
await this.caldavService.pushAll(userId);
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
log.error({ error, userId }, "CalDAV push after confirm failed");
|
log.error({ err: error, userId }, "CalDAV push after confirm failed");
|
||||||
}
|
}
|
||||||
|
|
||||||
res.json(response);
|
res.json(response);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
log.error(
|
log.error(
|
||||||
{ error, conversationId: req.params.conversationId },
|
{ err: error, conversationId: req.params.conversationId },
|
||||||
"Error confirming event",
|
"Error confirming event",
|
||||||
);
|
);
|
||||||
res.status(500).json({ error: "Failed to confirm event" });
|
res.status(500).json({ error: "Failed to confirm event" });
|
||||||
@@ -106,7 +106,7 @@ export class ChatController {
|
|||||||
res.json(response);
|
res.json(response);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
log.error(
|
log.error(
|
||||||
{ error, conversationId: req.params.conversationId },
|
{ err: error, conversationId: req.params.conversationId },
|
||||||
"Error rejecting event",
|
"Error rejecting event",
|
||||||
);
|
);
|
||||||
res.status(500).json({ error: "Failed to reject event" });
|
res.status(500).json({ error: "Failed to reject event" });
|
||||||
@@ -123,7 +123,7 @@ export class ChatController {
|
|||||||
res.json(conversations);
|
res.json(conversations);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
log.error(
|
log.error(
|
||||||
{ error, userId: req.user?.userId },
|
{ err: error, userId: req.user?.userId },
|
||||||
"Error getting conversations",
|
"Error getting conversations",
|
||||||
);
|
);
|
||||||
res.status(500).json({ error: "Failed to get conversations" });
|
res.status(500).json({ error: "Failed to get conversations" });
|
||||||
@@ -157,7 +157,7 @@ export class ChatController {
|
|||||||
res.status(404).json({ error: "Conversation not found" });
|
res.status(404).json({ error: "Conversation not found" });
|
||||||
} else {
|
} else {
|
||||||
log.error(
|
log.error(
|
||||||
{ error, conversationId: req.params.id },
|
{ err: error, conversationId: req.params.id },
|
||||||
"Error getting conversation",
|
"Error getting conversation",
|
||||||
);
|
);
|
||||||
res.status(500).json({ error: "Failed to get conversation" });
|
res.status(500).json({ error: "Failed to get conversation" });
|
||||||
@@ -187,7 +187,7 @@ export class ChatController {
|
|||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
log.error(
|
log.error(
|
||||||
{ error, messageId: req.params.messageId },
|
{ err: error, messageId: req.params.messageId },
|
||||||
"Error updating proposal event",
|
"Error updating proposal event",
|
||||||
);
|
);
|
||||||
res.status(500).json({ error: "Failed to update proposal event" });
|
res.status(500).json({ error: "Failed to update proposal event" });
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ export class EventController {
|
|||||||
try {
|
try {
|
||||||
await this.caldavService.pushEvent(userId, event);
|
await this.caldavService.pushEvent(userId, event);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
log.error({ error, userId }, "Error pushing event to CalDAV");
|
log.error({ err: error, userId }, "Error pushing event to CalDAV");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -28,7 +28,7 @@ export class EventController {
|
|||||||
try {
|
try {
|
||||||
await this.caldavService.deleteEvent(userId, event.caldavUUID);
|
await this.caldavService.deleteEvent(userId, event.caldavUUID);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
log.error({ error, userId }, "Error deleting event from CalDAV");
|
log.error({ err: error, userId }, "Error deleting event from CalDAV");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -40,7 +40,7 @@ export class EventController {
|
|||||||
await this.pushToCaldav(userId, event);
|
await this.pushToCaldav(userId, event);
|
||||||
res.status(201).json(event);
|
res.status(201).json(event);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
log.error({ error, userId: req.user?.userId }, "Error creating event");
|
log.error({ err: error, userId: req.user?.userId }, "Error creating event");
|
||||||
res.status(500).json({ error: "Failed to create event" });
|
res.status(500).json({ error: "Failed to create event" });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -57,7 +57,7 @@ export class EventController {
|
|||||||
}
|
}
|
||||||
res.json(event);
|
res.json(event);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
log.error({ error, eventId: req.params.id }, "Error getting event");
|
log.error({ err: error, eventId: req.params.id }, "Error getting event");
|
||||||
res.status(500).json({ error: "Failed to get event" });
|
res.status(500).json({ error: "Failed to get event" });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -67,7 +67,7 @@ export class EventController {
|
|||||||
const events = await this.eventService.getAll(req.user!.userId);
|
const events = await this.eventService.getAll(req.user!.userId);
|
||||||
res.json(events);
|
res.json(events);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
log.error({ error, userId: req.user?.userId }, "Error getting events");
|
log.error({ err: error, userId: req.user?.userId }, "Error getting events");
|
||||||
res.status(500).json({ error: "Failed to get events" });
|
res.status(500).json({ error: "Failed to get events" });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -100,7 +100,7 @@ export class EventController {
|
|||||||
res.json(events);
|
res.json(events);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
log.error(
|
log.error(
|
||||||
{ error, start: req.query.start, end: req.query.end },
|
{ err: error, start: req.query.start, end: req.query.end },
|
||||||
"Error getting events by range",
|
"Error getting events by range",
|
||||||
);
|
);
|
||||||
res.status(500).json({ error: "Failed to get events" });
|
res.status(500).json({ error: "Failed to get events" });
|
||||||
@@ -124,7 +124,7 @@ export class EventController {
|
|||||||
|
|
||||||
res.json(event);
|
res.json(event);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
log.error({ error, eventId: req.params.id }, "Error updating event");
|
log.error({ err: error, eventId: req.params.id }, "Error updating event");
|
||||||
res.status(500).json({ error: "Failed to update event" });
|
res.status(500).json({ error: "Failed to update event" });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -171,7 +171,7 @@ export class EventController {
|
|||||||
await this.deleteFromCaldav(userId, event);
|
await this.deleteFromCaldav(userId, event);
|
||||||
res.status(204).send();
|
res.status(204).send();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
log.error({ error, eventId: req.params.id }, "Error deleting event");
|
log.error({ err: error, eventId: req.params.id }, "Error deleting event");
|
||||||
res.status(500).json({ error: "Failed to delete event" });
|
res.status(500).json({ error: "Failed to delete event" });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user