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