RED-9580 - use new user stats endpoint for everything related to User Management
This commit is contained in:
parent
b225917a51
commit
bfe409305c
@ -22,6 +22,8 @@ import { ConfigureCertificateDialogComponent } from '../dialogs/configure-digita
|
|||||||
import { EditColorDialogComponent } from '../dialogs/edit-color-dialog/edit-color-dialog.component';
|
import { EditColorDialogComponent } from '../dialogs/edit-color-dialog/edit-color-dialog.component';
|
||||||
import { SmtpAuthDialogComponent } from '../dialogs/smtp-auth-dialog/smtp-auth-dialog.component';
|
import { SmtpAuthDialogComponent } from '../dialogs/smtp-auth-dialog/smtp-auth-dialog.component';
|
||||||
import { UploadDictionaryDialogComponent } from '../dialogs/upload-dictionary-dialog/upload-dictionary-dialog.component';
|
import { UploadDictionaryDialogComponent } from '../dialogs/upload-dictionary-dialog/upload-dictionary-dialog.component';
|
||||||
|
import { UserStatsService } from './user-stats.service';
|
||||||
|
import { result } from 'lodash-es';
|
||||||
|
|
||||||
type DialogType =
|
type DialogType =
|
||||||
| 'confirm'
|
| 'confirm'
|
||||||
@ -73,12 +75,16 @@ export class AdminDialogService extends DialogService<DialogType> {
|
|||||||
private readonly _activeDossiersService: ActiveDossiersService,
|
private readonly _activeDossiersService: ActiveDossiersService,
|
||||||
private readonly _loadingService: LoadingService,
|
private readonly _loadingService: LoadingService,
|
||||||
private readonly _userService: UserService,
|
private readonly _userService: UserService,
|
||||||
|
private readonly _userStatsService: UserStatsService,
|
||||||
private readonly _reportTemplateService: ReportTemplateService,
|
private readonly _reportTemplateService: ReportTemplateService,
|
||||||
) {
|
) {
|
||||||
super(_dialog);
|
super(_dialog);
|
||||||
}
|
}
|
||||||
|
|
||||||
deleteUsers(userIds: string[], cb?: () => Promise<void> | void): void {
|
async deleteUsers(userIds: string[], cb?: () => Promise<void> | void): Promise<void> {
|
||||||
|
// const result = await firstValueFrom(this._userStatsService.getFor(userIds));
|
||||||
|
// console.log('result: ', result);
|
||||||
|
|
||||||
const data: IConfirmationDialogData = {
|
const data: IConfirmationDialogData = {
|
||||||
title: _('confirm-delete-users.title'),
|
title: _('confirm-delete-users.title'),
|
||||||
question: _('confirm-delete-users.warning'),
|
question: _('confirm-delete-users.warning'),
|
||||||
|
|||||||
@ -0,0 +1,10 @@
|
|||||||
|
import { StatsService } from '@iqser/common-ui';
|
||||||
|
import { IUserStats, USER_ID, UserStats } from '@red/domain';
|
||||||
|
import { Injectable } from '@angular/core';
|
||||||
|
|
||||||
|
@Injectable({ providedIn: 'root' })
|
||||||
|
export class UserStatsService extends StatsService<UserStats, IUserStats> {
|
||||||
|
protected readonly _primaryKey = USER_ID;
|
||||||
|
protected readonly _entityClass = UserStats;
|
||||||
|
protected readonly _defaultModelPath = 'user-stats';
|
||||||
|
}
|
||||||
@ -1,6 +1,6 @@
|
|||||||
import { inject, Injectable } from '@angular/core';
|
import { inject, Injectable } from '@angular/core';
|
||||||
import { StatsService } from '@iqser/common-ui';
|
import { StatsService } from '@iqser/common-ui';
|
||||||
import { DashboardStats, DOSSIER_ID, DossierStats, IDossierStats } from '@red/domain';
|
import { DOSSIER_ID, DossierStats, IDossierStats } from '@red/domain';
|
||||||
import { Observable, of } from 'rxjs';
|
import { Observable, of } from 'rxjs';
|
||||||
import { UserService } from '@users/user.service';
|
import { UserService } from '@users/user.service';
|
||||||
import { NGXLogger } from 'ngx-logger';
|
import { NGXLogger } from 'ngx-logger';
|
||||||
|
|||||||
1
libs/red-domain/src/lib/users/constants.ts
Normal file
1
libs/red-domain/src/lib/users/constants.ts
Normal file
@ -0,0 +1 @@
|
|||||||
|
export const USER_ID = 'userId';
|
||||||
@ -1,3 +1,6 @@
|
|||||||
export * from './user.model';
|
export * from './user.model';
|
||||||
export * from './profile';
|
export * from './profile';
|
||||||
export * from './types';
|
export * from './types';
|
||||||
|
export * from './user-stats';
|
||||||
|
export * from './user-stats.model';
|
||||||
|
export * from './constants';
|
||||||
|
|||||||
13
libs/red-domain/src/lib/users/user-stats.model.ts
Normal file
13
libs/red-domain/src/lib/users/user-stats.model.ts
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
import { IUserStats } from './user-stats';
|
||||||
|
|
||||||
|
export class UserStats implements IUserStats {
|
||||||
|
readonly numberOfDossierMemberships: number;
|
||||||
|
readonly numberOfDossierOwnerships: number;
|
||||||
|
readonly numberOfAssignedFiles: number;
|
||||||
|
|
||||||
|
constructor(userStats: IUserStats) {
|
||||||
|
this.numberOfAssignedFiles = userStats.numberOfAssignedFiles;
|
||||||
|
this.numberOfDossierOwnerships = userStats.numberOfAssignedFiles;
|
||||||
|
this.numberOfAssignedFiles = userStats.numberOfAssignedFiles;
|
||||||
|
}
|
||||||
|
}
|
||||||
5
libs/red-domain/src/lib/users/user-stats.ts
Normal file
5
libs/red-domain/src/lib/users/user-stats.ts
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
export interface IUserStats {
|
||||||
|
numberOfDossierMemberships: number;
|
||||||
|
numberOfDossierOwnerships: number;
|
||||||
|
numberOfAssignedFiles: number;
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user