Add default field to GET /api/mailboxes

This commit is contained in:
Son NK 2020-05-27 14:18:20 +02:00
parent 0367ab0e78
commit 78d9a88328
3 changed files with 18 additions and 5 deletions

View file

@ -1138,18 +1138,20 @@ Input:
- `Authentication` header that contains the api key - `Authentication` header that contains the api key
Output: Output:
List of mailboxes. Each mailbox has id, email field. List of mailboxes. Each mailbox has id, email, default field
```json ```json
{ {
"mailboxes": [ "mailboxes": [
{ {
"email": "a@b.c", "email": "a@b.c",
"id": 1 "id": 1,
"default": true
}, },
{ {
"email": "m1@example.com", "email": "m1@example.com",
"id": 2 "id": 2,
"default": false
} }
] ]
} }

View file

@ -161,12 +161,20 @@ def get_mailboxes():
- mailboxes: list of alias: - mailboxes: list of alias:
- id - id
- email - email
- default: boolean - whether the mailbox is the default one
""" """
user = g.user user = g.user
return ( return (
jsonify( 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, 200,
) )

View file

@ -182,6 +182,9 @@ def test_get_mailboxes(flask_client):
assert r.status_code == 200 assert r.status_code == 200
# m2@example.com is not returned as it's not verified # m2@example.com is not returned as it's not verified
assert r.json == { 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)) print(json.dumps(r.json, indent=2))