Support pinned in PATCH /api/aliases/:alias_id

This commit is contained in:
Son NK 2020-11-15 18:45:58 +01:00
parent 6c7018dd33
commit ae05c164c9
3 changed files with 22 additions and 2 deletions

View File

@ -221,7 +221,7 @@ def get_alias_activities(alias_id):
return jsonify(activities=activities), 200
@api_bp.route("/aliases/<int:alias_id>", methods=["PUT"])
@api_bp.route("/aliases/<int:alias_id>", methods=["PUT", "PATCH"])
@require_api_auth
def update_alias(alias_id):
"""
@ -298,6 +298,10 @@ def update_alias(alias_id):
alias.disable_pgp = data.get("disable_pgp")
changed = True
if "pinned" in data:
alias.pinned = data.get("pinned")
changed = True
if changed:
db.session.commit()

View File

@ -457,7 +457,7 @@ If success, 200 with the list of activities, for example:
}
```
#### PUT /api/aliases/:alias_id
#### PATCH /api/aliases/:alias_id
Update alias info.
@ -469,6 +469,7 @@ Input:
- (optional) `name` in request body
- (optional) `mailbox_ids` in request body: array of mailbox_id
- (optional) `disable_pgp` in request body: boolean
- (optional) `pinned` in request body: boolean
Output:
If success, return 200

View File

@ -419,6 +419,21 @@ def test_update_disable_pgp(flask_client):
assert alias.disable_pgp
def test_update_pinned(flask_client):
login(flask_client)
alias = Alias.first()
assert not alias.pinned
r = flask_client.patch(
url_for("api.update_alias", alias_id=alias.id),
json={"pinned": True},
)
assert r.status_code == 200
assert alias.pinned
def test_alias_contacts(flask_client):
user = User.create(
email="a@b.c", password="password", name="Test User", activated=True