52 lines
1.6 KiB
TypeScript
52 lines
1.6 KiB
TypeScript
import {Injectable} from '@angular/core';
|
|
import {HttpClient, HttpResponse} from '@angular/common/http';
|
|
import {Observable} from 'rxjs';
|
|
import {environment} from '../../environments/environment';
|
|
|
|
|
|
@Injectable()
|
|
export class BackendService {
|
|
|
|
constructor(private httpClient: HttpClient) {}
|
|
|
|
public getTasks(): Observable<HttpResponse<Task[]>> {
|
|
const url = `${environment.apiUrl}/tasks`;
|
|
return this.httpClient.get<Task[]>(url, { observe: 'response' });
|
|
}
|
|
|
|
public getTask(id: number): Observable<HttpResponse<Task>> {
|
|
const url = `${environment.apiUrl}/tasks/${id}`;
|
|
return this.httpClient.get<Task>(url, { observe: 'response' });
|
|
}
|
|
|
|
public postTask(task: Task): Observable<HttpResponse<Task>> {
|
|
const url = `${environment.apiUrl}/tasks`;
|
|
return this.httpClient.post<Task>(url, task, { observe: 'response' });
|
|
}
|
|
|
|
public putTask(task: Task): Observable<HttpResponse<any>> {
|
|
const url = `${environment.apiUrl}/tasks/${task.id}`;
|
|
return this.httpClient.put(url, task, { observe: 'response' });
|
|
}
|
|
|
|
public deleteTask(task: Task): Observable<HttpResponse<any>> {
|
|
const url = `${environment.apiUrl}/tasks/${task.id}`;
|
|
return this.httpClient.delete(url, {observe: 'response'});
|
|
}
|
|
|
|
}
|
|
|
|
//enum prio{high, middle, low}; --> noch nicht im backend
|
|
export interface Task {
|
|
id?: number;
|
|
title: string;
|
|
//prio; --> noch nicht im backend
|
|
content?: string;
|
|
status?: number;
|
|
category?: number;
|
|
assignedto?: number;
|
|
sprint?: number;
|
|
project?: number;
|
|
userstory?: number;
|
|
}
|