richardtekula
4089bb4be2
feat: AI Kurzy module, project/service documents, services SQL import
...
- Add AI Kurzy module with courses, participants, and registrations management
- Add project documents and service documents features
- Add service folders for document organization
- Add SQL import queries for services from firmy.slovensko.ai
- Update todo notifications and group messaging
- Various API improvements and bug fixes
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-21 11:32:49 +01:00
richardtekula
d9f16ad0a6
feat: Group chat and push notifications
...
- Add group chat tables (chat_groups, chat_group_members, group_messages)
- Add push subscriptions table for web push notifications
- Add group service, controller, routes
- Add push service, controller, routes
- Integrate push notifications with todos, messages, group messages
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-20 07:27:13 +01:00
richardtekula
043eeccb77
fix generate excel in admin account
2025-11-25 09:27:11 +01:00
richardtekula
31297ee9a9
refractoring & add timesheet service
2025-11-25 07:52:31 +01:00
richardtekula
125e30338a
add many to one in todo, fix bugs, notification about todos
2025-11-24 11:30:25 +01:00
richardtekula
7fd6b9e742
excel preview & file handling
2025-11-24 10:18:28 +01:00
richardtekula
ca93b6f2d2
fix email issues, add company,project,todos
2025-11-21 13:56:02 +01:00
richardtekula
bb851639b8
Add Timesheets API with file upload and role-based access
...
Backend Features:
- Timesheets database table (id, userId, fileName, filePath, fileType, fileSize, year, month, timestamps)
- File upload with multer (memory storage, 10MB limit, PDF/Excel validation)
- Structured file storage: uploads/timesheets/{userId}/{year}/{month}/
- RESTful API endpoints:
* POST /api/timesheets/upload - Upload timesheet
* GET /api/timesheets/my - Get user's timesheets (with filters)
* GET /api/timesheets/all - Get all timesheets (admin only)
* GET /api/timesheets/:id/download - Download file
* DELETE /api/timesheets/:id - Delete timesheet
- Role-based permissions: users access own files, admins access all
- Proper error handling and file cleanup on errors
- Database migration for timesheets table
Technical:
- Uses req.user.role for permission checks
- Automatic directory creation for user/year/month structure
- Blob URL cleanup and proper file handling
- Integration with existing auth middleware
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-21 08:35:30 +01:00