feat(v1:vehicles): Adding vehicle field company_name

This commit is contained in:
Josepablo C
2024-08-16 20:52:00 -06:00
parent cb35a6dd14
commit 593d6f6143
2 changed files with 10 additions and 0 deletions

View File

@@ -4,6 +4,7 @@ const { getModel } = require( `${ROOT_PATH}/${MODELS_PATH}` );
const { getPagination } = require( `${ROOT_PATH}/${LIB_PATH}/Misc.js` ); const { getPagination } = require( `${ROOT_PATH}/${LIB_PATH}/Misc.js` );
const { GenericHandler } = require( `${ROOT_PATH}/${HANDLERS_PATH}/Generic.handler.js` ); const { GenericHandler } = require( `${ROOT_PATH}/${HANDLERS_PATH}/Generic.handler.js` );
const Model = getModel('vehicles'); const Model = getModel('vehicles');
const CompanyModel = getModel('companies');
const populate_list = ['categories', 'active_load','load_shipper','driver']; const populate_list = ['categories', 'active_load','load_shipper','driver'];
const generic = new GenericHandler( Model, null, populate_list ); const generic = new GenericHandler( Model, null, populate_list );
@@ -12,6 +13,7 @@ function getAndFilterList( query ){
const filter_list = []; const filter_list = [];
const { const {
company, company,
company_name,
is_available, is_available,
categories, categories,
active_load, active_load,
@@ -30,6 +32,7 @@ function getAndFilterList( query ){
} = query; } = query;
if( company ) { filter_list.push({ company }); } if( company ) { filter_list.push({ company }); }
if( company_name ) { filter_list.push({ company_name }); }
if( is_available ) { filter_list.push({ is_available }); } if( is_available ) { filter_list.push({ is_available }); }
if( categories ) { filter_list.push({ categories }); } if( categories ) { filter_list.push({ categories }); }
if( active_load ) { filter_list.push({ active_load }); } if( active_load ) { filter_list.push({ active_load }); }
@@ -135,6 +138,7 @@ const patchVehicle = async(req, res) => {
const companyId = req.context.companyId; const companyId = req.context.companyId;
const elementId = req.params.id; const elementId = req.params.id;
const permissions = req.context.permissions; const permissions = req.context.permissions;
const company = await CompanyModel.findById( companyId );
const vehicle = await findElementById( elementId , companyId ); const vehicle = await findElementById( elementId , companyId );
const data = req.body; const data = req.body;
if( !vehicle ){ if( !vehicle ){
@@ -146,7 +150,9 @@ const patchVehicle = async(req, res) => {
if( permissions !== "role_carrier" ){ if( permissions !== "role_carrier" ){
throw "You can't modify vehicles"; throw "You can't modify vehicles";
} }
data.company = companyId; data.company = companyId;
data.company_name = company.name;
await Model.findByIdAndUpdate( elementId , data ); await Model.findByIdAndUpdate( elementId , data );
return res.send( await Model.findById( elementId ) ); return res.send( await Model.findById( elementId ) );
}catch(error){ }catch(error){
@@ -159,6 +165,7 @@ const postVehicle = async(req, res) => {
try{ try{
const userId = req.context.userId; const userId = req.context.userId;
const companyId = req.context.companyId; const companyId = req.context.companyId;
const company = await CompanyModel.findById( companyId );
const permissions = req.context.permissions; const permissions = req.context.permissions;
const data = req.body; const data = req.body;
if( !data ){ if( !data ){
@@ -167,7 +174,9 @@ const postVehicle = async(req, res) => {
if(permissions !== "role_carrier" ){ if(permissions !== "role_carrier" ){
throw "You can't create vehicles"; throw "You can't create vehicles";
} }
data.company = companyId; data.company = companyId;
data.company_name = company.name;
data.status = "Free"; data.status = "Free";
data.is_available = false; data.is_available = false;
data.posted_by = userId; data.posted_by = userId;

View File

@@ -15,6 +15,7 @@ const pointSchema = new Schema({
const schema = new Schema({ const schema = new Schema({
company: { type: Schema.Types.ObjectId, ref: 'companies', required: true }, // carrier company: { type: Schema.Types.ObjectId, ref: 'companies', required: true }, // carrier
company_name : { type: String },
vehicle_code: { type: String }, vehicle_code: { type: String },
vehicle_name: { type: String }, vehicle_name: { type: String },