diff --git a/src/routes/apiRoutes.js b/src/routes/apiRoutes.js index 7ff2616..02bcc56 100644 --- a/src/routes/apiRoutes.js +++ b/src/routes/apiRoutes.js @@ -234,6 +234,35 @@ router.post( } ); +router.delete( + '/offer/:offerUuid', + rejectIfNotAuthorizedMiddleware, + attachPublicKeyMiddleware, + async (req, res) => { + const offerUuid = req.params.offerUuid; + + try { + await offerService.deleteOffer(offerUuid); + } catch (error) { + if (error instanceof errors.NotFoundError) { + return res.status(404).json({ + success: false, + message: 'Offer not found for the given public key.', + }); + } + return res.status(500).json({ + success: false, + message: 'Unexpected error.', + }); + } + + return res.status(204).json({ + success: true, + message: 'Offer deleted successfully', + }); + } +); + router.get( '/publickey-offers', rejectIfNotAuthorizedMiddleware,