import { Router, Request, Response } from 'express';
import { NasService } from './nas.service';

const router = Router();

// GET /api/nas/routers - List NAS BRAS routers
router.get('/routers', (req: Request, res: Response) => {
  res.json({ success: true, data: NasService.getRouters() });
});

// GET /api/nas/live-sessions - List live active PPP sessions
router.get('/live-sessions', (req: Request, res: Response) => {
  res.json({ success: true, data: NasService.getLiveSessions() });
});

// POST /api/nas/disconnect-session - Kick/Disconnect live session
router.post('/disconnect-session', async (req: Request, res: Response) => {
  try {
    const { username } = req.body;
    if (!username) return res.status(400).json({ success: false, message: 'username required' });

    const result = await NasService.disconnectSession(username);
    res.json(result);
  } catch (err: any) {
    res.status(500).json({ success: false, message: err.message });
  }
});

// GET /api/nas/ip-pools - List IP Address pools
router.get('/ip-pools', (req: Request, res: Response) => {
  res.json({ success: true, data: NasService.getIpPools() });
});

export const nasRouter = router;
