diff --git a/apps/red-ui/src/app/models/file/file.ts b/apps/red-ui/src/app/models/file/file.ts index 7b6577115..14747f09b 100644 --- a/apps/red-ui/src/app/models/file/file.ts +++ b/apps/red-ui/src/app/models/file/file.ts @@ -1,5 +1,6 @@ import { IListable, List } from '@iqser/common-ui'; -import { FileAttributes, FileAttributesConfig, FileStatus, FileStatuses, IFile } from '@redaction/red-ui-http'; +import { FileStatus, FileStatuses, IFile } from '@redaction/red-ui-http'; +import { FileAttributes, IFileAttributesConfig } from '@red/domain'; import { StatusSorter } from '@utils/sorters/status-sorter'; const processingStatuses: List = [ @@ -61,7 +62,7 @@ export class File implements IFile, IListable { readonly isWorkable: boolean; readonly canBeOCRed: boolean; - constructor(file: IFile, readonly reviewerName: string, fileAttributesConfig?: FileAttributesConfig) { + constructor(file: IFile, readonly reviewerName: string, fileAttributesConfig?: IFileAttributesConfig) { this.added = file.added; this.allManualRedactionsApplied = !!file.allManualRedactionsApplied; this.analysisDuration = file.analysisDuration; diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.ts index bc36e8c9c..b3b3e7e8d 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.ts @@ -1,7 +1,7 @@ import { Component, Inject } from '@angular/core'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { AppStateService } from '@state/app-state.service'; -import { FileAttributeConfigTypes, IFileAttributeConfig } from '@redaction/red-ui-http'; +import { FileAttributeConfigTypes, IFileAttributeConfig } from '@red/domain'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { fileAttributeTypesTranslations } from '../../translations/file-attribute-types-translations'; diff --git a/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-file-attribute-dialog/confirm-delete-file-attribute-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-file-attribute-dialog/confirm-delete-file-attribute-dialog.component.ts index 490d1a8a9..1cf2cee1b 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-file-attribute-dialog/confirm-delete-file-attribute-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-file-attribute-dialog/confirm-delete-file-attribute-dialog.component.ts @@ -1,5 +1,5 @@ import { Component, Inject } from '@angular/core'; -import { IFileAttributeConfig } from '@redaction/red-ui-http'; +import { IFileAttributeConfig } from '@red/domain'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; diff --git a/apps/red-ui/src/app/modules/admin/dialogs/file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component.ts index 7abebddcc..e0d094671 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component.ts @@ -2,12 +2,11 @@ import { Component, Inject, Injector } from '@angular/core'; import { AbstractControl, FormBuilder, FormGroup, ValidatorFn, Validators } from '@angular/forms'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import * as Papa from 'papaparse'; -import { FileAttributeConfigType, FileAttributeConfigTypes, FileAttributesConfig } from '@redaction/red-ui-http'; import { Observable } from 'rxjs'; import { map, startWith } from 'rxjs/operators'; import { DefaultListingServices, IListable, ListingComponent, TableColumnConfig, Toaster } from '@iqser/common-ui'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; -import { FileAttributeConfig } from '@models/file/file-attribute-config'; +import { FileAttributeConfig, FileAttributeConfigType, FileAttributeConfigTypes, IFileAttributesConfig } from '@red/domain'; import { FileAttributesService } from '@services/entity-services/file-attributes.service'; export interface Field extends IListable { @@ -48,7 +47,7 @@ export class FileAttributesCsvImportDialogComponent extends ListingComponent>; +type FileAttributesConfigMap = Readonly>; @Injectable({ providedIn: 'root', @@ -25,12 +24,12 @@ export class FileAttributesService extends EntitiesService { + getFileAttributesConfig(@RequiredParam() dossierTemplateId: string, fetch = true): Observable { if (!fetch) { return this._fileAttributesConfig$.pipe(map(entities => entities[dossierTemplateId])); } - const request$ = this._getOne(['config', dossierTemplateId]); + const request$ = this._getOne(['config', dossierTemplateId]); return request$.pipe( tap(entities => this._fileAttributesConfig$.next({ @@ -42,7 +41,7 @@ export class FileAttributesService extends EntitiesService(body, url); } diff --git a/libs/red-domain/src/index.ts b/libs/red-domain/src/index.ts index 875b55561..d9288417a 100644 --- a/libs/red-domain/src/index.ts +++ b/libs/red-domain/src/index.ts @@ -10,3 +10,4 @@ export * from './lib/dossier-templates'; export * from './lib/dictionaries'; export * from './lib/redaction-log'; export * from './lib/geometry'; +export * from './lib/file-attributes'; diff --git a/apps/red-ui/src/app/models/file/file-attribute-config.ts b/libs/red-domain/src/lib/file-attributes/file-attribute-config.model.ts similarity index 90% rename from apps/red-ui/src/app/models/file/file-attribute-config.ts rename to libs/red-domain/src/lib/file-attributes/file-attribute-config.model.ts index 1b61ac423..c7273264e 100644 --- a/apps/red-ui/src/app/models/file/file-attribute-config.ts +++ b/libs/red-domain/src/lib/file-attributes/file-attribute-config.model.ts @@ -1,11 +1,11 @@ -import { FileAttributeConfigType, IFileAttributeConfig } from '@redaction/red-ui-http'; import { IListable } from '@iqser/common-ui'; +import { FileAttributeConfigType, IFileAttributeConfig } from './file-attribute-config'; export class FileAttributeConfig implements IFileAttributeConfig, IListable { readonly id: string; readonly csvColumnHeader?: string; readonly editable?: boolean; - readonly label?: string; + readonly label: string; readonly placeholder?: string; readonly primaryAttribute?: boolean; readonly displayedInFileList?: boolean; diff --git a/libs/red-domain/src/lib/file-attributes/file-attribute-config.ts b/libs/red-domain/src/lib/file-attributes/file-attribute-config.ts new file mode 100644 index 000000000..2219fc90b --- /dev/null +++ b/libs/red-domain/src/lib/file-attributes/file-attribute-config.ts @@ -0,0 +1,19 @@ +export interface IFileAttributeConfig { + readonly id: string; + readonly label: string; + readonly csvColumnHeader?: string; + readonly displayedInFileList?: boolean; + readonly dossierTemplateId?: string; + readonly editable?: boolean; + readonly filterable?: boolean; + readonly placeholder?: string; + readonly primaryAttribute?: boolean; + readonly type?: FileAttributeConfigType; +} + +export const FileAttributeConfigTypes = { + DATE: 'DATE', + NUMBER: 'NUMBER', + TEXT: 'TEXT', +} as const; +export type FileAttributeConfigType = keyof typeof FileAttributeConfigTypes; diff --git a/libs/red-domain/src/lib/file-attributes/file-attributes-config.ts b/libs/red-domain/src/lib/file-attributes/file-attributes-config.ts new file mode 100644 index 000000000..e3363aebe --- /dev/null +++ b/libs/red-domain/src/lib/file-attributes/file-attributes-config.ts @@ -0,0 +1,7 @@ +import { IFileAttributeConfig } from './file-attribute-config'; + +export interface IFileAttributesConfig { + delimiter?: string; + fileAttributeConfigs?: IFileAttributeConfig[]; + filenameMappingColumnHeaderName?: string; +} diff --git a/libs/red-domain/src/lib/file-attributes/file-attributes.ts b/libs/red-domain/src/lib/file-attributes/file-attributes.ts new file mode 100644 index 000000000..6ec3bb0ab --- /dev/null +++ b/libs/red-domain/src/lib/file-attributes/file-attributes.ts @@ -0,0 +1,3 @@ +export interface FileAttributes { + attributeIdToValue?: any; +} diff --git a/libs/red-domain/src/lib/file-attributes/index.ts b/libs/red-domain/src/lib/file-attributes/index.ts new file mode 100644 index 000000000..ee91c20a8 --- /dev/null +++ b/libs/red-domain/src/lib/file-attributes/index.ts @@ -0,0 +1,4 @@ +export * from './file-attribute-config'; +export * from './file-attribute-config.model'; +export * from './file-attributes'; +export * from './file-attributes-config'; diff --git a/libs/red-ui-http/src/lib/model/file.ts b/libs/red-ui-http/src/lib/model/file.ts index edc6ecd8a..4aa456a35 100644 --- a/libs/red-ui-http/src/lib/model/file.ts +++ b/libs/red-ui-http/src/lib/model/file.ts @@ -1,15 +1,4 @@ -/** - * API Documentation for Redaction Gateway - * Description for redaction - * - * OpenAPI spec version: 1.0 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ -import { FileAttributes } from './fileAttributes'; +import { FileAttributes } from '@red/domain'; /** * Object containing information on a specific file. diff --git a/libs/red-ui-http/src/lib/model/fileAttributeConfig.ts b/libs/red-ui-http/src/lib/model/fileAttributeConfig.ts deleted file mode 100644 index 8ef723324..000000000 --- a/libs/red-ui-http/src/lib/model/fileAttributeConfig.ts +++ /dev/null @@ -1,32 +0,0 @@ -/** - * API Documentation for Redaction Gateway - * Description for redaction - * - * OpenAPI spec version: 1.0 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - -export interface IFileAttributeConfig { - readonly csvColumnHeader?: string; - readonly displayedInFileList?: boolean; - readonly dossierTemplateId?: string; - readonly editable?: boolean; - readonly filterable?: boolean; - readonly id: string; - readonly label?: string; - readonly placeholder?: string; - readonly primaryAttribute?: boolean; - readonly type?: FileAttributeConfigType; - -} - -export const FileAttributeConfigTypes = { - DATE: 'DATE', - NUMBER: 'NUMBER', - TEXT: 'TEXT', -} as const; -export type FileAttributeConfigType = keyof typeof FileAttributeConfigTypes; diff --git a/libs/red-ui-http/src/lib/model/fileAttributes.ts b/libs/red-ui-http/src/lib/model/fileAttributes.ts deleted file mode 100644 index f54f234f4..000000000 --- a/libs/red-ui-http/src/lib/model/fileAttributes.ts +++ /dev/null @@ -1,15 +0,0 @@ -/** - * API Documentation for Redaction Gateway - * Description for redaction - * - * OpenAPI spec version: 1.0 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ - -export interface FileAttributes { - attributeIdToValue?: any; -} diff --git a/libs/red-ui-http/src/lib/model/fileAttributesConfig.ts b/libs/red-ui-http/src/lib/model/fileAttributesConfig.ts deleted file mode 100644 index 00aefa3c5..000000000 --- a/libs/red-ui-http/src/lib/model/fileAttributesConfig.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * API Documentation for Redaction Gateway - * Description for redaction - * - * OpenAPI spec version: 1.0 - * - * - * NOTE: This class is auto generated by the swagger code generator program. - * https://github.com/swagger-api/swagger-codegen.git - * Do not edit the class manually. - */ -import { IFileAttributeConfig } from './fileAttributeConfig'; - -export interface FileAttributesConfig { - delimiter?: string; - fileAttributeConfigs?: Array; - filenameMappingColumnHeaderName?: string; -} diff --git a/libs/red-ui-http/src/lib/model/models.ts b/libs/red-ui-http/src/lib/model/models.ts index 48db7d864..5a3459b05 100644 --- a/libs/red-ui-http/src/lib/model/models.ts +++ b/libs/red-ui-http/src/lib/model/models.ts @@ -7,9 +7,9 @@ export * from './digitalSignatureViewModel'; export * from './downloadResponse'; export * from './downloadStatus'; export * from './downloadStatusResponse'; -export * from './fileAttributeConfig'; -export * from './fileAttributes'; -export * from './fileAttributesConfig'; +export * from '../../../../red-domain/src/lib/file-attributes/file-attribute-config'; +export * from '../../../../red-domain/src/lib/file-attributes/file-attributes'; +export * from '../../../../red-domain/src/lib/file-attributes/file-attributes-config'; export * from './file'; export * from './fileUploadResult'; export * from './generalConfigurationModel';