// ВРЕМЕННЫЙ публичный endpoint GET /exp — без авторизации, все компании.
// TODO: удалить этот файл + строку в server.js когда /export станет публичным (ТЗ п. 4.7)
'use strict';

const { Router } = require('express');
const { exportLimiter } = require('../middleware/rateLimit');
const { aggregateCIDRs } = require('../validators');
const q = require('../queries');

const router = Router();

router.get('/exp', exportLimiter, async (req, res) => {
  try {
    const cidrs = await q.getExportCIDRs(null); // null = все компании
    const aggregated = aggregateCIDRs(cidrs);
    res.setHeader('Content-Type', 'text/plain; charset=utf-8');
    res.setHeader('Content-Disposition', 'inline; filename="whitelist.txt"');
    res.send(aggregated.join('\n') + (aggregated.length ? '\n' : ''));
  } catch (e) {
    console.error('/exp error:', e);
    res.status(500).send('Export error');
  }
});

module.exports = router;
