From 5d2bf5649368cbcb7c928b1c2e79b696b6c4a1ce Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Sat, 7 Sep 2024 01:41:19 +0200 Subject: [PATCH] =?UTF-8?q?feat(service):=20Unterst=C3=BCtzung=20von=20Que?= =?UTF-8?q?ry-Parametern=20im=20HistoryService=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Methode `getHistory` hinzugefügt, um das Abrufen von History-Daten mit optionalen Query-Parametern wie `envelopeId`, `referenceType`, `userReference`, `withSender` und `withReceiver` zu ermöglichen. - Methode `getHistoryAsync` implementiert, um History-Daten mit async/await abzurufen. - `Options`-Interface eingeführt, um optionale Query-Parameter für History-Anfragen zu definieren. --- .../src/app/services/history.service.ts | 31 ++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/services/history.service.ts b/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/services/history.service.ts index 9fd3c763..cfb508f3 100644 --- a/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/services/history.service.ts +++ b/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/services/history.service.ts @@ -1,5 +1,5 @@ import { Injectable, inject } from '@angular/core'; -import { HttpClient } from '@angular/common/http'; +import { HttpClient, HttpParams } from '@angular/common/http'; import { Observable, firstValueFrom } from 'rxjs'; import { API_URL } from '../tokens/index'; @@ -14,4 +14,33 @@ export class HistoryService { const api_url = inject(API_URL); this.url = `${api_url}/history`; } + + public getHistory(options?: Options): Observable { + let params = new HttpParams(); + if (options) { + if (options.envelopeId) + params = params.set('envelopeId', options.envelopeId.toString()); + if (options.referenceType) + params = params.set('referenceType', options.referenceType.toString()); + if (options.userReference) + params = params.set('userReference', options.userReference.toString()); + if (options.withReceiver) + params = params.set('withReceiver', options.withReceiver.toString()); + if (options.withSender) + params = params.set('withSender', options.withSender.toString()); + } + return this.http.get(this.url, { params }); + } + + public async getHistoryAsync(options?: Options): Promise { + return firstValueFrom(this.getHistory(options)); + } +} + +interface Options { + envelopeId?: number; + userReference?: string; + referenceType?: number; + withSender?: boolean; + withReceiver?: boolean; } \ No newline at end of file