Skip to content

Commit

Permalink
Change GET to POST in read method at GridXhrModel
Browse files Browse the repository at this point in the history
  • Loading branch information
stasyzon committed Apr 1, 2019
1 parent 5e5213f commit caf78d4
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 22 deletions.
26 changes: 13 additions & 13 deletions src/grid/models/GridExpressApi.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,23 +25,23 @@ class GridExpressApi {
this.middlewares = {
read: [asyncHandler(async (req, res, next) => {
const settings = {};
if (req.query.limit) {
settings.limit = parseInt(req.query.limit);
if (req.body.limit) {
settings.limit = parseInt(req.body.limit);
}
if (req.query.offset) {
settings.offset = parseInt(req.query.offset);
if (req.body.offset) {
settings.offset = parseInt(req.body.offset);
}
if (req.query.sort) {
settings.sort = JSON.parse(req.query.sort);
if (req.body.sort) {
settings.sort = req.body.sort;
}
if (req.query.fields) {
settings.fields = JSON.parse(req.query.fields);
if (req.body.fields) {
settings.fields = req.body.fields;
}
if (req.query.extra) {
settings.extra = JSON.parse(req.query.extra);
if (req.body.extra) {
settings.extra = req.body.extra;
}
if (req.query.filters) {
settings.filters = JSON.parse(req.query.filters);
if (req.body.filters) {
settings.filters = req.body.filters;
}
const model = this._getModel(req, res);
const result = this._result('read');
Expand Down Expand Up @@ -114,7 +114,7 @@ class GridExpressApi {

getRouter() {
return new express.Router()
.get('/', this.middlewares.read)
.post('/', this.middlewares.read)
.post('/validation', this.middlewares.validate)
.get('/:recordId', this.middlewares.getRecord)
.put('/', this.middlewares.update)
Expand Down
20 changes: 11 additions & 9 deletions src/grid/models/GridXhrModel.js
Original file line number Diff line number Diff line change
Expand Up @@ -74,26 +74,28 @@ class GridXhrModel extends AbstractGridModel {
*/
async read(settings) {
const parsedUrl = url.parse(this._apiUrl, true);
const requestBody = {};

parsedUrl.query.fields = JSON.stringify(settings.fields);
parsedUrl.query.offset = settings.offset || 0;
requestBody.fields = settings.fields;
requestBody.offset = settings.offset || 0;
if (settings.limit) {
parsedUrl.query.limit = settings.limit;
requestBody.limit = settings.limit;
}
if (settings.filters) {
parsedUrl.query.filters = JSON.stringify(settings.filters);
requestBody.filters = settings.filters;
}
if (settings.sort) {
parsedUrl.query.sort = JSON.stringify(settings.sort);
requestBody.sort = settings.sort;
}
if (settings.extra) {
parsedUrl.query.extra = JSON.stringify(settings.extra);
requestBody.extra = settings.extra;
}
delete parsedUrl.search;

const response = await this._xhr({
method: 'GET',
uri: url.format(parsedUrl)
method: 'POST',
headers: {'Content-type': 'application/json'},
uri: parsedUrl.path,
body: JSON.stringify(requestBody)
});

return JSON.parse(response);
Expand Down

0 comments on commit caf78d4

Please sign in to comment.