Initial Commit

This commit is contained in:
Peter Morton 2025-02-03 18:41:32 +00:00
parent 8d149b2cd5
commit c7ecfff015

100
CACaseInterface.js Normal file
View File

@ -0,0 +1,100 @@
const casettings = CAInterface_settings_6516d8858854895aca35b3b4;
return {
getCase(caseId) {
return new Promise(async (resolve, reject) => {
try {
const config = casettings.url.CA;
const getCaseURL = `https://${config.base}/case-service/${config.tenant}/cases/${caseId}`;
const oidc = await CAInterface_6516d8858854895aca35b3b4().getOIDC();
const result = await axios({
method: "get",
url: getCaseURL,
headers: {
Accept: "application/ld+json",
"Content-Type": "application/json",
Authorization: `OIDC_id_token ${oidc.access_token}`,
},
});
if (result.status == 200) {
resolve(result.data);
} else {
reject(result.status);
}
} catch (err) {
reject(err);
}
});
},
caseAction(caseId, action, success, notes, entities) {
return new Promise(async (resolve, reject) => {
try {
const config = casettings.url.CA;
const caseActionURL = `https://${config.base}/case-service-v2/${config.tenant}/cases/${caseId}/actions/${action}`;
const oidc = await CAInterface_6516d8858854895aca35b3b4().getOIDC();
const result = await axios({
method: "POST",
url: caseActionURL,
headers: {
Accept: "*/*",
"Content-Type": "application/json",
Authorization: `OIDC_id_token ${oidc.access_token}`,
},
data: {
actionSucceded: success,
notes,
entities,
},
});
if (result.status == 200) {
resolve(result.data);
} else {
reject(result.status);
}
} catch (err) {
reject(err);
}
});
},
createCase(type, customerRef, summary, notes, entities) {
return new Promise(async (resolve, reject) => {
try {
const config = casettings.url.CA;
const caseActionURL = `https://${config.base}/case-service/${config.tenant}/cases`;
const oidc = await CAInterface_6516d8858854895aca35b3b4().getOIDC();
const data = {
"@type": type,
summary: summary,
notes: notes,
associatedCustomers: [
{
"@type": "vcs:CustomerAssociation",
isPrimary: true,
"vcust:identifier": customerRef,
},
],
...entities,
};
console.log("CACaseInterface: sending data " + JSON.stringify(data));
const result = await axios({
method: "POST",
url: caseActionURL,
headers: {
Accept: "*/*",
"Content-Type": "application/ld+json",
Authorization: `OIDC_id_token ${oidc.access_token}`,
},
data: data,
});
if (result.status == 201) {
resolve(result.data);
} else {
reject(result.status);
}
} catch (err) {
reject(err);
}
});
},
};