From f2ad1ed73509097ca74029c52d7e9f7a0b773ca4 Mon Sep 17 00:00:00 2001
From: Sylvain Monmignon
Date: Tue, 22 Sep 2026 15:54:30 +0200
Subject: [PATCH] =?UTF-8?q?feat:=20r=C3=A9cup=C3=A9ration=20sommaire=20des?=
=?UTF-8?q?=20projets?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/model/Project.ts | 4 ++++
src/services/project.service.spec.ts | 15 +++++++++++++++
src/services/project.service.ts | 11 +++++++++++
src/view/pages/home/home.component.html | 8 ++++++++
src/view/pages/home/home.component.ts | 12 ++++++++++--
5 files changed, 48 insertions(+), 2 deletions(-)
create mode 100644 src/model/Project.ts
create mode 100644 src/services/project.service.spec.ts
create mode 100644 src/services/project.service.ts
diff --git a/src/model/Project.ts b/src/model/Project.ts
new file mode 100644
index 0000000..a9afea0
--- /dev/null
+++ b/src/model/Project.ts
@@ -0,0 +1,4 @@
+export interface Project{
+ id_project:number;
+ name_project:string;
+}
diff --git a/src/services/project.service.spec.ts b/src/services/project.service.spec.ts
new file mode 100644
index 0000000..3f9393e
--- /dev/null
+++ b/src/services/project.service.spec.ts
@@ -0,0 +1,15 @@
+import { TestBed } from '@angular/core/testing';
+import { ProjectService } from './project.service';
+
+describe('ProjectService', () => {
+ let service: ProjectService;
+
+ beforeEach(() => {
+ TestBed.configureTestingModule({});
+ service = TestBed.inject(ProjectService);
+ });
+
+ it('should be created', () => {
+ expect(service).toBeTruthy();
+ });
+});
diff --git a/src/services/project.service.ts b/src/services/project.service.ts
new file mode 100644
index 0000000..f481c96
--- /dev/null
+++ b/src/services/project.service.ts
@@ -0,0 +1,11 @@
+import { Service } from '@angular/core';
+import { BaseService } from './base.service';
+import { Observable } from 'rxjs';
+import { Project } from '../model/Project';
+
+@Service()
+export class ProjectService extends BaseService {
+ public getProjects(): Observable {
+ return this.get("http://127.0.0.1:8080/project");
+ }
+}
diff --git a/src/view/pages/home/home.component.html b/src/view/pages/home/home.component.html
index fd71866..c433b69 100644
--- a/src/view/pages/home/home.component.html
+++ b/src/view/pages/home/home.component.html
@@ -23,8 +23,16 @@
}
+
Section projets
+
+ @for (project of projects(); track project.id_project){
+
+ {{ project.name_project }}
+
+ }
+
diff --git a/src/view/pages/home/home.component.ts b/src/view/pages/home/home.component.ts
index 08dada7..9b90134 100644
--- a/src/view/pages/home/home.component.ts
+++ b/src/view/pages/home/home.component.ts
@@ -2,8 +2,10 @@ import { Component, inject, signal, WritableSignal } from '@angular/core';
import { RouterOutlet } from '@angular/router';
import { TaskService } from '../../../services/task.service';
import { Task } from '../../../model/Task';
-import { GroupService} from '../../../services/group.service';
+import { GroupService } from '../../../services/group.service';
import { Group } from '../../../model/Group';
+import { ProjectService } from '../../../services/project.service';
+import { Project } from '../../../model/Project';
@Component({
imports: [RouterOutlet],
@@ -14,17 +16,23 @@ import { Group } from '../../../model/Group';
export class Home {
private taskService: TaskService = inject(TaskService);
private groupService: GroupService = inject(GroupService);
+ private projectService: ProjectService = inject(ProjectService);
tasks: WritableSignal = signal([]);
groups: WritableSignal = signal([]);
+ projects: WritableSignal = signal([]);
public ngOnInit(): void {
this.taskService.getTasks().subscribe((response: Task[]): void => {
this.tasks.set(response);
});
- this.groupService.getGroups().subscribe((response:Group[]): void => {
+ this.groupService.getGroups().subscribe((response: Group[]): void => {
this.groups.set(response);
+ });
+
+ this.projectService.getProjects().subscribe((response: Project[]): void => {
+ this.projects.set(response);
})
}
}