feat: Add services, company documents, company timesheet export
- Add services table and CRUD endpoints (/api/services) - Add company documents upload/download functionality - Add company timesheet XLSX export endpoint - Remove admin requirement from event routes (all authenticated users can manage events) - Add service validators Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
import express from 'express';
|
||||
import * as eventController from '../controllers/event.controller.js';
|
||||
import { authenticate } from '../middlewares/auth/authMiddleware.js';
|
||||
import { requireAdmin } from '../middlewares/auth/roleMiddleware.js';
|
||||
import { validateBody, validateParams, validateQuery } from '../middlewares/security/validateInput.js';
|
||||
import { createEventSchema, updateEventSchema } from '../validators/crm.validators.js';
|
||||
import { z } from 'zod';
|
||||
@@ -39,42 +38,38 @@ router.get(
|
||||
);
|
||||
|
||||
/**
|
||||
* POST /api/events - Vytvoriť event (iba admin)
|
||||
* POST /api/events - Vytvoriť event (všetci autentifikovaní používatelia)
|
||||
*/
|
||||
router.post(
|
||||
'/',
|
||||
requireAdmin,
|
||||
validateBody(createEventSchema),
|
||||
eventController.createEvent
|
||||
);
|
||||
|
||||
/**
|
||||
* PUT /api/events/:eventId - Upraviť event (iba admin)
|
||||
* PUT /api/events/:eventId - Upraviť event (všetci autentifikovaní používatelia)
|
||||
*/
|
||||
router.put(
|
||||
'/:eventId',
|
||||
requireAdmin,
|
||||
validateParams(eventIdSchema),
|
||||
validateBody(updateEventSchema),
|
||||
eventController.updateEvent
|
||||
);
|
||||
|
||||
/**
|
||||
* DELETE /api/events/:eventId - Zmazať event (iba admin)
|
||||
* DELETE /api/events/:eventId - Zmazať event (všetci autentifikovaní používatelia)
|
||||
*/
|
||||
router.delete(
|
||||
'/:eventId',
|
||||
requireAdmin,
|
||||
validateParams(eventIdSchema),
|
||||
eventController.deleteEvent
|
||||
);
|
||||
|
||||
/**
|
||||
* POST /api/events/:eventId/notify - Odoslať notifikácie priradeným používateľom (iba admin)
|
||||
* POST /api/events/:eventId/notify - Odoslať notifikácie priradeným používateľom (všetci autentifikovaní používatelia)
|
||||
*/
|
||||
router.post(
|
||||
'/:eventId/notify',
|
||||
requireAdmin,
|
||||
validateParams(eventIdSchema),
|
||||
eventController.sendEventNotification
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user