fix(availability): translate status messages, return stored admin reason from API
- Add AvailabilityStatusDetails record and GetStatusDetailsAsync() to IAvailabilityService; implement in PersistentAvailabilityService so the admin-set reason stored in the database is returned alongside the status - AvailabilityController.GetStatus() now returns the stored message instead of hardcoded English strings - Add messageAvailable / messageMaintenance / messageUnavailable translation keys in en + nl so default messages are fully translatable - AvailabilityStatusBadge: Available always shows the translated default; Maintenance and Unavailable show the custom admin reason when set, otherwise fall back to the translated default Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -54,6 +54,24 @@ public class PersistentAvailabilityService : IAvailabilityService
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<AvailabilityStatusDetails> GetStatusDetailsAsync()
|
||||
{
|
||||
try
|
||||
{
|
||||
var state = await _context.AvailabilityStates.FirstOrDefaultAsync();
|
||||
if (state == null)
|
||||
return new AvailabilityStatusDetails(AvailabilityStatus.Available, null);
|
||||
|
||||
return new AvailabilityStatusDetails(state.Status, state.Message);
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
_lastErrorTime = DateTimeOffset.UtcNow;
|
||||
_cachedStatus = AvailabilityStatus.Available;
|
||||
return new AvailabilityStatusDetails(_cachedStatus, null);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Update de globale systeemstatus.
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user