From e18436a57c1a1c8da300f8b1930b0514cd6ef924 Mon Sep 17 00:00:00 2001 From: mehdiboudjoudi Date: Wed, 15 Jan 2025 12:05:04 +0100 Subject: [PATCH 1/9] 90% done --- src/app/app.component.html | 2 +- src/app/app.routes.ts | 3 +- .../mitarbeiterverwaltung-view.component.html | 33 ++++++++++--------- .../mitarbeiterverwaltung-view.component.ts | 32 +++++++++++++++--- src/app/data_layer/model/employee.ts | 13 ++++++++ .../{ => data_layer}/service/auth.service.ts | 0 .../service/employee.service.ts | 0 .../service/mitarbeiter_data_service.ts | 24 ++++++++++++++ .../service/qualifikationen_data_service.ts | 0 .../{ => data_layer}/service/skill.service.ts | 0 src/main.ts | 3 +- 11 files changed, 85 insertions(+), 25 deletions(-) create mode 100644 src/app/data_layer/model/employee.ts rename src/app/{ => data_layer}/service/auth.service.ts (100%) rename src/app/{ => data_layer}/service/employee.service.ts (100%) create mode 100644 src/app/data_layer/service/mitarbeiter_data_service.ts create mode 100644 src/app/data_layer/service/qualifikationen_data_service.ts rename src/app/{ => data_layer}/service/skill.service.ts (100%) diff --git a/src/app/app.component.html b/src/app/app.component.html index 0680b43..ce0f108 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -1 +1 @@ - + diff --git a/src/app/app.routes.ts b/src/app/app.routes.ts index 93c626a..c241f63 100644 --- a/src/app/app.routes.ts +++ b/src/app/app.routes.ts @@ -3,9 +3,8 @@ import { LoginViewComponent } from "./components/login-view/login-view.component import { MitarbeiterverwaltungViewComponent } from "./components/mitarbeiterverwaltung-view/mitarbeiterverwaltung-view.component"; import { EmployeeDetailComponent } from "./components/employee-detail/employee-detail.component"; import { QualifikatonBearbeitenViewComponent } from "./components/qualifikaton-bearbeiten-view/qualifikaton-bearbeiten-view.component"; -import { KeycloakAuthGuard } from "keycloak-angular"; -import { AuthGuard } from "./service/auth.service"; import { MitarbeiterBearbeitenViewComponent } from "./components/mitarbeiter-bearbeiten-view/mitarbeiter-bearbeiten-view.component"; +import { AuthGuard } from "./data_layer/service/auth.service"; export const routes: Routes = [ { diff --git a/src/app/components/mitarbeiterverwaltung-view/mitarbeiterverwaltung-view.component.html b/src/app/components/mitarbeiterverwaltung-view/mitarbeiterverwaltung-view.component.html index baea199..28e7cf1 100644 --- a/src/app/components/mitarbeiterverwaltung-view/mitarbeiterverwaltung-view.component.html +++ b/src/app/components/mitarbeiterverwaltung-view/mitarbeiterverwaltung-view.component.html @@ -1,28 +1,17 @@ +

Employees

+
diff --git a/src/app/components/mitarbeiterverwaltung-view/mitarbeiterverwaltung-view.component.ts b/src/app/components/mitarbeiterverwaltung-view/mitarbeiterverwaltung-view.component.ts index 3a8f197..a5baa2b 100644 --- a/src/app/components/mitarbeiterverwaltung-view/mitarbeiterverwaltung-view.component.ts +++ b/src/app/components/mitarbeiterverwaltung-view/mitarbeiterverwaltung-view.component.ts @@ -1,12 +1,34 @@ -import { Component } from '@angular/core'; +// MitarbeiterverwaltungViewComponent (components/mitarbeiterverwaltung-view.component.ts) +import { Component, OnInit } from '@angular/core'; +import { EmployeeService } from '../../data_layer/service/mitarbeiter_data_service'; +import { Employee } from '../../data_layer/model/employee'; +import { CommonModule } from '@angular/common'; +import { HttpClientModule } from '@angular/common/http'; @Component({ selector: 'app-mitarbeiterverwaltung-view', - standalone: true, - imports: [], templateUrl: './mitarbeiterverwaltung-view.component.html', - styleUrl: './mitarbeiterverwaltung-view.component.css' + styleUrls: ['./mitarbeiterverwaltung-view.component.css'], + standalone: true, + imports: [CommonModule, HttpClientModule] }) -export class MitarbeiterverwaltungViewComponent { +export class MitarbeiterverwaltungViewComponent implements OnInit { + employees: Employee[] = []; + constructor(private employeeService: EmployeeService) {} + + ngOnInit(): void { + this.fetchEmployees(); + } + + fetchEmployees(): void { + this.employeeService.getAllEmployees().subscribe( + (data: Employee[]) => { + this.employees = data; + }, + (error: any) => { + console.error('Error fetching employees', error); + } + ); + } } diff --git a/src/app/data_layer/model/employee.ts b/src/app/data_layer/model/employee.ts new file mode 100644 index 0000000..e930ff2 --- /dev/null +++ b/src/app/data_layer/model/employee.ts @@ -0,0 +1,13 @@ +export class Employee { + constructor( + public id?: number, + public lastName?: string, + public firstName?: string, + public street?: string, + public postcode?: string, + public city?: string, + public phone?: string, + public skills?: [] + ) { + } +} diff --git a/src/app/service/auth.service.ts b/src/app/data_layer/service/auth.service.ts similarity index 100% rename from src/app/service/auth.service.ts rename to src/app/data_layer/service/auth.service.ts diff --git a/src/app/service/employee.service.ts b/src/app/data_layer/service/employee.service.ts similarity index 100% rename from src/app/service/employee.service.ts rename to src/app/data_layer/service/employee.service.ts diff --git a/src/app/data_layer/service/mitarbeiter_data_service.ts b/src/app/data_layer/service/mitarbeiter_data_service.ts new file mode 100644 index 0000000..b11d57b --- /dev/null +++ b/src/app/data_layer/service/mitarbeiter_data_service.ts @@ -0,0 +1,24 @@ +// EmployeeService (data_layer/service/mitarbeiter_data_service.ts) +import { Injectable } from '@angular/core'; +import { HttpClient, HttpHeaders } from '@angular/common/http'; +import { Observable } from 'rxjs'; +import { Employee } from '../model/employee'; + +@Injectable({ + providedIn: 'root' +}) +export class EmployeeService { + private baseUrl = 'https://employee.szut.dev/api'; + private bearerToken = 'eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICIzUFQ0dldiNno5MnlQWk1EWnBqT1U0RjFVN0lwNi1ELUlqQWVGczJPbGU0In0'; + + constructor(private http: HttpClient) {} + + getAllEmployees(): Observable { + const endpoint = `${this.baseUrl}/employees`; + const headers = new HttpHeaders({ + 'Authorization': `Bearer ${this.bearerToken}`, + 'Content-Type': 'application/json' + }); + return this.http.get(endpoint, { headers }); + } +} diff --git a/src/app/data_layer/service/qualifikationen_data_service.ts b/src/app/data_layer/service/qualifikationen_data_service.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/app/service/skill.service.ts b/src/app/data_layer/service/skill.service.ts similarity index 100% rename from src/app/service/skill.service.ts rename to src/app/data_layer/service/skill.service.ts diff --git a/src/main.ts b/src/main.ts index 35b00f3..c684fa1 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,6 +1,7 @@ +import { HttpClientModule } from '@angular/common/http'; import { bootstrapApplication } from '@angular/platform-browser'; import { appConfig } from './app/app.config'; import { AppComponent } from './app/app.component'; -bootstrapApplication(AppComponent, appConfig) +bootstrapApplication(AppComponent , appConfig,) .catch((err) => console.error(err)); From 67179669c7f7bee659c3853806c5600b0e6a69e5 Mon Sep 17 00:00:00 2001 From: mehdiboudjoudi Date: Wed, 15 Jan 2025 12:14:40 +0100 Subject: [PATCH 2/9] BACK UP COMMIT --- .../mitarbeiterverwaltung-view.component.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/components/mitarbeiterverwaltung-view/mitarbeiterverwaltung-view.component.html b/src/app/components/mitarbeiterverwaltung-view/mitarbeiterverwaltung-view.component.html index 28e7cf1..29af3b5 100644 --- a/src/app/components/mitarbeiterverwaltung-view/mitarbeiterverwaltung-view.component.html +++ b/src/app/components/mitarbeiterverwaltung-view/mitarbeiterverwaltung-view.component.html @@ -13,7 +13,7 @@
-