You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

162 lines
5.7 KiB

const mongoose = require("mongoose");
const moment = require('moment');
const Schema = mongoose.Schema;
const ObjectId = Schema.Types.ObjectId;
// Store a random password reset code
const code = Math.floor(100000 + Math.random() * 900000);
const RoleSchema = new Schema({ name: String });
// const tanksSchema = new mongoose.Schema({
// hardwareId: { type: String },
// hardwareId_type: { type: String },
// hardwareId_company: { type: String },
// customerId: { type: String, default: null },
// tankName: { type: String, default: null },
// blockName: { type: String, default: null },
// capacity: { type: String, default: "0" },
// typeOfWater: { type: String, default: null },
// waterlevel: { type: String, default: "0" },
// tankLocation: { type: String, default: null },
// motor_status: { type: String, default: 0 },
// connections: {
// source: { type: String},
// inputConnections: [{ inputConnections: String,input_type:String,motor_status: { type: String, default: "0" } }],
// outputConnections: [{ outputConnections: String,output_type:String }]
// }
// });
const tanksSchema = new mongoose.Schema({
3 years ago
hardwareId: { type: String },
InstallerId: { type: String, default: null },
tankhardwareId: { type: String },
hardwareId_type: { type: String },
hardwareId_company: { type: String },
customerId: { type: String, default: null },
tankName: { type: String, default: null },
blockName: { type: String, default: null },
capacity: { type: String, default: "0" },
height: { type: String, default: "0" },
waterCapacityPerCm:{ type: String, default: "0" },
typeOfWater: { type: String, default: null },
waterlevel: { type: String, default: "0" },
waterlevel_at_midnight:{ type: String,default:"0" },
total_water_added_from_midnight:{ type: String,default:"0" },
auto_min_percentage :{ type: String, default: "20" },
reserved_percentage:{type: String,default:"20"},
auto_max_percentage :{ type: String, default: "80" },
connections: {
source: { type: String },
inputConnections: [
{
inputConnections: { type: String },
input_type: { type: String },
inputismotor: { type: Boolean, },
motor_id:{ type: String ,default: null},
motor_status: { type: String, default: "0" },
auto_mode:{type:String,default:"inactive"},
motor_stop_status: { type: String, default: "1" },
motor_on_type :{ type: String, default: "manual" },
capacity:{ type: String ,default: null},
1 year ago
water_level:{ type: String ,default: null},
manual_threshold_percentage:{type: String, default: "90"},
manual_threshold_time:{type: String, default: null},
threshold_type:{type: String, default: "percentage"},
startTime:{type: String,default:null},
start_instance_id:{type:String,default:null},
stopTime:{type: String,default:null}
}
],
outputConnections: [
{
outputConnections: { type: String },
output_type: { type: String },
outputismotor: { type: Boolean, },
motor_id:{ type: String ,default: null},
motor_status: { type: String, default: "0" },
motor_stop_status: { type: String, default: "1" },
capacity:{ type: String ,default: null},
water_level:{ type: String ,default: null},
manual_threshold_percentage:{type: String, default: "90"},
manual_threshold_time:{type: String, default: null},
threshold_type:{type: String, default: "percentage"},
}
]
}
});
const motordataSchema = new mongoose.Schema({
customerId: { type: String, default: null },
motor_id: { type: String, default: null },
start_instance_id:{type:String,default:null},
supplierTank: { type: String, default: null },
receiverTank: { type: String, default: null },
receiverInitialwaterlevel: { type: String, default: "0" },
receiverfinalwaterlevel: { type: String, default: "0" },
startTime: { type: String, default: null },
stopTime: { type: String, default: null },
supplier_type: { type: String, default: null },
receiver_type: { type: String, default: null },
quantity_delivered:{ type: String, default: null },
});
const tankSchema = new mongoose.Schema({
tankhardwareId: { type: String },
tankHeight: { type: String, required: true },
maxLevel: { type: String, required: true },
minLevel: { type: String, required: true },
date: { type: String, required: true },
time: { type: String, required: true }
});
const IOttankSchema = new mongoose.Schema({
hardwareId: { type: String },
mode: { type: String },
tanks: [tankSchema],
date: { type: String, required: true },
time: { type: String, required: true }
});
const tankWaterLevelSchema = new mongoose.Schema({
customerId: { type: String },
tankName: { type: String },
tankLocation: { type: String },
waterlevel: { type: String },
time: { type: String }
});
const tankconsumptionSchema = new mongoose.Schema({
customerId: { type: String },
tankName: { type: String },
tankLocation: { type: String },
consumption: { type: String },
time: { type: String }
});
const Tank = mongoose.model("Tank", tanksSchema);
const MotorData = mongoose.model("MotorData", motordataSchema);
const TankWaterLevel = mongoose.model("TankWaterLevel", tankWaterLevelSchema);
const IotData = mongoose.model("IotData", IOttankSchema);
const TankConsumptionSchema = mongoose.model("TankConsumptionSchema", tankconsumptionSchema);
module.exports = {
Tank, MotorData,IotData,TankWaterLevel,TankConsumptionSchema
}
2 years ago