feat: Adding public vehicles endpoint

This commit is contained in:
2023-10-06 01:05:29 -06:00
parent 6c0a3a53d2
commit 0b37ea1ac1
4 changed files with 40 additions and 5 deletions

View File

@@ -27,9 +27,10 @@ Read registered resources:
- `GET /meta-data`: List registered meta-data.
- `GET /meta-groups`: List registered meta-data.
- `GET /product-categories`: List registered product-categories.
- `GET /public-vehicles`: List registered product-categories.
- `GET /states`: List registered states.
All these endpoints support the following parameters:
All these endpoints support the following parameters (except for those with `public-` as prefix, for example `public-vehicles`):
- `/` : List registered resources with pagination.
- `/:id` : Read specific resource identified by Id.

View File

@@ -0,0 +1,7 @@
'use strict';
const router = require('express').Router();
const services= require('./services.js');
router.get('/', services.getPublicVehiclesList);
module.exports = router;

View File

@@ -0,0 +1,25 @@
"use strict";
const { ROOT_PATH, LIB_PATH, MODELS_PATH, HANDLERS_PATH } = process.env;
const { getPagination , queryPage } = require( `${ROOT_PATH}/${LIB_PATH}/Misc.js` );
const Model = require( `${ROOT_PATH}/${MODELS_PATH}/vehicles.model.js` );
const getPublicVehiclesList = async(req, res) => {
const filter = { status : "Free" };
const select = [
"city",
"state",
"truck_type",
"tyre_type",
"destino",
"available_date",
"createdAt",
"updatedAt",
"published_date",
"status"
];
const { page , elements } = getPagination( req.query );
const retVal = await queryPage( page , elements, Model, filter, select );
res.send( retVal );
};
module.exports = { getPublicVehiclesList };

View File

@@ -5,20 +5,22 @@ const { ROOT_PATH , LIB_PATH } = process.env;
const router = require('express').Router();
const jwtValidator = require( `${ROOT_PATH}/${LIB_PATH}/jwtValidator.js` );
const test = require('./test/routes.js');
const users = require('./users/routes.js');
const countries = require('./countries/routes.js');
const cities = require('./cities/routes.js');
const productCategories = require('./product-categories/routes.js');
const states = require('./states/routes.js');
const metaData = require('./meta-data/routes.js');
const metaGroups = require('./meta-groups/routes.js');
const productCategories = require('./product-categories/routes.js');
const publicVehicles = require('./public-vehicles/routes.js');
const states = require('./states/routes.js');
const test = require('./test/routes.js');
const users = require('./users/routes.js');
router.use('/countries', countries);
router.use('/cities', cities);
router.use('/meta-data', metaData);
router.use('/meta-groups', metaGroups);
router.use('/product-categories', productCategories);
router.use("/public-vehicles", publicVehicles);
router.use('/states', states);
router.use("/test", test);