RED-2171: Implemented migration from 2.3.x to 3.0.0
This commit is contained in:
parent
cf8b86d976
commit
8136a76555
@ -1,5 +1,7 @@
|
||||
package com.iqser.red.service.persistence.management.v1.processor.entity.configuration;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@ -8,7 +10,9 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Entity
|
||||
@Table(name = "legal_basis_mapping")
|
||||
public class LegalBasisMappingEntity {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,24 @@
|
||||
package com.iqser.red.service.peristence.v1.server.migration.model;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class CommentRow {
|
||||
|
||||
private String id;
|
||||
private OffsetDateTime date;
|
||||
private String text;
|
||||
private String user;
|
||||
|
||||
private OffsetDateTime softDeletedTime;
|
||||
private String fileId;
|
||||
private String annotationId;
|
||||
}
|
||||
@ -0,0 +1,20 @@
|
||||
package com.iqser.red.service.peristence.v1.server.migration.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class ConfigurationRow implements Serializable {
|
||||
|
||||
private String dossierTemplateId;
|
||||
public String key;
|
||||
public String value;
|
||||
|
||||
}
|
||||
@ -0,0 +1,19 @@
|
||||
package com.iqser.red.service.peristence.v1.server.migration.model;
|
||||
|
||||
import lombok.AccessLevel;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor(access = AccessLevel.PRIVATE)
|
||||
public class DossierAttributeRow {
|
||||
|
||||
private String dossierAttributeId;
|
||||
private String value;
|
||||
private String dossierId;
|
||||
|
||||
}
|
||||
@ -0,0 +1,19 @@
|
||||
package com.iqser.red.service.peristence.v1.server.migration.model;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierAttributeConfigEntity;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class DossierAttributesConfig {
|
||||
|
||||
private List<DossierAttributeConfigEntity> dossierAttributeConfigs = new ArrayList<>();
|
||||
|
||||
}
|
||||
@ -0,0 +1,23 @@
|
||||
package com.iqser.red.service.peristence.v1.server.migration.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class EntryRow implements Serializable {
|
||||
|
||||
private String dossierTemplateId;
|
||||
private String dossierId;
|
||||
private String type;
|
||||
private String value;
|
||||
private long version;
|
||||
private boolean deleted;
|
||||
|
||||
}
|
||||
@ -0,0 +1,21 @@
|
||||
package com.iqser.red.service.peristence.v1.server.migration.model;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileAttributeConfigEntity;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class FileAttributesConfig {
|
||||
|
||||
private String filenameMappingColumnHeaderName;
|
||||
private String delimiter;
|
||||
private List<FileAttributeConfigEntity> fileAttributeConfigs = new ArrayList<>();
|
||||
|
||||
}
|
||||
@ -0,0 +1,27 @@
|
||||
package com.iqser.red.service.peristence.v1.server.migration.model;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.annotations.AnnotationStatus;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class IdRemovalRow {
|
||||
|
||||
private String id;
|
||||
private String user;
|
||||
private AnnotationStatus status;
|
||||
private boolean removeFromDictionary;
|
||||
private OffsetDateTime requestDate;
|
||||
private OffsetDateTime processedDate;
|
||||
private OffsetDateTime softDeletedTime;
|
||||
private String fileId;
|
||||
|
||||
}
|
||||
@ -0,0 +1,27 @@
|
||||
package com.iqser.red.service.peristence.v1.server.migration.model;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.annotations.AnnotationStatus;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class ManualForceRedactionRow {
|
||||
|
||||
private String id;
|
||||
private String user;
|
||||
private AnnotationStatus status;
|
||||
private String legalBasis;
|
||||
private OffsetDateTime requestDate;
|
||||
private OffsetDateTime processedDate;
|
||||
private OffsetDateTime softDeletedTime;
|
||||
private String fileId;
|
||||
|
||||
}
|
||||
@ -0,0 +1,27 @@
|
||||
package com.iqser.red.service.peristence.v1.server.migration.model;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.annotations.AnnotationStatus;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class ManualImageRecategorizationRow {
|
||||
|
||||
private String id;
|
||||
private String user;
|
||||
private AnnotationStatus status;
|
||||
private String type;
|
||||
private OffsetDateTime requestDate;
|
||||
private OffsetDateTime processedDate;
|
||||
private OffsetDateTime softDeletedTime;
|
||||
private String fileId;
|
||||
|
||||
}
|
||||
@ -0,0 +1,28 @@
|
||||
package com.iqser.red.service.peristence.v1.server.migration.model;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.annotations.AnnotationStatus;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class ManualLegalBasisChangeRow {
|
||||
|
||||
private String id;
|
||||
private String user;
|
||||
private AnnotationStatus status;
|
||||
private String legalBasis;
|
||||
private String section;
|
||||
private OffsetDateTime requestDate;
|
||||
private OffsetDateTime processedDate;
|
||||
private OffsetDateTime softDeletedTime;
|
||||
private String fileId;
|
||||
|
||||
}
|
||||
@ -0,0 +1,41 @@
|
||||
package com.iqser.red.service.peristence.v1.server.migration.model;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.annotations.AnnotationStatus;
|
||||
import com.iqser.red.service.redaction.v1.model.Rectangle;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class ManualRedactionEntryRow {
|
||||
|
||||
private String id;
|
||||
private String user;
|
||||
private String type;
|
||||
private String value;
|
||||
private String reason;
|
||||
private String legalBasis;
|
||||
|
||||
private String section;
|
||||
|
||||
@Builder.Default
|
||||
private List<Rectangle> positions = new ArrayList<>();
|
||||
private AnnotationStatus status;
|
||||
private boolean addToDictionary;
|
||||
private boolean addToDossierDictionary;
|
||||
|
||||
private OffsetDateTime requestDate;
|
||||
private OffsetDateTime processedDate;
|
||||
private OffsetDateTime softDeletedTime;
|
||||
private String fileId;
|
||||
|
||||
}
|
||||
@ -0,0 +1,27 @@
|
||||
package com.iqser.red.service.peristence.v1.server.migration.model;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
import java.util.Map;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class MigrationAuditModel {
|
||||
|
||||
private String recordId;
|
||||
private OffsetDateTime recordDate;
|
||||
|
||||
private String objectId;
|
||||
private String category;
|
||||
private String userId;
|
||||
private String message;
|
||||
|
||||
private Map<String, Object> details;
|
||||
|
||||
}
|
||||
@ -0,0 +1,21 @@
|
||||
package com.iqser.red.service.peristence.v1.server.migration.model;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class MigrationComment {
|
||||
|
||||
private String id;
|
||||
private OffsetDateTime date;
|
||||
private String text;
|
||||
private String user;
|
||||
|
||||
}
|
||||
@ -0,0 +1,59 @@
|
||||
package com.iqser.red.service.peristence.v1.server.migration.model;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.DownloadFileType;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.DossierStatus;
|
||||
import com.iqser.red.service.redaction.report.v1.api.model.ReportType;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NonNull;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
public class MigrationDossier {
|
||||
|
||||
private String dossierId;
|
||||
|
||||
private String dossierTemplateId;
|
||||
|
||||
@NonNull
|
||||
private String dossierName;
|
||||
|
||||
private OffsetDateTime date;
|
||||
|
||||
private String description;
|
||||
|
||||
private DossierStatus status;
|
||||
|
||||
private String ownerId;
|
||||
|
||||
@Builder.Default
|
||||
private Set<String> memberIds = new HashSet<>();
|
||||
|
||||
@Builder.Default
|
||||
private Set<String> approverIds = new HashSet<>();
|
||||
|
||||
@Builder.Default
|
||||
private Set<DownloadFileType> downloadFileTypes = new HashSet<>();
|
||||
|
||||
@Builder.Default
|
||||
private Set<ReportType> reportTypes = new HashSet<>();
|
||||
|
||||
private OffsetDateTime dueDate;
|
||||
|
||||
@Builder.Default
|
||||
private Set<String> reportTemplateIds = new HashSet<>();
|
||||
|
||||
private boolean watermarkEnabled;
|
||||
|
||||
private boolean watermarkPreviewEnabled;
|
||||
|
||||
private OffsetDateTime softDeletedTime;
|
||||
|
||||
private OffsetDateTime hardDeletedTime;
|
||||
|
||||
}
|
||||
@ -0,0 +1,43 @@
|
||||
package com.iqser.red.service.peristence.v1.server.migration.model;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.DownloadFileType;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class MigrationDossierTemplate {
|
||||
|
||||
private String dossierTemplateId;
|
||||
|
||||
private String name;
|
||||
|
||||
private String description;
|
||||
|
||||
private OffsetDateTime dateAdded;
|
||||
|
||||
private OffsetDateTime dateModified;
|
||||
|
||||
private String createdBy;
|
||||
|
||||
private String modifiedBy;
|
||||
|
||||
private OffsetDateTime validFrom;
|
||||
|
||||
private OffsetDateTime validTo;
|
||||
|
||||
@Builder.Default
|
||||
private Set<DownloadFileType> downloadFileTypes = new HashSet<>();
|
||||
|
||||
private boolean deleted;
|
||||
|
||||
}
|
||||
@ -0,0 +1,35 @@
|
||||
package com.iqser.red.service.peristence.v1.server.migration.model;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.DownloadFileType;
|
||||
import com.iqser.red.service.redaction.report.v1.api.model.ReportType;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class MigrationDownloadDetails {
|
||||
|
||||
@Builder.Default
|
||||
private List<String> fileIds = new ArrayList<>();
|
||||
|
||||
@Builder.Default
|
||||
private Set<ReportType> reportTypes = new HashSet<>();
|
||||
|
||||
@Builder.Default
|
||||
private Set<DownloadFileType> downloadFileTypes = new HashSet<>();
|
||||
|
||||
@Builder.Default
|
||||
private Set<String> reportTemplateIds = new HashSet<>();
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,30 @@
|
||||
package com.iqser.red.service.peristence.v1.server.migration.model;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.download.DownloadStatusValue;
|
||||
|
||||
import lombok.AccessLevel;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor(access = AccessLevel.PRIVATE)
|
||||
public class MigrationDownloadStatus {
|
||||
|
||||
private String userId;
|
||||
private String storageId;
|
||||
private String dossierId;
|
||||
private String filename;
|
||||
private String mimeType;
|
||||
private DownloadStatusValue status;
|
||||
private OffsetDateTime creationDate;
|
||||
private OffsetDateTime lastDownload;
|
||||
private MigrationDownloadDetails downloadDetails;
|
||||
private long fileSize;
|
||||
|
||||
}
|
||||
@ -0,0 +1,16 @@
|
||||
package com.iqser.red.service.peristence.v1.server.migration.model;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class MigrationFileAttributes {
|
||||
|
||||
Map<String, String> attributeIdToValue = new HashMap<>();
|
||||
}
|
||||
@ -0,0 +1,88 @@
|
||||
package com.iqser.red.service.peristence.v1.server.migration.model;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
import java.util.Set;
|
||||
|
||||
import lombok.AccessLevel;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor(access = AccessLevel.PRIVATE)
|
||||
public class MigrationFileStatus {
|
||||
|
||||
private String dossierId;
|
||||
|
||||
private String fileId;
|
||||
|
||||
private String filename;
|
||||
|
||||
private Status status;
|
||||
|
||||
private Status lastSuccessfulStatus;
|
||||
|
||||
private int numberOfPages;
|
||||
|
||||
private OffsetDateTime added;
|
||||
|
||||
private OffsetDateTime lastUpdated;
|
||||
|
||||
private OffsetDateTime deleted;
|
||||
|
||||
private OffsetDateTime lastProcessed;
|
||||
|
||||
private int numberOfAnalyses;
|
||||
|
||||
private String currentReviewer;
|
||||
|
||||
private String lastReviewer;
|
||||
|
||||
private OffsetDateTime lastManualRedaction;
|
||||
|
||||
private boolean hasRedactions;
|
||||
|
||||
private boolean hasHints;
|
||||
|
||||
private boolean hasSuggestions;
|
||||
|
||||
private boolean hasImages;
|
||||
|
||||
private boolean hasUpdates;
|
||||
|
||||
private String uploader;
|
||||
|
||||
private long dictionaryVersion;
|
||||
|
||||
private long rulesVersion;
|
||||
|
||||
private long dossierDictionaryVersion;
|
||||
|
||||
private long legalBasisVersion;
|
||||
|
||||
private OffsetDateTime approvalDate;
|
||||
|
||||
private OffsetDateTime lastUploaded;
|
||||
|
||||
private long analysisDuration;
|
||||
|
||||
private MigrationFileAttributes fileAttributes;
|
||||
|
||||
private OffsetDateTime lastOCRTime;
|
||||
|
||||
private boolean hasAnnotationComments;
|
||||
|
||||
private boolean excluded;
|
||||
|
||||
private Set<Integer> excludedPages;
|
||||
|
||||
private OffsetDateTime hardDeletedTime;
|
||||
|
||||
private OffsetDateTime lastFileAttributeChange;
|
||||
|
||||
private int analysisVersion;
|
||||
|
||||
}
|
||||
@ -0,0 +1,32 @@
|
||||
package com.iqser.red.service.peristence.v1.server.migration.model;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class MigrationNotification {
|
||||
|
||||
private String userId;
|
||||
private String notificationId;
|
||||
|
||||
private String notificationType;
|
||||
private String issuerId;
|
||||
|
||||
@Builder.Default
|
||||
private Map<String, Object> target = new HashMap<>();
|
||||
|
||||
private OffsetDateTime creationDate;
|
||||
private OffsetDateTime seenDate;
|
||||
private OffsetDateTime readDate;
|
||||
|
||||
private OffsetDateTime softDeleted;
|
||||
}
|
||||
@ -0,0 +1,28 @@
|
||||
package com.iqser.red.service.peristence.v1.server.migration.model;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.legalbasis.LegalBasis;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
public class MigrationRedactionLog {
|
||||
|
||||
/**
|
||||
* Version 0 Redaction Logs have manual redactions merged inside them
|
||||
* Version 1 Redaction Logs only contain system ( rule/dictionary ) redactions. Manual Redactions are merged in at runtime.
|
||||
*/
|
||||
private long analysisVersion;
|
||||
|
||||
private List<MigrationRedactionLogEntry> redactionLogEntry;
|
||||
private List<LegalBasis> legalBasis;
|
||||
|
||||
private long dictionaryVersion = -1;
|
||||
private long dossierDictionaryVersion = -1;
|
||||
private long rulesVersion = -1;
|
||||
private long legalBasisVersion = -1;
|
||||
|
||||
}
|
||||
@ -0,0 +1,63 @@
|
||||
package com.iqser.red.service.peristence.v1.server.migration.model;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.annotations.AnnotationStatus;
|
||||
import com.iqser.red.service.redaction.v1.model.ManualRedactionType;
|
||||
import com.iqser.red.service.redaction.v1.model.Rectangle;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@EqualsAndHashCode
|
||||
public class MigrationRedactionLogEntry {
|
||||
|
||||
private String id;
|
||||
private String type;
|
||||
private String value;
|
||||
private String reason;
|
||||
private int matchedRule;
|
||||
private String legalBasis;
|
||||
private boolean redacted;
|
||||
private boolean isHint;
|
||||
private boolean isRecommendation;
|
||||
private String section;
|
||||
private float[] color;
|
||||
|
||||
@Builder.Default
|
||||
private List<Rectangle> positions = new ArrayList<>();
|
||||
private int sectionNumber;
|
||||
private boolean manual;
|
||||
private AnnotationStatus status;
|
||||
private ManualRedactionType manualRedactionType;
|
||||
private String manualRedactionUserId;
|
||||
private boolean isDictionaryEntry;
|
||||
|
||||
private String textBefore;
|
||||
private String textAfter;
|
||||
|
||||
@Builder.Default
|
||||
private List<MigrationComment> comments = new ArrayList<>();
|
||||
|
||||
private int startOffset;
|
||||
private int endOffset;
|
||||
|
||||
private boolean isImage;
|
||||
private boolean imageHasTransparency;
|
||||
|
||||
private boolean isDossierDictionaryEntry;
|
||||
|
||||
private boolean excluded;
|
||||
|
||||
private String recategorizationType;
|
||||
private String legalBasisChangeValue;
|
||||
|
||||
}
|
||||
@ -0,0 +1,19 @@
|
||||
package com.iqser.red.service.peristence.v1.server.migration.model;
|
||||
|
||||
import lombok.AccessLevel;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor(access = AccessLevel.PRIVATE)
|
||||
public class MigrationViewedPage {
|
||||
|
||||
private String fileId;
|
||||
private String userId;
|
||||
private int page;
|
||||
|
||||
}
|
||||
@ -0,0 +1,13 @@
|
||||
package com.iqser.red.service.peristence.v1.server.migration.model;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
public class NewIdForDossierTemplate {
|
||||
|
||||
private String newId;
|
||||
private String dossierTemplateId;
|
||||
|
||||
}
|
||||
@ -0,0 +1,5 @@
|
||||
package com.iqser.red.service.peristence.v1.server.migration.model;
|
||||
|
||||
public enum Status {
|
||||
UNPROCESSED, REPROCESS, PROCESSING, ERROR, DELETED, UNASSIGNED, UNDER_REVIEW, UNDER_APPROVAL, APPROVED, FULLREPROCESS, OCR_PROCESSING, INDEXING;
|
||||
}
|
||||
@ -0,0 +1,20 @@
|
||||
package com.iqser.red.service.peristence.v1.server.migration.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class VersionRow implements Serializable {
|
||||
|
||||
private String dossierTemplateId;
|
||||
private String dossierId;
|
||||
private int versionType;
|
||||
private long version;
|
||||
}
|
||||
@ -0,0 +1,27 @@
|
||||
package com.iqser.red.service.peristence.v1.server.migration.model;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
public enum VersionType {
|
||||
RULE(0), DICTIONARY(1), LEGAL_BASIS(2);
|
||||
|
||||
@Getter
|
||||
private int identifier;
|
||||
|
||||
VersionType(int identifier){
|
||||
this.identifier = identifier;
|
||||
}
|
||||
|
||||
public static VersionType forIdentifier(int identifier){
|
||||
switch(identifier){
|
||||
case 0:
|
||||
return RULE;
|
||||
case 1:
|
||||
return DICTIONARY;
|
||||
case 2:
|
||||
return LEGAL_BASIS;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
@ -19,4 +19,5 @@ public class FileManagementServiceSettings {
|
||||
|
||||
private int softDeleteCleanupTime = 96;
|
||||
|
||||
private boolean migrateOnly;
|
||||
}
|
||||
|
||||
@ -0,0 +1,316 @@
|
||||
package com.iqser.red.service.peristence.v1.server.integration.tests;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import java.nio.charset.StandardCharsets;
|
||||
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.boot.test.mock.mockito.MockBean;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
|
||||
import com.iqser.red.service.peristence.v1.server.Application;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.client.AuditClient;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.client.DictionaryClient;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.client.DossierAttributeClient;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.client.DossierAttributeConfigClient;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.client.DossierClient;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.client.DossierTemplateClient;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.client.DownloadClient;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.client.FileAttributeConfigClient;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.client.FileClient;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.client.LegalBasisClient;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.client.ManualRedactionClient;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.client.NotificationClient;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.client.RedactionLogClient;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.client.ReportTemplateClient;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.client.RulesClient;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.client.ViewedPagesClient;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.client.WatermarkClient;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest;
|
||||
import com.iqser.red.service.peristence.v1.server.migration.MigrationService;
|
||||
import com.iqser.red.service.peristence.v1.server.service.FileManagementStorageService;
|
||||
import com.iqser.red.service.peristence.v1.server.utils.StorageIdUtils;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.audit.AuditSearchRequest;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileType;
|
||||
|
||||
import lombok.SneakyThrows;
|
||||
|
||||
@Ignore
|
||||
public class MigrationTest extends AbstractPersistenceServerServiceTest {
|
||||
|
||||
@Autowired
|
||||
private MigrationService migrationService;
|
||||
|
||||
@MockBean
|
||||
private FileManagementStorageService fileManagementStorageService;
|
||||
|
||||
@Autowired
|
||||
private DossierTemplateClient dossierTemplateClient;
|
||||
|
||||
@Autowired
|
||||
private ReportTemplateClient reportTemplateClient;
|
||||
|
||||
@Autowired
|
||||
private DossierAttributeConfigClient dossierAttributeConfigClient;
|
||||
|
||||
@Autowired
|
||||
private FileAttributeConfigClient fileAttributeConfigClient;
|
||||
|
||||
@Autowired
|
||||
private LegalBasisClient legalBasisClient;
|
||||
|
||||
@Autowired
|
||||
private WatermarkClient watermarkClient;
|
||||
|
||||
@Autowired
|
||||
private DictionaryClient dictionaryClient;
|
||||
|
||||
@Autowired
|
||||
private DossierClient dossierClient;
|
||||
|
||||
@Autowired
|
||||
private FileClient fileClient;
|
||||
|
||||
@Autowired
|
||||
private AuditClient auditClient;
|
||||
|
||||
@Autowired
|
||||
private NotificationClient notificationClient;
|
||||
|
||||
@Autowired
|
||||
private DownloadClient downloadClient;
|
||||
|
||||
@Autowired
|
||||
private RulesClient rulesClient;
|
||||
|
||||
@Autowired
|
||||
private ViewedPagesClient viewedPagesClient;
|
||||
|
||||
@Autowired
|
||||
private DossierAttributeClient dossierAttributeClient;
|
||||
|
||||
@Autowired
|
||||
private ManualRedactionClient manualRedactionClient;
|
||||
|
||||
@Autowired
|
||||
private RedactionLogClient redactionLogClient;
|
||||
|
||||
|
||||
@Test
|
||||
@SneakyThrows
|
||||
public void testMigration() {
|
||||
|
||||
ClassPathResource dossierTemplatesJson = new ClassPathResource("files/migration/dossier_template_v2.json");
|
||||
when(fileManagementStorageService.getStoredObjectBytes(getMigrationId("dossier_template_v2"))).thenReturn(dossierTemplatesJson
|
||||
.getInputStream()
|
||||
.readAllBytes());
|
||||
|
||||
ClassPathResource reportTemplatesJson = new ClassPathResource("files/migration/report_template_table_v4.json");
|
||||
when(fileManagementStorageService.getStoredObjectBytes(getMigrationId("report_template_table_v4"))).thenReturn(reportTemplatesJson
|
||||
.getInputStream()
|
||||
.readAllBytes());
|
||||
|
||||
ClassPathResource configurationJson = new ClassPathResource("files/migration/configuration_table_v3.json");
|
||||
when(fileManagementStorageService.getStoredObjectBytes(getMigrationId("configuration_table_v3"))).thenReturn(configurationJson
|
||||
.getInputStream()
|
||||
.readAllBytes());
|
||||
|
||||
ClassPathResource typesJson = new ClassPathResource("files/migration/dictionary_table_v6.json");
|
||||
when(fileManagementStorageService.getStoredObjectBytes(getMigrationId("dictionary_table_v6"))).thenReturn(typesJson
|
||||
.getInputStream()
|
||||
.readAllBytes());
|
||||
|
||||
ClassPathResource entriesJson = new ClassPathResource("files/migration/entry_table_v6.json");
|
||||
when(fileManagementStorageService.getStoredObjectBytes(getMigrationId("entry_table_v6"))).thenReturn(entriesJson
|
||||
.getInputStream()
|
||||
.readAllBytes());
|
||||
|
||||
ClassPathResource dossiersJson = new ClassPathResource("files/migration/dossier_v4.json");
|
||||
when(fileManagementStorageService.getStoredObjectBytes(getMigrationId("dossier_v4"))).thenReturn(dossiersJson.getInputStream()
|
||||
.readAllBytes());
|
||||
|
||||
ClassPathResource fileStatusJson = new ClassPathResource("files/migration/file_status_v13.json");
|
||||
when(fileManagementStorageService.getStoredObjectBytes(getMigrationId("file_status_v13"))).thenReturn(fileStatusJson
|
||||
.getInputStream()
|
||||
.readAllBytes());
|
||||
|
||||
ClassPathResource auditJson = new ClassPathResource("files/migration/audit_record_v2.json");
|
||||
when(fileManagementStorageService.getStoredObjectBytes(getMigrationId("audit_record_v2"))).thenReturn(auditJson.getInputStream()
|
||||
.readAllBytes());
|
||||
|
||||
ClassPathResource notificationJson = new ClassPathResource("files/migration/notification_v1.json");
|
||||
when(fileManagementStorageService.getStoredObjectBytes(getMigrationId("notification_v1"))).thenReturn(notificationJson
|
||||
.getInputStream()
|
||||
.readAllBytes());
|
||||
|
||||
ClassPathResource downloadJson = new ClassPathResource("files/migration/download_status_v3.json");
|
||||
when(fileManagementStorageService.getStoredObjectBytes(getMigrationId("download_status_v3"))).thenReturn(downloadJson
|
||||
.getInputStream()
|
||||
.readAllBytes());
|
||||
|
||||
ClassPathResource versionsJson = new ClassPathResource("files/migration/version_table_v4.json");
|
||||
when(fileManagementStorageService.getStoredObjectBytes(getMigrationId("version_table_v4"))).thenReturn(versionsJson
|
||||
.getInputStream()
|
||||
.readAllBytes());
|
||||
|
||||
ClassPathResource viewedPagesJson = new ClassPathResource("files/migration/viewed_pages_v2.json");
|
||||
when(fileManagementStorageService.getStoredObjectBytes(getMigrationId("viewed_pages_v2"))).thenReturn(viewedPagesJson
|
||||
.getInputStream()
|
||||
.readAllBytes());
|
||||
|
||||
ClassPathResource dossierAttributesJson = new ClassPathResource("files/migration/dossier_attributes_v1.json");
|
||||
when(fileManagementStorageService.getStoredObjectBytes(getMigrationId("dossier_attributes_v1"))).thenReturn(dossierAttributesJson
|
||||
.getInputStream()
|
||||
.readAllBytes());
|
||||
|
||||
ClassPathResource manualAddJson = new ClassPathResource("files/migration/manual_redaction_annotations_v5.json");
|
||||
when(fileManagementStorageService.getStoredObjectBytes(getMigrationId("manual_redaction_annotations_v5"))).thenReturn(manualAddJson
|
||||
.getInputStream()
|
||||
.readAllBytes());
|
||||
|
||||
ClassPathResource forceJson = new ClassPathResource("files/migration/manual_force_redaction_v3.json");
|
||||
when(fileManagementStorageService.getStoredObjectBytes(getMigrationId("manual_force_redaction_v3"))).thenReturn(forceJson
|
||||
.getInputStream()
|
||||
.readAllBytes());
|
||||
|
||||
ClassPathResource imageRecategorizationJson = new ClassPathResource("files/migration/manual_image_recategorization_v3.json");
|
||||
when(fileManagementStorageService.getStoredObjectBytes(getMigrationId("manual_image_recategorization_v3"))).thenReturn(imageRecategorizationJson
|
||||
.getInputStream()
|
||||
.readAllBytes());
|
||||
|
||||
ClassPathResource manualLegalBasisChangeJson = new ClassPathResource("files/migration/manual_legal_basis_change_v3.json");
|
||||
when(fileManagementStorageService.getStoredObjectBytes(getMigrationId("manual_legal_basis_change_v3"))).thenReturn(manualLegalBasisChangeJson
|
||||
.getInputStream()
|
||||
.readAllBytes());
|
||||
|
||||
ClassPathResource removeRedactionsJson = new ClassPathResource("files/migration/manual_redaction_remove_v2.json");
|
||||
when(fileManagementStorageService.getStoredObjectBytes(getMigrationId("manual_redaction_remove_v2"))).thenReturn(removeRedactionsJson
|
||||
.getInputStream()
|
||||
.readAllBytes());
|
||||
|
||||
ClassPathResource commentsJson = new ClassPathResource("files/migration/manual_redaction_comments_v3.json");
|
||||
when(fileManagementStorageService.getStoredObjectBytes(getMigrationId("manual_redaction_comments_v3"))).thenReturn(commentsJson
|
||||
.getInputStream()
|
||||
.readAllBytes());
|
||||
|
||||
when(fileManagementStorageService.getStoredObjectBytes(String.format("rules/%s-rules.drl", "6d945ebb-604b-4781-a72b-0f07e8ceb3e6")))
|
||||
.thenReturn("Rules".getBytes(StandardCharsets.UTF_8));
|
||||
when(fileManagementStorageService.getStoredObjectBytes(String.format("rules/%s-rules.drl", "49156a1f-30cc-412f-8778-eb5bd842d709")))
|
||||
.thenReturn("Rules".getBytes(StandardCharsets.UTF_8));
|
||||
when(fileManagementStorageService.getStoredObjectBytes(String.format("rules/%s-rules.drl", "9b7bd575-4566-4408-984f-b26da1d2616e")))
|
||||
.thenReturn("Rules".getBytes(StandardCharsets.UTF_8));
|
||||
|
||||
ClassPathResource redactionLog = new ClassPathResource("files/migration/220ab22e443c8e32d3778b0937b03170.REDACTION_LOG.json");
|
||||
when(fileManagementStorageService.getStoredObjectBytes(StorageIdUtils.getStorageId("b2c9c4e5-5382-4862-9402-5b619c41a68c", "220ab22e443c8e32d3778b0937b03170", FileType.REDACTION_LOG)))
|
||||
.thenReturn(redactionLog.getInputStream().readAllBytes());
|
||||
|
||||
migrationService.migrate();
|
||||
|
||||
var allTemplates = dossierTemplateClient.getAllDossierTemplates();
|
||||
assertThat(allTemplates.size()).isEqualTo(2);
|
||||
|
||||
allTemplates.forEach(dossierTemplate -> {
|
||||
var reportTemplates = reportTemplateClient.getAvailableReportTemplates(dossierTemplate.getId());
|
||||
assertThat(reportTemplates.size()).isEqualTo(4);
|
||||
|
||||
var dossierAttributesConfig = dossierAttributeConfigClient.getDossierAttributes(dossierTemplate.getId());
|
||||
if (dossierTemplate.getId().equals("9b7bd575-4566-4408-984f-b26da1d2616e")) {
|
||||
assertThat(dossierAttributesConfig.size()).isEqualTo(1);
|
||||
}
|
||||
|
||||
var fileAtrributesConfig = fileAttributeConfigClient.getFileAttributeConfigs(dossierTemplate.getId());
|
||||
assertThat(fileAtrributesConfig.size()).isEqualTo(5);
|
||||
|
||||
var legalBasis = legalBasisClient.getLegalBasisMapping(dossierTemplate.getId());
|
||||
if (dossierTemplate.getId().equals("9b7bd575-4566-4408-984f-b26da1d2616e")) {
|
||||
assertThat(legalBasis.size()).isEqualTo(7);
|
||||
} else {
|
||||
assertThat(legalBasis.size()).isEqualTo(9);
|
||||
}
|
||||
var legalBasisVersion = legalBasisClient.getVersion(dossierTemplate.getId());
|
||||
assertThat(legalBasisVersion).isEqualTo(1);
|
||||
|
||||
var watermark = watermarkClient.getWatermark(dossierTemplate.getId());
|
||||
assertThat(watermark).isNotNull();
|
||||
|
||||
var colors = dictionaryClient.getColors(dossierTemplate.getId());
|
||||
assertThat(colors).isNotNull();
|
||||
|
||||
var types = dictionaryClient.getAllTypesForDossierTemplate(dossierTemplate.getId());
|
||||
types.forEach(type -> {
|
||||
var entries = dictionaryClient.getEntriesForType(type.getTypeId());
|
||||
if (dossierTemplate.getId().equals("49156a1f-30cc-412f-8778-eb5bd842d709") && type.getType()
|
||||
.equals("CBI_address")) {
|
||||
assertThat(entries.size()).isEqualTo(30);
|
||||
}
|
||||
});
|
||||
var dictionaryVersion = dictionaryClient.getVersion(dossierTemplate.getId());
|
||||
assertThat(dictionaryVersion).isGreaterThan(0);
|
||||
|
||||
if (dossierTemplate.getId().equals("6d945ebb-604b-4781-a72b-0f07e8ceb3e6")) {
|
||||
assertThat(types.size()).isEqualTo(6);
|
||||
} else if (dossierTemplate.getId().equals("9b7bd575-4566-4408-984f-b26da1d2616e")) {
|
||||
assertThat(types.size()).isEqualTo(19);
|
||||
} else {
|
||||
assertThat(types.size()).isEqualTo(14);
|
||||
}
|
||||
|
||||
var rules = rulesClient.getRules(dossierTemplate.getId());
|
||||
assertThat(rules.getValue()).isEqualTo("Rules");
|
||||
var rulesVersion = rulesClient.getVersion(dossierTemplate.getId());
|
||||
assertThat(rulesVersion).isGreaterThan(0);
|
||||
});
|
||||
|
||||
var dossiers = dossierClient.getAllDossiers();
|
||||
assertThat(dossiers.size()).isEqualTo(3);
|
||||
dossiers.forEach(dossier -> {
|
||||
var dossierTypes = dictionaryClient.getAllTypesForDossier(dossier.getId());
|
||||
assertThat(dossierTypes.size()).isEqualTo(1);
|
||||
var dossierAttributes = dossierAttributeClient.getDossierAttributes(dossier.getId());
|
||||
if (dossier.getId().equals("d46267c1-bb19-44ca-8c0c-60fb5d5309c5")) {
|
||||
assertThat(dossierAttributes.size()).isEqualTo(1);
|
||||
}
|
||||
});
|
||||
|
||||
var files = fileClient.getAllStatuses();
|
||||
files.forEach(file -> {
|
||||
var manualRedactions = manualRedactionClient.getManualRedactions(file.getDossierId(), file.getId());
|
||||
if (file.getId().equals("a7985c094cac62118c9b350461902f95")) {
|
||||
assertThat(manualRedactions.getEntriesToAdd().size()).isEqualTo(1);
|
||||
assertThat(manualRedactions.getForceRedactions().size()).isEqualTo(1);
|
||||
assertThat(manualRedactions.getImageRecategorization().size()).isEqualTo(0);
|
||||
assertThat(manualRedactions.getLegalBasisChanges().size()).isEqualTo(1);
|
||||
assertThat(manualRedactions.getIdsToRemove().size()).isEqualTo(1);
|
||||
assertThat(manualRedactions.getComments().size()).isEqualTo(1);
|
||||
}
|
||||
});
|
||||
assertThat(files.size()).isEqualTo(33);
|
||||
|
||||
var auditCategories = auditClient.getCategories();
|
||||
assertThat(auditCategories.size()).isEqualTo(7);
|
||||
|
||||
var auditRecords = auditClient.search(AuditSearchRequest.builder().build());
|
||||
assertThat(auditRecords.getTotalHits()).isEqualTo(128);
|
||||
|
||||
var notifications = notificationClient.getNotifications("abc", true);
|
||||
assertThat(notifications).isEmpty();
|
||||
|
||||
var downloads = downloadClient.getDownloadStatus("f8960240-9973-42e9-9b0f-ed096ff5a018");
|
||||
assertThat(downloads.size()).isEqualTo(0);
|
||||
|
||||
var viewedPages = viewedPagesClient.getViewedPages("a7985c094cac62118c9b350461902f95", "f8960240-9973-42e9-9b0f-ed096ff5a018");
|
||||
assertThat(viewedPages.size()).isEqualTo(3);
|
||||
|
||||
}
|
||||
|
||||
|
||||
private String getMigrationId(String tableName) {
|
||||
|
||||
return "migration/" + tableName + ".json";
|
||||
}
|
||||
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@ -0,0 +1 @@
|
||||
[{"category":"LICENSE","recordCount":28},{"category":"DOWNLOAD","recordCount":2},{"category":"AUDIT_LOG","recordCount":2},{"category":"DOSSIER","recordCount":64},{"category":"DOCUMENT","recordCount":40},{"category":"AUDIT","recordCount":2},{"category":"DOSSIER_TEMPLATE","recordCount":1}]
|
||||
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@
|
||||
{"fileAttributes":"{\"filenameMappingColumnHeaderName\":null,\"delimiter\":\",\",\"fileAttributeConfigs\":[]}","legalBasis":"[{\"name\":\"1.\\tnames and addresses of persons\",\"description\":\"names and addresses of persons involved in testing on vertebrate animals\",\"reason\":\"[Reg (EC) No 1107/2009 Art. 63 (2g)]\"},{\"name\":\"2.\\tmethods of analysis for impurities\",\"description\":\"methods of analysis for impurities in the active substance as manufactured except for methods for impurities that are considered to be toxicologically, ecotoxicologically or environmentally relevant\",\"reason\":\"[Reg (EC) No 1107/2009 Art. 63 (2d)]\"},{\"name\":\"3.\\tmethod of manufacture\",\"description\":\"the method of manufacture\",\"reason\":\"[Reg (EC) No 1107/2009 Art. 63 (2a)]\"},{\"name\":\"4.\\tcomposition of a plant protection product\",\"description\":\"information on the complete composition of a plant protection product\",\"reason\":\"[Reg (EC) No 1107/2009 Art. 63 (2f)]\"},{\"name\":\"5.\\tresults of production batches\",\"description\":\"results of production batches of the active substance including impurities\",\"reason\":\"[Reg (EC) No 1107/2009 Art. 63 (2c)]\"},{\"name\":\"6.\\tspecification of impurity of the active substance\",\"description\":\"the specification of impurity of the active substance except for the impurities that are considered to be toxicologically, ecotoxicologically or environmentally relevant\",\"reason\":\"[Reg (EC) No 1107/2009 Art. 63 (2a)]\"},{\"name\":\"7. links between a producer and applicant\",\"description\":\"links between a producer or importer and the applicant or the authorisation holder\",\"reason\":\"[Reg (EC) No 1107/2009 Art. 63 (2e)]\"}]","colors":"{\"defaultColor\":\"#acfc00\",\"requestAdd\":\"#04b093\",\"requestRemove\":\"#04b093\",\"notRedacted\":\"#ff00bb\",\"analysisColor\":\"#dd4d50\",\"updatedColor\":\"#fdbd00\",\"dictionaryRequestColor\":\"#5b97db\",\"manualRedactionColor\":\"#acfc00\",\"previewColor\":\"#cccccc\"}"}
|
||||
File diff suppressed because one or more lines are too long
@ -0,0 +1,548 @@
|
||||
[
|
||||
{
|
||||
"type": "false_positive",
|
||||
"hexColor": "#ffffff",
|
||||
"dossierTemplateId": "6d945ebb-604b-4781-a72b-0f07e8ceb3e6",
|
||||
"rank": 1,
|
||||
"description": null,
|
||||
"addToDictionaryAction": false,
|
||||
"label": "False Positive",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": false,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "formula",
|
||||
"hexColor": "#036ffc",
|
||||
"dossierTemplateId": "6d945ebb-604b-4781-a72b-0f07e8ceb3e6",
|
||||
"rank": 1002,
|
||||
"description": "Empty dictionary used to configure formula colors.",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Formula",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "image",
|
||||
"hexColor": "#bdd6ff",
|
||||
"dossierTemplateId": "6d945ebb-604b-4781-a72b-0f07e8ceb3e6",
|
||||
"rank": 999,
|
||||
"description": "Empty dictionary used to configure image colors.",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Image",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "logo",
|
||||
"hexColor": "#bdd6ff",
|
||||
"dossierTemplateId": "6d945ebb-604b-4781-a72b-0f07e8ceb3e6",
|
||||
"rank": 1001,
|
||||
"description": "Empty dictionary used to configure logo colors.",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Logo",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "ocr",
|
||||
"hexColor": "#bdd6ff",
|
||||
"dossierTemplateId": "6d945ebb-604b-4781-a72b-0f07e8ceb3e6",
|
||||
"rank": 1000,
|
||||
"description": "Empty dictionary used to configure ocr colors.",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Ocr",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "signature",
|
||||
"hexColor": "#bdd6ff",
|
||||
"dossierTemplateId": "6d945ebb-604b-4781-a72b-0f07e8ceb3e6",
|
||||
"rank": 1003,
|
||||
"description": "Empty dictionary used to configure signature colors.",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Signature",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "dossier_redaction",
|
||||
"hexColor": "#9398a0",
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"rank": 1500,
|
||||
"description": "Entries in this dictionary will only be redacted in this dossier",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Dossier Redaction",
|
||||
"dossierId": "48c10c3e-9831-4165-a80e-6e96ba2c3e98",
|
||||
"hint": false,
|
||||
"caseInsensitive": false,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "dossier_redaction",
|
||||
"hexColor": "#9398a0",
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"rank": 1500,
|
||||
"description": "Entries in this dictionary will only be redacted in this dossier",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Dossier Redaction",
|
||||
"dossierId": "b2c9c4e5-5382-4862-9402-5b619c41a68c",
|
||||
"hint": false,
|
||||
"caseInsensitive": false,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "CBI_address",
|
||||
"hexColor": "#9398a0",
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"rank": 140,
|
||||
"description": "All site names and addresses, and location (e.g. Syngenta, Monthey, GPS Co-ordinates, Mr Smith of … providing the…). Except addresses in published literature and the applicant address.",
|
||||
"addToDictionaryAction": true,
|
||||
"label": "CBI Address",
|
||||
"dossierId": "global",
|
||||
"hint": false,
|
||||
"caseInsensitive": false,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "CBI_author",
|
||||
"hexColor": "#9398a0",
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"rank": 130,
|
||||
"description": "All authors named in the study documentation. Except names in published literature.",
|
||||
"addToDictionaryAction": true,
|
||||
"label": "CBI Author",
|
||||
"dossierId": "global",
|
||||
"hint": false,
|
||||
"caseInsensitive": false,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "PII",
|
||||
"hexColor": "#9398a0",
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"rank": 150,
|
||||
"description": "Not authors but listed in the document: Names, signatures, telephone, email etc.; e.g. Reg Manager, QA Manager",
|
||||
"addToDictionaryAction": true,
|
||||
"label": "PII",
|
||||
"dossierId": "global",
|
||||
"hint": false,
|
||||
"caseInsensitive": false,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "false_positive",
|
||||
"hexColor": "#ffcece",
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"rank": 160,
|
||||
"description": "System managed: Filled automatically by user feedback on false positives",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "False Positive",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": false,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "formula",
|
||||
"hexColor": "#036ffc",
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"rank": 1002,
|
||||
"description": "Empty dictionary used to configure formula colors.",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Formula",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "hint_only",
|
||||
"hexColor": "#fa98f7",
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"rank": 50,
|
||||
"description": "Entries of this dictionary will be highlighted only",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Hint Only",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "image",
|
||||
"hexColor": "#bdd6ff",
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"rank": 999,
|
||||
"description": "Empty dictionary used to configure image colors.",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Image",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "logo",
|
||||
"hexColor": "#9398a0",
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"rank": 1001,
|
||||
"description": "Empty dictionary used to configure logo colors.",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Logo",
|
||||
"dossierId": "global",
|
||||
"hint": false,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "must_redact",
|
||||
"hexColor": "#9398a0",
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"rank": 100,
|
||||
"description": "Entries of this dictionary get redacted wherever found.",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Must Redact",
|
||||
"dossierId": "global",
|
||||
"hint": false,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "ocr",
|
||||
"hexColor": "#bdd6ff",
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"rank": 1000,
|
||||
"description": "Empty dictionary used to configure ocr colors.",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Ocr",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "published_information",
|
||||
"hexColor": "#85ebff",
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"rank": 70,
|
||||
"description": "Manual managed list of public journals and papers that need no redaction",
|
||||
"addToDictionaryAction": true,
|
||||
"label": "Published Information",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": false,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "recommendation_CBI_address",
|
||||
"hexColor": "#8df06c",
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"rank": 30,
|
||||
"description": "System managed: Automatically detected recommendations for CBI Address",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Recommendation CBI Address",
|
||||
"dossierId": "global",
|
||||
"hint": false,
|
||||
"caseInsensitive": false,
|
||||
"recommendation": true
|
||||
},
|
||||
{
|
||||
"type": "recommendation_CBI_author",
|
||||
"hexColor": "#8df06c",
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"rank": 40,
|
||||
"description": "System managed: Automatically detected recommendations for CBI Author",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Recommendation CBI Author",
|
||||
"dossierId": "global",
|
||||
"hint": false,
|
||||
"caseInsensitive": false,
|
||||
"recommendation": true
|
||||
},
|
||||
{
|
||||
"type": "signature",
|
||||
"hexColor": "#9398a0",
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"rank": 1003,
|
||||
"description": "Empty dictionary used to configure signature colors.",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Signature",
|
||||
"dossierId": "global",
|
||||
"hint": false,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "dossier_redaction",
|
||||
"hexColor": "#9398a0",
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"rank": 1500,
|
||||
"description": "Entries in this dictionary will only be redacted in this dossier",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Dossier Redaction",
|
||||
"dossierId": "d46267c1-bb19-44ca-8c0c-60fb5d5309c5",
|
||||
"hint": false,
|
||||
"caseInsensitive": false,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "CBI_address",
|
||||
"hexColor": "#9398a0",
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"rank": 140,
|
||||
"description": "Laboratory Address: Redaction in combination with vertebrates",
|
||||
"addToDictionaryAction": true,
|
||||
"label": "CBI Address",
|
||||
"dossierId": "global",
|
||||
"hint": false,
|
||||
"caseInsensitive": false,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "CBI_author",
|
||||
"hexColor": "#9398a0",
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"rank": 130,
|
||||
"description": "Study Author: Redaction in combination with vertebrates",
|
||||
"addToDictionaryAction": true,
|
||||
"label": "CBI Author",
|
||||
"dossierId": "global",
|
||||
"hint": false,
|
||||
"caseInsensitive": false,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "CBI_sponsor",
|
||||
"hexColor": "#9398a0",
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"rank": 120,
|
||||
"description": "Batch Sponsor: Redaction in combination with 'batches produced at'",
|
||||
"addToDictionaryAction": true,
|
||||
"label": "CBI Sponsor",
|
||||
"dossierId": "global",
|
||||
"hint": false,
|
||||
"caseInsensitive": false,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "PII",
|
||||
"hexColor": "#9398a0",
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"rank": 150,
|
||||
"description": "Personal Identification Information: Redact name, email, phone, fax, ... of employees",
|
||||
"addToDictionaryAction": true,
|
||||
"label": "PII",
|
||||
"dossierId": "global",
|
||||
"hint": false,
|
||||
"caseInsensitive": false,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "false_positive",
|
||||
"hexColor": "#ffcece",
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"rank": 160,
|
||||
"description": "System managed: Filled automatically by user feedback on false positives",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "False Positive",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": false,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "formula",
|
||||
"hexColor": "#036ffc",
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"rank": 1002,
|
||||
"description": "Empty dictionary used to configure formula colors.",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Formula",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "hint_only",
|
||||
"hexColor": "#fa98f7",
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"rank": 50,
|
||||
"description": "Entries of this dictionary will be highlighted only",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Hint Only",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "image",
|
||||
"hexColor": "#bdd6ff",
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"rank": 999,
|
||||
"description": "Empty dictionary used to configure image colors.",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Image",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "logo",
|
||||
"hexColor": "#9398a0",
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"rank": 1001,
|
||||
"description": "Empty dictionary used to configure logo colors.",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Logo",
|
||||
"dossierId": "global",
|
||||
"hint": false,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "must_redact",
|
||||
"hexColor": "#fa98f7",
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"rank": 100,
|
||||
"description": "Forces redaction of CBI Author/Address even if there is no vertebrate",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Must Redact",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "no_redaction_indicator",
|
||||
"hexColor": "#be85ff",
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"rank": 80,
|
||||
"description": "Prevents redaction of CBI Author/Address although there is a vertebrate, e.g. vertebrate and in vitro is found",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "No Redaction Indicator",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "ocr",
|
||||
"hexColor": "#bdd6ff",
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"rank": 1000,
|
||||
"description": "Empty dictionary used to configure ocr colors.",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Ocr",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "published_information",
|
||||
"hexColor": "#85ebff",
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"rank": 70,
|
||||
"description": "Manual managed list of public journals and papers that need no redaction",
|
||||
"addToDictionaryAction": true,
|
||||
"label": "Published Information",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": false,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "recommendation_CBI_address",
|
||||
"hexColor": "#8df06c",
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"rank": 30,
|
||||
"description": "System managed: Automatically detected recommendations for CBI Address",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Recommendation CBI Address",
|
||||
"dossierId": "global",
|
||||
"hint": false,
|
||||
"caseInsensitive": false,
|
||||
"recommendation": true
|
||||
},
|
||||
{
|
||||
"type": "recommendation_CBI_author",
|
||||
"hexColor": "#8df06c",
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"rank": 40,
|
||||
"description": "System managed: Automatically detected recommendations for CBI Author",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Recommendation CBI Author",
|
||||
"dossierId": "global",
|
||||
"hint": false,
|
||||
"caseInsensitive": false,
|
||||
"recommendation": true
|
||||
},
|
||||
{
|
||||
"type": "redaction_indicator",
|
||||
"hexColor": "#ff85f7",
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"rank": 90,
|
||||
"description": "Forces redaction of CBI Author/Address even if there is a 'No Redaction Indicator', e.g. vertebrate, in vitro, and in vivo is found",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Redaction Indicator",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "signature",
|
||||
"hexColor": "#9398a0",
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"rank": 1003,
|
||||
"description": "Empty dictionary used to configure signature colors.",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Signature",
|
||||
"dossierId": "global",
|
||||
"hint": false,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "test_method",
|
||||
"hexColor": "#91fae8",
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"rank": 60,
|
||||
"description": "Manual managed list of Test Methods to disambiguate some CBI Authors like Fisher vs Fisher's Test",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Test Method",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": false,
|
||||
"recommendation": false
|
||||
},
|
||||
{
|
||||
"type": "vertebrate",
|
||||
"hexColor": "#ff85f7",
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"rank": 110,
|
||||
"description": "List of vertebrates that cause redaction of CBI Author/Address",
|
||||
"addToDictionaryAction": false,
|
||||
"label": "Vertebrate",
|
||||
"dossierId": "global",
|
||||
"hint": true,
|
||||
"caseInsensitive": true,
|
||||
"recommendation": false
|
||||
}
|
||||
]
|
||||
@ -0,0 +1 @@
|
||||
[{"dossierAttributeId":"2884a75c-9be1-4557-824f-c85e3beca515","value":"Hello World","dossierId":"d46267c1-bb19-44ca-8c0c-60fb5d5309c5"}]
|
||||
@ -0,0 +1,50 @@
|
||||
[
|
||||
{
|
||||
"dossierTemplateId": "6d945ebb-604b-4781-a72b-0f07e8ceb3e6",
|
||||
"name": "Manual Redaction",
|
||||
"description": "Only manual redactions.",
|
||||
"dateAdded": "2021-11-15T13:27:30Z",
|
||||
"dateModified": "2021-11-16T08:15:57Z",
|
||||
"createdBy": "ad4c802c-907b-41f2-8afa-9fa37e29c004",
|
||||
"modifiedBy": "3f928d0d-79af-44b7-9398-294369fe65ac",
|
||||
"validFrom": null,
|
||||
"validTo": null,
|
||||
"downloadFileTypes": [
|
||||
"PREVIEW",
|
||||
"REDACTED"
|
||||
],
|
||||
"deleted": true
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"name": "EFSA sanitisation GFL v1",
|
||||
"description": "Redact all authors, laboratory addresses and other geolocation.",
|
||||
"dateAdded": "2021-11-15T13:26:59Z",
|
||||
"dateModified": "2021-07-19T08:09:27Z",
|
||||
"createdBy": "e3aed6ea-a9e5-4f3f-bde7-6f0fe0c4362c",
|
||||
"modifiedBy": "e3aed6ea-a9e5-4f3f-bde7-6f0fe0c4362c",
|
||||
"validFrom": null,
|
||||
"validTo": null,
|
||||
"downloadFileTypes": [
|
||||
"PREVIEW",
|
||||
"REDACTED"
|
||||
],
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"name": "EFSA sanitisation pre GFL v1",
|
||||
"description": "Redact authors and laboratory addresses in combination with a vertebrate.",
|
||||
"dateAdded": "2021-11-15T13:24:40Z",
|
||||
"dateModified": "2021-11-15T13:27:17Z",
|
||||
"createdBy": "System",
|
||||
"modifiedBy": null,
|
||||
"validFrom": null,
|
||||
"validTo": null,
|
||||
"downloadFileTypes": [
|
||||
"PREVIEW",
|
||||
"REDACTED"
|
||||
],
|
||||
"deleted": false
|
||||
}
|
||||
]
|
||||
@ -0,0 +1 @@
|
||||
[{"dossierId":"48c10c3e-9831-4165-a80e-6e96ba2c3e98","dossierTemplateId":"49156a1f-30cc-412f-8778-eb5bd842d709","dossierName":"Dom2","date":"2021-11-15T13:27:48Z","description":"","status":"ACTIVE","ownerId":"f8960240-9973-42e9-9b0f-ed096ff5a018","memberIds":["f8960240-9973-42e9-9b0f-ed096ff5a018"],"approverIds":["f8960240-9973-42e9-9b0f-ed096ff5a018"],"downloadFileTypes":["PREVIEW","REDACTED"],"reportTypes":[],"dueDate":null,"reportTemplateIds":["e37613cb-e093-49af-ae69-5678148c29b8"],"watermarkEnabled":true,"watermarkPreviewEnabled":false,"softDeletedTime":null,"hardDeletedTime":null},{"dossierId":"b2c9c4e5-5382-4862-9402-5b619c41a68c","dossierTemplateId":"49156a1f-30cc-412f-8778-eb5bd842d709","dossierName":"Dom1","date":"2021-11-15T13:27:19Z","description":"","status":"ACTIVE","ownerId":"f8960240-9973-42e9-9b0f-ed096ff5a018","memberIds":["f8960240-9973-42e9-9b0f-ed096ff5a018"],"approverIds":["f8960240-9973-42e9-9b0f-ed096ff5a018"],"downloadFileTypes":["PREVIEW","REDACTED"],"reportTypes":[],"dueDate":null,"reportTemplateIds":["75674b0f-7c70-4903-b30a-2a4aa330b6b1","87553a68-49e7-4bb6-9af7-263dcb81e964","e2eff609-1dbb-4f10-a1a2-de71f03e5875","e37613cb-e093-49af-ae69-5678148c29b8"],"watermarkEnabled":true,"watermarkPreviewEnabled":false,"softDeletedTime":null,"hardDeletedTime":null},{"dossierId":"d46267c1-bb19-44ca-8c0c-60fb5d5309c5","dossierTemplateId":"9b7bd575-4566-4408-984f-b26da1d2616e","dossierName":"Dom3","date":"2021-11-15T13:28:31Z","description":"","status":"ACTIVE","ownerId":"f8960240-9973-42e9-9b0f-ed096ff5a018","memberIds":["f8960240-9973-42e9-9b0f-ed096ff5a018"],"approverIds":["f8960240-9973-42e9-9b0f-ed096ff5a018"],"downloadFileTypes":["PREVIEW","REDACTED"],"reportTypes":[],"dueDate":null,"reportTemplateIds":["bb18db9e-2730-403c-90c0-d306aac06284"],"watermarkEnabled":true,"watermarkPreviewEnabled":false,"softDeletedTime":null,"hardDeletedTime":null}]
|
||||
@ -0,0 +1 @@
|
||||
[]
|
||||
@ -0,0 +1,243 @@
|
||||
[
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "!BACON",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "#210 South Railway P.O. Box 144 Minto, MB ROK 1MO",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "#93-9017",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "'s-Hertogenbosch, The Netherlands",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "(AMBIS, Inc.",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "(Bray), Wicklow, Ireland",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "(Mobec, Inc.",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "-Nobel-Str. 50, D-40789 Monheim am Rhein",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "/ Agrisearch Italia SRL",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "04827 Gerichshain, Germany",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "06º 04' 32'",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "1 Rue Petits Champs Varennes Sur Loire 49730",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "10/036-001E",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "10/036-002P",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "105-141",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "105-142",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "105-144",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "105A-105",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "105A-106A",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "105A-108",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "105A-10i3",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "105A-119",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "105A-123A",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "105A-1C8",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "105A-l06A",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "107 Morgan Lane Plainsboro, NJ 08536",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "107 Morgan Lane Plainsboro, NJ 08536-3339",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "107 Morgan Lane Plainsboro, New Jersey",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "107 Morgan Lane, Plainsboro, NJ 08536",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"dossierId": "global",
|
||||
"type": "CBI_address",
|
||||
"value": "1095 Morris Avenue P.O. Box 3182 Union, NJ 07083-1982",
|
||||
"version": 2,
|
||||
"deleted": false
|
||||
}
|
||||
]
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -0,0 +1,12 @@
|
||||
[
|
||||
{
|
||||
"id": "7ea3281320851f12dda397ef35315029",
|
||||
"user": "f8960240-9973-42e9-9b0f-ed096ff5a018",
|
||||
"status": "APPROVED",
|
||||
"legalBasis": "Article 63(2)(a) of Regulation (EC) No 1107/2009 (making reference to Article 39 of Regulation EC No 178/2002)",
|
||||
"requestDate": "2021-11-15T13:33:53Z",
|
||||
"processedDate": null,
|
||||
"softDeletedTime": null,
|
||||
"fileId": "a7985c094cac62118c9b350461902f95"
|
||||
}
|
||||
]
|
||||
@ -0,0 +1 @@
|
||||
[]
|
||||
@ -0,0 +1,13 @@
|
||||
[
|
||||
{
|
||||
"id": "0284267db2bee9fe21fd8aab681664c5",
|
||||
"user": "f8960240-9973-42e9-9b0f-ed096ff5a018",
|
||||
"status": "APPROVED",
|
||||
"legalBasis": "Article 63(2)(a) of Regulation (EC) No 1107/2009 (making reference to Article 39 of Regulation EC No 178/2002)",
|
||||
"section": "",
|
||||
"requestDate": "2021-11-15T13:33:41Z",
|
||||
"processedDate": null,
|
||||
"softDeletedTime": null,
|
||||
"fileId": "a7985c094cac62118c9b350461902f95"
|
||||
}
|
||||
]
|
||||
@ -0,0 +1,29 @@
|
||||
[
|
||||
{
|
||||
"id": "82f1e0aee6c825a0a8519b0f1d812df7",
|
||||
"user": "f8960240-9973-42e9-9b0f-ed096ff5a018",
|
||||
"type": "manual",
|
||||
"value": "Cyprodinil/Dithianon",
|
||||
"reason": "(Regulations (EU) 2016/679 and (EU) 2018/1725 shall apply to the processing of personal data carried out pursuant to this Regulation. Any personal data made public pursuant to Article 38 of this Regulation and this Article shall only be used to ensure the transparency of the risk assessment under this Regulation and shall not be further processed in a manner that is incompatible with these purposes, in accordance with point (b) of Article 5(1) of Regulation (EU) 2016/679 and point (b) of Article 4(1) of Regulation (EU) 2018/1725, as the case may be)",
|
||||
"legalBasis": "Article 39(e)(3) of Regulation (EC) No 178/2002",
|
||||
"section": null,
|
||||
"positions": [
|
||||
{
|
||||
"topLeft": {
|
||||
"x": 259.19,
|
||||
"y": 648.586
|
||||
},
|
||||
"width": 110.832,
|
||||
"height": 16.584,
|
||||
"page": 1
|
||||
}
|
||||
],
|
||||
"status": "APPROVED",
|
||||
"addToDictionary": false,
|
||||
"addToDossierDictionary": false,
|
||||
"requestDate": "2021-11-15T13:33:30Z",
|
||||
"processedDate": "2021-11-15T13:33:30Z",
|
||||
"softDeletedTime": null,
|
||||
"fileId": "a7985c094cac62118c9b350461902f95"
|
||||
}
|
||||
]
|
||||
@ -0,0 +1,20 @@
|
||||
[
|
||||
{
|
||||
"id": "474c3e04-3ab5-4f05-a80d-168f5c348bf6",
|
||||
"date": "2021-11-19T09:32:46Z",
|
||||
"text": "Hi this a comment",
|
||||
"user": "f8960240-9973-42e9-9b0f-ed096ff5a018",
|
||||
"softDeletedTime": null,
|
||||
"fileId": "987b67e62979568205a30d4256ac2a4d",
|
||||
"annotationId": "dc0a1380cbd6fcff2ceb4a1ccec4a252"
|
||||
},
|
||||
{
|
||||
"id": "7ff2936f-68ff-4164-a788-ace1f953bb9c",
|
||||
"date": "2021-11-15T13:33:30Z",
|
||||
"text": "frgrtgrtgtrgtr",
|
||||
"user": "f8960240-9973-42e9-9b0f-ed096ff5a018",
|
||||
"softDeletedTime": null,
|
||||
"fileId": "a7985c094cac62118c9b350461902f95",
|
||||
"annotationId": "82f1e0aee6c825a0a8519b0f1d812df7"
|
||||
}
|
||||
]
|
||||
@ -0,0 +1,12 @@
|
||||
[
|
||||
{
|
||||
"id": "79076b24b707268b3c27874a71494082",
|
||||
"user": "f8960240-9973-42e9-9b0f-ed096ff5a018",
|
||||
"status": "APPROVED",
|
||||
"removeFromDictionary": false,
|
||||
"requestDate": "2021-11-15T13:34:16Z",
|
||||
"processedDate": "2021-11-15T13:34:16Z",
|
||||
"softDeletedTime": null,
|
||||
"fileId": "a7985c094cac62118c9b350461902f95"
|
||||
}
|
||||
]
|
||||
@ -0,0 +1 @@
|
||||
[]
|
||||
@ -0,0 +1,98 @@
|
||||
[
|
||||
{
|
||||
"dossierTemplateId": "6d945ebb-604b-4781-a72b-0f07e8ceb3e6",
|
||||
"templateId": "3faddf0b-5d59-4b2f-b568-458ede09eb9b",
|
||||
"storageId": "6d945ebb-604b-4781-a72b-0f07e8ceb3e6/Justification Appendix A1.docx",
|
||||
"fileName": "Justification Appendix A1.docx",
|
||||
"uploadDate": "2021-11-15T13:27:30Z",
|
||||
"multiFileReport": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "6d945ebb-604b-4781-a72b-0f07e8ceb3e6",
|
||||
"templateId": "6964c53b-005f-4731-82a0-84b30210ab33",
|
||||
"storageId": "6d945ebb-604b-4781-a72b-0f07e8ceb3e6/Excel Report.xlsx",
|
||||
"fileName": "Excel Report.xlsx",
|
||||
"uploadDate": "2021-11-15T13:27:30Z",
|
||||
"multiFileReport": true
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "6d945ebb-604b-4781-a72b-0f07e8ceb3e6",
|
||||
"templateId": "7cc992f1-3e46-48fb-8a75-b5b2f33ebe88",
|
||||
"storageId": "6d945ebb-604b-4781-a72b-0f07e8ceb3e6/Justification Appendix A2.docx",
|
||||
"fileName": "Justification Appendix A2.docx",
|
||||
"uploadDate": "2021-11-15T13:27:30Z",
|
||||
"multiFileReport": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "6d945ebb-604b-4781-a72b-0f07e8ceb3e6",
|
||||
"templateId": "f74130a9-c875-4926-95c1-405d2e272ada",
|
||||
"storageId": "6d945ebb-604b-4781-a72b-0f07e8ceb3e6/Excel Report.xlsx",
|
||||
"fileName": "Excel Report.xlsx",
|
||||
"uploadDate": "2021-11-15T13:27:30Z",
|
||||
"multiFileReport": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"templateId": "75674b0f-7c70-4903-b30a-2a4aa330b6b1",
|
||||
"storageId": "49156a1f-30cc-412f-8778-eb5bd842d709/Excel Report.xlsx",
|
||||
"fileName": "Excel Report.xlsx",
|
||||
"uploadDate": "2021-11-15T13:26:59Z",
|
||||
"multiFileReport": true
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"templateId": "87553a68-49e7-4bb6-9af7-263dcb81e964",
|
||||
"storageId": "49156a1f-30cc-412f-8778-eb5bd842d709/Justification Appendix A1.docx",
|
||||
"fileName": "Justification Appendix A1.docx",
|
||||
"uploadDate": "2021-11-15T13:27:00Z",
|
||||
"multiFileReport": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"templateId": "e2eff609-1dbb-4f10-a1a2-de71f03e5875",
|
||||
"storageId": "49156a1f-30cc-412f-8778-eb5bd842d709/Excel Report.xlsx",
|
||||
"fileName": "Excel Report.xlsx",
|
||||
"uploadDate": "2021-11-15T13:26:59Z",
|
||||
"multiFileReport": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "49156a1f-30cc-412f-8778-eb5bd842d709",
|
||||
"templateId": "e37613cb-e093-49af-ae69-5678148c29b8",
|
||||
"storageId": "49156a1f-30cc-412f-8778-eb5bd842d709/Justification Appendix A2.docx",
|
||||
"fileName": "Justification Appendix A2.docx",
|
||||
"uploadDate": "2021-11-15T13:27:00Z",
|
||||
"multiFileReport": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"templateId": "14a73f71-65bc-4fb9-8319-c11ba9d97e47",
|
||||
"storageId": "9b7bd575-4566-4408-984f-b26da1d2616e/Justification Appendix A1.docx",
|
||||
"fileName": "Justification Appendix A1.docx",
|
||||
"uploadDate": "2021-11-15T13:27:17Z",
|
||||
"multiFileReport": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"templateId": "345d8544-cd4e-4321-bd3a-8217d9d2f1b3",
|
||||
"storageId": "9b7bd575-4566-4408-984f-b26da1d2616e/Excel Report.xlsx",
|
||||
"fileName": "Excel Report.xlsx",
|
||||
"uploadDate": "2021-11-15T13:27:17Z",
|
||||
"multiFileReport": false
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"templateId": "5c78a098-6020-4cf9-b610-5b2422f98d29",
|
||||
"storageId": "9b7bd575-4566-4408-984f-b26da1d2616e/Excel Report.xlsx",
|
||||
"fileName": "Excel Report.xlsx",
|
||||
"uploadDate": "2021-11-15T13:27:17Z",
|
||||
"multiFileReport": true
|
||||
},
|
||||
{
|
||||
"dossierTemplateId": "9b7bd575-4566-4408-984f-b26da1d2616e",
|
||||
"templateId": "bb18db9e-2730-403c-90c0-d306aac06284",
|
||||
"storageId": "9b7bd575-4566-4408-984f-b26da1d2616e/Justification Appendix A2.docx",
|
||||
"fileName": "Justification Appendix A2.docx",
|
||||
"uploadDate": "2021-11-15T13:27:18Z",
|
||||
"multiFileReport": false
|
||||
}
|
||||
]
|
||||
@ -0,0 +1 @@
|
||||
[{"dossierTemplateId":"6d945ebb-604b-4781-a72b-0f07e8ceb3e6","dossierId":"global","versionType":0,"version":1},{"dossierTemplateId":"6d945ebb-604b-4781-a72b-0f07e8ceb3e6","dossierId":"global","versionType":1,"version":6},{"dossierTemplateId":"6d945ebb-604b-4781-a72b-0f07e8ceb3e6","dossierId":"global","versionType":2,"version":1},{"dossierTemplateId":"49156a1f-30cc-412f-8778-eb5bd842d709","dossierId":"48c10c3e-9831-4165-a80e-6e96ba2c3e98","versionType":1,"version":1},{"dossierTemplateId":"49156a1f-30cc-412f-8778-eb5bd842d709","dossierId":"b2c9c4e5-5382-4862-9402-5b619c41a68c","versionType":1,"version":1},{"dossierTemplateId":"49156a1f-30cc-412f-8778-eb5bd842d709","dossierId":"global","versionType":0,"version":1},{"dossierTemplateId":"49156a1f-30cc-412f-8778-eb5bd842d709","dossierId":"global","versionType":1,"version":33},{"dossierTemplateId":"49156a1f-30cc-412f-8778-eb5bd842d709","dossierId":"global","versionType":2,"version":1},{"dossierTemplateId":"9b7bd575-4566-4408-984f-b26da1d2616e","dossierId":"d46267c1-bb19-44ca-8c0c-60fb5d5309c5","versionType":1,"version":1},{"dossierTemplateId":"9b7bd575-4566-4408-984f-b26da1d2616e","dossierId":"global","versionType":0,"version":2},{"dossierTemplateId":"9b7bd575-4566-4408-984f-b26da1d2616e","dossierId":"global","versionType":1,"version":58},{"dossierTemplateId":"9b7bd575-4566-4408-984f-b26da1d2616e","dossierId":"global","versionType":2,"version":1}]
|
||||
@ -0,0 +1 @@
|
||||
[{"fileId":"a7985c094cac62118c9b350461902f95","userId":"f8960240-9973-42e9-9b0f-ed096ff5a018","page":1},{"fileId":"a7985c094cac62118c9b350461902f95","userId":"f8960240-9973-42e9-9b0f-ed096ff5a018","page":5},{"fileId":"a7985c094cac62118c9b350461902f95","userId":"f8960240-9973-42e9-9b0f-ed096ff5a018","page":6}]
|
||||
Loading…
x
Reference in New Issue
Block a user