billingRecordController.js
unknown
plain_text
2 years ago
2.1 kB
9
Indexable
const User = require('../Models/userModel')
const BillingRecord = require('../Models/billingRecordModel');
//Endpoint for Retrieving Billing Records
exports.getRecordsByEmail = async (req ,res) => {
try {
const searchEmail = req.query.searchEmail;
let query = {};
if (searchEmail) {
query.email = searchEmail;
}
const agentName = await User.findOne({email: searchEmail, role: 'agent'}).select('name');
if (agentName) {
const billingRecords = await this.BillingRecord.find(query);
res.status(200).send({
"status": "success",
"data": billingRecords.map(record => ({
id: record.id,
description: record.description,
agentName: record.agentName,
creationDate: record.creationDate,
amount: record.amount,
status: record.status
}))
})
} else {
res.send({
"status": 'invalid',
"message": 'there is no record for this agent'
})
}
} catch (error) {
res.status(400).send({
"status": "error",
"message": error.message
})
}
}
//Endpoint for Record Details
exports.getRecordsById = async (req , res) => {
try {
const billingRecords = await BillingRecord.findById(req.params.id);
res.status(200).send({
"status": 'success',
'data': billingRecords.map(record => ({
id: record.id,
description: record.description,
agentName: record.agentName,
creationDate: record.creationDate,
amount: record.amount,
status: record.status
}))
})
} catch (error) {
res.status(400).send({
"status": 'error',
"message": error.message
})
}
}Editor is loading...
Leave a Comment