Spaces:
Runtime error
Runtime error
Commit History
-
feat: implement core backend modules, notification system, and AI agent skill documentation
a8a7b69
-
Issue #27
32b4d43 -
refactor: resolve circular dependencies and optimize entities for SWC builder
Implements TypeORM Relation<T> and type-only imports across all entities to support the transition to the SWC builder and resolve initialization reference errors.9f03bd9
-
feat: restructure community system with global + department communities
- Add communities container table (global + department types) - Add Community, CommunityTag entities with proper relations - Add CommunitiesController with full CRUD + access guards - Add CommunitiesService with enrollment-based department access control - Add CommunityTagsService with auto-create on post creation - Update CommunityPost entity: communityId replaces courseId - Update community-posts service: filter by communityId + tags - Add enrollment guard to discussions module (course Q&A) - Add convenience routes: /global, /department/:id, /my-departments - Update community-test.html with new community-based UI - Update FRONTEND_DASHBOARD_GUIDE.md with new API reference - Update Postman collection with 17 new community endpoints Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>8aa5b53
-
Some UI Changes
1ed1006
-
fix: resolve bigint comparison bugs and improve search query in messaging/discussions
Messaging fixes: - Fix getConversationMessages 500 error by replacing raw leftJoin with separate deleted-message ID lookup - Fix deleteForEveryone 403 false positive by using Number() for bigint comparison (senderId) - Fix sendMessage duplicate participant insert by using Number() comparison for participant userId - Fix searchMessages to avoid raw join issues, use IN clause instead - Rename search param from 'query' to 'searchTerm' to avoid conflicts - Add explicit parentheses for OR conditions in search WHERE clause Discussions fixes: - Fix update thread 403 for author by using Number() for bigint comparison (createdBy vs userId) Postman collection: - Updated with correct endpoint paths (DELETE /:id not /delete-for-me) - 161 requests across 20 folders with tested example data All 22 new endpoints tested and passing (11/11 messaging, 11/11 discussions) Regression: all existing endpoints unaffected Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>fc1ca87 -
feat: implement Sprint 2 Dev A - Messaging & Discussions modules
Messaging Module (WhatsApp-like): - 10 REST endpoints: conversations CRUD, send message, mark read, delete-for-me/everyone, unread count, search, online users - WebSocket gateway (/messaging namespace) with Socket.IO: join/leave rooms, real-time send, typing indicators, read receipts, delete broadcasts, online status tracking - JWT auth on WebSocket handshake - Conversation model: root message + child messages + participants - Delete-for-me (soft delete per user) and delete-for-everyone - File attachment support via message subject metadata Discussions Module (Course Forums): - 10 REST endpoints: thread CRUD, post reply, nested replies, toggle pin/lock, mark-answer, endorse - Pinned threads appear first, locked threads block new replies - Answer marking and instructor endorsement support - View count and reply count auto-increment Infrastructure: - Added @nestjs/websockets, @nestjs/platform-socket.io, socket.io deps - Registered MessagingModule and DiscussionsModule in AppMod…a12cb0a