diff --git a/src/expert-insurer/expert-insurer.service.ts b/src/expert-insurer/expert-insurer.service.ts index 238617e..90f17d6 100644 --- a/src/expert-insurer/expert-insurer.service.ts +++ b/src/expert-insurer/expert-insurer.service.ts @@ -2148,6 +2148,20 @@ export class ExpertInsurerService { }; } + /** + * Maps a raw history `actorType` string to either `"user"` or `"expert"`. + * - `"user"` → the action was taken by the car-owner / damaged party + * - `"expert"` → taken by any expert, system, or back-office actor + * - `null` → actorType was absent (unknown) + */ + private static resolveTimelinePerformedBy( + actorType: string | undefined, + ): "user" | "expert" | null { + if (!actorType) return null; + if (actorType === "user") return "user"; + return "expert"; + } + async getFileTimeline( insurerId: string, publicId: string, @@ -2187,6 +2201,7 @@ export class ExpertInsurerService { faLabel: getEventFaLabel(ev), timestamp: ev.timestamp, actor: ev.actor ?? null, + performedBy: ExpertInsurerService.resolveTimelinePerformedBy(ev.actor?.actorType), metadata: ev.metadata ?? null, }); } @@ -2206,6 +2221,7 @@ export class ExpertInsurerService { faLabel: getEventFaLabel(ev), timestamp: ev.timestamp, actor: ev.actor ?? null, + performedBy: ExpertInsurerService.resolveTimelinePerformedBy(ev.actor?.actorType), metadata: ev.metadata ?? null, }); }