51 lines
1.4 KiB
TypeScript
51 lines
1.4 KiB
TypeScript
import {Injectable} from '@angular/core';
|
|
import {HttpClient} from '@angular/common/http';
|
|
import {Observable} from 'rxjs';
|
|
import {environment} from '../../environments/environment';
|
|
|
|
|
|
@Injectable()
|
|
export class BackendService {
|
|
|
|
constructor(private httpClient: HttpClient) {}
|
|
|
|
public getTasks(): Observable<Task[]> {
|
|
const url = `${environment.apiUrl}/tasks`;
|
|
return this.httpClient.get<Task[]>(url);
|
|
}
|
|
|
|
public getTask(id: number): Observable<Task> {
|
|
const url = `${environment.apiUrl}/tasks/${id}`;
|
|
return this.httpClient.get<Task>(url);
|
|
}
|
|
|
|
public postTask(task: Task): Observable<Task> {
|
|
const url = `${environment.apiUrl}/tasks`;
|
|
return this.httpClient.post<Task>(url, task);
|
|
}
|
|
|
|
public putTask(task: Task): Observable<any> {
|
|
const url = `${environment.apiUrl}/tasks/${task.id}`;
|
|
return this.httpClient.put(url, task);
|
|
}
|
|
|
|
public deleteTask(task: Task): Observable<any> {
|
|
const url = `${environment.apiUrl}/tasks/${task.id}`;
|
|
return this.httpClient.delete(url);
|
|
}
|
|
|
|
}
|
|
|
|
//enum prio{high, middle, low}; --> noch nicht im backend
|
|
export class Task{
|
|
id: number;
|
|
titel: string;
|
|
//prio; --> noch nicht im backend
|
|
inhalt: string;
|
|
status: number;
|
|
kategorie: number;
|
|
bearbeiter: number;
|
|
zugeordneterSprint: number;
|
|
projekt: number;
|
|
userstory: number;}
|