feat: add endpoints to retrieving the default mail options

This commit is contained in:
Ahmed Bouhuolia
2023-12-25 18:21:02 +02:00
parent 657400c671
commit 3c8c3d8253
8 changed files with 181 additions and 0 deletions

View File

@@ -60,6 +60,15 @@ export default class SalesReceiptsController extends BaseController {
asyncMiddleware(this.sendSaleReceiptMail.bind(this)),
this.handleServiceErrors
);
router.get(
'/:id/mail',
[
...this.specificReceiptValidationSchema,
],
this.validationResult,
asyncMiddleware(this.getSaleReceiptMail.bind(this)),
this.handleServiceErrors
);
router.post(
'/:id',
CheckPolicies(SaleReceiptAction.Edit, AbilitySubject.SaleReceipt),
@@ -450,6 +459,31 @@ export default class SalesReceiptsController extends BaseController {
}
};
/**
* Retrieves the default mail options of the given sale receipt.
* @param {Request} req
* @param {Response} res
* @param {NextFunction} next
*/
public getSaleReceiptMail = async (
req: Request,
res: Response,
next: NextFunction
) => {
const { tenantId } = req;
const { id: receiptId } = req.params;
try {
const data = await this.saleReceiptsApplication.getSaleReceiptMail(
tenantId,
receiptId
);
return res.status(200).send({ data });
} catch (error) {
next(error);
}
};
/**
* Handles service errors.
* @param {Error} error