import { Router } from 'express'; import * as contractController from '../controllers/contract.controller.js'; import { authenticate, requirePermission } from '../middleware/auth.js'; const router = Router(); router.get('/', authenticate, requirePermission('contracts:read'), contractController.getContracts); router.post('/', authenticate, requirePermission('contracts:create'), contractController.createContract); // Vertrags-Cockpit (muss VOR /:id stehen!) router.get('/cockpit', authenticate, requirePermission('contracts:read'), contractController.getCockpit); router.get('/:id', authenticate, requirePermission('contracts:read'), contractController.getContract); router.put('/:id', authenticate, requirePermission('contracts:update'), contractController.updateContract); router.delete('/:id', authenticate, requirePermission('contracts:delete'), contractController.deleteContract); // Follow-up contract router.post('/:id/follow-up', authenticate, requirePermission('contracts:create'), contractController.createFollowUp); // Get decrypted password router.get('/:id/password', authenticate, requirePermission('contracts:read'), contractController.getContractPassword); // Get decrypted SimCard PIN/PUK router.get('/simcard/:simCardId/credentials', authenticate, requirePermission('contracts:read'), contractController.getSimCardCredentials); // Get decrypted Internet password router.get('/:id/internet-credentials', authenticate, requirePermission('contracts:read'), contractController.getInternetCredentials); // Get decrypted SIP password router.get('/phonenumber/:phoneNumberId/sip-credentials', authenticate, requirePermission('contracts:read'), contractController.getSipCredentials); export default router;