From d41a8fb397426c044772b409369c684494d284cc Mon Sep 17 00:00:00 2001 From: Dan Percic Date: Wed, 6 Oct 2021 16:47:05 +0300 Subject: [PATCH] create service for audit --- .../src/app/modules/admin/admin.module.ts | 3 ++- .../screens/audit/audit-screen.component.ts | 9 +++++---- .../modules/admin/services/audit.service.ts | 20 +++++++++++++++++++ libs/red-ui-http/src/lib/api.module.ts | 2 -- 4 files changed, 27 insertions(+), 7 deletions(-) create mode 100644 apps/red-ui/src/app/modules/admin/services/audit.service.ts diff --git a/apps/red-ui/src/app/modules/admin/admin.module.ts b/apps/red-ui/src/app/modules/admin/admin.module.ts index 81c5b1ad1..bf19c2512 100644 --- a/apps/red-ui/src/app/modules/admin/admin.module.ts +++ b/apps/red-ui/src/app/modules/admin/admin.module.ts @@ -39,6 +39,7 @@ import { UserDetailsComponent } from './dialogs/add-edit-user-dialog/user-detail import { AddEditDossierAttributeDialogComponent } from './dialogs/add-edit-dossier-attribute-dialog/add-edit-dossier-attribute-dialog.component'; import { DossierAttributesListingScreenComponent } from './screens/dossier-attributes-listing/dossier-attributes-listing-screen.component'; import { TrashScreenComponent } from './screens/trash/trash-screen.component'; +import { AuditService } from './services/audit.service'; const dialogs = [ AddEditDossierTemplateDialogComponent, @@ -88,7 +89,7 @@ const components = [ @NgModule({ declarations: [...components], - providers: [AdminDialogService], + providers: [AdminDialogService, AuditService], imports: [CommonModule, SharedModule, AdminRoutingModule, NgxChartsModule, ColorPickerModule, MonacoEditorModule], }) export class AdminModule {} 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 6214e0bb5..2377207de 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,6 +1,6 @@ import { Component, forwardRef, Injector, OnDestroy, OnInit } from '@angular/core'; import { FormBuilder, FormGroup } from '@angular/forms'; -import { AuditControllerService, AuditResponse, AuditSearchRequest, IAudit } from '@redaction/red-ui-http'; +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'; @@ -8,6 +8,7 @@ import { auditCategoriesTranslations } from '../../translations/audit-categories import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { UserService } from '@services/user.service'; import { Audit } from '@models/audit.model'; +import { AuditService } from '../../services/audit.service'; const PAGE_SIZE = 50; @@ -41,7 +42,7 @@ export class AuditScreenComponent extends ListingComponent implements OnD protected readonly _injector: Injector, private readonly _formBuilder: FormBuilder, private readonly _loadingService: LoadingService, - private readonly _auditControllerService: AuditControllerService, + private readonly _auditService: AuditService, ) { super(_injector); this.filterForm = this._formBuilder.group({ @@ -102,8 +103,8 @@ export class AuditScreenComponent extends ListingComponent implements OnD to, }; - promises.push(this._auditControllerService.getAuditCategories().toPromise()); - promises.push(this._auditControllerService.searchAuditLog(logsRequestBody).toPromise()); + promises.push(this._auditService.getCategories().toPromise()); + promises.push(this._auditService.searchAuditLog(logsRequestBody).toPromise()); const data = await Promise.all(promises); this.categories = data[0].map(c => c.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 new file mode 100644 index 000000000..44f7b1d07 --- /dev/null +++ b/apps/red-ui/src/app/modules/admin/services/audit.service.ts @@ -0,0 +1,20 @@ +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 { Observable } from 'rxjs'; + +@Injectable() +export class AuditService extends GenericService { + constructor(protected readonly _injector: Injector) { + super(_injector, 'audit'); + } + + getCategories(): Observable { + return super.getAll(`${this._defaultModelPath}/categories`); + } + + @Validate() + searchAuditLog(@RequiredParam() body: AuditSearchRequest): Observable { + return this._post(body, `${this._defaultModelPath}/search`); + } +} diff --git a/libs/red-ui-http/src/lib/api.module.ts b/libs/red-ui-http/src/lib/api.module.ts index 02a26bbc8..a384322cd 100644 --- a/libs/red-ui-http/src/lib/api.module.ts +++ b/libs/red-ui-http/src/lib/api.module.ts @@ -2,7 +2,6 @@ import { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core import { Configuration } from './configuration'; import { HttpClient } from '@angular/common/http'; -import { AuditControllerService } from './api/auditController.service'; import { DigitalSignatureControllerService } from './api/digitalSignatureController.service'; import { DossierAttributesControllerService } from './api/dossierAttributesController.service'; import { DownloadControllerService } from './api/downloadController.service'; @@ -30,7 +29,6 @@ import { StatusReportControllerService } from './api/statusReportController.serv declarations: [], exports: [], providers: [ - AuditControllerService, DigitalSignatureControllerService, DossierAttributesControllerService, DownloadControllerService,