feat: retrieve bills that associated to payment made transaction.

feat: retrieve sale invoices that associated to payment receive transactions.
This commit is contained in:
Ahmed Bouhuolia
2020-10-28 22:41:16 +02:00
parent fd6a3224fa
commit a457005fd8
4 changed files with 93 additions and 4 deletions

View File

@@ -8,6 +8,7 @@ import BaseController from 'api/controllers/BaseController';
import BillPaymentsService from 'services/Purchases/BillPayments';
import DynamicListingService from 'services/DynamicListing/DynamicListService';
import AccountsService from 'services/Accounts/AccountsService';
import ResourceController from '../Resources';
/**
* Bills payments controller.
@@ -52,6 +53,12 @@ export default class BillsPayments extends BaseController {
asyncMiddleware(this.deleteBillPayment.bind(this)),
this.handleServiceError,
);
router.get('/:id/bills',
this.specificBillPaymentValidateSchema,
this.validationResult,
asyncMiddleware(this.getPaymentBills.bind(this)),
this.handleServiceError,
);
router.get('/:id',
this.specificBillPaymentValidateSchema,
this.validationResult,
@@ -190,9 +197,30 @@ export default class BillsPayments extends BaseController {
const { tenantId } = req;
const { id: billPaymentId } = req.params;
const billPayment = await this.billPaymentService.getBillPayment(tenantId, billPaymentId);
try {
const billPayment = await this.billPaymentService.getBillPayment(tenantId, billPaymentId);
return res.status(200).send({ bill_payment: billPayment });
} catch (error) {
next(error);
}
}
return res.status(200).send({ bill_payment: billPayment });
/**
* Retrieve associated bills for the given payment made.
* @param {Request} req
* @param {Response} res
* @param {NextFunction} next
*/
async getPaymentBills(req: Request, res: Response, next: NextFunction) {
const { tenantId } = req;
const { id: billPaymentId } = req.params;
try {
const bills = await this.billPaymentService.getPaymentBills(tenantId, billPaymentId);
return res.status(200).send({ bills });
} catch (error) {
next(error);
}
}
/**