* feat: set up UserAuditLog
* refactor: extract payment callbacks into their own files + handle subscription user_audit_log
* feat: handle account linking for user audit log
* chore: user_audit_log for mailboxes
* chore: user_audit_log for custom domains
* chore: user_audit_log for contacts
* chore: user_audit_log for directories
* fix: do not enforce cronjob being defined in choices + enable user deletion
* chore: user_audit_log for user deletion
* refactor: change emit_user_audit_log function to receive the full user object
* feat: add user_audit_log migration
* test: fix tests
* test: add some tests for user_audit_log
* fix: spf record verification user_audit_log
* chore: add missing index to user_audit_log.created_at
* chore: add missing index to alias_audit_log.created_at
* update contributing guide: replace rye by poetry and add a section for mac
* fix the bug where user can't choose "not selected" for the default alias domain
* ruff format
* remove trailing space
---------
Co-authored-by: Son NK <son@simplelogin.io>
* Move set default alias to a separate method to reuse it
* Add tests
* Find domains by domain not by id
* Revert models and setting changes
* Remove non required function