refactor: simplify component imports and structure
This commit is contained in:
parent
9807f73f1a
commit
5d90b71ba5
5 changed files with 5 additions and 21 deletions
46
src/app/service/employee.service.ts
Normal file
46
src/app/service/employee.service.ts
Normal file
|
@ -0,0 +1,46 @@
|
|||
import { Injectable } from "@angular/core";
|
||||
import { EmployeeRequestPutDTO, EmployeeResponseDTO } from "../models/mitarbeiter";
|
||||
import { HttpClient } from "@angular/common/http";
|
||||
import { Observable } from "rxjs";
|
||||
import { SkillService } from "./skill.service";
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
})
|
||||
export class EmployeeService {
|
||||
constructor(private http: HttpClient) { }
|
||||
|
||||
|
||||
responseDtoToPutDto(employee: EmployeeResponseDTO): EmployeeRequestPutDTO {
|
||||
return {
|
||||
firstName: employee.firstName,
|
||||
lastName: employee.lastName,
|
||||
street: employee.street,
|
||||
postcode: employee.postcode,
|
||||
city: employee.city,
|
||||
phone: employee.phone,
|
||||
skillSet: employee.skillSet?.map(skill => skill.id) || [],
|
||||
}
|
||||
}
|
||||
|
||||
updateEmployee(employee: EmployeeResponseDTO) {
|
||||
this.http.put(`${SkillService.BASE_URL}/employees/${employee.id}`, this.responseDtoToPutDto(employee)).subscribe();
|
||||
}
|
||||
|
||||
getAllEmployees(): Observable<Array<EmployeeResponseDTO>> {
|
||||
return this.http.get<Array<EmployeeResponseDTO>>(`${SkillService.BASE_URL}/employees`);
|
||||
}
|
||||
|
||||
|
||||
getEmployeeById(id: number): Observable<EmployeeResponseDTO> {
|
||||
return this.http.get<EmployeeResponseDTO>(`${SkillService.BASE_URL}/employees/${id}`);
|
||||
}
|
||||
|
||||
|
||||
addSkillToEmployee(skillId: number, employee: EmployeeResponseDTO) {
|
||||
let employeePut = this.responseDtoToPutDto(employee);
|
||||
employeePut.skillSet.push(skillId);
|
||||
|
||||
this.http.put(`${SkillService.BASE_URL}/employees/${employee.id}`, employeePut).subscribe();
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue