From f34ac3ba113824c5001620d9037cc17d300841cb Mon Sep 17 00:00:00 2001 From: Robert Bond Date: Tue, 21 Apr 2026 16:16:31 +0000 Subject: [PATCH] Merged PR 2263: createinvolvement updates contactinvolvement table createinvolvement updates contactinvolvement table Related work items: #22441 --- actions/services/portalDirectService.js | 8 ++++-- .../representation/representationComplete.js | 3 ++- pages/api/file/createrepinvolvement_api.js | 27 ++++++++++++++----- 3 files changed, 29 insertions(+), 9 deletions(-) diff --git a/actions/services/portalDirectService.js b/actions/services/portalDirectService.js index 8b6a9654..28b2bd2b 100644 --- a/actions/services/portalDirectService.js +++ b/actions/services/portalDirectService.js @@ -274,10 +274,14 @@ export const sendRepCompleteMessage = async ( }); }; -export const setRepInvolvment = async (caseid, contactid) => { +export const setRepInvolvment = async (caseid, contactid, involvement) => { var queryUrl = buildFileQuery("/api/file/createrepinvolvement_api"); - var data = { "incidentid": caseid, "contactid": contactid }; + var data = { + "incidentid": caseid, + "contactid": contactid, + "involvement": involvement + }; var config = { method: "post", url: queryUrl, diff --git a/components/case/representation/representationComplete.js b/components/case/representation/representationComplete.js index d252d57e..1e0750e3 100644 --- a/components/case/representation/representationComplete.js +++ b/components/case/representation/representationComplete.js @@ -66,7 +66,8 @@ const RepComplete = (props) => { (props.props.currentView.representationMessageSent != true && (setRepInvolvment( props.props.currentView.caseReference.incidentid, - props.props.props.props.accountDetails.accountDetails.contactid + props.props.props.props.accountDetails.accountDetails.contactid, + props.props.currentView.representationCapacity ), sendRepCompleteMessage( props.props.props.props.accountDetails.containerID, diff --git a/pages/api/file/createrepinvolvement_api.js b/pages/api/file/createrepinvolvement_api.js index 856185ec..01329838 100644 --- a/pages/api/file/createrepinvolvement_api.js +++ b/pages/api/file/createrepinvolvement_api.js @@ -15,6 +15,7 @@ import { consoleLogger } from "../../../actions/core/logger"; import { getToken } from "../../../actions/core/token"; import { hashAPIPath } from "../../../actions/core/hash"; import { respondError, respondSuccess } from "../middleware/apiResponse"; +import { getPersonalAccount } from "../../../actions"; const WEBAPI_URL = process.env.RELAY_ROOT || @@ -37,17 +38,31 @@ export default async function ApiProxy(req, res) { const token = await getToken(); const contactid = req.body.contactid; - const queryUrl = - "incidents(" + - req.body.incidentid + - ")/pinswg_incident_contact_case_involvement/$ref"; + const incidentid = req.body.incidentid; + const queryUrl = "pinswg_contactinvolvements"; + const userInfo = await getPersonalAccount(contactid); const crmUrl = "https://" + process.env.CRMURL; const crmVersion = process.env.CRMURL_VERSION; + // appeallant + // interestedParty + // agent + + var typeofinvolvement = + { + "appellant": 846040001, + "interestedparty": 846040061, + "agent": 846040000 + }[req.body.typeofinvolvement] || 846040061; + const data = { - "@odata.id": - crmUrl + "/api/data/" + crmVersion + "/contacts(" + contactid + ")" + "pinswg_email": userInfo.emailaddress1, + "pinswg_lastname": userInfo.lastname, + "pinswg_firstname": userInfo.firstname, + "pinswg_typeofinvolvement": typeofinvolvement, + "pinswg_Case@odata.bind": "/incidents(" + incidentid + ")", + "pinswg_Contact@odata.bind": "/contacts(" + contactid + ")" }; const config = {