Sabrina Demagny
961bceb64e
✨ (domains) store last check domain results
...
Store results of last dimail check on a domain.
2025-02-10 12:24:37 +01:00
Sabrina Demagny
418db6194a
✨ (domains) add support email field on MailDomain
...
Add new field on MailDomain to allow contact support
if some actions are required to fix domain.
2025-02-10 11:37:07 +01:00
Sabrina Demagny
579dbdee10
✨ (api) add count mailboxes to MailDomain serializer
...
Return number of mailboxes of a domain in our API.
2025-02-04 15:22:00 +01:00
Sabrina Demagny
4df4172151
✨ (dimail) manage 'action required' status for MailDomain
...
Adapt fetch domain status call to manage internal and external
fixes required. Use the new status 'action required' to
manage actions expected from support.
Call a new dimail endpoint to run a fix for internal checks
when all external checks are OK.
2025-02-04 14:13:36 +01:00
Sabrina Demagny
d48a3ff677
✨ (domains) add action required status on MailDomain
...
Create a new domain status to handle cases where
action is required from an external domain owner
for a domain to be fully functional.
2025-02-03 15:24:32 +01:00
Marie PUPO JEAMMET
7f0e231474
✨ (api) restrict mailbox sync to enabled domains
...
Pending, failed and deactivated domains should not be sync'ed.
2025-02-03 13:47:02 +01:00
Marie PUPO JEAMMET
2c15609c1e
🎨 (dimail) factorize dimail response upon successful mailbox creation
...
dimail's ok response upon mailbox creation is used in several tests.
All those tests now reference proper response available in fixtures.
2025-02-03 13:47:02 +01:00
Marie PUPO JEAMMET
cd94dc5091
✨ (dimail) send pending mailboxes upon domain activation
...
send creation requests to dimail for all pending mailboxes
when domain goes from "pending" to "enabled".
2025-02-03 13:47:02 +01:00
Marie PUPO JEAMMET
227ecd0700
🐛 (dimail) fix imported mailboxes should be enabled instead of pending
...
Importing mailboxes creates pending mailboxes ... but these mailboxes are
already active and, for most, functional. We thus mark them as "enabled".
2025-01-27 11:23:26 +01:00
Sabrina Demagny
f969b118cb
✨ (dimail) management command to fetch domain status
...
Add a management command for a future cron to
to check and update regularly domains status
from dimail.
2025-01-24 19:33:45 +01:00
Laurent Bossavit
914554e45c
🐛 (linting) fix linting errors arising from Ruff update
...
This update affects assertion messages in particular.
2025-01-21 00:42:47 +01:00
Sabrina Demagny
0a795f6e6f
🧑💻 (dimail) remove 'NoneType: None' log
...
Fixes "NoneType: None" log appearing in debug mode.
2025-01-17 08:56:18 +01:00
Sabrina Demagny
6c8329405d
🧑💻 (setup_dimail_db) create missing access
...
Add missing John Doe access role on domain test.domain.com
2025-01-17 08:42:10 +01:00
Sabrina Demagny
ea3a45ea87
✅ (dimail) improve fetch domain status tests
...
Add missing test case and add a new fake data
for fetch domain status from dimail
2025-01-16 23:07:14 +01:00
Sabrina Demagny
86451df8b4
♻️ (tests) reorganization of test files
...
Create two new folders in mailbox_manager tests
2025-01-16 15:57:25 +01:00
Marie PUPO JEAMMET
d495ef3e19
🧑💻 (admin) add read-only fields to mailbox admin
...
mark local_part and domain as read-only fields in admin,
in order to prevent mistakes/temptation. For now, if an local part
needs modification, you can simply delete/recreate the email you want.
Changing the domain is a bigger operation that cannot
be settled simply by changing it Django db.
2025-01-13 08:53:57 +01:00
Sabrina Demagny
6962953625
🧑💻 (admin) add filter for domain
...
Allow to filter domain by status
2025-01-09 14:12:18 +01:00
Sabrina Demagny
b0b718e657
✨ (backend) add admin action to check domain health
...
Allow to select some domains to check and update status
thanks to a dimail call.
2025-01-09 13:59:00 +01:00
Sabrina Demagny
0abfd49fee
✨ (dimail) check domain health
...
Call dimail to check if a domain still works.
Turn domain into failure status if dimail returns broken state.
And enable domain if dimail returns ok state.
2025-01-09 12:55:23 +01:00
Marie PUPO JEAMMET
94a443525e
🧑💻 (admin) add filter and search function to admin mailboxes view
...
add fields to easily filter and search mailboxes on their statuses,
local part and domains
2025-01-07 17:38:36 +01:00
Marie PUPO JEAMMET
4de589a7e8
🧑💻 (mailboxes) add and improve some tests
...
Add and improve some tests linked to mailbox creation.
2024-12-26 22:22:27 +01:00
Sabrina Demagny
151f030582
🐛 (backend) fix dimail call despite mailbox creation failure on our side
...
When we try to create a duplicate email, a request
to dimail is sent despite a reject on our side.
To solve this issue, we call mailbox creation first
to benefit from validation of our Django model.
Mailbox creation try was called too late after dimail call.
So in attempt to create a duplicated email a request
to dimail was sent despite a failure in our side.
2024-12-26 19:43:04 +01:00
Marie
2e7f224e30
⬆️ (dimail) upgrade dimail to v0.1.1
...
Upgrade dimail containers to v0.1.1
2024-12-18 11:38:10 +01:00
Sabrina Demagny
a021e9eec6
🐛 (maildomain) fix domain access creation
...
During a new domain creation, a call to dimail is made
to create user/allow on dimail side before owner role creation
on our side.
So when user/allow creation on dimain side fails,
the owner role is not created on our side.
Therefore the domain is created but invisible on the user interface.
The user will probably try to create the same domain again
and see the error message 'this domain already exists'.
To avoid this we make sure to create owner role on our side
despite dimail failure and set domain to failed status to retry
later dimail access creation.
2024-12-17 10:56:44 +01:00
Quentin BEY
2f380b49d0
🧑💻 (dimail) allow account populate from DB
...
Allow the dimail account creation command to create
accounts from the data in people's database.
2024-12-16 12:18:18 +01:00
Sabrina Demagny
5d84e226b7
✨ (maildomain_access) add API endpoint to search users
...
Add new API endpoint to search for new users
to whom we can assign new roles.
2024-12-13 16:27:48 +01:00
Sabrina Demagny
841a6c27ba
🐛 (backend) fix manage roles on domain admin view
...
Fix creation of new role to manage mail domain on admin interface
2024-12-12 16:19:51 +01:00
Sabrina Demagny
b060bbea51
🐛 (mailbox) fix activate mailbox feature
...
Fix 422 Unprocessable Entity error returned
by dimail because of some missing data sent.
2024-12-12 14:37:22 +01:00
Marie PUPO JEAMMET
54120eb179
✨ (dimail) automate allows requests to dimail
...
Automatically send user creation and allow creation requests to dimail
upon creating domain access.
2024-12-11 10:29:36 +01:00
Marie PUPO JEAMMET
e623c32c9a
🐛 (dimail) fix dimail setup command
...
fix "dimail-setup-db" command
2024-12-09 10:03:12 +01:00
Sabrina Demagny
02c6048d2c
✨ (mailbox) allow to activate mailbox
...
We send a request to dimail API and change mailbox status to enabled.
2024-11-26 15:37:04 +01:00
Sabrina Demagny
ccb06b3abf
✨ (mailbox) allow to disable mailbox
...
We send a request to dimail API and change mailbox status to disabled.
A disabled mailbox can no longer be used thus access to webmail
is disabled for user.
2024-11-26 14:38:38 +01:00
Sabrina Demagny
3469764697
♻️ (dimail) rename some methods of DimailAPIClient
...
Use more intuitive and shorter names for actions available in
DimailAPIClient.
2024-11-26 12:17:24 +01:00
Quentin BEY
d6f1cae9e9
🚚 (api) split API module in client/resource_server
...
To improve readability and code sharing we group all
APIs into the same "api" module for each application.
Next submodules might be "scim",
"resource_server_scim", ...
The only shared module is the "permissions" one for now.
2024-11-25 16:05:18 +01:00
Sabrina Demagny
a57070bfb8
🩹 (mailbox) fix status of current mailboxes
...
All mailboxes created so far should be in active status
2024-11-21 23:20:51 +01:00
Marie PUPO JEAMMET
863c85e3f0
👔 (dimail) allow creation of "pending" mailboxes
...
Previously, mailbox creation was restricted to "enabled" domains.
We now allow users to create mailboxes on pending and failed domains.
Mailboxes thus created have the "pending" mailboxes status.
2024-11-19 10:29:21 +01:00
Laurent Bossavit
a10f65a51f
💚 (ci) call the Dimail container by its actual name (and port)
...
So that E2E tests in Github Actions can connect to Dimail container.
Previously we were attempting to connect as if from the outside. But
the E2E process is in fact inside the Docker Compose network.
("The tests came from inside the house !")
https://tvtropes.org/pmwiki/pmwiki.php/Main/TheCallsAreComingFromInsideTheHouse
2024-11-14 18:19:55 +01:00
Laurent Bossavit
33e05f7a2d
💚 (ci) also save Dimail logs from E2E test runs
...
To help debug with Dimail interop, save logs from the Dimail container.
Also fix the tests' expectations…
2024-11-14 18:19:55 +01:00
Laurent Bossavit
1e45f1ffd1
✨ (dimail) fix domain creation request to fit latest dimail
...
Adapt domain creationg request to latest protocol version, also
make error reporting more robust: don't assume utf-8 but use the
response's encoding, don't assume the error is JSON (it won't be
when getting a 500) but reproduce the whole thing instead.
2024-11-14 18:19:55 +01:00
Marie PUPO JEAMMET
0b0b77cead
🐛 (dimail) fix unexpected status_code for proper debug
...
Remove duplicate and catch errors more gracefully. Fixes tests accordingly.
2024-11-14 18:19:55 +01:00
Marie PUPO JEAMMET
21bf431940
✨ (dimail) send domain creation request to dimail
...
Send domain creation request to dimail when someone creates a domain in people.
2024-11-14 18:19:55 +01:00
Marie PUPO JEAMMET
edde9c8d15
✨ (dimail) synchronize mailboxes from dimail to our db
...
Synchronize mailboxes existing on dimail's api and not on our side,
on domains we are administrating.
2024-11-08 16:40:06 +01:00
Marie PUPO JEAMMET
989239082e
✅ (tests) test dimail setup command
...
Test (and slightly improve) dimail setup command,
which populate database on local dimail container
2024-11-05 11:22:02 +01:00
Laurent Bossavit
1d1f5cfbb6
🚨 (linter) add missing docstrings
...
Title says all there is to say…
2024-10-29 09:08:35 +01:00
Sabrina Demagny
f243a2423f
✨ (backend) manage roles on domain admin view
...
Allow to manage mail domain roles on mail domain admin interface
2024-10-10 16:09:37 +02:00
Marie PUPO JEAMMET
579657afa4
🐛 (dimail) add status code in case of unexpected error
...
add status code in case of unexpected error
2024-10-04 11:32:49 +02:00
Sabrina Demagny
e6ed3c3be2
✨ (backend) domain accesses delete API
...
Allow to delete a access for a domain.
2024-09-30 17:09:27 +02:00
Sabrina Demagny
c4c3e9de96
✨ (backend) domain accesses create API
...
Allow to create (POST) a new access for a domain.
Role can be change only to a role available and
depending to the authenticated user.
2024-09-27 17:55:15 +02:00
Sabrina Demagny
00816e097c
✨ (backend) domain accesses update API
...
Allow to update (PUT, PATCH) an access.
Role can be change only to a role available
depending to the authenticated user.
2024-09-27 16:09:15 +02:00
Marie PUPO JEAMMET
a15d548ac4
🐛 (dimail) remove trailing slash to lighten dimail's calls/logs
...
Remove trailing slash on mailbox creation request
to remove 307 redirects
2024-09-26 20:53:25 +02:00