mirror of
https://github.com/simple-login/app.git
synced 2024-09-28 04:41:28 +02:00
Add reverse_alias to GET /api/aliases/:alias_id/activities
This commit is contained in:
parent
1c5d6e3299
commit
4d8040c80d
@ -951,13 +951,15 @@ If success, 200 with the list of activities, for example:
|
|||||||
"action": "reply",
|
"action": "reply",
|
||||||
"from": "yes_meo_chat@sl.local",
|
"from": "yes_meo_chat@sl.local",
|
||||||
"timestamp": 1580903760,
|
"timestamp": 1580903760,
|
||||||
"to": "marketing@example.com"
|
"to": "marketing@example.com",
|
||||||
|
"reverse_alias": "\"marketing at example.com\" <reply@a.b>",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"action": "reply",
|
"action": "reply",
|
||||||
"from": "yes_meo_chat@sl.local",
|
"from": "yes_meo_chat@sl.local",
|
||||||
"timestamp": 1580903760,
|
"timestamp": 1580903760,
|
||||||
"to": "marketing@example.com"
|
"to": "marketing@example.com",
|
||||||
|
"reverse_alias": "\"marketing at example.com\" <reply@a.b>",
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -142,6 +142,7 @@ def get_alias_activities(alias_id):
|
|||||||
- to
|
- to
|
||||||
- timestamp
|
- timestamp
|
||||||
- action: forward|reply|block
|
- action: forward|reply|block
|
||||||
|
- reverse_alias
|
||||||
|
|
||||||
"""
|
"""
|
||||||
user = g.user
|
user = g.user
|
||||||
@ -159,7 +160,10 @@ def get_alias_activities(alias_id):
|
|||||||
|
|
||||||
activities = []
|
activities = []
|
||||||
for alias_log in alias_logs:
|
for alias_log in alias_logs:
|
||||||
activity = {"timestamp": alias_log.when.timestamp}
|
activity = {
|
||||||
|
"timestamp": alias_log.when.timestamp,
|
||||||
|
"reverse_alias": alias_log.reverse_alias,
|
||||||
|
}
|
||||||
if alias_log.is_reply:
|
if alias_log.is_reply:
|
||||||
activity["from"] = alias_log.alias
|
activity["from"] = alias_log.alias
|
||||||
activity["to"] = alias_log.website_from or alias_log.website_email
|
activity["to"] = alias_log.website_from or alias_log.website_email
|
||||||
|
@ -11,6 +11,7 @@ from app.models import Alias, EmailLog, Contact
|
|||||||
class AliasLog:
|
class AliasLog:
|
||||||
website_email: str
|
website_email: str
|
||||||
website_from: str
|
website_from: str
|
||||||
|
reverse_alias: str
|
||||||
alias: str
|
alias: str
|
||||||
when: arrow.Arrow
|
when: arrow.Arrow
|
||||||
is_reply: bool
|
is_reply: bool
|
||||||
@ -78,6 +79,7 @@ def get_alias_log(alias: Alias, page_id=0):
|
|||||||
al = AliasLog(
|
al = AliasLog(
|
||||||
website_email=contact.website_email,
|
website_email=contact.website_email,
|
||||||
website_from=contact.website_from,
|
website_from=contact.website_from,
|
||||||
|
reverse_alias=contact.website_send_to(),
|
||||||
alias=alias.email,
|
alias=alias.email,
|
||||||
when=email_log.created_at,
|
when=email_log.created_at,
|
||||||
is_reply=email_log.is_reply,
|
is_reply=email_log.is_reply,
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
import json
|
from flask import url_for
|
||||||
|
|
||||||
from flask import url_for
|
from flask import url_for
|
||||||
|
|
||||||
from app.config import EMAIL_DOMAIN, MAX_NB_EMAIL_FREE_PLAN, PAGE_LIMIT
|
from app.config import PAGE_LIMIT
|
||||||
from app.extensions import db
|
from app.extensions import db
|
||||||
from app.models import User, ApiKey, Alias, Contact, EmailLog
|
from app.models import User, ApiKey, Alias, Contact, EmailLog
|
||||||
from app.utils import random_word
|
|
||||||
|
|
||||||
|
|
||||||
def test_get_aliases_error_without_pagination(flask_client):
|
def test_get_aliases_error_without_pagination(flask_client):
|
||||||
@ -182,10 +181,11 @@ def test_alias_activities(flask_client):
|
|||||||
assert r.status_code == 200
|
assert r.status_code == 200
|
||||||
assert len(r.json["activities"]) == PAGE_LIMIT
|
assert len(r.json["activities"]) == PAGE_LIMIT
|
||||||
for ac in r.json["activities"]:
|
for ac in r.json["activities"]:
|
||||||
assert ac["action"]
|
|
||||||
assert ac["from"]
|
assert ac["from"]
|
||||||
|
assert ac["to"]
|
||||||
|
assert ac["timestamp"]
|
||||||
assert ac["action"]
|
assert ac["action"]
|
||||||
assert ac["action"]
|
assert ac["reverse_alias"]
|
||||||
|
|
||||||
# second page, should return 1 or 2 results only
|
# second page, should return 1 or 2 results only
|
||||||
r = flask_client.get(
|
r = flask_client.get(
|
||||||
|
Loading…
Reference in New Issue
Block a user