src/app/core/services/admin/api.admin.service.ts
constructor(http: HttpClient)
|
Private handleError |
handleError(error: HttpErrorResponse)
|
Returns:
void
|
createUser |
createUser(user: User)
|
Returns:
any
|
createCourse |
createCourse(course: Course)
|
Returns:
any
|
getUsers |
getUsers()
|
Returns:
any
|
getUser |
getUser(id: number)
|
Returns:
any
|
getCourses |
getCourses()
|
Returns:
any
|
getCourse |
getCourse(id: number)
|
Returns:
any
|
deleteUser |
deleteUser(id: number)
|
Returns:
any
|
deleteCourse |
deleteCourse(id: number)
|
Returns:
any
|
updateUser |
updateUser(user: User)
|
Returns:
any
|
updateCourse |
updateCourse(course: Course)
|
Returns:
any
|
uploadUserFile |
uploadUserFile(formData: FormData)
|
Returns:
any
|
uploadCourseFile |
uploadCourseFile(formData: FormData)
|
Returns:
any
|
addUserToCourse |
addUserToCourse(userCourse: UserCourse)
|
Returns:
any
|
addSurveyToCourse |
addSurveyToCourse(surveyCourse: SurveyCourse)
|
Returns:
any
|
addQuestionToCourse |
addQuestionToCourse(questionCourse: QuestionCourse)
|
Returns:
any
|
users |
users: |
import { Injectable } from '@angular/core';
import { HttpClient, HttpErrorResponse } from '@angular/common/http';
import { Observable, throwError } from 'rxjs';
import { catchError } from 'rxjs/operators';
import { User } from '../../models/user.model';
import { Course, QuestionCourse, SurveyCourse, UserCourse } from '../../models/course.model';
import { Message } from '@app/core/models/message.model';
import { environment } from '@environments/environment';
@Injectable({
providedIn: 'root'
})
export class ApiService {
users: User[] = []
constructor(private http: HttpClient) { }
private handleError(error: HttpErrorResponse) {
if (error.status === 0) {
// A client-side or network error occurred. Handle it accordingly.
console.error('An error occurred:', error.error);
} else {
// The backend returned an unsuccessful response code.
// The response body may contain clues as to what went wrong.
console.error(
`Backend returned code ${error.status}, body was: `, error.error);
}
// Return an observable with a user-facing error message.
return throwError(() => new Error(error.message));
}
createUser(user: User): Observable<Message> {
return this.http.post<Message>(`${environment.apiUrl}/user/create`, user)
.pipe(
catchError(this.handleError)
);
}
createCourse(course: Course): Observable<Message> {
return this.http.post<Message>(`${environment.apiUrl}/course`, course)
.pipe(
catchError(this.handleError)
);
}
getUsers(): Observable<User[]> {
return this.http.get<User[]>(`${environment.apiUrl}/user`)
.pipe(
catchError(this.handleError)
);
}
getUser(id: number): Observable<User> {
return this.http.get<User>(`${environment.apiUrl}/user/${id}`)
.pipe(
catchError(this.handleError)
)
}
getCourses(): Observable<Course[]> {
return this.http.get<Course[]>(`${environment.apiUrl}/course`)
.pipe(
catchError(this.handleError)
);
}
getCourse(id: number): Observable<Course> {
return this.http.get<Course>(`${environment.apiUrl}/course/${id}`)
.pipe(
catchError(this.handleError)
)
}
deleteUser(id: number): Observable<Message> {
return this.http.delete<Message>(`${environment.apiUrl}/user/${id}`)
.pipe(
catchError(this.handleError)
)
}
deleteCourse(id: number): Observable<unknown> {
return this.http.delete(`${environment.apiUrl}/course/${id}`)
.pipe(
catchError(this.handleError)
)
}
updateUser(user: User): Observable<Message> {
return this.http.put<Message>(`${environment.apiUrl}/user`, user)
.pipe(
catchError(this.handleError)
)
}
updateCourse(course: Course): Observable<Message> {
return this.http.put<Message>(`${environment.apiUrl}/course`, course)
.pipe(
catchError(this.handleError)
)
}
uploadUserFile(formData: FormData): Observable<Message> {
return this.http.post<Message>(`${environment.apiUrl}/user/file`, formData)
.pipe(
catchError(this.handleError)
)
}
uploadCourseFile(formData: FormData): Observable<unknown> {
return this.http.post<unknown>(`${environment.apiUrl}/course/file`, formData)
.pipe(
catchError(this.handleError)
)
}
addUserToCourse(userCourse: UserCourse): Observable<Message> {
return this.http.post<Message>(`${environment.apiUrl}/course/addUser`, userCourse)
.pipe(
catchError(this.handleError)
)
}
addSurveyToCourse(surveyCourse: SurveyCourse): Observable<Message> {
return this.http.post<Message>(`${environment.apiUrl}/course/addSurvey`, surveyCourse)
.pipe(
catchError(this.handleError)
)
}
addQuestionToCourse(questionCourse: QuestionCourse): Observable<Message> {
return this.http.post<Message>(`${environment.apiUrl}/course/addQuestion`, questionCourse)
.pipe(
catchError(this.handleError)
)
}
}