feat(v1:vehicles): Adding vehicles search by company_name and filters

This commit is contained in:
Josepablo C
2024-08-16 21:34:46 -06:00
parent bed21badb9
commit e676a98476
3 changed files with 10 additions and 4 deletions

View File

@@ -448,6 +448,7 @@ __This endpoint is only valid for carriers.__
- state,
- status,
- destino
- $sort[ field ] : -1/1 ; Sort result by field name
- `GET /global/find` : Find a list of elements (from all the system) with any of the following fields:
- company, (company id)
- categories,
@@ -464,6 +465,9 @@ __This endpoint is only valid for carriers.__
- state,
- status,
- destino
- company_name[$regex] : Regex string to find company_name
- company_name[$options] : Regex options from MongoDB filter description
- $sort[ field ] : -1/1 ; Sort result by field name
- `POST /new` : Creates a new element.
- `PATCH /:id` : Updates data from specific element.
- `DELETE /:id` : Delete element from company. Returns the element data.

View File

@@ -4,7 +4,7 @@
"description": "ETA API",
"main": "index.js",
"scripts": {
"start": "node src/",
"start": "nodemon src/",
"dev": "nodemon src/",
"test": "mocha test/lib/handlers/proposals"
},

View File

@@ -31,7 +31,7 @@ function getAndFilterList( query ){
} = query;
if( company ) { filter_list.push({ company }); }
if( company_name ) { filter_list.push({ company_name }); }
if( company_name ) { filter_list.push({ company_name : company_name }); }
if( is_available ) { filter_list.push({ is_available }); }
if( categories ) { filter_list.push({ categories }); }
if( active_load ) { filter_list.push({ active_load }); }
@@ -56,6 +56,7 @@ function getAndFilterList( query ){
async function findElements( companyId , query ){
const { page, elements } = getPagination( query );
const { $sort } = query;
const andFilterList = getAndFilterList( query );
let filter;
if( andFilterList ){
@@ -64,7 +65,7 @@ async function findElements( companyId , query ){
}else{
filter = { company : companyId };
}
const { total , limit, skip, data } = await generic.getList( page , elements, filter );
const { total , limit, skip, data } = await generic.getList( page , elements, filter, null, $sort );
return {
total,
limit,
@@ -75,6 +76,7 @@ async function findElements( companyId , query ){
async function findGlobalElements( query ){
const { page, elements } = getPagination( query );
const { $sort } = query;
const andFilterList = getAndFilterList( query );
let filter = null;
@@ -84,7 +86,7 @@ async function findGlobalElements( query ){
filter = null;
}
const { total , limit, skip, data } = await generic.getList( page , elements, filter );
const { total , limit, skip, data } = await generic.getList( page , elements, filter, null, $sort );
return {
total,
limit,