36 lines
1.2 KiB
TypeScript
36 lines
1.2 KiB
TypeScript
import express from 'express';
|
|
|
|
// Route imports
|
|
import testRoute from './test.js';
|
|
import itemRoute from './items.js';
|
|
import categoryRoute from './categories.js';
|
|
import storageUnitRoute from './storageUnits.js';
|
|
import storageLocationRoute from './storageLocations.js';
|
|
|
|
import search_routes from './search/index.js';
|
|
|
|
// Router base is '/api/v1'
|
|
const Router = express.Router({ strict: false });
|
|
|
|
// All empty strings are null values.
|
|
Router.use('*', function (req, res, next) {
|
|
for (let key in req.body) {
|
|
if (req.body[key] === '') {
|
|
req.body[key] = null;
|
|
}
|
|
}
|
|
next();
|
|
});
|
|
|
|
Router.route('/items').get(itemRoute.get).post(itemRoute.post).patch(itemRoute.patch).delete(itemRoute.del);
|
|
Router.route('/categories').get(categoryRoute.get).post(categoryRoute.post).patch(categoryRoute.patch).delete(categoryRoute.del);
|
|
// TODO: Migrate routes to lowercase.
|
|
Router.route('/storageUnits').get(storageUnitRoute.get).post(storageUnitRoute.post).patch(storageUnitRoute.patch).delete(storageUnitRoute.del);
|
|
Router.route('/storageLocations').get(storageLocationRoute.get).post(storageLocationRoute.post).patch(storageLocationRoute.patch).delete(storageLocationRoute.del);
|
|
|
|
Router.use('/search', search_routes);
|
|
|
|
Router.route('/test').get(testRoute.get);
|
|
|
|
export default Router;
|