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); }) } }