From 4a233f71a31b0872e9c97d40cb5724daf2b715ba Mon Sep 17 00:00:00 2001 From: Tolfx Date: Tue, 15 Mar 2022 20:52:12 +0100 Subject: [PATCH] feat: :sparkles: Convert route for currencies --- .../Routes/v3/Currencies/Currencies.config.ts | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/Server/Routes/v3/Currencies/Currencies.config.ts b/src/Server/Routes/v3/Currencies/Currencies.config.ts index 95e8291..b0374bc 100644 --- a/src/Server/Routes/v3/Currencies/Currencies.config.ts +++ b/src/Server/Routes/v3/Currencies/Currencies.config.ts @@ -1,7 +1,7 @@ import { Application, Router } from "express"; import { APIError, APISuccess } from "../../../../Lib/Response"; import { PaypalCurrencies } from "../../../../Payments/Currencies/Paypal.currencies"; -import { currencyCodes, GetCurrencySymbol, TPaymentCurrency } from '../../../../Lib/Currencies'; +import { convertCurrency, currencyCodes, GetCurrencySymbol, TPaymentCurrency } from '../../../../Lib/Currencies'; export = CurrenciesRouter; class CurrenciesRouter { @@ -29,7 +29,17 @@ class CurrenciesRouter if(!code) return APIError("Invalid code")(res); return APISuccess(GetCurrencySymbol(code))(res); - }) + }); + + this.router.get("/convert/:from/:to/:amount", async (req, res) => + { + const from = currencyCodes.find(c => c === req.params.from.toUpperCase()) as TPaymentCurrency; + const to = currencyCodes.find(c => c === req.params.to.toUpperCase()) as TPaymentCurrency; + const amount = Number(req.params.amount); + if(!from || !to || !amount) + return APIError("Invalid parameters")(res); + return APISuccess(await convertCurrency(amount, from, to))(res); + }); }