Refactor geocoding services and improve logging
- Updated the Nominatim geocoding service to use a class-based structure and accept a logger instance for better logging control. - Modified tests for the Nominatim service to align with the new structure and improved logging assertions. - Removed the disabled notification service test file. - Added a new GeocodingFailedError class to handle geocoding failures more explicitly. - Enhanced error logging in the queue service to include structured error objects. - Updated user service to accept a logger instance for better logging in address upsert operations. - Added request-scoped logger to Express Request interface for type-safe logging in route handlers. - Improved logging in utility functions for better debugging and error tracking. - Created a new GoogleGeocodingService class for Google Maps geocoding with structured logging. - Added tests for the useAiAnalysis hook to ensure proper functionality and error handling.
This commit is contained in:
15
express.d.ts
vendored
Normal file
15
express.d.ts
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
// src/types/express.d.ts
|
||||
import { Logger } from 'pino';
|
||||
|
||||
/**
|
||||
* This file uses declaration merging to add a custom `log` property to the
|
||||
* global Express Request interface. This makes the request-scoped logger
|
||||
* available in a type-safe way in all route handlers, as required by ADR-004.
|
||||
*/
|
||||
declare global {
|
||||
namespace Express {
|
||||
export interface Request {
|
||||
log: Logger;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user