MCPcopy Create free account
hub / github.com/OpenSIST/OpenSIST.github.io / setApplicant

Function setApplicant

src/Data/ApplicantData.js:86–124  ·  view source on GitHub ↗
(applicant)

Source from the content-addressed store, hash-verified

84}
85
86export async function setApplicant(applicant) {
87 /*
88 * Set the applicant to the local storage (i.e. localforage.getItem('applicants'))
89 * @param applicant [Object]: applicant
90 */
91 if (!applicant) {
92 return;
93 }
94 const applicants = await getApplicants();
95 const originalApplicant = applicants.find(p => p.ApplicantID === applicant.ApplicantID);
96 const originalFinalRecordId = originalApplicant?.Final
97 ? `${originalApplicant.ApplicantID}|${originalApplicant.Final}`
98 : null;
99 const finalRecordId = applicant.Final
100 ? `${applicant.ApplicantID}|${applicant.Final}`
101 : null;
102 const finalRecordIds = [originalFinalRecordId, finalRecordId].filter(Boolean);
103 const records = await getRecordByRecordIDs(finalRecordIds);
104 const originalFinalRecord = records[originalFinalRecordId];
105 const finalRecord = records[finalRecordId];
106 if (originalFinalRecord) {
107 await setRecord({...originalFinalRecord, Final: false});
108 }
109 if (finalRecord) {
110 await setRecord({...finalRecord, Final: true});
111 }
112 const updatedApplicants = originalApplicant
113 ? applicants.map(currentApplicant => (
114 currentApplicant.ApplicantID === applicant.ApplicantID ? applicant : currentApplicant
115 ))
116 : [...applicants, applicant];
117 await setApplicants(updatedApplicants);
118 if (await isAuthApplicant(applicant.ApplicantID)) {
119 const applicantIds = await getApplicantIDByDisplayName();
120 if (!applicantIds.includes(applicant.ApplicantID)) {
121 await setApplicantIDByDisplayName([...applicantIds, applicant.ApplicantID]);
122 }
123 }
124}
125
126export async function addModifyApplicant(requestBody) {
127 /*

Callers 5

addModifyFileFunction · 0.90
removeFileFunction · 0.90
addModifyRecordFunction · 0.90
deleteRecordFunction · 0.90
addModifyApplicantFunction · 0.85

Calls 7

getRecordByRecordIDsFunction · 0.90
setRecordFunction · 0.90
getApplicantsFunction · 0.85
setApplicantsFunction · 0.85
isAuthApplicantFunction · 0.85

Tested by

no test coverage detected