Files
ems-frontend/src/app/services/qualification.service.ts
Huy 1e52741155 Implement qualification details (#26)
Co-authored-by: Phan Huy Tran <p.tran@neusta.de>
Reviewed-on: #26
Reviewed-by: Constantin Simonis <constantin@simonis.lol>
2025-01-09 11:48:39 +00:00

41 lines
1.2 KiB
TypeScript

import {inject, Injectable} from "@angular/core";
import {HttpClient} from "@angular/common/http";
import {map, Observable} from "rxjs";
import {Qualification} from "../qualification/Qualification";
import {Employee} from "../employee/Employee";
@Injectable({
providedIn: 'root'
})
export default class QualificationService {
private http: HttpClient = inject(HttpClient);
private static readonly BASE_URL = 'http://localhost:8089';
public getAll(): Observable<Qualification[]> {
return this.http.get<Qualification[]>(`${QualificationService.BASE_URL}/qualifications`).pipe(
map(qualifications => qualifications.sort((a, b) => a.id - b.id))
)
}
public create(data: any) {
return this.http.post(`${QualificationService.BASE_URL}/qualifications`, data)
}
public edit(id: number, data: any) {
return this.http.put(`${QualificationService.BASE_URL}/qualifications/${id}`, data)
}
public delete(id: number) {
return this.http.delete(`${QualificationService.BASE_URL}/qualifications/${id}`)
}
public findEmployees(id: number): Observable<Employee[]> {
return this.http.get<any>(`${QualificationService.BASE_URL}/qualifications/${id}/employees`)
.pipe(
map(response => response.employees)
);
}
}