Deals Excel import/export aligned with Didar: browser-side import, new deal fields (code, probability, closedAt, creator, lostNote, referrer), Didar custom fields

This commit is contained in:
2026-10-06 16:36:04 +03:30
parent e08f1452ef
commit 2a2728e5ee
11 changed files with 1032 additions and 210 deletions
@@ -38,6 +38,14 @@ type DealRow = {
isRotten: boolean;
customFields: unknown;
expectedCloseAt: Date | null;
code: string | null;
importSource: string;
sourceRef: string | null;
probability: number | null;
sourceDetail: string | null;
referrer: string | null;
lostNote: string | null;
closedAt: Date | null;
position: number;
pipelineId: string;
stageId: string;
@@ -46,6 +54,7 @@ type DealRow = {
person: { id: string; firstName: string; lastName: string } | null;
company: { id: string; name: string } | null;
owner: { id: string; fullName: string } | null;
createdBy?: { id: string; fullName: string } | null;
assignees?: Array<{ id: string; fullName: string }>;
lineItems?: Array<{
id: string;
@@ -326,6 +335,15 @@ export class PipelinesService {
isRotten: row.isRotten,
customFields: asCustomFields(row.customFields),
expectedCloseAt: row.expectedCloseAt?.toISOString() ?? null,
code: row.code,
importSource: row.importSource,
sourceRef: row.sourceRef,
probability: row.probability,
sourceDetail: row.sourceDetail,
referrer: row.referrer,
lostNote: row.lostNote,
closedAt: row.closedAt?.toISOString() ?? null,
createdBy: row.createdBy ?? null,
position: row.position,
pipelineId: row.pipelineId,
stageId: row.stageId,