Überarbeitung des Stripe Prozesses

This commit is contained in:
2024-08-23 19:54:55 +02:00
parent 7a286e3519
commit 74d5f92aba
18 changed files with 164 additions and 68 deletions

View File

@@ -7,15 +7,22 @@ import { LoadingService } from '../services/loading.service';
@Injectable()
export class LoadingInterceptor implements HttpInterceptor {
constructor(private loadingService: LoadingService) {}
intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {
const hideLoading = request.headers.get('X-Hide-Loading') === 'true';
const requestId = `HTTP-${v4()}`;
this.loadingService.startLoading(requestId, request.url);
if (!hideLoading) {
this.loadingService.startLoading(requestId, request.url);
}
return next.handle(request).pipe(
tap({
finalize: () => this.loadingService.stopLoading(requestId), // Stoppt den Ladevorgang, wenn die Anfrage abgeschlossen ist
// Beachte, dass 'error' und 'complete' hier entfernt wurden, da 'finalize' in allen Fällen aufgerufen wird,
// egal ob die Anfrage erfolgreich war, einen Fehler geworfen hat oder abgeschlossen wurde.
finalize: () => {
if (!hideLoading) {
this.loadingService.stopLoading(requestId);
}
},
}),
);
}