From d068d54568675b8f26c382b4e1cb48e3e890e4b3 Mon Sep 17 00:00:00 2001 From: Dan Percic Date: Thu, 21 Oct 2021 23:23:51 +0300 Subject: [PATCH] move audit models to red-domain --- .../screens/audit/audit-screen.component.ts | 7 +++--- .../modules/admin/services/audit.service.ts | 5 +++-- libs/red-domain/src/index.ts | 1 + .../src/lib/audit/audit-search.request.ts | 10 +++++++++ .../src/lib/audit/audit.interface.ts | 9 ++++++++ .../red-domain/src/lib/audit}/audit.model.ts | 12 +++++----- .../src/lib/audit/audit.response.ts | 9 ++++++++ libs/red-domain/src/lib/audit/index.ts | 4 ++++ libs/red-ui-http/src/lib/model/audit.ts | 21 ------------------ .../src/lib/model/auditResponse.ts | 19 ---------------- .../src/lib/model/auditSearchRequest.ts | 22 ------------------- libs/red-ui-http/src/lib/model/models.ts | 3 --- 12 files changed, 45 insertions(+), 77 deletions(-) create mode 100644 libs/red-domain/src/lib/audit/audit-search.request.ts create mode 100644 libs/red-domain/src/lib/audit/audit.interface.ts rename {apps/red-ui/src/app/models => libs/red-domain/src/lib/audit}/audit.model.ts (74%) create mode 100644 libs/red-domain/src/lib/audit/audit.response.ts create mode 100644 libs/red-domain/src/lib/audit/index.ts delete mode 100644 libs/red-ui-http/src/lib/model/audit.ts delete mode 100644 libs/red-ui-http/src/lib/model/auditResponse.ts delete mode 100644 libs/red-ui-http/src/lib/model/auditSearchRequest.ts diff --git a/apps/red-ui/src/app/modules/admin/screens/audit/audit-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/audit/audit-screen.component.ts index 2377207de..e16388f3b 100644 --- a/apps/red-ui/src/app/modules/admin/screens/audit/audit-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/audit/audit-screen.component.ts @@ -1,13 +1,12 @@ import { Component, forwardRef, Injector, OnDestroy, OnInit } from '@angular/core'; import { FormBuilder, FormGroup } from '@angular/forms'; -import { AuditResponse, AuditSearchRequest, IAudit } from '@redaction/red-ui-http'; import { Moment } from 'moment'; import { applyIntervalConstraints } from '@utils/date-inputs-utils'; import { DefaultListingServices, ListingComponent, LoadingService, TableColumnConfig } from '@iqser/common-ui'; import { auditCategoriesTranslations } from '../../translations/audit-categories-translations'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { UserService } from '@services/user.service'; -import { Audit } from '@models/audit.model'; +import { Audit, IAudit, IAuditResponse, IAuditSearchRequest } from '@red/domain'; import { AuditService } from '../../services/audit.service'; const PAGE_SIZE = 50; @@ -26,7 +25,7 @@ export class AuditScreenComponent extends ListingComponent implements OnD filterForm: FormGroup; categories: string[] = []; userIds: Set; - logs: AuditResponse; + logs: IAuditResponse; readonly tableColumnConfigs: TableColumnConfig[] = [ { label: _('audit-screen.table-col-names.message') }, { label: _('audit-screen.table-col-names.date') }, @@ -94,7 +93,7 @@ export class AuditScreenComponent extends ListingComponent implements OnD if (to) { to = to.clone().add(1, 'd'); } - const logsRequestBody: AuditSearchRequest = { + const logsRequestBody: IAuditSearchRequest = { pageSize: PAGE_SIZE, page: page, category: category === this.ALL_CATEGORIES ? undefined : category, diff --git a/apps/red-ui/src/app/modules/admin/services/audit.service.ts b/apps/red-ui/src/app/modules/admin/services/audit.service.ts index 44f7b1d07..2ef8569b4 100644 --- a/apps/red-ui/src/app/modules/admin/services/audit.service.ts +++ b/apps/red-ui/src/app/modules/admin/services/audit.service.ts @@ -1,7 +1,8 @@ import { Injectable, Injector } from '@angular/core'; import { GenericService, RequiredParam, Validate } from '@iqser/common-ui'; -import { AuditResponse, AuditSearchRequest, CategoryModel, IAudit } from '@redaction/red-ui-http'; +import { CategoryModel } from '@redaction/red-ui-http'; import { Observable } from 'rxjs'; +import { IAudit, IAuditResponse, IAuditSearchRequest } from '@red/domain'; @Injectable() export class AuditService extends GenericService { @@ -14,7 +15,7 @@ export class AuditService extends GenericService { } @Validate() - searchAuditLog(@RequiredParam() body: AuditSearchRequest): Observable { + searchAuditLog(@RequiredParam() body: IAuditSearchRequest): Observable { return this._post(body, `${this._defaultModelPath}/search`); } } diff --git a/libs/red-domain/src/index.ts b/libs/red-domain/src/index.ts index 3b4958ff0..c8bc53208 100644 --- a/libs/red-domain/src/index.ts +++ b/libs/red-domain/src/index.ts @@ -4,3 +4,4 @@ export * from './lib/shared/types'; export * from './lib/dossier-attributes'; export * from './lib/users'; export * from './lib/pages'; +export * from './lib/audit'; diff --git a/libs/red-domain/src/lib/audit/audit-search.request.ts b/libs/red-domain/src/lib/audit/audit-search.request.ts new file mode 100644 index 000000000..88f3c5a25 --- /dev/null +++ b/libs/red-domain/src/lib/audit/audit-search.request.ts @@ -0,0 +1,10 @@ +export interface IAuditSearchRequest { + readonly category?: string; + readonly from?: string; + readonly objectId?: string; + readonly page?: number; + readonly pageSize?: number; + readonly requestingUserId?: string; + readonly to?: string; + readonly userId?: string; +} diff --git a/libs/red-domain/src/lib/audit/audit.interface.ts b/libs/red-domain/src/lib/audit/audit.interface.ts new file mode 100644 index 000000000..12d90b2f2 --- /dev/null +++ b/libs/red-domain/src/lib/audit/audit.interface.ts @@ -0,0 +1,9 @@ +export interface IAudit { + readonly category: string; + readonly details?: unknown; + readonly message: string; + readonly objectId?: string; + readonly recordDate: string; + readonly recordId: string; + readonly userId: string; +} diff --git a/apps/red-ui/src/app/models/audit.model.ts b/libs/red-domain/src/lib/audit/audit.model.ts similarity index 74% rename from apps/red-ui/src/app/models/audit.model.ts rename to libs/red-domain/src/lib/audit/audit.model.ts index 76ca7d7ad..5879c9b03 100644 --- a/apps/red-ui/src/app/models/audit.model.ts +++ b/libs/red-domain/src/lib/audit/audit.model.ts @@ -1,14 +1,14 @@ -import { IAudit } from '@redaction/red-ui-http'; import { IListable } from '@iqser/common-ui'; +import { IAudit } from './audit.interface'; export class Audit implements IAudit, IListable { - readonly recordId?: number; - readonly category?: string; + readonly recordId: string; + readonly category: string; readonly details?: unknown; - readonly message?: string; + readonly message: string; readonly objectId?: string; readonly recordDate: string; - readonly userId?: string; + readonly userId: string; constructor(audit: IAudit) { this.category = audit.category; @@ -21,7 +21,7 @@ export class Audit implements IAudit, IListable { } get id(): string { - return this.recordDate; + return this.recordId; } get searchKey(): string { diff --git a/libs/red-domain/src/lib/audit/audit.response.ts b/libs/red-domain/src/lib/audit/audit.response.ts new file mode 100644 index 000000000..88248547f --- /dev/null +++ b/libs/red-domain/src/lib/audit/audit.response.ts @@ -0,0 +1,9 @@ +import { IAudit } from './audit.interface'; +import { List } from '@iqser/common-ui'; + +export interface IAuditResponse { + data: List; + page?: number; + pageSize?: number; + totalHits?: number; +} diff --git a/libs/red-domain/src/lib/audit/index.ts b/libs/red-domain/src/lib/audit/index.ts new file mode 100644 index 000000000..b37fe2ee6 --- /dev/null +++ b/libs/red-domain/src/lib/audit/index.ts @@ -0,0 +1,4 @@ +export * from './audit.model'; +export * from './audit.interface'; +export * from './audit.response'; +export * from './audit-search.request'; diff --git a/libs/red-ui-http/src/lib/model/audit.ts b/libs/red-ui-http/src/lib/model/audit.ts deleted file mode 100644 index 2a94b2242..000000000 --- a/libs/red-ui-http/src/lib/model/audit.ts +++ /dev/null @@ -1,21 +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 IAudit { - readonly category?: string; - readonly details?: unknown; - readonly message?: string; - readonly objectId?: string; - readonly recordDate: string; - readonly recordId?: number; - readonly userId?: string; -} diff --git a/libs/red-ui-http/src/lib/model/auditResponse.ts b/libs/red-ui-http/src/lib/model/auditResponse.ts deleted file mode 100644 index e47bd2dc9..000000000 --- a/libs/red-ui-http/src/lib/model/auditResponse.ts +++ /dev/null @@ -1,19 +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 { IAudit } from './audit'; - -export interface AuditResponse { - data?: Array; - page?: number; - pageSize?: number; - totalHits?: number; -} diff --git a/libs/red-ui-http/src/lib/model/auditSearchRequest.ts b/libs/red-ui-http/src/lib/model/auditSearchRequest.ts deleted file mode 100644 index 1ed35a5d2..000000000 --- a/libs/red-ui-http/src/lib/model/auditSearchRequest.ts +++ /dev/null @@ -1,22 +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 AuditSearchRequest { - category?: string; - from?: string; - objectId?: string; - page?: number; - pageSize?: number; - requestingUserId?: string; - to?: string; - userId?: string; -} diff --git a/libs/red-ui-http/src/lib/model/models.ts b/libs/red-ui-http/src/lib/model/models.ts index 577508aaf..d0851ff00 100644 --- a/libs/red-ui-http/src/lib/model/models.ts +++ b/libs/red-ui-http/src/lib/model/models.ts @@ -1,8 +1,5 @@ export * from './addRedactionRequest'; export * from './approveRequest'; -export * from './audit'; -export * from './auditResponse'; -export * from './auditSearchRequest'; export * from './categoryModel'; export * from './cellRectangle'; export * from './change';