payservedb 1.0.4 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +2 -1
- package/package.json +1 -1
- package/src/models/waterMeterSetting.js +25 -0
package/index.js
CHANGED
|
@@ -62,7 +62,8 @@ const models = {
|
|
|
62
62
|
Message: require('./src/models/message'),
|
|
63
63
|
SMSAfricastalking: require('./src/models/sms_africastalking'),
|
|
64
64
|
SMSMeliora: require('./src/models/sms_meliora'),
|
|
65
|
-
WaterConcentrator:require('./src/models/waterConcentrator')
|
|
65
|
+
WaterConcentrator:require('./src/models/waterConcentrator'),
|
|
66
|
+
WaterMeterSettings:require('./src/models/waterMeterSetting')
|
|
66
67
|
};
|
|
67
68
|
|
|
68
69
|
// Function to get models dynamically from a specific database connection
|
package/package.json
CHANGED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
const mongoose = require('mongoose');
|
|
2
|
+
|
|
3
|
+
const waterMeterSettingsSchema = mongoose.Schema({
|
|
4
|
+
manufacturers: {
|
|
5
|
+
type: [String],
|
|
6
|
+
required: false
|
|
7
|
+
},
|
|
8
|
+
meterSizes: {
|
|
9
|
+
type: [String],
|
|
10
|
+
required: false
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
// Middleware to ensure only one record exists
|
|
15
|
+
waterMeterSettingsSchema.pre('save', async function (next) {
|
|
16
|
+
const existingSettings = await WaterMeterSettings.findOne();
|
|
17
|
+
if (existingSettings && !existingSettings._id.equals(this._id)) {
|
|
18
|
+
throw new Error('Only one water meter settings record is allowed.');
|
|
19
|
+
}
|
|
20
|
+
next();
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
const WaterMeterSettings = mongoose.model("WaterMeterSettings", waterMeterSettingsSchema);
|
|
24
|
+
|
|
25
|
+
module.exports = WaterMeterSettings;
|