Merge branch 'master' into deployment/cicd
This commit is contained in:
		@@ -9,6 +9,8 @@ export class BackendService {
 | 
			
		||||
 | 
			
		||||
    constructor(private httpClient: HttpClient) {}
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    // Tasks
 | 
			
		||||
    public getTasks(): Observable<HttpResponse<ScrumTask[]>> {
 | 
			
		||||
        const url = `${environment.apiUrl}/tasks`;
 | 
			
		||||
        return this.httpClient.get<ScrumTask[]>(url, { observe: 'response' });
 | 
			
		||||
@@ -35,8 +37,7 @@ export class BackendService {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    // Userstories
 | 
			
		||||
    public getUserstories(): Observable<HttpResponse<ScrumUserstory[]>> {
 | 
			
		||||
        const url = `${environment.apiUrl}/userstories`;
 | 
			
		||||
        return this.httpClient.get<ScrumUserstory[]>(url, { observe: 'response' });
 | 
			
		||||
@@ -62,6 +63,140 @@ export class BackendService {
 | 
			
		||||
        return this.httpClient.delete(url, {observe: 'response'});
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    // Sprints
 | 
			
		||||
    public getSprints(): Observable<HttpResponse<ScrumSprint[]>> {
 | 
			
		||||
        const url = `${environment.apiUrl}/sprints`;
 | 
			
		||||
        return this.httpClient.get<ScrumSprint[]>(url, { observe: 'response' });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public getSprint(id: number): Observable<HttpResponse<ScrumSprint>> {
 | 
			
		||||
        const url = `${environment.apiUrl}/sprints/${id}`;
 | 
			
		||||
        return this.httpClient.get<ScrumSprint>(url, { observe: 'response' });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public postSprint(sprint: ScrumSprint): Observable<HttpResponse<ScrumSprint>> {
 | 
			
		||||
        const url = `${environment.apiUrl}/sprints`;
 | 
			
		||||
        return this.httpClient.post<ScrumSprint>(url, sprint, { observe: 'response' });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public putSprint(sprint: ScrumSprint): Observable<HttpResponse<any>> {
 | 
			
		||||
        const url = `${environment.apiUrl}/sprints/${sprint.id}`;
 | 
			
		||||
        return this.httpClient.put(url, sprint, { observe: 'response' });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public deleteSprint(sprint: ScrumSprint): Observable<HttpResponse<any>> {
 | 
			
		||||
        const url = `${environment.apiUrl}/sprints/${sprint.id}`;
 | 
			
		||||
        return this.httpClient.delete(url, {observe: 'response'});
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    // Categories
 | 
			
		||||
    public getCategories(): Observable<HttpResponse<ScrumCategory[]>> {
 | 
			
		||||
        const url = `${environment.apiUrl}/categories`;
 | 
			
		||||
        return this.httpClient.get<ScrumCategory[]>(url, { observe: 'response' });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public getCategory(id: number): Observable<HttpResponse<ScrumCategory>> {
 | 
			
		||||
        const url = `${environment.apiUrl}/categories/${id}`;
 | 
			
		||||
        return this.httpClient.get<ScrumCategory>(url, { observe: 'response' });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public postCategory(category: ScrumCategory): Observable<HttpResponse<ScrumCategory>> {
 | 
			
		||||
        const url = `${environment.apiUrl}/categories`;
 | 
			
		||||
        return this.httpClient.post<ScrumCategory>(url, category, { observe: 'response' });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public putCategory(category: ScrumCategory): Observable<HttpResponse<any>> {
 | 
			
		||||
        const url = `${environment.apiUrl}/categories/${category.id}`;
 | 
			
		||||
        return this.httpClient.put(url, category, { observe: 'response' });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public deleteCategory(category: ScrumCategory): Observable<HttpResponse<any>> {
 | 
			
		||||
        const url = `${environment.apiUrl}/categories/${category.id}`;
 | 
			
		||||
        return this.httpClient.delete(url, { observe: 'response' });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    // Status
 | 
			
		||||
    public getAllStatus(): Observable<HttpResponse<ScrumStatus[]>> {
 | 
			
		||||
        const url = `${environment.apiUrl}/status`;
 | 
			
		||||
        return this.httpClient.get<ScrumStatus[]>(url, { observe: 'response' });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public getStatus(id: number): Observable<HttpResponse<ScrumStatus>> {
 | 
			
		||||
        const url = `${environment.apiUrl}/status/${id}`;
 | 
			
		||||
        return this.httpClient.get<ScrumStatus>(url, { observe: 'response' });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public postStatus(status: ScrumStatus): Observable<HttpResponse<ScrumStatus>> {
 | 
			
		||||
        const url = `${environment.apiUrl}/status`;
 | 
			
		||||
        return this.httpClient.post<ScrumStatus>(url, status, { observe: 'response' });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public putStatus(status: ScrumStatus): Observable<HttpResponse<any>> {
 | 
			
		||||
        const url = `${environment.apiUrl}/status/${status.id}`;
 | 
			
		||||
        return this.httpClient.put(url, status, { observe: 'response' });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public deleteStatus(status: ScrumStatus): Observable<HttpResponse<any>> {
 | 
			
		||||
        const url = `${environment.apiUrl}/status/${status.id}`;
 | 
			
		||||
        return this.httpClient.delete(url, { observe: 'response' });
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    
 | 
			
		||||
    // Users
 | 
			
		||||
    public getUsers(): Observable<HttpResponse<ScrumUser[]>> {
 | 
			
		||||
        const url = `${environment.apiUrl}/users`;
 | 
			
		||||
        return this.httpClient.get<ScrumUser[]>(url, { observe: 'response' });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public getUser(id: number): Observable<HttpResponse<ScrumUser>> {
 | 
			
		||||
        const url = `${environment.apiUrl}/users/${id}`;
 | 
			
		||||
        return this.httpClient.get<ScrumUser>(url, { observe: 'response' });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public postUser(user: ScrumUser): Observable<HttpResponse<ScrumUser>> {
 | 
			
		||||
        const url = `${environment.apiUrl}/users`;
 | 
			
		||||
        return this.httpClient.post<ScrumUser>(url, user, { observe: 'response' });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public putUser(user: ScrumUser): Observable<HttpResponse<any>> {
 | 
			
		||||
        const url = `${environment.apiUrl}/users/${user.id}`;
 | 
			
		||||
        return this.httpClient.put(url, user, { observe: 'response' });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public deleteUser(user: ScrumUser): Observable<HttpResponse<any>> {
 | 
			
		||||
        const url = `${environment.apiUrl}/users/${user.id}`;
 | 
			
		||||
        return this.httpClient.delete(url, { observe: 'response' });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    // Projects
 | 
			
		||||
    public getProjects(): Observable<HttpResponse<ScrumProject[]>> {
 | 
			
		||||
        const url = `${environment.apiUrl}/projects`;
 | 
			
		||||
        return this.httpClient.get<ScrumProject[]>(url, { observe: 'response' });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public getProject(id: number): Observable<HttpResponse<ScrumProject>> {
 | 
			
		||||
        const url = `${environment.apiUrl}/projects/${id}`;
 | 
			
		||||
        return this.httpClient.get<ScrumProject>(url, { observe: 'response' });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public postProject(project: ScrumProject): Observable<HttpResponse<ScrumProject>> {
 | 
			
		||||
        const url = `${environment.apiUrl}/projects`;
 | 
			
		||||
        return this.httpClient.post<ScrumProject>(url, project, { observe: 'response' });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public putProject(project: ScrumProject): Observable<HttpResponse<any>> {
 | 
			
		||||
        const url = `${environment.apiUrl}/projects/${project.id}`;
 | 
			
		||||
        return this.httpClient.put(url, project, { observe: 'response' });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public deleteProject(project: ScrumProject): Observable<HttpResponse<any>> {
 | 
			
		||||
        const url = `${environment.apiUrl}/projects/${project.id}`;
 | 
			
		||||
        return this.httpClient.delete(url, { observe: 'response' });
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export enum Priority {
 | 
			
		||||
@@ -127,6 +262,4 @@ export interface ScrumProject {
 | 
			
		||||
    id?: number;
 | 
			
		||||
    title: string;
 | 
			
		||||
    isprivate: boolean;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@@ -1,18 +1,23 @@
 | 
			
		||||
<div class="modal-content p-3">
 | 
			
		||||
    <div>
 | 
			
		||||
        <button (click) ="onClose()" type="button" class="close" aria-label="Close">
 | 
			
		||||
            <span aria-hidden="true">×</span>
 | 
			
		||||
        </button>
 | 
			
		||||
    </div>
 | 
			
		||||
    <form (ngSubmit)="onSubmit()">
 | 
			
		||||
        <div class="form-group">
 | 
			
		||||
            <label for="Title">Titel</label>
 | 
			
		||||
            <input type="text" class="form-control" id="Title" required name="title" [(ngModel)]="title">
 | 
			
		||||
            <input type="text" class="form-control" id="Title" required name="title" [(ngModel)]="task.title">
 | 
			
		||||
        </div>
 | 
			
		||||
 | 
			
		||||
        <div class="form-group">
 | 
			
		||||
            <label for="Inhalt">Inhalt</label>
 | 
			
		||||
            <input type="text" class="form-control" id="Content" required name="content" [(ngModel)]="content">
 | 
			
		||||
            <input type="text" class="form-control" id="Content" required name="content" [(ngModel)]="task.content">
 | 
			
		||||
        </div>
 | 
			
		||||
 | 
			
		||||
        <div class="form-group">
 | 
			
		||||
            <label for="Prio">Prio</label>
 | 
			
		||||
            <select class="form-control" id="prio" required name="prio" [(ngModel)]="prio">
 | 
			
		||||
            <select class="form-control" id="prio" required name="prio" [(ngModel)]="task.priority">
 | 
			
		||||
                <option value="low">Low</option>
 | 
			
		||||
                <option value="medium">Medium</option>
 | 
			
		||||
                <option value="high">High</option>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
import { Component, OnInit, Input } from '@angular/core';
 | 
			
		||||
import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
 | 
			
		||||
import { BackendService, ScrumTask, Priority } from '../services/backend.service';
 | 
			
		||||
import { BackendService, ScrumTask, Priority, ScrumStatus, ScrumCategory, ScrumUser, ScrumProject } from '../services/backend.service';
 | 
			
		||||
 | 
			
		||||
@Component({
 | 
			
		||||
    selector: 'app-task-form',
 | 
			
		||||
@@ -9,29 +9,25 @@ import { BackendService, ScrumTask, Priority } from '../services/backend.service
 | 
			
		||||
})
 | 
			
		||||
export class TaskFormComponent implements OnInit {
 | 
			
		||||
 | 
			
		||||
    public title: string;
 | 
			
		||||
    public content: string;
 | 
			
		||||
    public prio: Priority;
 | 
			
		||||
 | 
			
		||||
    @Input()
 | 
			
		||||
    public task: ScrumTask;
 | 
			
		||||
    private submitted: boolean;
 | 
			
		||||
    public editing: Boolean;
 | 
			
		||||
 | 
			
		||||
    constructor(private backendService: BackendService, private activeModalService: NgbActiveModal) { }
 | 
			
		||||
 | 
			
		||||
    ngOnInit(): void {
 | 
			
		||||
        if (this.task !== null && this.task !== undefined) {
 | 
			
		||||
            this.title = this.task.title;
 | 
			
		||||
            this.content = this.task.content;
 | 
			
		||||
            this.prio = this.task.priority;
 | 
			
		||||
        if (this.task === null || this.task === undefined) {
 | 
			
		||||
            this.task = {title: ""};
 | 
			
		||||
            this.editing = false;
 | 
			
		||||
        }
 | 
			
		||||
        else
 | 
			
		||||
        {
 | 
			
		||||
            this.editing = true;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    onSubmit() {
 | 
			
		||||
        if (this.task !== null && this.task !== undefined) {
 | 
			
		||||
            this.task.title = this.title;
 | 
			
		||||
            this.task.content = this.content;
 | 
			
		||||
            this.task.priority = this.prio;
 | 
			
		||||
        if (this.editing) {
 | 
			
		||||
            this.backendService.putTask(this.task).subscribe(response => {
 | 
			
		||||
                if (response.status > 399) {
 | 
			
		||||
                  alert('Fehler');
 | 
			
		||||
@@ -39,14 +35,16 @@ export class TaskFormComponent implements OnInit {
 | 
			
		||||
              });
 | 
			
		||||
        }
 | 
			
		||||
        else {
 | 
			
		||||
            this.task = { title: this.title, content: this.content, priority: this.prio };
 | 
			
		||||
            this.backendService.postTask(this.task).subscribe(response => {
 | 
			
		||||
                if (response.status > 399) {
 | 
			
		||||
                  alert('Fehler');
 | 
			
		||||
                }
 | 
			
		||||
              });
 | 
			
		||||
        }
 | 
			
		||||
        this.submitted = true;
 | 
			
		||||
        this.activeModalService.close(this.task);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    onClose(){
 | 
			
		||||
        this.activeModalService.dismiss(this.task);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,18 +1,23 @@
 | 
			
		||||
<div class="modal-content p-3">
 | 
			
		||||
    <div>
 | 
			
		||||
        <button (click) ="onClose()" type="button" class="close" aria-label="Close">
 | 
			
		||||
            <span aria-hidden="true">×</span>
 | 
			
		||||
        </button>
 | 
			
		||||
    </div>
 | 
			
		||||
    <form (ngSubmit)="onSubmit()">
 | 
			
		||||
        <div class="form-group">
 | 
			
		||||
            <label for="Title">Titel</label>
 | 
			
		||||
            <input type="text" class="form-control" id="Title" required name="title" [(ngModel)]="title">
 | 
			
		||||
            <input type="text" class="form-control" id="Title" required name="title" [(ngModel)]="userstory.title">
 | 
			
		||||
        </div>
 | 
			
		||||
 | 
			
		||||
        <div class="form-group">
 | 
			
		||||
            <label for="Inhalt">Inhalt</label>
 | 
			
		||||
            <input type="text" class="form-control" id="Content" required name="content" [(ngModel)]="content">
 | 
			
		||||
            <input type="text" class="form-control" id="Content" required name="content" [(ngModel)]="userstory.content">
 | 
			
		||||
        </div>
 | 
			
		||||
 | 
			
		||||
        <div class="form-group">
 | 
			
		||||
            <label for="Prio">Prio</label>
 | 
			
		||||
            <select class="form-control" id="prio" required name="prio" [(ngModel)]="prio">
 | 
			
		||||
            <select class="form-control" id="prio" required name="prio" [(ngModel)]="userstory.priority">
 | 
			
		||||
                <option value="low">Low</option>
 | 
			
		||||
                <option value="medium">Medium</option>
 | 
			
		||||
                <option value="high">High</option>
 | 
			
		||||
 
 | 
			
		||||
@@ -9,29 +9,26 @@ import { BackendService, ScrumUserstory, Priority } from '../services/backend.se
 | 
			
		||||
})
 | 
			
		||||
export class UserstoryFormComponent implements OnInit {
 | 
			
		||||
 | 
			
		||||
    public title: string;
 | 
			
		||||
    public content: string;
 | 
			
		||||
    public prio: Priority;
 | 
			
		||||
 | 
			
		||||
    @Input()
 | 
			
		||||
    public userstory: ScrumUserstory;
 | 
			
		||||
    private submitted: boolean;
 | 
			
		||||
    private editing: boolean;
 | 
			
		||||
 | 
			
		||||
    constructor(private backendService: BackendService, private activeModalService: NgbActiveModal) { }
 | 
			
		||||
 | 
			
		||||
    ngOnInit(): void {
 | 
			
		||||
        if (this.userstory !== null && this.userstory !== undefined) {
 | 
			
		||||
            this.title = this.userstory.title;
 | 
			
		||||
            this.content = this.userstory.content;
 | 
			
		||||
            this.prio = this.userstory.priority;
 | 
			
		||||
        if (this.userstory === null || this.userstory === undefined) {
 | 
			
		||||
            this.userstory = {title: ""};
 | 
			
		||||
            this.editing = false;
 | 
			
		||||
        }
 | 
			
		||||
        else
 | 
			
		||||
        {
 | 
			
		||||
            this.editing = true;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    onSubmit() {
 | 
			
		||||
        if (this.userstory !== null && this.userstory !== undefined) {
 | 
			
		||||
            this.userstory.title = this.title;
 | 
			
		||||
            this.userstory.content = this.content;
 | 
			
		||||
            this.userstory.priority = this.prio;
 | 
			
		||||
        if (this.editing) {
 | 
			
		||||
            this.backendService.putUserstory(this.userstory).subscribe(response => {
 | 
			
		||||
                if (response.status > 399) {
 | 
			
		||||
                  alert('Fehler');
 | 
			
		||||
@@ -39,14 +36,15 @@ export class UserstoryFormComponent implements OnInit {
 | 
			
		||||
              });
 | 
			
		||||
        }
 | 
			
		||||
        else {
 | 
			
		||||
            this.userstory = { title: this.title, content: this.content, priority: this.prio };
 | 
			
		||||
            this.backendService.postUserstory(this.userstory).subscribe(response => {
 | 
			
		||||
                if (response.status > 399) {
 | 
			
		||||
                  alert('Fehler');
 | 
			
		||||
                }
 | 
			
		||||
              });
 | 
			
		||||
        }
 | 
			
		||||
        this.submitted = true;
 | 
			
		||||
        this.activeModalService.close(this.userstory);
 | 
			
		||||
    }
 | 
			
		||||
    onClose(){
 | 
			
		||||
        this.activeModalService.dismiss(this.userstory);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user