import { Router } from 'express';
import { requireAuth } from '../middleware/auth.middleware.js';
import { uploadImportFile } from '../middleware/importUpload.middleware.js';
import { create, getOne, list, remove, update } from '../controllers/client.controller.js';
import { downloadClientTemplate, importClients } from '../controllers/clientImport.controller.js';

const router = Router();

router.use(requireAuth);
router.get('/', list);
// Before '/:id' so "import-template" isn't read as a client id.
router.get('/import-template', downloadClientTemplate);
router.post('/import', uploadImportFile, importClients);
router.get('/:id', getOne);
router.post('/', create);
router.put('/:id', update);
router.delete('/:id', remove);

export default router;
