mirror of
https://github.com/simple-login/app.git
synced 2024-09-20 15:05:59 +08:00
add GET /api/v2/mailboxes
This commit is contained in:
parent
5ee74c74b6
commit
19ac657c1c
|
@ -1242,9 +1242,9 @@ Return 409 if contact is already added.
|
|||
|
||||
### Mailbox endpoints
|
||||
|
||||
#### GET /api/mailboxes
|
||||
#### GET /api/v2/mailboxes
|
||||
|
||||
Get user verified mailboxes.
|
||||
Get user's mailboxes, including unverified ones.
|
||||
|
||||
Input:
|
||||
- `Authentication` header that contains the api key
|
||||
|
|
|
@ -153,9 +153,9 @@ def update_mailbox(mailbox_id):
|
|||
@require_api_auth
|
||||
def get_mailboxes():
|
||||
"""
|
||||
Get mailboxes
|
||||
Get verified mailboxes
|
||||
Output:
|
||||
- mailboxes: list of alias dict
|
||||
- mailboxes: list of mailbox dict
|
||||
"""
|
||||
user = g.user
|
||||
|
||||
|
@ -163,3 +163,23 @@ def get_mailboxes():
|
|||
jsonify(mailboxes=[mailbox_to_dict(mb) for mb in user.mailboxes()]),
|
||||
200,
|
||||
)
|
||||
|
||||
|
||||
@api_bp.route("/v2/mailboxes", methods=["GET"])
|
||||
@require_api_auth
|
||||
def get_mailboxes_v2():
|
||||
"""
|
||||
Get all mailboxes - including unverified mailboxes
|
||||
Output:
|
||||
- mailboxes: list of mailbox dict
|
||||
"""
|
||||
user = g.user
|
||||
mailboxes = []
|
||||
|
||||
for mailbox in Mailbox.query.filter_by(user_id=user.id):
|
||||
mailboxes.append(mailbox)
|
||||
|
||||
return (
|
||||
jsonify(mailboxes=[mailbox_to_dict(mb) for mb in mailboxes]),
|
||||
200,
|
||||
)
|
||||
|
|
|
@ -2,6 +2,7 @@ from flask import url_for
|
|||
|
||||
from app.extensions import db
|
||||
from app.models import User, ApiKey, Mailbox
|
||||
from tests.utils import login
|
||||
|
||||
|
||||
def test_create_mailbox(flask_client):
|
||||
|
@ -190,3 +191,26 @@ def test_get_mailboxes(flask_client):
|
|||
assert "creation_timestamp" in mb
|
||||
assert "nb_alias" in mb
|
||||
assert "verified" in mb
|
||||
|
||||
|
||||
def test_get_mailboxes_v2(flask_client):
|
||||
user = login(flask_client)
|
||||
|
||||
Mailbox.create(user_id=user.id, email="m1@example.com", verified=True)
|
||||
Mailbox.create(user_id=user.id, email="m2@example.com", verified=False)
|
||||
db.session.commit()
|
||||
|
||||
r = flask_client.get(
|
||||
"/api/v2/mailboxes",
|
||||
)
|
||||
assert r.status_code == 200
|
||||
# 3 mailboxes: the default, m1 and m2
|
||||
assert len(r.json["mailboxes"]) == 3
|
||||
|
||||
for mb in r.json["mailboxes"]:
|
||||
assert "email" in mb
|
||||
assert "id" in mb
|
||||
assert "default" in mb
|
||||
assert "creation_timestamp" in mb
|
||||
assert "nb_alias" in mb
|
||||
assert "verified" in mb
|
||||
|
|
Loading…
Reference in a new issue