move dossier attributes to red-domain

This commit is contained in:
Dan Percic 2021-10-21 16:26:45 +03:00
parent 47333c97c0
commit 3466e8a4ed
19 changed files with 58 additions and 113 deletions

View File

@ -1,3 +0,0 @@
import { IDossierAttributeConfig } from '@redaction/red-ui-http';
export type DossierAttributeWithValue = IDossierAttributeConfig & { value: any };

View File

@ -1,12 +1,13 @@
import { Component, Inject, OnDestroy } from '@angular/core';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { DossierAttributeConfigTypes, FileAttributeConfigTypes, IDossierAttributeConfig } from '@redaction/red-ui-http';
import { DossierAttributeConfigTypes, FileAttributeConfigTypes } from '@redaction/red-ui-http';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { AutoUnsubscribe, LoadingService, Toaster } from '@iqser/common-ui';
import { HttpErrorResponse } from '@angular/common/http';
import { DossierAttributesService } from '@shared/services/controller-wrappers/dossier-attributes.service';
import { dossierAttributeTypesTranslations } from '../../translations/dossier-attribute-types-translations';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { IDossierAttributeConfig } from '@red/domain';
@Component({
templateUrl: './add-edit-dossier-attribute-dialog.component.html',

View File

@ -8,7 +8,6 @@ import {
LoadingService,
TableColumnConfig,
} from '@iqser/common-ui';
import { IDossierAttributeConfig } from '@redaction/red-ui-http';
import { AppStateService } from '@state/app-state.service';
import { ActivatedRoute } from '@angular/router';
import { AdminDialogService } from '../../services/admin-dialog.service';
@ -16,7 +15,7 @@ import { DossierAttributesService } from '@shared/services/controller-wrappers/d
import { dossierAttributeTypesTranslations } from '../../translations/dossier-attribute-types-translations';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { UserService } from '@services/user.service';
import { DossierAttributeConfig } from '@state/model/dossier-attribute-config';
import { DossierAttributeConfig, IDossierAttributeConfig } from '@red/domain';
import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service';
@Component({

View File

@ -1,11 +1,10 @@
import { Component, ElementRef, EventEmitter, Input, OnInit, Output, QueryList, ViewChildren } from '@angular/core';
import { EditDossierSectionInterface } from '../edit-dossier-section.interface';
import { Dossier } from '@red/domain';
import { Dossier, DossierAttributeWithValue } from '@red/domain';
import { PermissionsService } from '@services/permissions.service';
import { CircleButtonTypes, IconButtonTypes, LoadingService } from '@iqser/common-ui';
import { FormBuilder, FormGroup } from '@angular/forms';
import * as moment from 'moment';
import { DossierAttributeWithValue } from '@models/dossier-attributes.model';
import { DossierAttributesService } from '@shared/services/controller-wrappers/dossier-attributes.service';
@Component({

View File

@ -1,7 +1,6 @@
import { Component, EventEmitter, Input, Output } from '@angular/core';
import { DossierAttributeWithValue } from '@models/dossier-attributes.model';
import { AppStateService } from '@state/app-state.service';
import { Dossier } from '@red/domain';
import { Dossier, DossierAttributeWithValue } from '@red/domain';
import { DossiersDialogService } from '../../../../services/dossiers-dialog.service';
import { DossiersService } from '@services/entity-services/dossiers.service';
import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service';

View File

@ -5,12 +5,11 @@ import { DoughnutChartConfig } from '@shared/components/simple-doughnut-chart/si
import { TranslateChartService } from '@services/translate-chart.service';
import { UserService } from '@services/user.service';
import { FilterService, Toaster } from '@iqser/common-ui';
import { DossierAttributeWithValue } from '@models/dossier-attributes.model';
import { fileStatusTranslations } from '../../../../translations/file-status-translations';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { User } from '@models/user';
import { DossiersService } from '@services/entity-services/dossiers.service';
import { IDossierRequest } from '@red/domain';
import { DossierAttributeWithValue, IDossierRequest } from '@red/domain';
@Component({
selector: 'redaction-dossier-details',

View File

@ -42,11 +42,10 @@ import {
WorkflowConfig,
} from '@iqser/common-ui';
import { DossierAttributesService } from '@shared/services/controller-wrappers/dossier-attributes.service';
import { DossierAttributeWithValue } from '@models/dossier-attributes.model';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { PermissionsService } from '@services/permissions.service';
import { RouterHistoryService } from '@services/router-history.service';
import { Dossier } from '@red/domain';
import { Dossier, DossierAttributeWithValue } from '@red/domain';
import { Router } from '@angular/router';
import { FileAttributesService } from '@services/entity-services/file-attributes.service';
import { ConfigService as AppConfigService } from '@services/config.service';

View File

@ -1,9 +1,6 @@
import { Injectable, Injector } from '@angular/core';
import { DossierAttribute, DossierAttributes, DossierAttributesConfig, IDossierAttributeConfig } from '@redaction/red-ui-http';
import { Dossier } from '@red/domain';
import { DossierAttributeWithValue } from '@models/dossier-attributes.model';
import { Dossier, DossierAttributeConfig, DossierAttributeWithValue, IDossierAttribute, IDossierAttributeConfig } from '@red/domain';
import { Observable } from 'rxjs';
import { DossierAttributeConfig } from '@state/model/dossier-attribute-config';
import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service';
import { EntitiesService, List, mapEach, RequiredParam, Validate } from '@iqser/common-ui';
import { map, tap } from 'rxjs/operators';
@ -27,11 +24,11 @@ export class DossierAttributesService extends EntitiesService<DossierAttributeCo
}
@Validate()
setAttributes(
@RequiredParam() dossier: Dossier,
@RequiredParam() dossierAttributeList: List<DossierAttribute>,
): Observable<DossierAttributes> {
return this._post({ dossierAttributeList }, `${this._defaultModelPath}/set/${dossier.id}`);
setAttributes(@RequiredParam() dossier: Dossier, @RequiredParam() dossierAttributeList: List<IDossierAttribute>) {
return this._post<{ dossierAttributeList?: List<IDossierAttribute> }>(
{ dossierAttributeList },
`${this._defaultModelPath}/set/${dossier.id}`,
);
}
@Validate()
@ -58,11 +55,13 @@ export class DossierAttributesService extends EntitiesService<DossierAttributeCo
@Validate()
getConfig(@RequiredParam() dossierTemplateId: string): Observable<List<IDossierAttributeConfig>> {
return this._getOne<DossierAttributesConfig>(['config', dossierTemplateId]).pipe(map(res => res.dossierAttributeConfigs));
return this._getOne<{ dossierAttributeConfigs: List<IDossierAttributeConfig> }>(['config', dossierTemplateId]).pipe(
map(res => res.dossierAttributeConfigs),
);
}
@Validate()
getAttributes(@RequiredParam() dossierId: string): Observable<List<DossierAttribute>> {
return this._getOne<DossierAttributes>([dossierId]).pipe(map(res => res.dossierAttributeList));
getAttributes(@RequiredParam() dossierId: string): Observable<List<IDossierAttribute>> {
return this._getOne<{ dossierAttributeList?: List<IDossierAttribute> }>([dossierId]).pipe(map(res => res.dossierAttributeList));
}
}

View File

@ -1,3 +1,4 @@
export * from './lib/dossiers';
export * from './lib/search';
export * from './lib/shared/types';
export * from './lib/dossier-attributes';

View File

@ -0,0 +1,10 @@
import { DossierAttributeConfigType } from './types';
export interface IDossierAttributeConfig {
readonly id: string;
readonly editable: boolean;
readonly label: string;
readonly placeholder: string;
readonly dossierTemplateId?: string;
readonly type: DossierAttributeConfigType;
}

View File

@ -1,17 +1,18 @@
import { DossierAttributeConfigType, IDossierAttributeConfig } from '@redaction/red-ui-http';
import { IListable } from '@iqser/common-ui';
import { IDossierAttributeConfig } from './dossier-attribute-config.interface';
import { DossierAttributeConfigType } from './types';
export class DossierAttributeConfig implements IDossierAttributeConfig, IListable {
readonly id: string;
readonly editable: boolean;
readonly label: string;
readonly placeholder?: string;
readonly type?: DossierAttributeConfigType;
readonly dossierTemplateId: string;
readonly placeholder: string;
readonly type: DossierAttributeConfigType;
readonly dossierTemplateId?: string;
constructor(dossierAttributeConfig: IDossierAttributeConfig) {
this.id = dossierAttributeConfig.id;
this.editable = !!dossierAttributeConfig.editable;
this.editable = dossierAttributeConfig.editable;
this.label = dossierAttributeConfig.label;
this.placeholder = dossierAttributeConfig.placeholder;
this.type = dossierAttributeConfig.type;

View File

@ -0,0 +1,5 @@
export interface IDossierAttribute {
dossierAttributeConfigId?: string;
dossierId?: string;
value?: string;
}

View File

@ -0,0 +1,4 @@
export * from './types';
export * from './dossier-attribute-config.interface';
export * from './dossier-attribute-config.model';
export * from './dossier-attribute.interface';

View File

@ -0,0 +1,12 @@
import { IDossierAttributeConfig } from './dossier-attribute-config.interface';
export const DossierAttributeConfigTypes = {
DATE: 'DATE',
IMAGE: 'IMAGE',
NUMBER: 'NUMBER',
TEXT: 'TEXT',
} as const;
export type DossierAttributeConfigType = keyof typeof DossierAttributeConfigTypes;
export type DossierAttributeWithValue = IDossierAttributeConfig & { value: string };

View File

@ -1,17 +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 DossierAttribute {
dossierAttributeConfigId?: string;
dossierId?: string;
value?: string;
}

View File

@ -1,28 +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 IDossierAttributeConfig {
readonly id: string;
readonly editable?: boolean;
readonly label: string;
readonly placeholder?: string;
readonly dossierTemplateId: string;
readonly type?: DossierAttributeConfigType;
}
export const DossierAttributeConfigTypes = {
DATE: 'DATE',
IMAGE: 'IMAGE',
NUMBER: 'NUMBER',
TEXT: 'TEXT',
} as const;
export type DossierAttributeConfigType = keyof typeof DossierAttributeConfigTypes;

View File

@ -1,16 +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 { DossierAttribute } from './dossierAttribute';
export interface DossierAttributes {
dossierAttributeList?: Array<DossierAttribute>;
}

View File

@ -1,17 +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 { IDossierAttributeConfig } from './dossierAttributeConfig';
import { List } from '../red-types';
export interface DossierAttributesConfig {
dossierAttributeConfigs: List<IDossierAttributeConfig>;
}

View File

@ -13,10 +13,6 @@ export * from './createUserRequest';
export * from './dictionary';
export * from './digitalSignature';
export * from './digitalSignatureViewModel';
export * from './dossierAttributeConfig';
export * from './dossierAttribute';
export * from './dossierAttributesConfig';
export * from './dossierAttributes';
export * from './dossierTemplate';
export * from './downloadResponse';
export * from './downloadStatus';
@ -64,3 +60,5 @@ export * from './viewedPage';
export * from './viewedPages';
export * from './viewedPagesRequest';
export * from './watermarkModel';
export { DossierAttributeConfigType } from '../../../../red-domain/src/lib/dossier-attributes/types';
export { DossierAttributeConfigTypes } from '../../../../red-domain/src/lib/dossier-attributes/types';