(applicant)
| 84 | } |
| 85 | |
| 86 | export 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 | |
| 126 | export async function addModifyApplicant(requestBody) { |
| 127 | /* |
no test coverage detected