Spaces:
Sleeping
Sleeping
File size: 1,807 Bytes
ef874e6 48013ee ef874e6 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | import { Router } from 'express';
import { OpsController } from '../controllers/ops.controller';
import { authenticate } from '../middlewares/auth.middleware';
import { validate } from '../middlewares/validate.middleware';
import { bukaShiftSchema, tutupShiftSchema, updatePengaturanSchema, laporanQuerySchema } from '../schemas/ops.schema';
const opsRouter = Router();
// ================= SHIFT KASIR =================
opsRouter.get('/shift/aktif', authenticate, OpsController.getActiveShift);
opsRouter.post('/shift/buka', authenticate, validate(bukaShiftSchema), OpsController.openShift);
opsRouter.post('/shift/tutup', authenticate, validate(tutupShiftSchema), OpsController.closeShift);
// ================= REPORT & DASHBOARD =================
opsRouter.get('/dashboard/summary', authenticate, OpsController.getDashboardSummary);
opsRouter.get('/laporan/penjualan', authenticate, validate(laporanQuerySchema), OpsController.getSalesReport);
opsRouter.get('/laporan/laba', authenticate, validate(laporanQuerySchema), OpsController.getProfitLossReport);
opsRouter.get('/laporan/ekspor', authenticate, OpsController.eksporLaporan);
// ================= SETTINGS =================
opsRouter.get('/pengaturan', OpsController.getSettings);
opsRouter.get('/pengaturan/:kunci', OpsController.getSettingByKey);
opsRouter.put('/pengaturan/:kunci', authenticate, validate(updatePengaturanSchema), OpsController.updateSetting);
// ================= NOTIFIKASI =================
opsRouter.get('/notifikasi', OpsController.listNotifications);
opsRouter.get('/notifikasi/unread-count', OpsController.getUnreadNotificationCount);
opsRouter.post('/notifikasi/read-all', OpsController.readAllNotifications);
opsRouter.post('/notifikasi/:notif_id/read', OpsController.readNotification);
export default opsRouter;
|