payservedb 4.2.0 → 4.2.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "payservedb",
3
- "version": "4.2.0",
3
+ "version": "4.2.1",
4
4
  "main": "index.js",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1"
@@ -42,40 +42,38 @@ const leaseAgreementSchema = new mongoose.Schema({
42
42
  enum: ['Bank Transfer', 'Cash', 'Cheque']
43
43
  },
44
44
  details: {
45
- // Bank Transfer details
46
45
  bankName: String,
47
46
  accountName: String,
48
47
  accountNumber: String,
49
48
  branch: String,
50
49
  swiftCode: String,
51
- // Cheque details
52
50
  bankToDraft: String,
53
51
  chequeAccountNumber: String,
54
- // Cash details
55
52
  preferredCashLocation: String
56
53
  },
57
54
  isPrimary: { type: Boolean, default: false }
58
55
  }],
59
56
  securityDeposit: { type: Number, required: true },
57
+ balanceBroughtForward: { type: Number, required: true, default: 0 },
60
58
  penaltyId: {
61
59
  type: mongoose.Schema.Types.ObjectId,
62
60
  ref: 'Penalty'
63
61
  },
64
- mpesaEnabled: {
65
- type: Boolean,
66
- default: false
62
+ mpesaEnabled: {
63
+ type: Boolean,
64
+ default: false
67
65
  },
68
66
  mpesaDetails: {
69
- businessNumber: String, // Paybill or Till number
70
- accountNumber: String, // Account number if using Paybill
71
- phoneNumber: String // Phone number for receiving payments
67
+ businessNumber: String,
68
+ accountNumber: String,
69
+ phoneNumber: String
72
70
  }
73
71
  },
74
72
  billingCycle: {
75
- frequency: {
76
- type: String,
77
- enum: ['Monthly', 'Quarterly', 'Annually'],
78
- required: true
73
+ frequency: {
74
+ type: String,
75
+ enum: ['Monthly', 'Quarterly', 'Annually'],
76
+ required: true
79
77
  },
80
78
  nextInvoiceDate: { type: Date },
81
79
  autoSend: { type: Boolean, default: false }
@@ -101,10 +99,10 @@ const leaseAgreementSchema = new mongoose.Schema({
101
99
  type: mongoose.Schema.Types.ObjectId,
102
100
  ref: 'Reminder'
103
101
  },
104
- status: {
105
- type: String,
106
- enum: ['Pending', 'Sent'],
107
- default: 'Pending'
102
+ status: {
103
+ type: String,
104
+ enum: ['Pending', 'Sent'],
105
+ default: 'Pending'
108
106
  }
109
107
  }
110
108
  ],
@@ -115,10 +113,10 @@ const leaseAgreementSchema = new mongoose.Schema({
115
113
  },
116
114
  payments: [
117
115
  {
118
- invoiceId: {
119
- type: mongoose.Schema.Types.ObjectId,
120
- ref: 'Invoice',
121
- required: true
116
+ invoiceId: {
117
+ type: mongoose.Schema.Types.ObjectId,
118
+ ref: 'Invoice',
119
+ required: true
122
120
  },
123
121
  method: {
124
122
  type: {
@@ -127,22 +125,19 @@ const leaseAgreementSchema = new mongoose.Schema({
127
125
  required: true
128
126
  },
129
127
  details: {
130
- // Bank Transfer payment details
131
128
  bankName: String,
132
129
  accountNumber: String,
133
130
  transactionId: String,
134
- // Cheque payment details
135
131
  chequeNumber: String,
136
- // MPESA payment details
137
132
  mpesaTransactionId: String,
138
133
  mpesaPhoneNumber: String
139
134
  }
140
135
  },
141
136
  amount: { type: Number, required: true },
142
- receivedBy: {
143
- type: mongoose.Schema.Types.ObjectId,
144
- ref: 'User',
145
- required: true
137
+ receivedBy: {
138
+ type: mongoose.Schema.Types.ObjectId,
139
+ ref: 'User',
140
+ required: true
146
141
  },
147
142
  receivedAt: { type: Date, default: Date.now }
148
143
  }
@@ -155,7 +150,6 @@ const leaseAgreementSchema = new mongoose.Schema({
155
150
  timestamps: true
156
151
  });
157
152
 
158
- // Add index for multi-tenancy queries
159
153
  leaseAgreementSchema.index({ facilityId: 1 });
160
154
 
161
155
  const LeaseAgreement = mongoose.model('LeaseAgreement', leaseAgreementSchema);