import type { ConsRow, IConsolidation } from '../../types/consolidations/consolidations'; import { statusMapping } from './consts'; export function flattenCons(cons: IConsolidation[]): ConsRow[] { const out: ConsRow[] = []; for (const con of cons) { // if a con has no versions, emit nothing — or emit a placeholder row if you want con.versions.forEach((v, i) => { const rep_date = new Date(con.reporting_date); out.push({ id: v.id, group_id: con.consolidation_id, isPrimary: i === 0, versionIndex: i, groupSize: con.versions.length, con_id: con.consolidation_id, year: con.year, quarter: con.quarter, reporting_date: rep_date, version_no: v.version_no, status: statusMapping[v.status], scenario: v.scenario, approach: v.approach, lock: v.lock, created_at: v.created_at, members_count: v.members_count, gsk: null, verified_at: null, }); }); } return out; }