100 lines
3.0 KiB
JavaScript
100 lines
3.0 KiB
JavaScript
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);
|
|
}
|
|
});
|
|
},
|
|
}; |