Retrieve recording status¶
This operation covers the two read-only lookups a caller uses to check the state of a previously (or currently) imported recording: the persisted recording metadata, and its separate import-tracking status record.
| Field | Value |
|---|---|
| Operation ID | OP-AV-RETRIEVE-STATUS |
| Trigger | Caller invokes AudioVideoService.GetRecordingInfo(Guid callRecordingId) and/or ImportStatusManager.GetStatus(Guid callRecordingId) |
| Inputs | Guid callRecordingId |
| Outputs | RecordingInfo (or null) from GetRecordingInfo; AudioImportStatusInfo from GetStatus |
| Primary components | AudioVideoService.GetRecordingInfo, ImportStatusManager.GetStatus |
| Entry point | Application\SAIF.Application.Services.AudioVideo\Services\Utilities\AudioVideo\AudioVideoService.cs, Application\SAIF.Application.Services.AudioVideo\Services\Utilities\AudioVideo\ImportStatusManager.cs |
Steps¶
GetRecordingInfo(Guid callRecordingId): looks up theRecordingentity byCallRexIdvia the repository query used byAudioVideoService.GetRecording.- If found: maps the entity to a
RecordingInfoDTO (RecordingId,CallRecordingId,ClaimId,Location,RecordedByUserId,Description,StartDate,Duration) and returns it. - If not found: returns
null— no exception is raised. ImportStatusManager.GetStatus(Guid callRecordingId): queries theAudioImportStatusentity byId.- If found: returns the persisted
AudioImportStatusInfo(Id,Status,Reason). - If not found: returns a synthetic result with
Status = "Missing"(BR-AV-18) — no exception is raised.
Process flow¶
The following diagram visualizes this operation's control flow.
flowchart TD
Start([Caller requests status]) --> Choice{Which lookup?}
Choice -->|Recording metadata| S1[Query Recording by CallRexId]
S1 -->|Found| R1([Return RecordingInfo])
S1 -->|Not found| R2([Return null])
Choice -->|Import status| S2[Query AudioImportStatus by Id]
S2 -->|Found| R3([Return AudioImportStatusInfo])
S2 -->|Not found| R4([Return synthetic 'Missing' status])
Failure and edge-case behavior¶
- Neither lookup throws when the target row is absent; both return a benign "not found" value (
nullor a synthetic"Missing"status) rather than an exception (BR-AV-18).
Related documentation¶
Sources¶
Application\SAIF.Application.Services.AudioVideo\Services\Utilities\AudioVideo\AudioVideoService.csApplication\SAIF.Application.Services.AudioVideo\Services\Utilities\AudioVideo\ImportStatusManager.cs