From 3b183933e3a83cca8d1605c7a24294a8d332c596 Mon Sep 17 00:00:00 2001 From: FreddleSpl0it Date: Fri, 20 Oct 2023 10:48:04 +0200 Subject: [PATCH] [Web] add api get spam-score endpoint --- data/web/api/openapi.yaml | 34 ++++++++++++++++++++++++++++++++++ data/web/json_api.php | 6 ++++++ 2 files changed, 40 insertions(+) diff --git a/data/web/api/openapi.yaml b/data/web/api/openapi.yaml index 1d262168..e8e963e6 100644 --- a/data/web/api/openapi.yaml +++ b/data/web/api/openapi.yaml @@ -5646,6 +5646,40 @@ paths: items: type: string summary: Edit Cross-Origin Resource Sharing (CORS) settings + "/api/v1/get/spam-score/{mailbox}": + get: + parameters: + - description: name of mailbox or empty for current user - admin user will retrieve the global spam filter score + in: path + name: mailbox + required: true + schema: + type: string + - description: e.g. api-key-string + example: api-key-string + in: header + name: X-API-Key + required: false + schema: + type: string + responses: + "401": + $ref: "#/components/responses/Unauthorized" + "200": + content: + application/json: + examples: + response: + value: + spam_score: "8,15" + description: OK + headers: {} + tags: + - Mailboxes + description: >- + Using this endpoint you can get the global spam filter score or the spam filter score of a certain mailbox. + operationId: Get mailbox or global spam filter score + summary: Get mailbox or global spam filter score tags: - name: Domains diff --git a/data/web/json_api.php b/data/web/json_api.php index b375bc8e..b8c465fb 100644 --- a/data/web/json_api.php +++ b/data/web/json_api.php @@ -1591,6 +1591,12 @@ if (isset($_GET['query'])) { } } break; + case "spam-score": + $score = mailbox('get', 'spam_score', $object); + if ($score) + $score = array("score" => preg_replace("/\s+/", "", $score)); + process_get_return($score); + break; break; // return no route found if no case is matched default: