UNPKG

ih-black-lion

Version:

State handler for Arus projects

106 lines (83 loc) 4.56 kB
import models from './models'; import connectors from './connectors'; /** * This handles all the different service requests that can be made. Each method corresponds to a * specific service call. They each construct the request object for the call, make the call, * check for a valid response, then instantiate the model designated to that call using the * response object. * * Each method returns a `Promise` of an instance of the `Model` associated with the call, or, if * the call came back successfully but the response data itself is invalid, a `Promise` of an * instance of `Fault` is returned. * * @type {Object} */ // TODO: replace this with just a fetch function const api = { // Exposing the Fault class so that the client can compare responses to it Fault: models.Fault, getProfile(requestParams, Model = models.Profile) { return new connectors.ProfileConnector('GET', requestParams, Model).Promise; }, getPicture(requestParams, Model = models.Picture) { return new connectors.PictureConnector('GET', requestParams, Model).Promise; }, getSchedule(requestParams, term = '', ssrEnrlGetMode = '1', acadCareer = 'UGRD', Model = models.Schedule) { return new connectors.ScheduleConnector('POST', requestParams, Model, term, ssrEnrlGetMode, acadCareer).Promise; }, getSubjects(requestParams, subject = '', institution = 'UCINN', Model = models.Subjects) { return new connectors.SubjectConnector('POST', requestParams, Model, subject, institution).Promise; }, getCourses(requestParams, subject, institution = 'UCINN', Model = models.Courses) { return new connectors.CoursesConnector('POST', requestParams, Model, subject, institution).Promise; }, getNotifications(requestParams, Model = models.Notifications) { return new connectors.NotificationsConnector('POST', requestParams, Model).Promise; }, getEvents(requestParams, numDaysPast = 10, includeEvents = 'Y', Model = models.Events) { return new connectors.EventsConnector('POST', requestParams, Model, numDaysPast, includeEvents).Promise; }, changeReadStatus(requestParams, id, status, numDaysPast = 7) { return new connectors.ReadStatusConnector('POST', requestParams, id, status, numDaysPast).Promise; }, ucidLookup(requestParams, searchTerm, Model = models.UcidLookup) { return new connectors.UCIDLookupConnector('GET', requestParams, Model, searchTerm).Promise; }, getLovs(requestParams, lovParams, Model = models.Lovs) { return new connectors.ListOfValuesConnector('POST', requestParams, Model, lovParams).Promise; }, getServiceIndicators(requestParams, Model = models.ServiceIndicators) { return new connectors.ServiceIndicatorsConnector('GET', requestParams, Model).Promise; }, getChecklist(requestParams, Model = models.Checklist) { return new connectors.ChecklistConnector('GET', requestParams, Model).Promise; }, getFinancialAid(requestParams, aidYear = '', Model = models.FinancialAid) { return new connectors.FinancialAidConnector('POST', requestParams, Model, aidYear).Promise; }, getNavigationCollection(requestParams, pageletName, Model = models.NavigationCollection) { return new connectors.NavigationCollectionConnector('GET', requestParams, Model, pageletName).Promise; }, getNews(requestParams, pageletName, Model = models.News) { return new connectors.NewsConnector('GET', requestParams, Model, pageletName).Promise; }, getApplications(requestParams, Model = models.Applications) { return new connectors.ApplicationsConnector('GET', requestParams, Model).Promise; }, getStudentAccount(requestParams, term = '', Model = models.StudentAccount) { return new connectors.StudentAccountConnector('POST', requestParams, Model, term).Promise; }, getAcademicProfile(requestParams, Model = models.AcademicProfile) { return new connectors.AcademicProfileConnector('GET', requestParams, Model).Promise; }, getActivityGuide(requestParams, Model = models.ActivityGuide) { return new connectors.ActivityGuideConnector('GET', requestParams, Model).Promise; }, getCourseHistory(requestParams, term = '', ssrEnrlGetMode = '2', acadCareer = '', Model = models.CourseHistory) { return new connectors.CourseHistoryConnector('POST', requestParams, Model, term, ssrEnrlGetMode, acadCareer).Promise; }, getTuitionGuarantee(requestParams, Model = models.TuitionGuarantee) { return new connectors.TuitionGuaranteeConnector('GETJSON', requestParams, Model).Promise; }, }; export default api;