RED-5705: use deny directive

This commit is contained in:
Dan Percic 2022-12-19 12:55:43 +02:00
parent 43a540a295
commit 6b57552048
20 changed files with 45 additions and 47 deletions

View File

@ -1,4 +1,4 @@
<iqser-help-mode *ngIf="!permissionsService.has(roles.getRss)"></iqser-help-mode> <iqser-help-mode *deny="roles.getRss"></iqser-help-mode>
<div class="top-bar"> <div class="top-bar">
<ng-template #menuPlaceholder> <ng-template #menuPlaceholder>
@ -27,7 +27,7 @@
[placeholder]="'search.placeholder' | translate" [placeholder]="'search.placeholder' | translate"
></redaction-spotlight-search> ></redaction-spotlight-search>
<iqser-help-button [iqserHelpMode]="'help_mode'" *ngIf="!permissionsService.has(roles.getRss)"></iqser-help-button> <iqser-help-button *deny="roles.getRss" [iqserHelpMode]="'help_mode'"></iqser-help-button>
<redaction-notifications [iqserHelpMode]="'open_notifications'"></redaction-notifications> <redaction-notifications [iqserHelpMode]="'open_notifications'"></redaction-notifications>
</div> </div>

View File

@ -96,8 +96,8 @@
{{ 'add-edit-clone-dossier-template.save' | translate }} {{ 'add-edit-clone-dossier-template.save' | translate }}
</button> </button>
<iqser-help-button <iqser-help-button
*deny="roles.getRss; if: !!dossierTemplate"
helpButtonKey="edit_clone_delete_dossier_templates" helpButtonKey="edit_clone_delete_dossier_templates"
*ngIf="dossierTemplate && !permissionsService.has(roles.getRss)"
></iqser-help-button> ></iqser-help-button>
</div> </div>
</form> </form>

View File

