payservedb 5.6.5 → 5.6.7

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
@@ -1,191 +1,193 @@
1
- const mongoose = require('mongoose');
2
- require('dotenv').config()
3
-
1
+ const mongoose = require("mongoose");
2
+ require("dotenv").config();
4
3
 
5
4
  // Maintain a record of open connections for each database
6
5
  const connections = {};
7
6
 
8
-
9
7
  // Utility function to connect to MongoDB
10
- async function connectToMongoDB(dbName, secured, username, password, url, port) {
11
- try {
12
- if (secured === false) {
13
- const url_ = url + ":" + port;
14
- const connectionString = `mongodb://${url_}/${dbName}`;
15
- await mongoose.connect(connectionString, {
16
- useNewUrlParser: true,
17
- });
18
- console.log('Connected to MongoDB');
19
- }
20
- else {
21
- const url_ = `${username}:${password}@${url}:${port}`;
22
- const source = '?authSource=admin'
23
- const connectionString = `mongodb://${url_}/${dbName}${source}`;
24
- await mongoose.connect(connectionString, {
25
- useNewUrlParser: true,
26
- });
27
- console.log('Connected to MongoDB');
28
- }
29
-
30
- } catch (err) {
31
- console.error('Error connecting to MongoDB:', err);
32
- throw err;
8
+ async function connectToMongoDB(
9
+ dbName,
10
+ secured,
11
+ username,
12
+ password,
13
+ url,
14
+ port,
15
+ ) {
16
+ try {
17
+ if (secured === false) {
18
+ const url_ = url + ":" + port;
19
+ const connectionString = `mongodb://${url_}/${dbName}`;
20
+ await mongoose.connect(connectionString, {
21
+ useNewUrlParser: true,
22
+ });
23
+ console.log("Connected to MongoDB");
24
+ } else {
25
+ const url_ = `${username}:${password}@${url}:${port}`;
26
+ const source = "?authSource=admin";
27
+ const connectionString = `mongodb://${url_}/${dbName}${source}`;
28
+ await mongoose.connect(connectionString, {
29
+ useNewUrlParser: true,
30
+ });
31
+ console.log("Connected to MongoDB");
33
32
  }
33
+ } catch (err) {
34
+ console.error("Error connecting to MongoDB:", err);
35
+ throw err;
36
+ }
34
37
  }
35
38
 
36
-
37
39
  // Function to switch databases dynamically
38
40
  async function switchDB(dbName) {
39
- // Check if there's already a connection to the desired database
40
- if (connections[dbName]) {
41
- return connections[dbName]; // Return existing connection
42
- }
41
+ // Check if there's already a connection to the desired database
42
+ if (connections[dbName]) {
43
+ return connections[dbName]; // Return existing connection
44
+ }
43
45
 
44
- try {
45
- // Use environment variables for connection parameters - same as in connectToMongoDB
46
- const username = process.env.MONGODB_USER;
47
- const password = process.env.MONGODB_PASSWORD;
48
- const url = process.env.MONGODB_HOST;
49
- const port = process.env.MONGODB_PORT;
50
- const source = '?authSource=admin';
46
+ try {
47
+ // Use environment variables for connection parameters - same as in connectToMongoDB
48
+ const username = process.env.MONGODB_USER;
49
+ const password = process.env.MONGODB_PASSWORD;
50
+ const url = process.env.MONGODB_HOST;
51
+ const port = process.env.MONGODB_PORT;
52
+ const source = "?authSource=admin";
51
53
 
52
- const connectionString = `mongodb://${username}:${password}@${url}:${port}/${dbName}${source}`;
53
- const dbConnection = await mongoose.createConnection(connectionString, {
54
- useNewUrlParser: true,
55
- });
54
+ const connectionString = `mongodb://${username}:${password}@${url}:${port}/${dbName}${source}`;
55
+ const dbConnection = await mongoose.createConnection(connectionString, {
56
+ useNewUrlParser: true,
57
+ });
56
58
 
57
- connections[dbName] = dbConnection; // Store the connection for reuse
58
- console.log(`Switched to database: ${dbName}`);
59
- return dbConnection;
60
- } catch (err) {
61
- console.error(`Error switching to database: ${dbName}`, err);
62
- throw err;
63
- }
59
+ connections[dbName] = dbConnection; // Store the connection for reuse
60
+ console.log(`Switched to database: ${dbName}`);
61
+ return dbConnection;
62
+ } catch (err) {
63
+ console.error(`Error switching to database: ${dbName}`, err);
64
+ throw err;
65
+ }
64
66
  }
65
67
 
66
-
67
68
  // Importing all model files (Note: models may need to be re-registered for different connections)
68
69
  const models = {
69
- User: require('./src/models/user'),
70
- AuditLog: require('./src/models/auditlog'),
71
- Company: require('./src/models/company'),
72
- Customer: require('./src/models/customer'),
73
- FacilityEmailDetails: require('./src/models/email'),
74
- Module: require('./src/models/module'),
75
- Facility: require('./src/models/facility'),
76
- RefreshToken: require('./src/models/refresh_token'),
77
- ApiLog: require('./src/models/apilog'),
78
- ArchivedApiLog: require('./src/models/archivedapilog'),
79
- ArchivedAuditLog: require('./src/models/archivedauditlog'),
80
- FacilityAsset: require('./src/models/facilityasset'),
81
- Unit: require('./src/models/units'),
82
- FAQ: require('./src/models/faq'),
83
- UnitAsset: require('./src/models/unitasset'),
84
- CombinedUnit: require('./src/models/combinedUnits'),
85
- Message: require('./src/models/message'),
86
- SMSAfricastalking: require('./src/models/sms_africastalking'),
87
- SMSMeliora: require('./src/models/sms_meliora'),
88
- EntryExit: require('./src/models/entry_exit'),
89
- Guard: require('./src/models/guard'),
90
- Visitor: require('./src/models/visitor'),
91
- VisitLog: require('./src/models/visitLog'),
92
- Settings: require('./src/models/settings'),
93
- Levy: require('./src/models/levy'),
94
- LevyType: require('./src/models/levytype'),
95
- LevyContract: require('./src/models/levycontract'),
96
- Invoice: require('./src/models/invoice'),
97
- Reminder: require('./src/models/reminder'),
98
- Penalty: require('./src/models/penalty'),
99
- Notifiaction: require('./src/models/notification'),
100
- Resident: require('./src/models/resident'),
101
- Asset: require('./src/models/asset'),
102
- DutyRoster: require('./src/models/dutyroster'),
103
- LeaseTemplate: require('./src/models/leasetemplate'),
104
- Report: require('./src/models/report'),
105
- Ticket: require('./src/models/tickets'),
106
- Stocksandspare: require('./src/models/stocksandspare'),
107
- ServiceVendor: require('./src/models/maintenance_service_vendor'),
108
- MaintenanceServices: require('./src/models/maintenance_services'),
109
- StockRequisition: require('./src/models/maintenancerequisition'),
110
- LeaseAgreement: require('./src/models/leaseagreement'),
111
- WorkOrder: require('./src/models/workorder'),
112
- ValueAddedService: require('./src/models/valueaddedservices'),
113
- VasInvoice: require('./src/models/vasinvoice'),
114
- VasVendor: require('./src/models/vasvendor'),
115
- Staff: require('./src/models/staff'),
116
- ServiceRequest: require('./src/models/servicerequest'),
117
- CountryTaxRate: require('./src/models/country_tax'),
118
- WaterMeter: require('./src/models/water_meters'),
119
- DailyConsumption: require('./src/models/smart_meter_daily_consumption'),
120
- WaterMeterSettings: require('./src/models/water_meter_settings'),
121
- AnalogBilling: require('./src/models/water_meter_billing'),
122
- MeterSize: require('./src/models/water_meter_size'),
123
- WaterInvoice: require('./src/models/water_invoice'),
124
- MeterProtocol: require('./src/models/water_meter_communication'),
125
- MeterManufacturer: require('./src/models/water_meter_manufacturer'),
126
- MeterIotCard: require('./src/models/water_meter_iot_cards'),
127
- MetersDelivery: require('./src/models/water_meters_delivery'),
128
- Concentrator: require('./src/models/water_meter_concentrator'),
129
- Handover: require('./src/models/handover'),
130
- Budget: require('./src/models/budget'),
131
- BudgetCategory: require('./src/models/budgetCategory'),
132
- Expense: require('./src/models/expense'),
133
- ExpenseCategory: require('./src/models/expense_category'),
134
- InvoiceSettings: require('./src/models/levy_invoice_settings'),
135
- Account: require('./src/models/account'),
136
- FacilityPaymentDetails: require('./src/models/facility_payment_details'),
137
- DefaultPaymentDetails: require('./src/models/default_payment_details'),
138
- Currency: require('./src/models/currency_settings'),
139
- WaterMeterAccount: require('./src/models/water_meter_account'),
140
- SingleDayWaterMeterHistory: require('./src/models/water_meter_single_day_history'),
141
- DailyWaterMeterHistory: require('./src/models/water_meter_daily_history'),
142
- MonthlyWaterMeterHistory: require('./src/models/water_meter_monthly_history'),
143
- WaterPrepaidCredit: require('./src/models/water_prepaid_credit'),
144
- WaterPrepaidDebit: require('./src/models/water_prepaid_debit'),
145
- MeterLog: require('./src/models/water_meter_communication_logs'),
146
- CashPayment: require('./src/models/cashpayment'),
147
- VasPayment: require('./src/models/vas_payments'),
148
- VasInvoicesQuickBooks: require('./src/models/vas_invoices_upload'),
149
- ServiceChargePayment: require('./src/models/service_charge_payments'),
150
- ServiceChargeInvoiceUpload: require('./src/models/service_charge_invoice_upload'),
151
- Campaign: require('./src/models/campaigns'),
152
- InspectionItem: require('./src/models/item_inspection'),
153
- Supplier: require('./src/models/suppliers'),
154
- PurchaseRequest: require('./src/models/purchase_request'),
155
- PurchaseOrder: require('./src/models/purchase_order'),
156
- RFQDetails: require('./src/models/rfq_details'),
157
- RFQResponse: require('./src/models/rfq_response'),
158
- ApprovalWorkflow: require('./src/models/approvalsWorkflows'),
159
- CommonAreaElectricityReading: require('./src/models/common_area_electricity'),
160
- CommonAreaWaterReading: require('./src/models/common_area_water'),
161
- CommonAreaGeneratorReading: require('./src/models/common_area_generator'),
162
- CommonAreaUtilityAlert: require('./src/models/common_area_utility_alert'),
163
- BookingProperty: require('./src/models/bookingproperty'),
164
- BookingReservation: require('./src/models/bookingreservation'),
165
- BookingConfig: require('./src/models/bookingconfig'),
166
- BookingAnalytics: require('./src/models/bookinganalytics'),
167
- BookingInvoice: require('./src/models/booking_invoice'),
168
- RevenueRecord: require('./src/models/bookingrevenuerecord'),
169
- GLAccount: require('./src/models/gl_accounts'),
170
- GLEntry: require('./src/models/gl_entries'),
171
- GLAccountDoubleEntries: require('./src/models/gl_account_double_entries'),
172
- PendingCredential: require('./src/models/pendingCredentials'),
173
- UnitManagementTemplate: require('./src/models/unitManagementTemplate'),
174
- PropertyManagerRevenue: require('./src/models/propertyManagerRevenue'),
175
- PropertyManagerContract: require('./src/models/propertyManagerContract')
70
+ User: require("./src/models/user"),
71
+ AuditLog: require("./src/models/auditlog"),
72
+ Company: require("./src/models/company"),
73
+ Customer: require("./src/models/customer"),
74
+ FacilityEmailDetails: require("./src/models/email"),
75
+ Module: require("./src/models/module"),
76
+ Facility: require("./src/models/facility"),
77
+ RefreshToken: require("./src/models/refresh_token"),
78
+ ApiLog: require("./src/models/apilog"),
79
+ ArchivedApiLog: require("./src/models/archivedapilog"),
80
+ ArchivedAuditLog: require("./src/models/archivedauditlog"),
81
+ FacilityAsset: require("./src/models/facilityasset"),
82
+ Unit: require("./src/models/units"),
83
+ FAQ: require("./src/models/faq"),
84
+ UnitAsset: require("./src/models/unitasset"),
85
+ CombinedUnit: require("./src/models/combinedUnits"),
86
+ Message: require("./src/models/message"),
87
+ SMSAfricastalking: require("./src/models/sms_africastalking"),
88
+ SMSMeliora: require("./src/models/sms_meliora"),
89
+ EntryExit: require("./src/models/entry_exit"),
90
+ Guard: require("./src/models/guard"),
91
+ Visitor: require("./src/models/visitor"),
92
+ VisitLog: require("./src/models/visitLog"),
93
+ Settings: require("./src/models/settings"),
94
+ Levy: require("./src/models/levy"),
95
+ LevyType: require("./src/models/levytype"),
96
+ LevyContract: require("./src/models/levycontract"),
97
+ Invoice: require("./src/models/invoice"),
98
+ Reminder: require("./src/models/reminder"),
99
+ Penalty: require("./src/models/penalty"),
100
+ Notifiaction: require("./src/models/notification"),
101
+ Resident: require("./src/models/resident"),
102
+ Asset: require("./src/models/asset"),
103
+ DutyRoster: require("./src/models/dutyroster"),
104
+ LeaseTemplate: require("./src/models/leasetemplate"),
105
+ Report: require("./src/models/report"),
106
+ Ticket: require("./src/models/tickets"),
107
+ Stocksandspare: require("./src/models/stocksandspare"),
108
+ ServiceVendor: require("./src/models/maintenance_service_vendor"),
109
+ MaintenanceServices: require("./src/models/maintenance_services"),
110
+ StockRequisition: require("./src/models/maintenancerequisition"),
111
+ LeaseAgreement: require("./src/models/leaseagreement"),
112
+ WorkOrder: require("./src/models/workorder"),
113
+ ValueAddedService: require("./src/models/valueaddedservices"),
114
+ VasInvoice: require("./src/models/vasinvoice"),
115
+ VasVendor: require("./src/models/vasvendor"),
116
+ Staff: require("./src/models/staff"),
117
+ ServiceRequest: require("./src/models/servicerequest"),
118
+ CountryTaxRate: require("./src/models/country_tax"),
119
+ WaterMeter: require("./src/models/water_meters"),
120
+ DailyConsumption: require("./src/models/smart_meter_daily_consumption"),
121
+ WaterMeterSettings: require("./src/models/water_meter_settings"),
122
+ AnalogBilling: require("./src/models/water_meter_billing"),
123
+ MeterSize: require("./src/models/water_meter_size"),
124
+ WaterInvoice: require("./src/models/water_invoice"),
125
+ MeterProtocol: require("./src/models/water_meter_communication"),
126
+ MeterManufacturer: require("./src/models/water_meter_manufacturer"),
127
+ MeterIotCard: require("./src/models/water_meter_iot_cards"),
128
+ MetersDelivery: require("./src/models/water_meters_delivery"),
129
+ Notification: require("./src/models/notification"),
130
+ Concentrator: require("./src/models/water_meter_concentrator"),
131
+ Handover: require("./src/models/handover"),
132
+ Budget: require("./src/models/budget"),
133
+ BudgetCategory: require("./src/models/budgetCategory"),
134
+ Expense: require("./src/models/expense"),
135
+ ExpenseCategory: require("./src/models/expense_category"),
136
+ InvoiceSettings: require("./src/models/levy_invoice_settings"),
137
+ Account: require("./src/models/account"),
138
+ FacilityPaymentDetails: require("./src/models/facility_payment_details"),
139
+ DefaultPaymentDetails: require("./src/models/default_payment_details"),
140
+ Currency: require("./src/models/currency_settings"),
141
+ WaterMeterAccount: require("./src/models/water_meter_account"),
142
+ SingleDayWaterMeterHistory: require("./src/models/water_meter_single_day_history"),
143
+ DailyWaterMeterHistory: require("./src/models/water_meter_daily_history"),
144
+ MonthlyWaterMeterHistory: require("./src/models/water_meter_monthly_history"),
145
+ WaterPrepaidCredit: require("./src/models/water_prepaid_credit"),
146
+ WaterPrepaidDebit: require("./src/models/water_prepaid_debit"),
147
+ MeterLog: require("./src/models/water_meter_communication_logs"),
148
+ CashPayment: require("./src/models/cashpayment"),
149
+ VasPayment: require("./src/models/vas_payments"),
150
+ VasInvoicesQuickBooks: require("./src/models/vas_invoices_upload"),
151
+ ServiceChargePayment: require("./src/models/service_charge_payments"),
152
+ ServiceChargeInvoiceUpload: require("./src/models/service_charge_invoice_upload"),
153
+ Campaign: require("./src/models/campaigns"),
154
+ InspectionItem: require("./src/models/item_inspection"),
155
+ Supplier: require("./src/models/suppliers"),
156
+ PurchaseRequest: require("./src/models/purchase_request"),
157
+ PurchaseOrder: require("./src/models/purchase_order"),
158
+ RFQDetails: require("./src/models/rfq_details"),
159
+ RFQResponse: require("./src/models/rfq_response"),
160
+ ApprovalWorkflow: require("./src/models/approvalsWorkflows"),
161
+ CommonAreaElectricityReading: require("./src/models/common_area_electricity"),
162
+ CommonAreaWaterReading: require("./src/models/common_area_water"),
163
+ CommonAreaGeneratorReading: require("./src/models/common_area_generator"),
164
+ CommonAreaUtilityAlert: require("./src/models/common_area_utility_alert"),
165
+ BookingProperty: require("./src/models/bookingproperty"),
166
+ BookingReservation: require("./src/models/bookingreservation"),
167
+ BookingConfig: require("./src/models/bookingconfig"),
168
+ BookingAnalytics: require("./src/models/bookinganalytics"),
169
+ BookingInvoice: require("./src/models/booking_invoice"),
170
+ RevenueRecord: require("./src/models/bookingrevenuerecord"),
171
+ GLAccount: require("./src/models/gl_accounts"),
172
+ GLEntry: require("./src/models/gl_entries"),
173
+ GLAccountDoubleEntries: require("./src/models/gl_account_double_entries"),
174
+ PendingCredential: require("./src/models/pendingCredentials"),
175
+ UnitManagementTemplate: require("./src/models/unitManagementTemplate"),
176
+ PropertyManagerRevenue: require("./src/models/propertyManagerRevenue"),
177
+ PropertyManagerContract: require("./src/models/propertyManagerContract"),
176
178
  };
177
179
 
178
180
  // Function to get models dynamically from a specific database connection
179
181
  async function getModelFromDB(dbConnection, modelName, schema) {
180
- if (!dbConnection.models[modelName]) {
181
- return dbConnection.model(modelName, schema); // Register the model in the db connection
182
- }
183
- return dbConnection.models[modelName]; // Return existing model if already registered
182
+ if (!dbConnection.models[modelName]) {
183
+ return dbConnection.model(modelName, schema); // Register the model in the db connection
184
+ }
185
+ return dbConnection.models[modelName]; // Return existing model if already registered
184
186
  }
185
187
 
186
188
  module.exports = {
187
- connectToMongoDB,
188
- switchDB,
189
- getModelFromDB,
190
- ...models // Spread operator to export all models
191
- }
189
+ connectToMongoDB,
190
+ switchDB,
191
+ getModelFromDB,
192
+ ...models, // Spread operator to export all models
193
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "payservedb",
3
- "version": "5.6.5",
3
+ "version": "5.6.7",
4
4
  "main": "index.js",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1"
@@ -1,36 +1,44 @@
1
- const mongoose = require('mongoose');
1
+ const mongoose = require("mongoose");
2
2
 
3
3
  // Define the schema for Notifications
4
- const notificationSchema = new mongoose.Schema({
4
+ const notificationSchema = new mongoose.Schema(
5
+ {
5
6
  userId: {
6
- type: mongoose.Schema.Types.ObjectId,
7
- ref: 'User',
8
- required: true
7
+ type: mongoose.Schema.Types.ObjectId,
8
+ ref: "User",
9
+ required: true,
10
+ },
11
+ facilityId: {
12
+ type: mongoose.Schema.Types.ObjectId,
13
+ ref: "Facility",
14
+ required: true,
9
15
  },
10
16
  message: {
11
- type: String,
12
- required: true
17
+ type: String,
18
+ required: true,
13
19
  },
14
20
  read: {
15
- type: Boolean,
16
- default: false
21
+ type: Boolean,
22
+ default: false,
17
23
  },
18
24
  dateRead: {
19
- type: Date,
20
- default: null
25
+ type: Date,
26
+ default: null,
21
27
  },
22
28
  dateUpdated: {
23
- type: Date,
24
- default: null
29
+ type: Date,
30
+ default: null,
25
31
  },
26
32
  dateSent: {
27
- type: Date,
28
- required: true
29
- }
30
- }, {
31
- timestamps: true
32
- });
33
+ type: Date,
34
+ required: true,
35
+ },
36
+ },
37
+ {
38
+ timestamps: true,
39
+ },
40
+ );
33
41
 
34
- const Notification = mongoose.model('Notification', notificationSchema);
42
+ const Notification = mongoose.model("Notification", notificationSchema);
35
43
 
36
44
  module.exports = Notification;