Skip to content
Snippets Groups Projects
Commit 3069dfdc authored by jvanboxtel@wisc.edu's avatar jvanboxtel@wisc.edu
Browse files

ROENROLL-1212 working api request

parent 4ce24d40
No related branches found
No related tags found
No related merge requests found
......@@ -8,7 +8,6 @@ import { AppComponent } from './app.component';
import { CoreModule } from './core/core.module';
import { SharedModule } from './shared/shared.module';
import { DegreePlannerModule } from './degree-planner/degree-planner.module';
import { ConfigService } from './core/config.service';
@NgModule({
imports: [
......
......@@ -2,7 +2,7 @@ import { Injectable } from '@angular/core';
@Injectable()
export class ConfigService {
apiUrl = '/api/v1/';
apiPlannerUrl = '/api/planner/v1/';
constructor() { }
}
import { identifierModuleUrl } from '@angular/compiler';
import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Router } from '@angular/router';
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { Response } from '@angular/http';
import { throwError, Observable } from 'rxjs';
import { catchError, map } from 'rxjs/operators';
import { ConfigService } from './config.service';
import { Response, ResponseContentType } from '@angular/http';
import { Observable } from 'rxjs';
import { catchError, map, tap } from 'rxjs/operators';
import { throwError } from 'rxjs';
import { Course } from './models/course';
@Injectable()
export class DataService {
private api: string;
private coursesUrl = 'https://dev.enroll.wisc.edu/api/planner/v1/degreePlan/519261/courses';
private log: any;
private plannerApiUrl: string;
constructor(private http: HttpClient, private configService: ConfigService) {
this.api = this.configService.apiUrl;
this.plannerApiUrl = this.configService.apiPlannerUrl;
}
getCourseData() {
return this.http
.get(this.coursesUrl)
// .subscribe(
// data => console.log('data: ', data), // success path
// error => console.log('error: ', error) // error path
// );
.pipe(
map(this.extractData),
catchError(this.errorHandler)
);
}
private extractData(res: Response) {
return res.text() ? res.json() : {};
getCourseData(): Observable<Course> {
return this.http.get<Course>(this.plannerApiUrl + '/degreePlan/520224/courses')
.pipe(catchError(this.errorHandler));
}
private errorHandler(error: Response) {
// console.error(error);
return throwError(error || 'Server Error');
}
......
export interface Course {
id: number;
courseId: string;
termCode: string;
topicId: number;
title: string;
subjectCode: string;
catalogNumber: string;
credits: number;
creditMin: number;
creditMax: number;
grade: any;
classNumber: string;
courseOrder: number;
honors: string;
waitlist: string;
relatedClassNumber1: any;
relatedClassNumber2: any;
classPermissionNumber: any;
sessionCode: any;
validationResults: any[];
enrollmentResults: any[];
pendingEnrollments: any[];
details: any;
classMeetings: any;
enrollmentOptions: any;
packageEnrollmentStatus: any;
creditRange: any;
}
export interface TermContainer {
termCode: string;
}
export interface Course {
id: number;
courseId: string;
termCode: string;
topicId: number;
title: string;
subjectCode: string;
catalogNumber: string;
credits: number;
creditMin: number;
creditMax: number;
grade: any;
classNumber: string;
courseOrder: number;
honors: string;
waitlist: string;
relatedClassNumber1: any;
relatedClassNumber2: any;
classPermissionNumber: any;
sessionCode: any;
validationResults: any[];
enrollmentResults: any[];
pendingEnrollments: any[];
details: any;
classMeetings: any;
enrollmentOptions: any;
packageEnrollmentStatus: any;
creditRange: any;
}
export interface TermContainer {
termCode: string;
}
import { ActivatedRoute, Params } from '@angular/router';
import { Component, OnInit } from '@angular/core';
import { DataService } from '../core/data.service';
import { HttpClient } from '@angular/common/http';
@Component({
selector: 'app-degree-planner',
......@@ -10,7 +8,7 @@ import { HttpClient } from '@angular/common/http';
})
export class DegreePlannerComponent implements OnInit {
constructor(private http: HttpClient, private dataService: DataService, private activatedRoute: ActivatedRoute) { }
constructor(private dataService: DataService) { }
ngOnInit() {
this.getCourseData();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment