RED-4963 - called new endpoint to enable/disable user

This commit is contained in:
Valentin Mihai 2022-08-11 14:49:46 +03:00
parent 19b4e93195
commit 93182a1706
4 changed files with 9 additions and 5 deletions

View File

@ -52,7 +52,7 @@
<div class="center cell">
<mat-slide-toggle
(toggleChange)="toggleActive(user)"
[checked]="user.hasAnyRole"
[checked]="user.active"
[disabled]="!canDeactivate(user)"
color="primary"
></mat-slide-toggle>

View File

@ -109,8 +109,7 @@ export class UserListingScreenComponent extends ListingComponent<User> implement
async toggleActive(user: User) {
this._loadingService.start();
const requestBody = { ...user, roles: user.hasAnyRole ? [] : ['RED_USER'] };
await firstValueFrom(this._userService.updateProfile(requestBody, user.id));
await firstValueFrom(this._userService.toggleStatus(user));
await this.#loadData();
}

View File

@ -1,6 +1,6 @@
import { inject, Injectable } from '@angular/core';
import { User } from '@red/domain';
import { IIqserUser, IqserUserService } from '@iqser/common-ui';
import { IIqserUser, IqserUserService, List, QueryParam } from '@iqser/common-ui';
@Injectable({
providedIn: 'root',
@ -28,6 +28,11 @@ export class UserService extends IqserUserService<IIqserUser, User> {
return super.getAll(url);
}
toggleStatus(user: User) {
const queryParams: List<QueryParam> = [{ key: 'isActive', value: !user.active }];
return this._post(null, `${this._defaultModelPath}/profile/activate/${user.userId}`, queryParams);
}
protected readonly _rolesFilter = (role: string) => role.startsWith('RED_');
}

@ -1 +1 @@
Subproject commit 7d55373093eeb3301487998fd6a34487d8fc5101
Subproject commit 2698e62e41a75d0515d6e17ce16dc0a519ee7e3b