From 78d9a88328432f75f37822d73205f0debfc3d5c5 Mon Sep 17 00:00:00 2001 From: Son NK <> Date: Wed, 27 May 2020 14:18:20 +0200 Subject: [PATCH] Add default field to GET /api/mailboxes --- README.md | 8 +++++--- app/api/views/mailbox.py | 10 +++++++++- tests/api/test_mailbox.py | 5 ++++- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 6d03926d..2cf87ec2 100644 --- a/README.md +++ b/README.md @@ -1138,18 +1138,20 @@ Input: - `Authentication` header that contains the api key Output: -List of mailboxes. Each mailbox has id, email field. +List of mailboxes. Each mailbox has id, email, default field ```json { "mailboxes": [ { "email": "a@b.c", - "id": 1 + "id": 1, + "default": true }, { "email": "m1@example.com", - "id": 2 + "id": 2, + "default": false } ] } diff --git a/app/api/views/mailbox.py b/app/api/views/mailbox.py index 0e26c9c9..4bdbaa6d 100644 --- a/app/api/views/mailbox.py +++ b/app/api/views/mailbox.py @@ -161,12 +161,20 @@ def get_mailboxes(): - mailboxes: list of alias: - id - email + - default: boolean - whether the mailbox is the default one """ user = g.user return ( jsonify( - mailboxes=[{"id": mb.id, "email": mb.email} for mb in user.mailboxes()] + mailboxes=[ + { + "id": mb.id, + "email": mb.email, + "default": user.default_mailbox_id == mb.id, + } + for mb in user.mailboxes() + ] ), 200, ) diff --git a/tests/api/test_mailbox.py b/tests/api/test_mailbox.py index 6faeb874..512f6a77 100644 --- a/tests/api/test_mailbox.py +++ b/tests/api/test_mailbox.py @@ -182,6 +182,9 @@ def test_get_mailboxes(flask_client): assert r.status_code == 200 # m2@example.com is not returned as it's not verified assert r.json == { - "mailboxes": [{"email": "a@b.c", "id": 1}, {"email": "m1@example.com", "id": 2}] + "mailboxes": [ + {"email": "a@b.c", "id": 1, "default": True}, + {"email": "m1@example.com", "id": 2, "default": False}, + ] } print(json.dumps(r.json, indent=2))