F3.1: estabilizar tipos del dossier fusionado

This commit is contained in:
2026-09-07 14:46:04 -03:00
parent 7329cee080
commit 9455254e6a
@@ -75,22 +75,21 @@ export class MergedInventoryDossierService {
const media = sortDesc(collect('media'), ['capturedAt', 'createdAt']); const media = sortDesc(collect('media'), ['capturedAt', 'createdAt']);
const versions = sortDesc(collect('versions'), ['occurredAt']); const versions = sortDesc(collect('versions'), ['occurredAt']);
const timeline = dedupeById( const timelineSource: LooseRecord[] = dossiers.flatMap(({ identity, dossier }) =>
dossiers.flatMap(({ identity, dossier }) => ((dossier.timeline ?? []) as LooseRecord[]).map((event): LooseRecord => ({
((dossier.timeline ?? []) as LooseRecord[]).map((event) => ({ ...event,
...event, meta: {
meta: { ...(event.meta ?? {}),
...(event.meta ?? {}), historicalInventory: {
historicalInventory: { id: identity.id,
id: identity.id, code: identity.code,
code: identity.code, name: identity.name,
name: identity.name, isCanonical: identity.id === canonical.id,
isCanonical: identity.id === canonical.id,
},
}, },
})), },
), })),
); );
const timeline: LooseRecord[] = dedupeById<LooseRecord>(timelineSource);
for (const alias of aliases) { for (const alias of aliases) {
timeline.push({ timeline.push({
@@ -121,7 +120,7 @@ export class MergedInventoryDossierService {
id: canonical.id, id: canonical.id,
code: canonical.code, code: canonical.code,
name: canonical.name, name: canonical.name,
commonName: (dossiers.find((item) => item.assetId === canonical.id)?.identity?.commonName ?? null), commonName: dossiers.find((item) => item.assetId === canonical.id)?.identity?.commonName ?? null,
}, },
requestedAsset: { requestedAsset: {
id: requested.id, id: requested.id,