shoc-backend/SeaHaven.Services
Alexandre Brandizzi daf3ed9210 fix(team-members): map duplicate-email race to conflict error (SH-325)
CreateAsync checks FindByEmailAsync and then inserts, so two concurrent
creates with the same email can both pass the check and hit the unique
user-name index. That DbUpdateException was unhandled and surfaced as a
500. Catch it at the CreateAsync call and return the existing
"Email is already in use." message, matching the check-then-insert
converge pattern already used by SetOverrideCoreAsync.
2026-09-17 01:40:40 -03:00
..
Configuration feat(permissions): protect configured account owner (SH-329) 2026-09-16 18:26:20 -03:00
Constants feat(team-members): support pending member creation (SH-325) 2026-09-16 19:14:36 -03:00
DependencyInjection feat(permissions): protect configured account owner (SH-329) 2026-09-16 18:26:20 -03:00
DTOs chore(team-members): sync with dev (SH-325) 2026-09-16 21:52:44 -03:00
Exceptions feat(work-orders): isolate phase 2 inline edit with optimistic concurrency 2026-07-07 11:26:13 -03:00
Helpers feat(dashboard): add regional work order metrics (SH-348) 2026-09-16 18:03:38 -03:00
Implementation fix(team-members): map duplicate-email race to conflict error (SH-325) 2026-09-17 01:40:40 -03:00
Interfaces chore(team-members): sync with dev (SH-325) 2026-09-16 21:52:44 -03:00
Validation feat(locations): manage ordered site contacts 2026-09-15 19:03:54 -03:00
SeaHaven.Services.csproj refactor: enforce backend boundaries and optimize dispatch (#30) 2026-07-24 17:35:34 -03:00