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 jwt = require('jsonwebtoken');
const customJwtAuth = require("../customAuthJwt"); const customJwtAuth = require("../customAuthJwt");
const { Deparments } = require("../models/Department"); 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 { Counter } = require("../models/User");
const { IotData, Tank } = require("../models/tanks"); const { IotData, Tank } = require("../models/tanks");
const fastify = require("fastify")({ const fastify = require("fastify")({
@ -716,6 +716,15 @@ exports.createMasterSlaveData = async (req, reply) => {
? plumbingWorkData.pictureUrl.map(pic => ({ url: pic.url, uploadedAt: new Date() })) ? 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 // 🔹 Save all data to MasterSlaveData
const newData = new MasterSlaveData({ const newData = new MasterSlaveData({
installationId, installationId,
@ -731,7 +740,8 @@ exports.createMasterSlaveData = async (req, reply) => {
plumbingWork, plumbingWork,
loraCheck, loraCheck,
electricityWorkPictures, electricityWorkPictures,
plumbingWorkPictures plumbingWorkPictures,
materialRecievedPictures
}); });
await newData.save(); await newData.save();

@ -677,6 +677,12 @@ const masterSlaveDataSchema = new mongoose.Schema({
uploadedAt: { type: Date, default: Date.now } uploadedAt: { type: Date, default: Date.now }
} }
], ],
materialRecievedPictures: [
{
url: { type: String },
uploadedAt: { type: Date, default: Date.now }
}
],
loraCheck: { type: String }, 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 Iotprice = mongoose.model('Iotprice', iotpriceSchema);
const Insensors = mongoose.model('Insensors', insensorsSchema); const Insensors = mongoose.model('Insensors', insensorsSchema);
const MasterSlaveData = mongoose.model('MasterSlaveData', masterSlaveDataSchema); const MasterSlaveData = mongoose.model('MasterSlaveData', masterSlaveDataSchema);
const ElectrictyWorkPictures = mongoose.model('ElectrictyWorkPictures', electrictyWorkPicturesSchema); const ElectrictyWorkPictures = mongoose.model('ElectrictyWorkPictures', electrictyWorkPicturesSchema);
const PlumbingWorkPictures = mongoose.model('PlumbingWorkPictures', plumbingWorkPicturesSchema); const PlumbingWorkPictures = mongoose.model('PlumbingWorkPictures', plumbingWorkPicturesSchema);
const MaterialRecievedPictures = mongoose.model('MaterialRecievedPictures', materialRecievedPicturesSchema);
const Order = mongoose.model('Order', orderSchema); 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" }, electricityWork: { type: "string" },
plumbingWork: { type: "string" }, plumbingWork: { type: "string" },
loraCheck: { type: "string" }, loraCheck: { type: "string" },
materialRecievedPictures: {
// ✅ Removing `format: "uri"` 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: { electricityWorkPictures: {
type: "array", type: "array",
items: { items: {

Loading…
Cancel
Save