Files
allowance_planner_2000/frontend/allowance-planner-v2/src/app/services/task.service.ts
2025-05-19 09:43:11 +02:00

37 lines
1012 B
TypeScript

import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs';
import { Task } from '../models/task';
@Injectable({
providedIn: 'root'
})
export class TaskService {
private url = 'http://localhost:8080/api';
constructor(private http: HttpClient) {}
getTaskList(): Observable<Array<Task>> {
return this.http.get<Task[]>(`${this.url}/tasks`);
}
getTaskById(taskId: number): Observable<Task> {
return this.http.get<Task>(`${this.url}/task/${taskId}`);
}
createTask(task: Partial<Task>) {
this.http.post(`${this.url}/tasks`, task).subscribe();
}
updateTask(id: number, task: Partial<Task>) {
this.http.put(`${this.url}/task/${id}`, task).subscribe();
}
completeTask(id: number) {
this.http.post(`${this.url}/task/${id}/complete`, {}).subscribe();
}
deleteTask(id: number) {
this.http.delete(`${this.url}/task/${id}`).subscribe();
}
}