Merge branch 'RED-7380' into 'master'

RED-7380: Remove _interface from dossier permissions update request

Closes RED-7380

See merge request redactmanager/red-ui!172
This commit is contained in:
Dan Percic 2023-11-07 12:45:13 +01:00
commit 5fe11d1fdb

View File

@ -6,14 +6,15 @@ import { switchMap, tap } from 'rxjs/operators';
import { PermissionsConfigurationMapService } from './permissions-configuration-map.service';
import { PermissionsMapService } from './permissions-map.service';
import { mapEach } from '@iqser/common-ui/lib/utils';
import { pick } from 'lodash-es';
@Injectable({
providedIn: 'root',
})
export class EntityPermissionsService extends GenericService<IPermissionsMapping> {
protected readonly _defaultModelPath = 'permissions';
readonly #permissionsConfigurationMapService = inject(PermissionsConfigurationMapService);
readonly #permissionsMapService = inject(PermissionsMapService);
protected readonly _defaultModelPath = 'permissions';
loadConfigFor(targetObject: string): Observable<PermissionsMapping[]> {
return this._http.get<IPermissionsMapping[]>(`/${this._serviceName}/${this._defaultModelPath}/${targetObject}/mapping`).pipe(
@ -35,7 +36,9 @@ export class EntityPermissionsService extends GenericService<IPermissionsMapping
async togglePermission(targetObject: string, targetPermission: string, changedPermission: string): Promise<PermissionsMapping[]> {
const config = this.#permissionsConfigurationMapService.get(targetObject);
const targetPermissionConfig = config.find(p => p.searchKey === targetPermission);
const permissions = this.#permissionsMapService.get(targetObject);
const permissions: IPermissionsMapping[] = this.#permissionsMapService
.get(targetObject)
.map(p => pick(p, ['targetPermission', 'mappedPermissions']));
const currentTargetPermissionValues = this.#permissionsMapService.get(targetObject, targetPermission);
const index = currentTargetPermissionValues.mappedPermissions.findIndex(p => p.name === changedPermission);
if (index !== -1) {