mirror of
https://github.com/R0m1k3/LogiFlow.git
synced 2026-10-13 18:28:38 +02:00
Add detailed logging to announcement creation for debugging
Add extensive console logging on both client and server to aid in debugging announcement creation issues, including validation checks and user role verification. Replit-Commit-Author: Agent Replit-Commit-Session-Id: e437ffed-c31b-44eb-9fd5-b6f9faa8e7ce Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/e437ffed-c31b-44eb-9fd5-b6f9faa8e7ce/aVFsaJG
This commit is contained in:
1 parent
d7aed9dc25
commit
3134732cb2
3 files changed
+244
-2
No files matched your search
+22
-1
@@ -3029,28 +3029,49 @@ RÉSUMÉ DU SCAN
|
||||
});
|
||||
|
||||
app.post('/api/announcements', isAuthenticated, async (req: any, res) => {
|
||||
console.log('🎯 [SERVER] POST /api/announcements endpoint hit');
|
||||
console.log('🎯 [SERVER] Request body:', JSON.stringify(req.body, null, 2));
|
||||
console.log('🎯 [SERVER] User object:', {
|
||||
hasClaims: !!req.user.claims,
|
||||
hasId: !!req.user.id,
|
||||
userId: req.user.claims ? req.user.claims.sub : req.user.id
|
||||
});
|
||||
|
||||
try {
|
||||
const userId = req.user.claims ? req.user.claims.sub : req.user.id;
|
||||
console.log('🎯 [SERVER] Extracted userId:', userId);
|
||||
|
||||
const user = await storage.getUserWithGroups(userId);
|
||||
if (!user) {
|
||||
console.error('🎯 [SERVER] User not found for ID:', userId);
|
||||
return res.status(404).json({ message: "User not found" });
|
||||
}
|
||||
|
||||
console.log('🎯 [SERVER] User found:', { username: user.username, role: user.role, id: user.id });
|
||||
|
||||
// Only admin can create announcements
|
||||
if (user.role !== 'admin') {
|
||||
console.error('🎯 [SERVER] Access denied - user role:', user.role);
|
||||
return res.status(403).json({ message: "Only administrators can create announcements" });
|
||||
}
|
||||
|
||||
console.log('🎯 [SERVER] User is admin, proceeding with validation');
|
||||
|
||||
const announcementData = insertAnnouncementSchema.parse({
|
||||
...req.body,
|
||||
authorId: user.id,
|
||||
});
|
||||
|
||||
console.log('🎯 [SERVER] Announcement data validated:', announcementData);
|
||||
|
||||
const announcement = await storage.createAnnouncement(announcementData);
|
||||
console.log('🎯 [SERVER] Announcement created successfully:', announcement);
|
||||
|
||||
res.status(201).json(announcement);
|
||||
} catch (error) {
|
||||
console.error("Error creating announcement:", error);
|
||||
console.error('🎯 [SERVER] Error creating announcement:', error);
|
||||
if (error instanceof z.ZodError) {
|
||||
console.error('🎯 [SERVER] Validation errors:', error.errors);
|
||||
return res.status(400).json({ message: "Validation error", errors: error.errors });
|
||||
}
|
||||
res.status(500).json({ message: "Failed to create announcement" });
|
||||
|
||||
Reference in new issue
Block a user