30 lines
846 B
TypeScript

import type { FileRussianStatus, IVersionCard, MemberRow } from '../../types/consolidations/version_members';
import { fileStatusMapping } from './consts';
export function normalizeData(cons_data: IVersionCard | null): MemberRow[] {
if (cons_data === null) {
return [];
}
return cons_data.members.map((m) => {
let bb_status: FileRussianStatus | undefined;
let ofr_status: FileRussianStatus | undefined;
for (const c of m.checklist) {
if (c.document_type === 'BALANCE') {
bb_status = fileStatusMapping[c.status];
} else if (c.document_type === 'INCOME') {
ofr_status = fileStatusMapping[c.status];
}
}
return {
id: m.id,
name: m.name,
inn: m.inn,
version_id: cons_data.id,
entity_type: m.entity_type,
bb_status,
ofr_status,
uploaded_osvs: [...m.osv_accounts].sort().join(', '),
};
});
}