All files / app/services/counts history-counts.service.ts

100% Statements 13/13
100% Branches 0/0
100% Functions 4/4
100% Lines 11/11

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 282x 2x 2x                 2x 4x 4x   4x 4x     2x     1x 1x        
import { CountsApiService } from './counts-api.service';
import { inject, Injectable, signal } from '@angular/core';
import { LoggerService } from '@drevo-web/core';
 
export interface HistoryCounts {
    readonly pendingArticles: number;
    readonly pendingNews: number;
    readonly pendingPictures: number;
}
 
@Injectable({ providedIn: 'root' })
export class HistoryCountsService {
    private readonly countsApiService = inject(CountsApiService);
    private readonly logger = inject(LoggerService).withContext('HistoryCountsService');
 
    private readonly _counts = signal<HistoryCounts | undefined>(undefined);
    readonly counts = this._counts.asReadonly();
 
    loadCounts(): void {
        this.countsApiService
            .getHistoryCounts()
            .subscribe({
                next: counts => this._counts.set(counts),
                error: error => this.logger.error('Failed to load history counts', error),
            });
    }
}