Troubleshoot API
The Alert.CA.Infrastructure.TroubleshootAPI project is a standalone ASP.NET Core Web API that exposes all Infrastructure repositories and services through REST endpoints. It is used for development testing, troubleshooting, and operational diagnostics — it is not exposed to end users.
Architecture
Base Controller: ApiControllerBase
All controllers inherit from ApiControllerBase, which provides automatic audit logging via IAuditService. Each API call is recorded with the user identity, action, and request details.
Controllers
| Controller | Purpose | Infrastructure Dependencies |
|---|---|---|
AcquisitionDeviceController | Manage acquisition device orchestration modes | IAcquisitionDeviceRepository (Cosmos) |
ActivityLogController | Query camera activity logs | IActivityLogRepository (SQL) |
AdminController | Administrative operations | Multiple repositories |
AlertsController | Alert management and testing | IAlertService, IAlertMessageRepository |
AuthorizationController | OAuth2/CIAM authorization flows | IJWTService |
BlobController | Blob storage operations | ISingleImageStorageRepository, IVideoStorageRepository, etc. |
CameraMovementController | Camera PTZ movement history | ICameraMovementRepository (SQL) |
CamerasController | Camera CRUD (Cosmos static/operational) | ICameraStaticRepository, ICameraOperationalRepository |
CameraSqlController | Camera RBAC assignments (SQL) | ICameraSqlRepository (SQL) |
CommunicationController | Email and SMS testing | IEmailService, ISmsService |
DurableEntityController | Durable entity state management | IDurableEntityDataRepository (Table) |
FeatureFlagController | Feature flag CRUD | IFeatureFlagRepository (SQL) |
GraphController | Entra ID user lookups | IGraphService |
ImageMetadataController | Image/video metadata queries | ISingleImageMetadataRepository, IPanoImageMetadataRepository, etc. (Table) |
LocationsController | Location management and geometry operations | ILocationRepository, IGeometryService, ILocationService (SQL) |
NotificationController | Notification management | INotificationService, INotificationRepository |
UserAgencySqlController | User and agency RBAC management | IUserAgencySqlRepository (SQL) |
UserEntityController | Cosmos user entity management | IUserRepository (Cosmos) |
CondorCameraEventController | Condor AI camera event CRUD and queries | ICondorCameraEventRepository (SQL) |
CondorEventController | Condor AI event entity CRUD (Cosmos) | ICondorEventRepository (Cosmos) |
COCODetectionController | COCO detection and annotation bulk insert testing | ICOCODetectionRepository, ICOCOAnnotationRepository (SQL) |
Running Locally
The TroubleshootAPI connects to the same Azure services as the production applications via Azure App Configuration. Set the App Configuration endpoint in appsettings.Development.json:
{
"Endpoints": {
"AppConfig": "https://appcs-wfca-ca-config-alertca-dev-001.azconfig.io"
}
}
Launch with the Alert.CA.Infrastructure.TroubleshootAPI profile. Swagger UI is available at /swagger for interactive endpoint testing.