From 3ddedbbcf383b6b7117d41f9c2835c799d143e0e Mon Sep 17 00:00:00 2001 From: Dan Percic Date: Mon, 22 Nov 2021 10:06:38 +0200 Subject: [PATCH] fix undefined body & add loadAll overload --- src/lib/listing/services/entities.service.ts | 1 + src/lib/services/generic.service.ts | 12 +++++------- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/lib/listing/services/entities.service.ts b/src/lib/listing/services/entities.service.ts index 8348d5f..ccb483d 100644 --- a/src/lib/listing/services/entities.service.ts +++ b/src/lib/listing/services/entities.service.ts @@ -46,6 +46,7 @@ export class EntitiesService extends GenericService< ); } + loadAll(...args: unknown[]): Observable; loadAll(modelPath = this._defaultModelPath, queryParams?: List): Observable { return this.getAll(modelPath, queryParams).pipe( mapEach(entity => new this._entityClass(entity)), diff --git a/src/lib/services/generic.service.ts b/src/lib/services/generic.service.ts index f6ae603..a3ca738 100644 --- a/src/lib/services/generic.service.ts +++ b/src/lib/services/generic.service.ts @@ -23,15 +23,13 @@ export interface QueryParam { */ export abstract class GenericService { protected readonly _http = this._injector.get(HttpClient); - private _lastCheckedForChanges = new Map([[ROOT_CHANGES_KEY, '0']]); + private readonly _lastCheckedForChanges = new Map([[ROOT_CHANGES_KEY, '0']]); protected constructor(protected readonly _injector: Injector, protected readonly _defaultModelPath: string) {} get(): Observable; - // eslint-disable-next-line @typescript-eslint/unified-signatures get(id: string, ...args: unknown[]): Observable; - // eslint-disable-next-line @typescript-eslint/no-unused-vars get(id?: string, ...args: unknown[]): Observable { return id ? this._getOne([id]) : this.getAll(); @@ -86,10 +84,10 @@ export abstract class GenericService { hasChanges$(key = ROOT_CHANGES_KEY): Observable { const modelPath = key === ROOT_CHANGES_KEY ? '' : `${key}/`; - return this._post<{ value: boolean }>( - { value: this._lastCheckedForChanges.get(key) }, - `${this._defaultModelPath}/${modelPath}changes`, - ).pipe(map((res: { value: boolean }) => res.value)); + const body = { value: this._lastCheckedForChanges.get(key) ?? '0' }; + return this._post<{ value: boolean }>(body, `${this._defaultModelPath}/${modelPath}changes`).pipe( + map((res: { value: boolean }) => res.value), + ); } @Validate()