From 917d8127d66ea23f4f76e6a624158cdf23bad724 Mon Sep 17 00:00:00 2001 From: ievavold <ievavold@wisc.edu> Date: Wed, 20 Feb 2019 13:00:10 -0600 Subject: [PATCH] add search result types --- src/app/core/models/search-results.ts | 14 ++++++++++++++ .../course-search/course-search.component.ts | 2 +- src/app/degree-planner/services/api.service.ts | 9 +++++++-- 3 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 src/app/core/models/search-results.ts diff --git a/src/app/core/models/search-results.ts b/src/app/core/models/search-results.ts new file mode 100644 index 0000000..a0c4694 --- /dev/null +++ b/src/app/core/models/search-results.ts @@ -0,0 +1,14 @@ +import { Subject } from '@app/core/models/course-details'; + +export interface SearchResult { + termCode: string; + courseId: string; + subject: Subject; +} + +export interface SearchResults { + found: number; + hits: SearchResult[]; + message: null; + success: boolean; +} diff --git a/src/app/degree-planner/course-search/course-search.component.ts b/src/app/degree-planner/course-search/course-search.component.ts index 6db84a0..b221c94 100644 --- a/src/app/degree-planner/course-search/course-search.component.ts +++ b/src/app/degree-planner/course-search/course-search.component.ts @@ -205,7 +205,7 @@ export class CourseSearchComponent implements OnInit, OnDestroy { ...course, subject: course.subject.description, subjectCode: course.subject.subjectCode, - }; + } as Course; }); }) .catch(console.log); diff --git a/src/app/degree-planner/services/api.service.ts b/src/app/degree-planner/services/api.service.ts index 2dbf41b..f33cf52 100644 --- a/src/app/degree-planner/services/api.service.ts +++ b/src/app/degree-planner/services/api.service.ts @@ -15,6 +15,7 @@ import { Term } from '@app/core/models/term'; import { CourseBase, SubjectMapping } from '@app/core/models/course'; import { DegreePlan } from '@app/core/models/degree-plan'; import { SavedForLaterCourseBase } from '@app/core/models/saved-for-later-course'; +import { SearchResults } from '@app/core/models/search-results'; const HTTP_OPTIONS = { headers: new HttpHeaders({ @@ -114,7 +115,7 @@ export class DegreePlannerApiService { subjectCode: string; searchText?: string; termCode?: string; - }): Observable<any> { + }) { const { subjectCode, termCode, searchText } = config; const payload: any = { @@ -152,7 +153,11 @@ export class DegreePlannerApiService { }); } - return this.http.post('/api/search/v1', payload, HTTP_OPTIONS); + return this.http.post<SearchResults>( + '/api/search/v1', + payload, + HTTP_OPTIONS, + ); } public addCourse( -- GitLab