37 lines
1.3 KiB
JavaScript

const express = require('express');
const router = express.Router();
const cutsController = require('../controllers/cutsController');
const { requireAuth, requireAdmin } = require('../middleware/auth');
const config = require('../config');
// Add middleware to check if cuts table is configured
const checkCutsTable = (req, res, next) => {
if (!config.nocodb.cutsSheetId) {
console.warn('Cuts table not configured - NOCODB_CUTS_SHEET not set');
// Continue anyway, controller will handle it
}
next();
};
// Apply the check to all routes
router.use(checkCutsTable);
// Get all cuts (filtered by permissions)
router.get('/', cutsController.getAll);
// Get single cut by ID
router.get('/:id', cutsController.getById);
// Admin only routes
router.post('/', requireAdmin, cutsController.create);
router.put('/:id', requireAdmin, cutsController.update);
router.delete('/:id', requireAdmin, cutsController.delete);
// New cut enhancement routes - admin only
router.get('/:id/locations', requireAdmin, cutsController.getLocationsInCut);
router.get('/:id/locations/export', requireAdmin, cutsController.exportCutLocations);
router.get('/:id/statistics', requireAdmin, cutsController.getCutStatistics);
router.put('/:id/settings', requireAdmin, cutsController.updateCutSettings);
module.exports = router;