addQuery.js 767 B

12345678910111213141516171819202122232425262728
  1. const asyncWrapper = require('../../middleware/asyncWrapper');
  2. const ErrorResponse = require('../../utils/ErrorResponse');
  3. const File = require('../../utils/File');
  4. // @desc Add custom search query
  5. // @route POST /api/queries
  6. // @access Public
  7. const addQuery = asyncWrapper(async (req, res, next) => {
  8. const file = new File('data/customQueries.json');
  9. let content = JSON.parse(file.read());
  10. const prefixes = content.queries.map((q) => q.prefix);
  11. if (prefixes.includes(req.body.prefix)) {
  12. return next(new ErrorResponse('Prefix must be unique', 400));
  13. }
  14. // Add new query
  15. content.queries.push(req.body);
  16. file.write(content, true);
  17. res.status(201).json({
  18. success: true,
  19. data: req.body,
  20. });
  21. });
  22. module.exports = addQuery;