@ -4,7 +4,7 @@ import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { applyIntervalConstraints } from '@utils/date-inputs-utils'; import { applyIntervalConstraints } from '@utils/date-inputs-utils';
import { downloadTypesTranslations } from '@translations/download-types-translations'; import { downloadTypesTranslations } from '@translations/download-types-translations';
import { DossierTemplatesService } from '@services/dossier-templates/dossier-templates.service'; import { DossierTemplatesService } from '@services/dossier-templates/dossier-templates.service';
import { BaseDialogComponent, IqserPermissionsService } from '@iqser/common-ui'; import { BaseDialogComponent } from '@iqser/common-ui';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { DossierTemplate, DownloadFileType, IDossierTemplate } from '@red/domain'; import { DossierTemplate, DownloadFileType, IDossierTemplate } from '@red/domain';
import { HttpStatusCode } from '@angular/common/http'; import { HttpStatusCode } from '@angular/common/http';
@ -37,7 +37,6 @@ export class AddEditCloneDossierTemplateDialogComponent extends BaseDialogCompon
private _lastValidTo: Dayjs; private _lastValidTo: Dayjs;
constructor( constructor(
readonly permissionsService: IqserPermissionsService,
private readonly _dossierTemplatesService: DossierTemplatesService, private readonly _dossierTemplatesService: DossierTemplatesService,
protected readonly _dialogRef: MatDialogRef<AddEditCloneDossierTemplateDialogComponent>, protected readonly _dialogRef: MatDialogRef<AddEditCloneDossierTemplateDialogComponent>,
@Inject(MAT_DIALOG_DATA) readonly data: EditCloneTemplateData, @Inject(MAT_DIALOG_DATA) readonly data: EditCloneTemplateData,

View File

@ -16,7 +16,7 @@
<button (click)="save()" [disabled]="disabled" color="primary" mat-flat-button type="button"> <button (click)="save()" [disabled]="disabled" color="primary" mat-flat-button type="button">
{{ 'add-entity.save' | translate }} {{ 'add-entity.save' | translate }}
</button> </button>
<iqser-help-button helpButtonKey="create_new_entity" *ngIf="!permissionsService.has(roles.getRss)"></iqser-help-button> <iqser-help-button *deny="roles.getRss" helpButtonKey="create_new_entity"></iqser-help-button>
</div> </div>
<iqser-circle-button (click)="close()" class="dialog-close" icon="iqser:close"></iqser-circle-button> <iqser-circle-button (click)="close()" class="dialog-close" icon="iqser:close"></iqser-circle-button>

View File

@ -1,7 +1,7 @@
import { ChangeDetectionStrategy, Component, Inject, ViewChild } from '@angular/core'; import { ChangeDetectionStrategy, Component, Inject, ViewChild } from '@angular/core';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { AddEditEntityComponent } from '@shared/components/add-edit-entity/add-edit-entity.component'; import { AddEditEntityComponent } from '@shared/components/add-edit-entity/add-edit-entity.component';
import { BaseDialogComponent, IqserPermissionsService } from '@iqser/common-ui'; import { BaseDialogComponent } from '@iqser/common-ui';
import { ROLES } from '@users/roles'; import { ROLES } from '@users/roles';
interface DialogData { interface DialogData {
@ -21,7 +21,6 @@ export class AddEntityDialogComponent extends BaseDialogComponent {
constructor( constructor(
protected readonly _dialogRef: MatDialogRef<AddEntityDialogComponent>, protected readonly _dialogRef: MatDialogRef<AddEntityDialogComponent>,
readonly permissionsService: IqserPermissionsService,
@Inject(MAT_DIALOG_DATA) private readonly _data: DialogData, @Inject(MAT_DIALOG_DATA) private readonly _data: DialogData,
) { ) {
super(_dialogRef, false); super(_dialogRef, false);

View File

@ -23,7 +23,8 @@
</button> </button>
<div (click)="revert()" [translate]="'entity.info.actions.revert'" class="all-caps-label cancel"></div> <div (click)="revert()" [translate]="'entity.info.actions.revert'" class="all-caps-label cancel"></div>
<iqser-help-button helpButtonKey="edit_delete_entities" *ngIf="!iqserPermissionsService.has(roles.getRss)"></iqser-help-button>
<iqser-help-button *deny="roles.getRss" helpButtonKey="edit_delete_entities"></iqser-help-button>
</div> </div>
</div> </div>
</div> </div>

View File

@ -5,7 +5,7 @@ import { ActivatedRoute } from '@angular/router';
import { getCurrentUser } from '@users/user.service'; import { getCurrentUser } from '@users/user.service';
import { PermissionsService } from '@services/permissions.service'; import { PermissionsService } from '@services/permissions.service';
import { AddEditEntityComponent } from '@shared/components/add-edit-entity/add-edit-entity.component'; import { AddEditEntityComponent } from '@shared/components/add-edit-entity/add-edit-entity.component';
import { IqserEventTarget, IqserPermissionsService } from '@iqser/common-ui'; import { IqserEventTarget } from '@iqser/common-ui';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { ROLES } from '@users/roles'; import { ROLES } from '@users/roles';
@ -22,12 +22,7 @@ export class EntityInfoComponent {
readonly roles = ROLES; readonly roles = ROLES;
@ViewChild(AddEditEntityComponent) private readonly _addEditEntityComponent: AddEditEntityComponent; @ViewChild(AddEditEntityComponent) private readonly _addEditEntityComponent: AddEditEntityComponent;
constructor( constructor(route: ActivatedRoute, dictionariesMapService: DictionariesMapService, readonly permissionsService: PermissionsService) {
route: ActivatedRoute,
dictionariesMapService: DictionariesMapService,
readonly iqserPermissionsService: IqserPermissionsService,
readonly permissionsService: PermissionsService,
) {
this.dossierTemplateId = route.parent.snapshot.paramMap.get(DOSSIER_TEMPLATE_ID); this.dossierTemplateId = route.parent.snapshot.paramMap.get(DOSSIER_TEMPLATE_ID);
const entityType = route.parent.snapshot.paramMap.get(ENTITY_TYPE); const entityType = route.parent.snapshot.paramMap.get(ENTITY_TYPE);
this.entity$ = dictionariesMapService.watch$(this.dossierTemplateId, entityType); this.entity$ = dictionariesMapService.watch$(this.dossierTemplateId, entityType);

View File

@ -14,6 +14,7 @@
{{ 'annotation.pending' | translate }} {{ 'annotation.pending' | translate }}
</strong> </strong>
</div> </div>
<div *ngIf="annotation.entity"> <div *ngIf="annotation.entity">
<strong> <strong>
<span>{{ annotation.descriptor | translate }}</span <span>{{ annotation.descriptor | translate }}</span
@ -21,12 +22,15 @@
</strong> </strong>
{{ annotation.entity.label }} {{ annotation.entity.label }}
</div> </div>
<div *ngIf="annotation.shortContent && !annotation.isHint && !iqserPermissionsService.has(roles.getRss)">
<div *deny="roles.getRss; if: annotation.shortContent && !annotation.isHint">
<strong><span translate="content"></span>: </strong>{{ annotation.shortContent }} <strong><span translate="content"></span>: </strong>{{ annotation.shortContent }}
</div> </div>
<div *ngIf="annotation.isEarmark"> <div *ngIf="annotation.isEarmark">
<strong><span translate="color"></span>: </strong>{{ annotation.color }} <strong><span translate="color"></span>: </strong>{{ annotation.color }}
</div> </div>
<div *ngIf="annotation.isEarmark"> <div *ngIf="annotation.isEarmark">
<strong><span translate="size"></span>: </strong>{{ annotation.width }}x{{ annotation.height }} px <strong><span translate="size"></span>: </strong>{{ annotation.width }}x{{ annotation.height }} px
</div> </div>

View File

@ -3,7 +3,6 @@ import { AnnotationWrapper } from '@models/file/annotation.wrapper';
import { MultiSelectService } from '../../services/multi-select.service'; import { MultiSelectService } from '../../services/multi-select.service';
import { annotationTypesTranslations } from '@translations/annotation-types-translations'; import { annotationTypesTranslations } from '@translations/annotation-types-translations';
import { ROLES } from '@users/roles'; import { ROLES } from '@users/roles';
import { IqserPermissionsService } from '@iqser/common-ui';
@Component({ @Component({
selector: 'redaction-annotation-card', selector: 'redaction-annotation-card',
@ -13,9 +12,9 @@ import { IqserPermissionsService } from '@iqser/common-ui';
}) })
export class AnnotationCardComponent { export class AnnotationCardComponent {
readonly roles = ROLES; readonly roles = ROLES;
annotationTypesTranslations = annotationTypesTranslations; readonly annotationTypesTranslations = annotationTypesTranslations;
@Input() annotation: AnnotationWrapper; @Input() annotation: AnnotationWrapper;
@Input() isSelected = false; @Input() isSelected = false;
constructor(readonly iqserPermissionsService: IqserPermissionsService, readonly multiSelectService: MultiSelectService) {} constructor(readonly multiSelectService: MultiSelectService) {}
} }

View File

@ -11,7 +11,7 @@
<button <button
(click)="switchView(viewModes.DELTA)" (click)="switchView(viewModes.DELTA)"
*ngIf="!permissionsService.has(roles.getRss)" *deny="roles.getRss"
[class.active]="viewMode === viewModes.DELTA" [class.active]="viewMode === viewModes.DELTA"
[disabled]="(canSwitchToDeltaView$ | async) === false" [disabled]="(canSwitchToDeltaView$ | async) === false"
[iqserHelpMode]="'views'" [iqserHelpMode]="'views'"
@ -23,7 +23,7 @@
<button <button
(click)="switchView(viewModes.REDACTED)" (click)="switchView(viewModes.REDACTED)"
*ngIf="!permissionsService.has(roles.getRss)" *deny="roles.getRss"
[class.active]="viewMode === viewModes.REDACTED" [class.active]="viewMode === viewModes.REDACTED"
[disabled]="(canSwitchToRedactedView$ | async) === false" [disabled]="(canSwitchToRedactedView$ | async) === false"
[iqserHelpMode]="'views'" [iqserHelpMode]="'views'"
@ -35,7 +35,7 @@
<button <button
(click)="switchView(viewModes.TEXT_HIGHLIGHTS)" (click)="switchView(viewModes.TEXT_HIGHLIGHTS)"
*ngIf="!permissionsService.has(roles.getRss)" *deny="roles.getRss"
[class.active]="viewMode === viewModes.TEXT_HIGHLIGHTS" [class.active]="viewMode === viewModes.TEXT_HIGHLIGHTS"
[disabled]="(canSwitchToEarmarksView$ | async) === false" [disabled]="(canSwitchToEarmarksView$ | async) === false"
[iqserHelpMode]="'views'" [iqserHelpMode]="'views'"

View File

@ -5,7 +5,7 @@ import { FilePreviewStateService } from '../../services/file-preview-state.servi
import { combineLatest, Observable } from 'rxjs'; import { combineLatest, Observable } from 'rxjs';
import { map } from 'rxjs/operators'; import { map } from 'rxjs/operators';
import { FileDataService } from '../../services/file-data.service'; import { FileDataService } from '../../services/file-data.service';
import { BASE_HREF, ConfirmationDialogInput, ConfirmOptions, IqserPermissionsService, Toaster } from '@iqser/common-ui'; import { BASE_HREF, ConfirmationDialogInput, ConfirmOptions, Toaster } from '@iqser/common-ui';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { UserPreferenceService } from '@users/user-preference.service'; import { UserPreferenceService } from '@users/user-preference.service';
import { FilePreviewDialogService } from '../../services/file-preview-dialog.service'; import { FilePreviewDialogService } from '../../services/file-preview-dialog.service';
@ -27,7 +27,6 @@ export class ViewSwitchComponent {
constructor( constructor(
@Inject(BASE_HREF) private readonly _baseHref: string, @Inject(BASE_HREF) private readonly _baseHref: string,
readonly viewModeService: ViewModeService, readonly viewModeService: ViewModeService,
readonly permissionsService: IqserPermissionsService,
private readonly _stateService: FilePreviewStateService, private readonly _stateService: FilePreviewStateService,
private readonly _fileDataService: FileDataService, private readonly _fileDataService: FileDataService,
private readonly _userPreferenceService: UserPreferenceService, private readonly _userPreferenceService: UserPreferenceService,

View File

@ -17,7 +17,7 @@
></div> ></div>
</div> </div>
<iqser-details-radio [options]="options" [displayInRow]="true" formControlName="option" class="mt-25"></iqser-details-radio> <iqser-details-radio [displayInRow]="true" [options]="options" class="mt-25" formControlName="option"></iqser-details-radio>
</ng-container> </ng-container>
<ng-container *ngIf="!data.color"> <ng-container *ngIf="!data.color">
@ -33,8 +33,10 @@
<button [disabled]="form.invalid" color="primary" mat-flat-button type="submit"> <button [disabled]="form.invalid" color="primary" mat-flat-button type="submit">
{{ translations[data.operation].save | translate }} {{ translations[data.operation].save | translate }}
</button> </button>
<div class="all-caps-label cancel" mat-dialog-close translate="highlight-action-dialog.actions.cancel"></div> <div class="all-caps-label cancel" mat-dialog-close translate="highlight-action-dialog.actions.cancel"></div>
<iqser-help-button helpButtonKey="highlights" *ngIf="!permissionsService.has(roles.getRss)"></iqser-help-button>
<iqser-help-button *deny="roles.getRss" [helpButtonKey]="'highlights'"></iqser-help-button>
</div> </div>
</form> </form>

View File

@ -2,7 +2,7 @@ import { Component, Inject } from '@angular/core';
import { UntypedFormGroup, Validators } from '@angular/forms'; import { UntypedFormGroup, Validators } from '@angular/forms';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { EarmarkOperation, EarmarkOperationPages } from '@red/domain'; import { EarmarkOperation, EarmarkOperationPages } from '@red/domain';
import { BaseDialogComponent, DetailsRadioOption, IqserPermissionsService } from '@iqser/common-ui'; import { BaseDialogComponent, DetailsRadioOption } from '@iqser/common-ui';
import { EarmarksService } from '@services/files/earmarks.service'; import { EarmarksService } from '@services/files/earmarks.service';
import { firstValueFrom } from 'rxjs'; import { firstValueFrom } from 'rxjs';
import { AnnotationWrapper } from '@models/file/annotation.wrapper'; import { AnnotationWrapper } from '@models/file/annotation.wrapper';
@ -24,9 +24,8 @@ export interface HighlightActionData {
}) })
export class HighlightActionDialogComponent extends BaseDialogComponent { export class HighlightActionDialogComponent extends BaseDialogComponent {
readonly translations = highlightsTranslations; readonly translations = highlightsTranslations;
readonly #operation = this.data.operation;
readonly roles = ROLES; readonly roles = ROLES;
readonly #operation = this.data.operation;
readonly options: DetailsRadioOption<EarmarkOperationPages>[] = [ readonly options: DetailsRadioOption<EarmarkOperationPages>[] = [
{ {
label: highlightsTranslations[this.#operation].options[EarmarkOperationPages.THIS_PAGE].label, label: highlightsTranslations[this.#operation].options[EarmarkOperationPages.THIS_PAGE].label,
@ -41,7 +40,6 @@ export class HighlightActionDialogComponent extends BaseDialogComponent {
]; ];
constructor( constructor(
readonly permissionsService: IqserPermissionsService,
protected readonly _dialogRef: MatDialogRef<HighlightActionDialogComponent>, protected readonly _dialogRef: MatDialogRef<HighlightActionDialogComponent>,
private readonly _textHighlightService: EarmarksService, private readonly _textHighlightService: EarmarksService,
@Inject(MAT_DIALOG_DATA) readonly data: HighlightActionData, @Inject(MAT_DIALOG_DATA) readonly data: HighlightActionData,

View File

@ -16,6 +16,7 @@
tooltipPosition="below" tooltipPosition="below"
></iqser-circle-button> ></iqser-circle-button>
</div> </div>
<textarea <textarea
*ngIf="isEditingSelectedText" *ngIf="isEditingSelectedText"
formControlName="selectedText" formControlName="selectedText"
@ -23,8 +24,7 @@
name="comment" name="comment"
rows="4" rows="4"
type="text" type="text"
> ></textarea>
</textarea>
</div> </div>
<div *ngIf="isRectangle" class="iqser-input-group"> <div *ngIf="isRectangle" class="iqser-input-group">
@ -35,8 +35,8 @@
*ngIf="!isFalsePositiveRequest && (isDictionaryRequest || !manualRedactionTypeExists)" *ngIf="!isFalsePositiveRequest && (isDictionaryRequest || !manualRedactionTypeExists)"
class="iqser-input-group required w-450" class="iqser-input-group required w-450"
> >
<label translate="manual-annotation.dialog.content.dictionary" *ngIf="isDictionaryRequest"></label> <label *ngIf="isDictionaryRequest" translate="manual-annotation.dialog.content.dictionary"></label>
<label translate="manual-annotation.dialog.content.type" *ngIf="!isDictionaryRequest"></label> <label *ngIf="!isDictionaryRequest" translate="manual-annotation.dialog.content.type"></label>
<mat-select formControlName="dictionary"> <mat-select formControlName="dictionary">
<mat-select-trigger>{{ displayedDictionaryLabel }}</mat-select-trigger> <mat-select-trigger>{{ displayedDictionaryLabel }}</mat-select-trigger>
@ -51,7 +51,7 @@
</mat-select> </mat-select>
</div> </div>
<div *ngIf="!isDictionaryRequest && !iqserPermissionsService.has(roles.getRss)" class="iqser-input-group required w-450"> <div *deny="roles.getRss; if: !isDictionaryRequest" class="iqser-input-group required w-450">
<label translate="manual-annotation.dialog.content.reason"></label> <label translate="manual-annotation.dialog.content.reason"></label>
<mat-select <mat-select
[placeholder]="'manual-annotation.dialog.content.reason-placeholder' | translate" [placeholder]="'manual-annotation.dialog.content.reason-placeholder' | translate"
@ -69,7 +69,7 @@
</mat-select> </mat-select>
</div> </div>
<div *ngIf="!isDictionaryRequest && !iqserPermissionsService.has(roles.getRss)" class="iqser-input-group w-450"> <div *deny="roles.getRss; if: !isDictionaryRequest" class="iqser-input-group w-450">
<label translate="manual-annotation.dialog.content.legalBasis"></label> <label translate="manual-annotation.dialog.content.legalBasis"></label>
<input [value]="form.get('reason').value?.legalBasis" disabled type="text" /> <input [value]="form.get('reason').value?.legalBasis" disabled type="text" />
</div> </div>

View File

@ -174,7 +174,6 @@ export class ManualAnnotationDialogComponent extends BaseDialogComponent impleme
if (this.iqserPermissionsService.has(ROLES.getRss)) { if (this.iqserPermissionsService.has(ROLES.getRss)) {
const selectedType = this.possibleDictionaries.find(d => d.type === addRedactionRequest.type); const selectedType = this.possibleDictionaries.find(d => d.type === addRedactionRequest.type);
console.log(selectedType.hasDictionary);
addRedactionRequest.addToDictionary = selectedType.hasDictionary; addRedactionRequest.addToDictionary = selectedType.hasDictionary;
} else { } else {
addRedactionRequest.addToDictionary = this.isDictionaryRequest && addRedactionRequest.type !== 'dossier_redaction'; addRedactionRequest.addToDictionary = this.isDictionaryRequest && addRedactionRequest.type !== 'dossier_redaction';

View File

@ -63,17 +63,18 @@
> >
{{ 'edit-dossier-dialog.actions.save' | translate }} {{ 'edit-dossier-dialog.actions.save' | translate }}
</button> </button>
<iqser-icon-button <iqser-icon-button
(action)="save({ closeAfterSave: true })" (action)="save({ closeAfterSave: true })"
[disabled]="disabled || !valid || !changed" [disabled]="disabled || !valid || !changed"
[id]="'saveAndClose'" [id]="'saveAndClose'"
[label]="'edit-dossier-dialog.actions.save-and-close' | translate" [label]="'edit-dossier-dialog.actions.save-and-close' | translate"
[type]="iconButtonTypes.dark" [type]="iconButtonTypes.dark"
> ></iqser-icon-button>
</iqser-icon-button>
<div (click)="revert()" class="all-caps-label cancel" id="revert" translate="edit-dossier-dialog.actions.revert"></div> <div (click)="revert()" class="all-caps-label cancel" id="revert" translate="edit-dossier-dialog.actions.revert"></div>
<iqser-help-button [dialogButton]="true" *ngIf="!iqserPermissionsService.has(roles.getRss)"></iqser-help-button> <iqser-help-button *deny="roles.getRss" [dialogButton]="true"></iqser-help-button>
</div> </div>
</div> </div>
</div> </div>

View File

@ -18,6 +18,7 @@ import {
IqserEmptyStatesModule, IqserEmptyStatesModule,
IqserHelpModeModule, IqserHelpModeModule,
IqserInputsModule, IqserInputsModule,
IqserPermissionsModule,
IqserScrollbarModule, IqserScrollbarModule,
IqserSharedModule, IqserSharedModule,
IqserUsersModule, IqserUsersModule,
@ -52,6 +53,7 @@ const services = [DossiersDialogService, FileAssignService];
IqserSharedModule, IqserSharedModule,
IqserInputsModule, IqserInputsModule,
IqserScrollbarModule, IqserScrollbarModule,
IqserPermissionsModule,
], ],
}) })
export class SharedDossiersModule {} export class SharedDossiersModule {}

View File

@ -109,7 +109,7 @@
icon="red:assign" icon="red:assign"
></iqser-icon-button> ></iqser-icon-button>
<iqser-help-button [helpButtonKey]="'new_dossier_button'" *ngIf="!permissionsService.has(roles.getRss)"></iqser-help-button> <iqser-help-button *deny="roles.getRss" [helpButtonKey]="'new_dossier_button'"></iqser-help-button>
</div> </div>
</form> </form>

View File

@ -1,7 +1,7 @@
{ {
"ADMIN_CONTACT_NAME": null, "ADMIN_CONTACT_NAME": null,
"ADMIN_CONTACT_URL": null, "ADMIN_CONTACT_URL": null,
"API_URL": "https://syngenta-scm.iqser.cloud/redaction-gateway-v1", "API_URL": "https://dev-08.iqser.cloud/redaction-gateway-v1",
"APP_NAME": "RedactManager", "APP_NAME": "RedactManager",
"AUTO_READ_TIME": 3, "AUTO_READ_TIME": 3,
"BACKEND_APP_VERSION": "4.4.40", "BACKEND_APP_VERSION": "4.4.40",
@ -11,11 +11,11 @@
"MAX_RETRIES_ON_SERVER_ERROR": 3, "MAX_RETRIES_ON_SERVER_ERROR": 3,
"OAUTH_CLIENT_ID": "redaction", "OAUTH_CLIENT_ID": "redaction",
"OAUTH_IDP_HINT": null, "OAUTH_IDP_HINT": null,
"OAUTH_URL": "https://syngenta-scm.iqser.cloud/auth/realms/redaction", "OAUTH_URL": "https://dev-08.iqser.cloud/auth/realms/redaction",
"RECENT_PERIOD_IN_HOURS": 24, "RECENT_PERIOD_IN_HOURS": 24,
"SELECTION_MODE": "structural", "SELECTION_MODE": "structural",
"MANUAL_BASE_URL": "https://docs.redactmanager.com/preview", "MANUAL_BASE_URL": "https://docs.redactmanager.com/preview",
"ANNOTATIONS_THRESHOLD": 1000, "ANNOTATIONS_THRESHOLD": 1000,
"THEME": "scm", "THEME": "redact",
"BASE_TRANSLATIONS_DIRECTORY": "/assets/i18n/scm/" "BASE_TRANSLATIONS_DIRECTORY": "/assets/i18n/redact/"
} }

@ -1 +1 @@
Subproject commit 05d6488bc8952d70b81bf9d95bab6d6928d81fad Subproject commit a4b9c045cd8dae1418bc274d311e6b938d9ddbf5