mirror of
https://github.com/simple-login/app.git
synced 2024-09-28 20:51:29 +02:00
remove unused get_alias_infos_with_pagination_v2
This commit is contained in:
parent
91fdf1ade0
commit
77c993b864
@ -128,70 +128,6 @@ def get_alias_infos_with_pagination(user, page_id=0, query=None) -> [AliasInfo]:
|
|||||||
return ret
|
return ret
|
||||||
|
|
||||||
|
|
||||||
def get_alias_infos_with_pagination_v2(
|
|
||||||
user, page_id=0, query=None, sort=None, alias_filter=None
|
|
||||||
) -> [AliasInfo]:
|
|
||||||
ret = []
|
|
||||||
latest_activity = func.max(
|
|
||||||
case(
|
|
||||||
[
|
|
||||||
(Alias.created_at > EmailLog.created_at, Alias.created_at),
|
|
||||||
(Alias.created_at < EmailLog.created_at, EmailLog.created_at),
|
|
||||||
],
|
|
||||||
else_=Alias.created_at,
|
|
||||||
)
|
|
||||||
).label("latest")
|
|
||||||
|
|
||||||
q = (
|
|
||||||
db.session.query(Alias, Mailbox, latest_activity)
|
|
||||||
.join(Contact, Alias.id == Contact.alias_id, isouter=True)
|
|
||||||
.join(EmailLog, Contact.id == EmailLog.contact_id, isouter=True)
|
|
||||||
.filter(Alias.user_id == user.id)
|
|
||||||
.filter(Alias.mailbox_id == Mailbox.id)
|
|
||||||
)
|
|
||||||
|
|
||||||
if query:
|
|
||||||
q = q.filter(
|
|
||||||
or_(
|
|
||||||
Alias.email.ilike(f"%{query}%"),
|
|
||||||
Alias.note.ilike(f"%{query}%"),
|
|
||||||
Alias.name.ilike(f"%{query}%"),
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
if alias_filter == "enabled":
|
|
||||||
q = q.filter(Alias.enabled)
|
|
||||||
elif alias_filter == "disabled":
|
|
||||||
q = q.filter(Alias.enabled.is_(False))
|
|
||||||
|
|
||||||
if sort == "old2new":
|
|
||||||
q = q.order_by(Alias.created_at)
|
|
||||||
elif sort == "new2old":
|
|
||||||
q = q.order_by(Alias.created_at.desc())
|
|
||||||
elif sort == "a2z":
|
|
||||||
q = q.order_by(Alias.email)
|
|
||||||
elif sort == "z2a":
|
|
||||||
q = q.order_by(Alias.email.desc())
|
|
||||||
else:
|
|
||||||
# default sorting
|
|
||||||
q = q.order_by(latest_activity.desc())
|
|
||||||
|
|
||||||
q = q.group_by(Alias.id, Mailbox.id)
|
|
||||||
|
|
||||||
q = list(q.limit(PAGE_LIMIT).offset(page_id * PAGE_LIMIT))
|
|
||||||
|
|
||||||
# preload alias.mailboxes to speed up
|
|
||||||
alias_ids = [alias.id for alias, _, _ in q]
|
|
||||||
Alias.query.options(joinedload(Alias._mailboxes)).filter(
|
|
||||||
Alias.id.in_(alias_ids)
|
|
||||||
).all()
|
|
||||||
|
|
||||||
for alias, mailbox, latest_activity in q:
|
|
||||||
ret.append(get_alias_info_v2(alias, mailbox))
|
|
||||||
|
|
||||||
return ret
|
|
||||||
|
|
||||||
|
|
||||||
def get_alias_infos_with_pagination_v3(
|
def get_alias_infos_with_pagination_v3(
|
||||||
user, page_id=0, query=None, sort=None, alias_filter=None
|
user, page_id=0, query=None, sort=None, alias_filter=None
|
||||||
) -> [AliasInfo]:
|
) -> [AliasInfo]:
|
||||||
|
Loading…
Reference in New Issue
Block a user