import { Router } from 'express';
import { AppContainer } from '../container';
import { employeeAuth } from '../middleware/employeeAuth';
import { asyncHandler } from './http';

export function registerCompensationRoutes(router: Router, c: AppContainer): void {
  router.get(
    '/compensation/pending',
    employeeAuth,
    asyncHandler(async (req, res) => {
      res.json(await c.compensationFacade.listPending(req.employeeId!));
    }),
  );

  router.post(
    '/compensation/:id/elect',
    employeeAuth,
    asyncHandler(async (req, res) => {
      res.json(await c.compensationFacade.elect(req.employeeId!, req.params.id, req.body.choice));
    }),
  );
}
