|
|
@@ -1,12 +1,10 @@
|
|
|
const loggerFactory = require('@alias/logger');
|
|
|
|
|
|
const logger = loggerFactory('growi:routes:apiv3:pages'); // eslint-disable-line no-unused-vars
|
|
|
-
|
|
|
const express = require('express');
|
|
|
|
|
|
-
|
|
|
const router = express.Router();
|
|
|
-
|
|
|
+const { query } = require('express-validator');
|
|
|
|
|
|
/**
|
|
|
* @swagger
|
|
|
@@ -18,9 +16,13 @@ module.exports = (crowi) => {
|
|
|
const loginRequired = require('../../middlewares/login-required')(crowi, true);
|
|
|
const adminRequired = require('../../middlewares/admin-required')(crowi);
|
|
|
const csrf = require('../../middlewares/csrf')(crowi);
|
|
|
+ const apiV3FormValidator = require('../../middlewares/apiv3-form-validator')(crowi);
|
|
|
+
|
|
|
|
|
|
const Page = crowi.model('Page');
|
|
|
|
|
|
+ const validator = {};
|
|
|
+
|
|
|
/**
|
|
|
* @swagger
|
|
|
*
|
|
|
@@ -84,10 +86,16 @@ module.exports = (crowi) => {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- router.get('/list', accessTokenParser, loginRequired, async(req, res) => {
|
|
|
+ validator.displayList = [
|
|
|
+ query('limit').if(value => value != null).isInt({ max: 100 }).withMessage('You should set less than 100 or not to set limit.'),
|
|
|
+ ];
|
|
|
+
|
|
|
+ router.get('/list', accessTokenParser, loginRequired, validator.displayList, apiV3FormValidator, async(req, res) => {
|
|
|
+ const limit = parseInt(req.query.limit) || await crowi.configManager.getConfig('crowi', 'customize:showPageLimitationS') || 10;
|
|
|
const { path } = req.query;
|
|
|
- const limit = +req.query.limit || 30;
|
|
|
- const offset = +req.query.offset || 0;
|
|
|
+ const page = req.query.page;
|
|
|
+ const offset = (page - 1) * limit;
|
|
|
+
|
|
|
const queryOptions = { offset, limit };
|
|
|
|
|
|
try {
|