Added 'perfomedBy' field to the Timeline

This commit is contained in:
SepehrYahyaee
2026-08-17 10:26:02 +03:30
parent d8a2be091f
commit d5aa9f3f1b

View File

@@ -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,
});
}