From 33b96007e804615651910cd298f03a00db8dbe15 Mon Sep 17 00:00:00 2001 From: Christopher Vagnetoft Date: Fri, 14 Mar 2025 15:37:21 +0100 Subject: [PATCH] Handle queries for missing slot/group ids --- Makefile | 2 +- composer.lock | 4 ++-- src/Command/Group/GroupQueryCommand.php | 9 +++++++-- src/Command/Slot/SlotQueryCommand.php | 7 ++++++- 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index 183d296..e040301 100644 --- a/Makefile +++ b/Makefile @@ -14,5 +14,5 @@ phar: mv bin/slotcli.phar ./slotcli.phar deb: - dpack build --type deb + fakeroot -- dpack build --type deb diff --git a/composer.lock b/composer.lock index d6e8dd3..3da48ab 100644 --- a/composer.lock +++ b/composer.lock @@ -594,7 +594,7 @@ "source": { "type": "git", "url": "../slotdb-client-php", - "reference": "c85e36f1cb035b2f854bfe01b03da739d5decf66" + "reference": "4734ca5fe4ed02da5bc3e0df3c9ecbabc3474af3" }, "require": { "psr/http-client": "^1.0" @@ -620,7 +620,7 @@ } ], "description": "SlotDB PHP Client", - "time": "2025-03-14T00:36:19+00:00" + "time": "2025-03-14T14:34:28+00:00" }, { "name": "symfony/console", diff --git a/src/Command/Group/GroupQueryCommand.php b/src/Command/Group/GroupQueryCommand.php index fa4b7d3..9716ff0 100644 --- a/src/Command/Group/GroupQueryCommand.php +++ b/src/Command/Group/GroupQueryCommand.php @@ -28,8 +28,13 @@ class GroupQueryCommand extends Command protected function execute(InputInterface $input, OutputInterface $output): int { $groupId = $input->getArgument("group"); - - $group = $this->client->queryGroup($groupId); + + try { + $group = $this->client->queryGroup($groupId); + } catch (\RuntimeException $e) { + $output->writeln("Invalid group id: {$slotId}"); + return self::INVALID; + } $len = 2 + max(array_map(mb_strlen(...), array_keys($group))); diff --git a/src/Command/Slot/SlotQueryCommand.php b/src/Command/Slot/SlotQueryCommand.php index 00c8f0e..1bd46df 100644 --- a/src/Command/Slot/SlotQueryCommand.php +++ b/src/Command/Slot/SlotQueryCommand.php @@ -30,7 +30,12 @@ class SlotQueryCommand extends Command { $slotId = $input->getArgument("slot"); - $slot = $this->client->querySlot($slotId); + try { + $slot = $this->client->querySlot($slotId); + } catch (\RuntimeException $e) { + $output->writeln("Invalid slot id: {$slotId}"); + return self::INVALID; + } $len = 2 + max(array_map(mb_strlen(...), array_keys($slot))); foreach ($slot as $k=>$v) {