From 14198538eda04ee78c8c27b6084869f1919b6369 Mon Sep 17 00:00:00 2001 From: Tom Butcher Date: Wed, 3 Dec 2025 23:47:22 +0000 Subject: [PATCH] Added address to Vendor --- src/routes/management/vendors.js | 4 ++-- src/schemas/management/vendor.schema.js | 12 ++++++++++++ src/services/management/vendors.js | 4 ++++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/routes/management/vendors.js b/src/routes/management/vendors.js index 6d1aabf..53d057b 100644 --- a/src/routes/management/vendors.js +++ b/src/routes/management/vendors.js @@ -15,14 +15,14 @@ import { // list of vendors router.get('/', isAuthenticated, (req, res) => { const { page, limit, property, search, sort, order } = req.query; - const allowedFilters = ['country']; + const allowedFilters = ['country', 'active', 'createdAt', 'updatedAt']; const filter = getFilter(req.query, allowedFilters); listVendorsRouteHandler(req, res, page, limit, property, filter, search, sort, order); }); router.get('/properties', isAuthenticated, (req, res) => { let properties = convertPropertiesString(req.query.properties); - const allowedFilters = ['country']; + const allowedFilters = ['country', 'active', 'createdAt', 'updatedAt']; const filter = getFilter(req.query, allowedFilters, false); listVendorsByPropertiesRouteHandler(req, res, properties, filter); }); diff --git a/src/schemas/management/vendor.schema.js b/src/schemas/management/vendor.schema.js index 8f975b6..98ec413 100644 --- a/src/schemas/management/vendor.schema.js +++ b/src/schemas/management/vendor.schema.js @@ -1,6 +1,16 @@ import mongoose from 'mongoose'; import { generateId } from '../../utils.js'; +const addressSchema = new mongoose.Schema({ + building: { required: false, type: String }, + addressLine1: { required: false, type: String }, + addressLine2: { required: false, type: String }, + city: { required: false, type: String }, + state: { required: false, type: String }, + postcode: { required: false, type: String }, + country: { required: false, type: String }, +}); + const vendorSchema = new mongoose.Schema( { _reference: { type: String, default: () => generateId()() }, @@ -10,6 +20,8 @@ const vendorSchema = new mongoose.Schema( phone: { required: false, type: String }, contact: { required: false, type: String }, country: { required: false, type: String }, + active: { required: true, type: Boolean, default: true }, + address: { required: false, type: addressSchema }, }, { timestamps: true } ); diff --git a/src/services/management/vendors.js b/src/services/management/vendors.js index 2101ce4..1229942 100644 --- a/src/services/management/vendors.js +++ b/src/services/management/vendors.js @@ -97,6 +97,8 @@ export const editVendorRouteHandler = async (req, res) => { website: req.body.website, phone: req.body.phone, email: req.body.email, + address: req.body.address, + active: req.body.active, }; // Create audit log before updating const result = await editObject({ @@ -126,6 +128,8 @@ export const newVendorRouteHandler = async (req, res) => { website: req.body.website, phone: req.body.phone, email: req.body.email, + address: req.body.address, + active: req.body.active, }; const result = await newObject({ model: vendorModel,