RED-6774 - added change legal basis, recategorize, resize and force actions for reviewer
This commit is contained in:
parent
ec307c8bd2
commit
fd9d1e06d5
@ -42,23 +42,22 @@ export class AnnotationPermissions {
|
||||
|
||||
const summedPermissions: AnnotationPermissions = new AnnotationPermissions();
|
||||
const canAddRedaction = permissionsService.has(Roles.redactions.write);
|
||||
const canDoAnyApproverAction = canAddRedaction && isApprover;
|
||||
|
||||
for (const annotation of annotations) {
|
||||
const permissions: AnnotationPermissions = new AnnotationPermissions();
|
||||
const annotationEntity = entities.find(entity => entity.type === annotation.type);
|
||||
|
||||
permissions.canUndo = canUndo(annotation, isApprover);
|
||||
permissions.canForceHint = canForceHint(annotation, canDoAnyApproverAction);
|
||||
permissions.canForceRedaction = canForceRedaction(annotation, canDoAnyApproverAction);
|
||||
permissions.canForceHint = canForceHint(annotation, canAddRedaction);
|
||||
permissions.canForceRedaction = canForceRedaction(annotation, canAddRedaction);
|
||||
permissions.canAcceptRecommendation = canAcceptRecommendation(annotation);
|
||||
permissions.canMarkAsFalsePositive = canMarkAsFalsePositive(annotation, annotationEntity);
|
||||
permissions.canRemoveOnlyHere = canRemoveOnlyHere(annotation, canAddRedaction);
|
||||
permissions.canRemoveFromDictionary = canRemoveFromDictionary(annotation);
|
||||
permissions.canRemoveRedaction = canRemoveRedaction(annotations, permissions);
|
||||
permissions.canChangeLegalBasis = canChangeLegalBasis(annotation, canDoAnyApproverAction);
|
||||
permissions.canRecategorizeImage = canRecategorizeImage(annotation, canDoAnyApproverAction);
|
||||
permissions.canResizeAnnotation = canResizeAnnotation(annotation, canDoAnyApproverAction);
|
||||
permissions.canChangeLegalBasis = canChangeLegalBasis(annotation, canAddRedaction);
|
||||
permissions.canRecategorizeImage = canRecategorizeImage(annotation, canAddRedaction);
|
||||
permissions.canResizeAnnotation = canResizeAnnotation(annotation, canAddRedaction);
|
||||
|
||||
summedPermissions._merge(permissions);
|
||||
}
|
||||
|
||||
@ -79,19 +79,11 @@ export class ManualRedactionService extends GenericService<IManualAddResponse> {
|
||||
}
|
||||
|
||||
changeLegalBasis(body: List<ILegalBasisChangeRequest>, dossierId: string, fileId: string) {
|
||||
if (this._permissionsService.isApprover(this.#dossier(dossierId))) {
|
||||
return this.legalBasisChange(body, dossierId, fileId).pipe(this.#showToast('change-legal-basis'));
|
||||
}
|
||||
|
||||
return this.requestLegalBasisChange(body, dossierId, fileId).pipe(this.#showToast('request-change-legal-basis'));
|
||||
return this.legalBasisChange(body, dossierId, fileId).pipe(this.#showToast('change-legal-basis'));
|
||||
}
|
||||
|
||||
recategorizeImage(body: List<IRecategorizationRequest>, dossierId: string, fileId: string) {
|
||||
if (this._permissionsService.isApprover(this.#dossier(dossierId))) {
|
||||
return this.recategorize(body, dossierId, fileId).pipe(this.#showToast('recategorize-image'));
|
||||
}
|
||||
|
||||
return this.requestRecategorize(body, dossierId, fileId).pipe(this.#showToast('request-image-recategorization'));
|
||||
return this.recategorize(body, dossierId, fileId).pipe(this.#showToast('recategorize-image'));
|
||||
}
|
||||
|
||||
addAnnotation(
|
||||
@ -112,15 +104,7 @@ export class ManualRedactionService extends GenericService<IManualAddResponse> {
|
||||
}
|
||||
|
||||
bulkForce(requests: List<ILegalBasisChangeRequest>, dossierId: string, fileId: string, isIgnoredHint = false) {
|
||||
if (this._permissionsService.isApprover(this.#dossier(dossierId))) {
|
||||
return this.forceRedaction(requests, dossierId, fileId).pipe(
|
||||
this.#showToast(!isIgnoredHint ? 'force-redaction' : 'force-hint'),
|
||||
);
|
||||
}
|
||||
|
||||
return this.forceRequest(requests, dossierId, fileId).pipe(
|
||||
this.#showToast(!isIgnoredHint ? 'request-force-redaction' : 'request-force-hint'),
|
||||
);
|
||||
return this.forceRedaction(requests, dossierId, fileId).pipe(this.#showToast(!isIgnoredHint ? 'force-redaction' : 'force-hint'));
|
||||
}
|
||||
|
||||
undoRequest(annotationIds: List, dossierId: string, fileId: string, modifyDictionary = false) {
|
||||
@ -136,11 +120,7 @@ export class ManualRedactionService extends GenericService<IManualAddResponse> {
|
||||
}
|
||||
|
||||
resizeOrSuggestResize(requests: List<IResizeRequest>, dossierId: string, fileId: string) {
|
||||
if (this._permissionsService.isApprover(this.#dossier(dossierId))) {
|
||||
return this.resize(requests, dossierId, fileId);
|
||||
}
|
||||
|
||||
return this.requestResize(requests, dossierId, fileId);
|
||||
return this.resize(requests, dossierId, fileId);
|
||||
}
|
||||
|
||||
removeRedaction(body: List<IRemoveRedactionRequest>, dossierId: string, fileId: string, removeFromDictionary = false, isHint = false) {
|
||||
@ -210,18 +190,10 @@ export class ManualRedactionService extends GenericService<IManualAddResponse> {
|
||||
return this._post(body, `${this.#bulkRedaction}/force/${dossierId}/${fileId}`).pipe(this.#log('Force redaction', body));
|
||||
}
|
||||
|
||||
forceRequest(body: List<ILegalBasisChangeRequest>, dossierId: string, fileId: string) {
|
||||
return this._post(body, `${this.#bulkRequest}/force/${dossierId}/${fileId}`).pipe(this.#log('Request force redaction', body));
|
||||
}
|
||||
|
||||
resize(body: List<IResizeRequest>, dossierId: string, fileId: string) {
|
||||
return this._post(body, `${this.#bulkRedaction}/resize/${dossierId}/${fileId}`).pipe(this.#log('Resize', body));
|
||||
}
|
||||
|
||||
requestResize(body: List<IResizeRequest>, dossierId: string, fileId: string) {
|
||||
return this._post(body, `${this.#bulkRequest}/resize/${dossierId}/${fileId}`).pipe(this.#log('Request resize', body));
|
||||
}
|
||||
|
||||
#log(action: string, body: unknown) {
|
||||
return tap(response => {
|
||||
this._logger.info(`[MANUAL-REDACTIONS] ${action} `, body, response);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user