import { Router } from 'express';
import { prisma } from '../db';
import { systemRoleFromDb } from '../lib/roles';
import { requireAuth } from '../middleware/auth';

/** Lightweight employee directory for pickers (any authenticated user). */
export const directoryRouter = Router();

directoryRouter.use(requireAuth);

directoryRouter.get('/employees', async (_req, res, next) => {
  try {
    const rows = await prisma.employee.findMany({
      where: { active: true },
      orderBy: { name: 'asc' },
      select: {
        id: true,
        code: true,
        name: true,
        email: true,
        role: true,
        avatarColor: true,
        department: true,
        designation: true,
      },
    });
    res.json({
      employees: rows.map((e) => ({
        ...e,
        role: systemRoleFromDb(e.role),
      })),
    });
  } catch (err) {
    next(err);
  }
});
