diff --git a/src/routes/settings.import.tsx b/src/routes/settings.import.tsx index 6b382d9..4c2e66c 100644 --- a/src/routes/settings.import.tsx +++ b/src/routes/settings.import.tsx @@ -665,7 +665,8 @@ const IMPORTERS: ImporterConfig[] = [ { key: "status_updates", label: "Status updates → Status", - description: "Case status reports.", + description: + "Case status reports. Match cases by title + client name (recommended), or by case number / external id.", table: "status_updates", conflict: "external_id", required: ["title", "body", "case_id"], @@ -675,14 +676,18 @@ const IMPORTERS: ImporterConfig[] = [ body: "body", content: "body", notes: "body", description: "body", caseid: "_caseext", matterid: "_caseext", casenumber: "_casenum", casename: "_casename", casetitle: "_casename", matter: "_casename", mattername: "_casename", + clientname: "_clientname", client: "_clientname", hoa: "_clientname", association: "_clientname", }, transform: (r, ctx) => { + const titleKey = r._casename ? String(r._casename).toLowerCase().trim() : ""; + const clientKey = r._clientname ? String(r._clientname).toLowerCase().trim() : ""; r.case_id = (r._caseext && ctx.caseByExt.get(String(r._caseext))) || + (titleKey && clientKey && ctx.caseByClientAndTitle.get(`${clientKey}||${titleKey}`)) || (r._casenum && ctx.caseByNumber.get(String(r._casenum))) || - (r._casename && ctx.caseByTitle.get(String(r._casename).toLowerCase().trim())) || + (titleKey && ctx.caseByTitle.get(titleKey)) || null; - delete r._caseext; delete r._casenum; delete r._casename; + delete r._caseext; delete r._casenum; delete r._casename; delete r._clientname; if (!r.case_id || !r.body) return null; return r; },