payservedb 3.2.1 → 3.2.3

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 CHANGED
@@ -111,6 +111,7 @@ const models = {
111
111
  MeterProtocol:require('./src/models/water_meter_communication'),
112
112
  MeterManufacturer:require('./src/models/water_meter_manufacturer'),
113
113
  MeterIotCard:require('./src/models/water_meter_iot_cards'),
114
+ MetersDelivery:require('./src/models/water_meters_delivery'),
114
115
  Concentrator:require('./src/models/water_meter_concentrator'),
115
116
  Handover:require('./src/models/handover')
116
117
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "payservedb",
3
- "version": "3.2.1",
3
+ "version": "3.2.3",
4
4
  "main": "index.js",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1"
@@ -5,12 +5,20 @@ const meterSchema = new mongoose.Schema({
5
5
  type: mongoose.Schema.Types.ObjectId,
6
6
  ref: 'Facility',
7
7
  },
8
+ unitId: {
9
+ type: mongoose.Schema.Types.ObjectId,
10
+ ref: 'Unit',
11
+ },
8
12
  serialNumber: {
9
13
  type: String,
10
14
  required: true,
11
15
  trim: true,
12
16
  unique: true,
13
17
  },
18
+ isInstalled: {
19
+ type: Boolean,
20
+ default: false
21
+ },
14
22
  manufacturer: {
15
23
  type: mongoose.Schema.Types.ObjectId,
16
24
  ref: 'MeterManufacturer',
@@ -0,0 +1,73 @@
1
+ const mongoose = require('mongoose');
2
+
3
+ const deliverySchema = new mongoose.Schema({
4
+ facilityId: {
5
+ type: mongoose.Schema.Types.ObjectId,
6
+ ref: 'Facility',
7
+ required: true
8
+ },
9
+ facilityName: {
10
+ type: String,
11
+ required: true,
12
+ trim: true
13
+ },
14
+ deliveredBy: {
15
+ type: String,
16
+ required: true,
17
+ trim: true
18
+ },
19
+ receivedBy: {
20
+ type: String,
21
+ trim: true
22
+ },
23
+ deliveryDate: {
24
+ type: Date,
25
+ required: true,
26
+ default: Date.now
27
+ },
28
+ notes: {
29
+ type: String,
30
+ trim: true
31
+ },
32
+ postNotes: {
33
+ type: String,
34
+ trim: true
35
+ },
36
+ fileUrl: {
37
+ type: String,
38
+ trim: true
39
+ },
40
+ concentrators: [{
41
+ concentratorId: {
42
+ type: mongoose.Schema.Types.ObjectId,
43
+ ref: 'Concentrator',
44
+ required: true
45
+ },
46
+ serialNumber: {
47
+ type: String,
48
+ required: true
49
+ }
50
+ }],
51
+ meters: [{
52
+ meterId: {
53
+ type: mongoose.Schema.Types.ObjectId,
54
+ ref: 'Meter',
55
+ required: true
56
+ },
57
+ serialNumber: {
58
+ type: String,
59
+ required: true
60
+ }
61
+ }],
62
+ status: {
63
+ type: String,
64
+ enum: ['pending', 'completed', 'cancelled'],
65
+ default: 'pending'
66
+ }
67
+ }, {
68
+ timestamps: true
69
+ });
70
+
71
+ const MetersDelivery = mongoose.model('MetersDelivery', deliverySchema);
72
+
73
+ module.exports = MetersDelivery;