Archive und Logging

This commit is contained in:
Bastian Wagner
2026-02-19 16:19:46 +01:00
parent ef45e91141
commit 7bd6dfae27
28 changed files with 358 additions and 44 deletions

View File

@@ -1,6 +1,6 @@
import { HttpClient } from '@angular/common/http';
import { inject, Injectable } from '@angular/core';
import { BehaviorSubject, Observable } from 'rxjs';
import { BehaviorSubject, map, Observable } from 'rxjs';
import { IUser } from '../model/interface/user.interface';
import { IKey } from '../model/interface/key.interface';
import { ICylinder } from '../model/interface/cylinder.interface';
@@ -121,6 +121,20 @@ export class ApiService {
return this.http.get<ICylinder[]>('api/cylinder');
}
getCylinderArchive(): Promise<ICylinder[]> {
return new Promise<ICylinder[]>(resolve => {
this.http.get<ICylinder[]>('api/cylinder/archive').subscribe({
next: val => {
return resolve(val);
},
error: () => {
this.toast.error('Gelöschte Zylinder konnten nicht geladen werden');
return resolve([])
}
})
})
}
/**
* Aktualisiert die Zylinder im Behaviour Subject
* cylinders
@@ -140,8 +154,37 @@ export class ApiService {
})
}
deleteCylinder(cylinder: ICylinder): Observable<any> {
return this.http.delete(`api/cylinder/${cylinder.id}`)
deleteCylinder(cylinder: ICylinder): Promise<boolean> {
return new Promise<boolean>(resolve => {
this.http.delete(`api/cylinder/${cylinder.id}`).pipe(
this.toast.observe({
loading: `Lösche Zylinder ${cylinder.name}...`,
success: 'Zylinder gelöscht',
error: 'Es ist ein Fehler aufgetreten'
})
).subscribe({
next: () => resolve(true),
error: () => resolve(false),
complete: () => this.refreshCylinders()
})
})
}
restoreCylinder(id: string): Promise<boolean> {
return new Promise<boolean>(resolve => {
this.http.put(`api/cylinder/${id}/restore`, null).pipe(
this.toast.observe({
loading: 'Stelle wiederher...',
success: 'Zylinder wiederhergestellt',
error: 'Es ist ein Fehler aufgetreten'
})).subscribe({
next: () => resolve(true),
error: () => resolve(false),
complete: () => this.refreshCylinders()
})
})
}
deleteUser(id: string) {