* Extract suffix generation and validation to a module
* Updated tests
* Make custom alias use signed suffixes
* Added the signature check to the module
* Fix invalid route
* Move more suffix related stuff
* Fix tests
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
* Update pre-commit
* Upgrade djlint, remove flake8 and add pylint
* Reformat with new djlint version
* Run pre-commit on CI
* Use only python3.10 on CI
* Reformat files with pre-commit
* Run pre-commit against all files
* Reformat
* Added global excludes
* Added pre-commit to the contributing file
* Set python 3.9 as default
* Set language version to python3
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
Co-authored-by: Carlos Quintana <carlos.quintana@proton.ch>
* Fix: When logging with parter create accounts with lowercase emails
* Sanitize emails instead of just lowercase them
* linting
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
* Feature: Use new job status to retry killed jobs
* Set attermpts and time via config
* Update timing condition
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
* Allow to set sudo mode for api requests
* Rebase migration on top of master
* PR comments
* Added missing migration
* Removed unused import
* Apply suggestions from code review
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
* Send email to users with a subscription and a partner plan upgrade
* Update double-subscription-partner.html
* Update double-subscription-partner.txt.jinja2
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
Co-authored-by: Son Nguyen Kim <nguyenkims@users.noreply.github.com>
* Separate code for proton callback handler
* Upgrade migration
* Use simple_login endpoint from Proton API
* Remove unused classes
* Rename Dto class to Data
* Push rename
* Moved link to PartnerUser to allow subscriptions to depend only on it
* Fix test
* PR comments
* Add unique user_id constraint to PartnerUser
* Added more logs
* Added more logs
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
* Send full user report asynchronously
* Fix test
* Filter some fields before exporting
* Fix: Domain -> CustomDomain
* format settings html
* not include RefusedEmail as they are not usable by user and are automatically deleted
* send the export to the user email
* change email and setting wording
* fix user can only export data once
* remove alias export section
* remove unused import
* fix flake8
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
Co-authored-by: Son <nguyenkims@users.noreply.github.com>
* Initial save to disk
* Store unsent messages to disk so they can be retried later
* Set back not sending emails
* Fixed decorator
* Add general exceptions to the catchall
* Have dummy server just to make sure
* Added several server test cases
* ADded tests for bounced and error status
* Moved dir creation to config parse time
* Set LOG.e
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
* Fix: Track processes that start with the same chars independently (smtp vs stmpd)
* Format
* Added more test
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>