UNPKG

ih-black-lion

Version:

State handler for Arus projects

44 lines (40 loc) 1.36 kB
import { toArray } from '../boilerplate'; const formatCourse = obj => ( { desc: obj.courseTitleLong, status: obj.enrollStatusDescr, units: obj.untTaken, gradeDesc: obj.gradeBasisDescrformal, grade: obj.crseGradeOff, course: `${obj.subject} ${obj.catalogNbr}`, title: obj.descr, descr: obj.courseTitleLong, subject: obj.subject, number: obj.catalogNbr, booklink: `https://www.bkstr.com/webapp/wcs/stores/servlet/booklookServlet?bookstore_id-1=0${obj.crseOfferNbr}&term_id-1=${obj.strm}&crn-1=${obj.crseId}`, } ); const formatTerm = obj => ( { acadCareerDesc: obj.acadCareerLovdescr, curGpa: obj.curGpa, cumGpa: obj.cumGpa, gpa: obj.curGpa, termName: obj.strmLovdescr, institution: obj.institutionLovdescr, termBeginDate: obj.termBeginDt, termEndDate: obj.termEndDt, termId: obj.strm, courses: toArray(obj.enrollmentDetails.enrollmentDetail).map(course => formatCourse(course)), } ); export default class CourseHistory { constructor(obj, mode) { if (obj.ssrGetEnrollmentResp.ssrEnrlStudylist.ssMessageLong === 'You are not registered for classes in this term.') { this.terms = []; } else { const terms = toArray(obj.ssrGetEnrollmentResp.ssrEnrlStudylist.ssrEnrlTerms.ssrEnrlTerm); this.terms = terms.map(term => formatTerm(term)); } } }