Commit Graph

57 Commits

Author SHA1 Message Date
Adrià Casajús 50c130a3a3
Store the latest email_log id in the alias to simplify dashboard query (#2022)
* Store the latest email_log id in the alias to simplify dashboard query

* Fix test

* Add script to migrate users last email_log_id to alias

* Always update the alias last_email_log_id automatically

* Only set the alias_id if it is set

* Fix test with randomization

* Fix notification test

* Also remove explicit set on tests

* Rate limit alias creation to prevent abuse (#2021)

* Rate limit alias creation to prevent abuse

* Limit in secs

* Calculate bucket time

* fix exception

* Tune limits

* Move rate limit config to configuration (#2023)

* Fix dropdown item in header (#2024)

* Add option for admin to stop trial (#2026)

* Fix: if redis is not configured do not enable rate limit (#2027)

* support product IDs for the new Mac app (#2028)

Co-authored-by: Son NK <son@simplelogin.io>

* Add metrics to rate limit (#2029)

* Order domains alphabetically when retrieving them (#2030)

* Removed unused import

* Remove debug info

---------

Co-authored-by: D-Bao <49440133+D-Bao@users.noreply.github.com>
Co-authored-by: Son Nguyen Kim <son.nguyen@proton.ch>
Co-authored-by: Son NK <son@simplelogin.io>
2024-02-15 15:48:02 +01:00
Son 4faf0d7636 optimize dashboard page: load custom domain using joinedload() instead of explicit join 2022-02-26 17:34:53 +01:00
Son b2c31ef658 fix the pagination error display 2021-11-19 18:30:36 +01:00
Son 31e39314d5 return "block_forward" for /api/aliases/{alias.id}/contacts 2021-11-02 15:55:16 +01:00
Son 372466ab06 do not use flask-sqlalchemy
- add __tablename__ for all models
- use sa and orm instead of db
- rollback all changes in tests
- remove session in @app.teardown_appcontext
2021-10-12 14:36:47 +02:00
Son Nguyen Kim 9279b20975 only put pinned alias in default sorting 2021-09-21 12:20:29 +02:00
Son Nguyen Kim 48838eb176 add highlighted alias in case it's not included in the result 2021-09-07 15:22:50 +02:00
Son Nguyen Kim b2ac1b537d add only pinned alias filter 2021-09-07 15:10:37 +02:00
Son Nguyen Kim ffd2ec5e81 add filter by directory on dashboard 2021-09-05 19:11:05 +02:00
Son Nguyen Kim 51578ce934 add filter by mailbox 2021-08-20 12:21:27 +02:00
Son 009e1edced also support substring search 2021-08-19 18:07:11 +02:00
Son d8cb327b6e fix search 2021-08-19 17:47:10 +02:00
Son Nguyen Kim 2e9b288d7b optimize get_alias_infos_with_pagination_v3 when searching on mailbox email 2021-08-06 09:18:14 +02:00
Son Nguyen Kim 006a7b1420 black 2021-08-06 08:46:38 +02:00
Son Nguyen Kim 2f8f354f28 fix error with match(): use plainto_tsquery instead 2021-08-05 19:44:13 +02:00
Son Nguyen Kim 9eb3c7cf2c use Alias.ts_vector instead of note when returning alias 2021-08-04 09:30:12 +02:00
Son Nguyen Kim dc83c3dd9e Add filter for Only Aliases Found In Data Breaches 2021-07-29 08:45:52 +02:00
Son Nguyen Kim 77c993b864 remove unused get_alias_infos_with_pagination_v2 2021-07-28 18:48:10 +02:00
Son Nguyen Kim cbd6c96d01 preload Alias.hibp_breaches 2021-07-13 14:11:27 +02:00
Son Nguyen Kim 7ac2a02b27 join with EmailLog directly without passing by Contact 2021-07-13 14:11:14 +02:00
Son NK 8b234b63a5 add custom domain to AliasInfo 2021-03-18 14:44:51 +01:00
Son NK c87fe55898 POST /api/aliases/:alias_id/contacts: return 200 and `existed=true` if contact is already added. 2021-03-17 20:29:34 +01:00
Son NK 38790fdc84 get_alias_infos_with_pagination_v3: handle the case where an alias has 2 contacts that have no activity 2021-03-01 18:45:15 +01:00
Son NK 36a117d790 rename 2021-03-01 18:22:39 +01:00
Renaud Boyer 2b9cb44cdb linting 2020-12-06 22:10:16 +01:00
Son NK ed22701cbe fix duplicate pinned alias in get_alias_infos_with_pagination_v3 2020-11-18 12:08:36 +01:00
Son NK aada12f17e return reverse_alias_address in POST /api/aliases/:alias_id/contacts and GET /api/aliases/:alias_id/contacts 2020-11-16 19:39:00 +01:00
Son NK f6568aca6a Return pinned in GET /api/aliases/:alias_id, GET /api/v2/aliases 2020-11-15 19:01:11 +01:00
Son NK 6c7018dd33 Take into account pinned alias in get_alias_infos_with_pagination_v3 2020-11-15 18:42:29 +01:00
Son NK 6e0394d980 fix filter not working when alias has several mailboxes 2020-11-03 15:10:57 +01:00
Son NK ec1b7dd8b8 return latest_activity=null if there's no activity in GET /api/v2/aliases 2020-11-01 12:32:20 +01:00
Son NK 38ca2341bc fix mailbox query in get_alias_infos_with_pagination_v3 2020-11-01 12:24:19 +01:00
Son NK 28563b9653 fix duplicated display 2020-10-30 13:05:45 +01:00
Son NK a3d919db2e take into account mailbox in alias search 2020-08-29 19:03:33 +02:00
Son NK fdedc24358 black new version 2020-08-27 10:20:48 +02:00
Son NK 4101142253 black 2020-08-26 11:45:24 +02:00
Son NK f213469e9f display nb-reply, nb-forward on alias contact page 2020-08-26 11:45:07 +02:00
Son NK 00a08d898a refactor: do not use latest_activity in subquery 2020-08-21 23:10:23 +02:00
Son NK d7583f1733 handle case where alias does not have any activity in get_alias_infos_with_pagination_v3 2020-08-21 20:39:18 +02:00
Son NK 30fe09185f create get_alias_infos_with_pagination_v3 - reduce nb queries used in get_alias_infos_with_pagination_v2 2020-08-21 19:51:48 +02:00
Son NK c74857c7e7 use alias name when searching 2020-08-07 09:56:44 +02:00
Son NK 2f00294ba3 replace pgp_enabled by disable_pgp 2020-08-06 14:22:28 +02:00
Son NK a3051b3d45 black 2020-08-04 20:12:15 +02:00
Son NK b3ca7d1d5b Return pgp_enabled in GET /api/v2/aliases 2020-08-04 20:11:59 +02:00
Son NK 03841693ba Return support_pgp in GET /api/v2/aliases 2020-08-04 20:09:42 +02:00
Son NK 42b3666f45 use the alias v2 format for GET /api/aliases/:alias_id, POST /api/v2/alias/custom/new, POST /api/v2/alias/random/new 2020-05-23 19:18:24 +02:00
Son NK 165d986561 add mailboxes to GET /api/v2/aliases 2020-05-10 20:09:54 +02:00
Son NK 7b2e4da87f Support alias filter 2020-04-26 13:04:27 +02:00
Son NK 12714ae601 Add Only enabled alias sorting option 2020-04-26 12:31:10 +02:00
Son NK 4c64393df1 Add other sorting options: A-Z, Z-A, new-old, old-new 2020-04-26 12:25:12 +02:00