page.js 1004 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. const loggerFactory = require('@alias/logger');
  2. const logger = loggerFactory('growi:routes:apiv3:page'); // eslint-disable-line no-unused-vars
  3. const express = require('express');
  4. const router = express.Router();
  5. /**
  6. * @swagger
  7. * tags:
  8. * name: Page
  9. */
  10. module.exports = (crowi) => {
  11. const { exportService } = crowi;
  12. /**
  13. * @swagger
  14. *
  15. * /page/dump:
  16. * get:
  17. * tags: [Page]
  18. * description: generate a zipped json for page collection
  19. * produces:
  20. * - application/json
  21. * responses:
  22. * 200:
  23. * description: a zip file is generated
  24. * content:
  25. * application/json:
  26. */
  27. router.get('/dump', async(req, res) => {
  28. try {
  29. await exportService.exportPageCollection();
  30. return res.status(200).send({ status: 'DONE' });
  31. }
  32. catch (err) {
  33. // TODO:user ApiV3Error
  34. logger.error(err);
  35. return res.status(500).send({ status: 'ERROR' });
  36. }
  37. });
  38. return router;
  39. };