material recieved pictures

master^2
Bhaskar 6 months ago
parent a80eaaf5c6
commit 22befe977e

@ -3,7 +3,7 @@ const bcrypt = require('bcrypt');
const jwt = require('jsonwebtoken');
const customJwtAuth = require("../customAuthJwt");
const { Deparments } = require("../models/Department");
const { Install, SensorStock, SensorQuotation, Order, Insensors, MasterSlaveData, ElectrictyWorkPictures, PlumbingWorkPictures } = require("../models/store");
const { Install, SensorStock, SensorQuotation, Order, Insensors, MasterSlaveData, ElectrictyWorkPictures, PlumbingWorkPictures, MaterialRecievedPictures } = require("../models/store");
const { Counter } = require("../models/User");
const { IotData, Tank } = require("../models/tanks");
const fastify = require("fastify")({
@ -716,6 +716,15 @@ exports.createMasterSlaveData = async (req, reply) => {
? plumbingWorkData.pictureUrl.map(pic => ({ url: pic.url, uploadedAt: new Date() }))
: [];
const materialRecievedData = await MaterialRecievedPictures.findOne({
installationId,
customerId
});
const materialRecievedPictures = materialRecievedData
? materialRecievedData.pictureUrl.map(pic => ({ url: pic.url, uploadedAt: new Date() }))
: [];
// 🔹 Save all data to MasterSlaveData
const newData = new MasterSlaveData({
installationId,
@ -731,7 +740,8 @@ exports.createMasterSlaveData = async (req, reply) => {
plumbingWork,
loraCheck,
electricityWorkPictures,
plumbingWorkPictures
plumbingWorkPictures,
materialRecievedPictures
});
await newData.save();

@ -677,6 +677,12 @@ const masterSlaveDataSchema = new mongoose.Schema({
uploadedAt: { type: Date, default: Date.now }
}
],
materialRecievedPictures: [
{
url: { type: String },
uploadedAt: { type: Date, default: Date.now }
}
],
loraCheck: { type: String },
}, {
@ -725,11 +731,33 @@ const plumbingWorkPicturesSchema = new Schema({
}
});
const materialRecievedPicturesSchema = new Schema({
installationId: {
type: String,
//required: true,
//unique: true
},
customerId: {
type: String,
//required: true
},
pictureUrl: [{
url: {
type: String,
},
}],
createdAt: {
type: Date,
default: Date.now
}
});
const Iotprice = mongoose.model('Iotprice', iotpriceSchema);
const Insensors = mongoose.model('Insensors', insensorsSchema);
const MasterSlaveData = mongoose.model('MasterSlaveData', masterSlaveDataSchema);
const ElectrictyWorkPictures = mongoose.model('ElectrictyWorkPictures', electrictyWorkPicturesSchema);
const PlumbingWorkPictures = mongoose.model('PlumbingWorkPictures', plumbingWorkPicturesSchema);
const MaterialRecievedPictures = mongoose.model('MaterialRecievedPictures', materialRecievedPicturesSchema);
const Order = mongoose.model('Order', orderSchema);
@ -752,4 +780,4 @@ const Iotprice = mongoose.model('Iotprice', iotpriceSchema);
module.exports = {PlumbingWorkPictures,ElectrictyWorkPictures,MasterSlaveData,SensorStock,Order,EstimationOrder,Iotprice,Sales, Install,Survey, ProfilePictureInstall, SensorQuotation,generateinstallationId,Store,ProfilePictureStore,WaterLeverSensor,MotorSwitchSensor,Insensors,generatequatationId, HardwareCart, ServiceCart};
module.exports = {MaterialRecievedPictures,PlumbingWorkPictures,ElectrictyWorkPictures,MasterSlaveData,SensorStock,Order,EstimationOrder,Iotprice,Sales, Install,Survey, ProfilePictureInstall, SensorQuotation,generateinstallationId,Store,ProfilePictureStore,WaterLeverSensor,MotorSwitchSensor,Insensors,generatequatationId, HardwareCart, ServiceCart};

@ -306,8 +306,16 @@ module.exports = function (fastify, opts, next) {
electricityWork: { type: "string" },
plumbingWork: { type: "string" },
loraCheck: { type: "string" },
// ✅ Removing `format: "uri"`
materialRecievedPictures: {
type: "array",
items: {
type: "object",
properties: {
url: { type: "string", description: "Image URL" }, // No format validation
uploadedAt: { type: "string", format: "date-time", description: "Upload timestamp" }
}
}
},
electricityWorkPictures: {
type: "array",
items: {

Loading…
Cancel
Save