All checks were successful
farmcontrol/farmcontrol-api/pipeline/head This commit looks good
This commit updates multiple route handlers across the management and inventory modules to replace the `sort` and `order` parameters with `sortProperty` and `sortOrder`. This change enhances consistency in query handling and improves the clarity of the code. Additionally, the `getFilter` function is modified to accommodate these new parameters, ensuring that filtering logic remains intact. Corresponding tests have been updated to verify the correct functionality of the modified routes.
100 lines
3.0 KiB
JavaScript
100 lines
3.0 KiB
JavaScript
import express from 'express';
|
|
import { isAuthenticated } from '../../keycloak.js';
|
|
import { checkPermissions } from '../../database/permissions.js';
|
|
import { convertPropertiesString, getFilter, getSort } from '../../utils.js';
|
|
import {
|
|
deleteFilamentProfileRouteHandler,
|
|
editFilamentProfileRouteHandler,
|
|
getFilamentProfileRouteHandler,
|
|
listFilamentProfilesByPropertiesRouteHandler,
|
|
listFilamentProfilesRouteHandler,
|
|
newFilamentProfileRouteHandler,
|
|
searchFilamentProfilesRouteHandler,
|
|
getFilamentProfilePropertyValuesRouteHandler,
|
|
getFilamentProfileNeighborsRouteHandler,
|
|
} from '../../services/production/filamentprofiles.js';
|
|
|
|
const router = express.Router();
|
|
|
|
const listAllowedFilters = ['_id', 'name', 'createdAt', 'updatedAt', '_reference'];
|
|
const listAllowedSorters = ['name', 'createdAt', 'updatedAt'];
|
|
const propertiesAllowedFilters = ['name'];
|
|
|
|
router.get('/', isAuthenticated, async (req, res) => {
|
|
const { page, limit, property, search, sortProperty, sortOrder } = req.query;
|
|
const filter = await getFilter(req.query, listAllowedFilters);
|
|
listFilamentProfilesRouteHandler(
|
|
req,
|
|
res,
|
|
page,
|
|
limit,
|
|
property,
|
|
filter,
|
|
search,
|
|
getSort(sortProperty, listAllowedSorters),
|
|
sortOrder
|
|
);
|
|
});
|
|
|
|
router.get('/properties', checkPermissions('filamentProfile', 'list'), isAuthenticated, async (req, res) => {
|
|
const properties = convertPropertiesString(req.query.properties);
|
|
const filter = await getFilter(req.query, propertiesAllowedFilters, false);
|
|
var masterFilter = {};
|
|
if (req.query.masterFilter) {
|
|
masterFilter = JSON.parse(req.query.masterFilter);
|
|
}
|
|
listFilamentProfilesByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
|
|
});
|
|
|
|
router.get('/values', checkPermissions('filamentProfile', 'list'), isAuthenticated, async (req, res) => {
|
|
const { property } = req.query;
|
|
getFilamentProfilePropertyValuesRouteHandler(req, res, property);
|
|
});
|
|
|
|
router.get('/search', checkPermissions('filamentProfile', 'list'), isAuthenticated, async (req, res) => {
|
|
searchFilamentProfilesRouteHandler(req, res, req.query.search);
|
|
});
|
|
|
|
router.post('/', isAuthenticated, checkPermissions('filamentProfile', 'new'), async (req, res) => {
|
|
newFilamentProfileRouteHandler(req, res);
|
|
});
|
|
|
|
router.get('/neighbors', isAuthenticated, async (req, res) => {
|
|
const { property, search, sortProperty, sortOrder, id } = req.query;
|
|
const filter = await getFilter(req.query, listAllowedFilters);
|
|
getFilamentProfileNeighborsRouteHandler(
|
|
req,
|
|
res,
|
|
property,
|
|
filter,
|
|
search,
|
|
getSort(sortProperty, listAllowedSorters),
|
|
sortOrder,
|
|
id
|
|
);
|
|
});
|
|
|
|
router.get(
|
|
'/:id',
|
|
isAuthenticated,
|
|
checkPermissions('filamentProfile', 'info'),
|
|
async (req, res) => {
|
|
getFilamentProfileRouteHandler(req, res);
|
|
}
|
|
);
|
|
|
|
router.put(
|
|
'/:id',
|
|
isAuthenticated,
|
|
checkPermissions('filamentProfile', 'edit'),
|
|
async (req, res) => {
|
|
editFilamentProfileRouteHandler(req, res);
|
|
}
|
|
);
|
|
|
|
router.delete('/:id', isAuthenticated, async (req, res) => {
|
|
deleteFilamentProfileRouteHandler(req, res);
|
|
});
|
|
|
|
export default router;
|