fix: Response wrapping, error logging, and controller hardening (COA 3)
All checks were successful
Test Asgard Runner / test (push) Successful in 3s
All checks were successful
Test Asgard Runner / test (push) Successful in 3s
- HttpExceptionFilter: Log actual error details for non-HttpExceptions (was silently swallowing 500s)
- ServersService: Return null fields instead of 404 for new licenses without servers
- NotificationsController: Wrap config responses as { config } to match frontend expectations
- WebstoreController: Wrap config responses as { config } to match frontend expectations
- ChatController: Replace ParseIntPipe with manual parseInt (400 on missing optional param)
- WipesController: Same ParseIntPipe fix for history limit param
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -27,7 +27,8 @@ export class NotificationsController {
|
||||
description: 'Notification config retrieved successfully',
|
||||
})
|
||||
async getConfig(@CurrentTenant() licenseId: string) {
|
||||
return await this.notificationsService.getConfig(licenseId);
|
||||
const config = await this.notificationsService.getConfig(licenseId);
|
||||
return { config };
|
||||
}
|
||||
|
||||
@Put('config')
|
||||
@@ -43,6 +44,7 @@ export class NotificationsController {
|
||||
@CurrentTenant() licenseId: string,
|
||||
@Body() dto: UpdateConfigDto,
|
||||
) {
|
||||
return await this.notificationsService.updateConfig(licenseId, dto);
|
||||
const config = await this.notificationsService.updateConfig(licenseId, dto);
|
||||
return { config };
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user