From 446834c100f9def72b656b1c50d3d605dd35d19d Mon Sep 17 00:00:00 2001 From: Aldarien Date: Tue, 13 Apr 2021 23:03:49 -0400 Subject: [PATCH] Alias WebSocket --- ws/common/Listener/Currencies.php | 18 ++++++++++++++++++ ws/resources/routes/ws/currencies.php | 1 + 2 files changed, 19 insertions(+) diff --git a/ws/common/Listener/Currencies.php b/ws/common/Listener/Currencies.php index c62ae6d..23e92e7 100644 --- a/ws/common/Listener/Currencies.php +++ b/ws/common/Listener/Currencies.php @@ -37,6 +37,24 @@ class Currencies { $response->getBody()->write($output); return $response; } + public function getAliases(Request $request, Response $response, ModelFactory $factory): Response { + $currency_id = $request->getBody()->read()['currency_id']; + $currency = $factory->find(Currency::class)->one($currency_id); + $output = [ + 'currency' => null, + 'aliases' => [] + ]; + if ($currency) { + $output['currency'] = $currency->asArray(); + if ($currency->aliases()) { + $output['aliases'] = array_map(function($item) { + return $item->asArray(); + }, $currency->aliases()); + } + } + $response->getBody()->write($output); + return $response; + } public function getSources(Request $request, Response $response, ModelFactory $factory): Response { $currency_id = $request->getBody()->read()['currency_id']; $currency = $factory->find(Currency::class)->one($currency_id); diff --git a/ws/resources/routes/ws/currencies.php b/ws/resources/routes/ws/currencies.php index 6c668d4..426c202 100644 --- a/ws/resources/routes/ws/currencies.php +++ b/ws/resources/routes/ws/currencies.php @@ -4,6 +4,7 @@ use ProVM\Money\Common\Listener\Currencies; $controller = new Currencies(); $app->add('currencies', $controller); $app->add('currency', [$controller, 'get']); +$app->add('currency.aliases', [$controller, 'getAliases']); $app->add('currency.values.latest', [$controller, 'latest']); $app->add('currency.sources', [$controller, 'getSources']); $app->add('currency.values', [$controller, 'getValues']);