From 187ddedf9614be78909c3cb73f413a1de74142fb Mon Sep 17 00:00:00 2001
From: jkellerer <jkellerer@users.noreply.github.com>
Date: Thu, 5 May 2022 19:43:33 +0200
Subject: [PATCH 1/2] Fix for /api/v1/get/mailbox/{email}

---
 data/web/json_api.php | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/data/web/json_api.php b/data/web/json_api.php
index 8f0e1398..b04314ca 100644
--- a/data/web/json_api.php
+++ b/data/web/json_api.php
@@ -989,11 +989,15 @@ if (isset($_GET['query'])) {
                 if (isset($_GET['tags']) && $_GET['tags'] != '') 
                   $tags = explode(',', $_GET['tags']);
 
-                $mailboxes = mailbox('get', 'mailboxes', $object, $tags);
-                if (!empty($mailboxes)) {
-                  foreach ($mailboxes as $mailbox) {
-                    if ($details = mailbox('get', 'mailbox_details', $mailbox)) $data[] = $details;
-                    else continue;
+                if ($tags === null) {
+                  $data = mailbox('get', 'mailbox_details', $object);
+                } else {
+                  $mailboxes = mailbox('get', 'mailboxes', $object, $tags);
+                  if (is_array($mailboxes)) {
+                    foreach ($mailboxes as $mailbox) {
+                      if ($details = mailbox('get', 'mailbox_details', $mailbox)) 
+                        $data[] = $details;
+                    }
                   }
                 }
                 process_get_return($data);

From f4dc01d1ecd95d22f12b6fdf81b8676346e401c5 Mon Sep 17 00:00:00 2001
From: jkellerer <jkellerer@users.noreply.github.com>
Date: Thu, 5 May 2022 20:00:40 +0200
Subject: [PATCH 2/2] Ensure return type is consistent (list vs object)

---
 data/web/json_api.php | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/data/web/json_api.php b/data/web/json_api.php
index b04314ca..8db4ef89 100644
--- a/data/web/json_api.php
+++ b/data/web/json_api.php
@@ -991,6 +991,7 @@ if (isset($_GET['query'])) {
 
                 if ($tags === null) {
                   $data = mailbox('get', 'mailbox_details', $object);
+                  process_get_return($data);
                 } else {
                   $mailboxes = mailbox('get', 'mailboxes', $object, $tags);
                   if (is_array($mailboxes)) {
@@ -999,8 +1000,8 @@ if (isset($_GET['query'])) {
                         $data[] = $details;
                     }
                   }
+                  process_get_return($data, false);
                 }
-                process_get_return($data);
               break;
             }
           break;