From 9a73d3d1d97610a73a21c23a90fc286a5d7a4cc3 Mon Sep 17 00:00:00 2001 From: Dan Percic Date: Thu, 14 Oct 2021 21:56:24 +0300 Subject: [PATCH] add rules service --- .../screens/rules/rules-screen.component.ts | 10 +++++----- .../modules/admin/services/rules.service.ts | 20 +++++++++++++++++++ libs/red-ui-http/src/lib/api.module.ts | 2 -- 3 files changed, 25 insertions(+), 7 deletions(-) create mode 100644 apps/red-ui/src/app/modules/admin/services/rules.service.ts diff --git a/apps/red-ui/src/app/modules/admin/screens/rules/rules-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/rules/rules-screen.component.ts index 5f3908265..0755a2874 100644 --- a/apps/red-ui/src/app/modules/admin/screens/rules/rules-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/rules/rules-screen.component.ts @@ -1,6 +1,5 @@ import { Component, ElementRef, OnInit, ViewChild } from '@angular/core'; import { PermissionsService } from '@services/permissions.service'; -import { RulesControllerService } from '@redaction/red-ui-http'; import { Debounce, IconButtonTypes, LoadingService, Toaster } from '@iqser/common-ui'; import { TranslateService } from '@ngx-translate/core'; import { saveAs } from 'file-saver'; @@ -9,6 +8,7 @@ import { ActivatedRoute } from '@angular/router'; import { AppStateService } from '@state/app-state.service'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service'; +import { RulesService } from '../../services/rules.service'; import ICodeEditor = monaco.editor.ICodeEditor; import IModelDeltaDecoration = monaco.editor.IModelDeltaDecoration; import IStandaloneEditorConstructionOptions = monaco.editor.IStandaloneEditorConstructionOptions; @@ -38,7 +38,7 @@ export class RulesScreenComponent extends ComponentHasChanges implements OnInit constructor( readonly permissionsService: PermissionsService, - private readonly _rulesControllerService: RulesControllerService, + private readonly _rulesService: RulesService, private readonly _appStateService: AppStateService, private readonly _dossierTemplatesService: DossierTemplatesService, private readonly _toaster: Toaster, @@ -88,7 +88,7 @@ export class RulesScreenComponent extends ComponentHasChanges implements OnInit async save(): Promise { this._loadingService.start(); - await this._rulesControllerService + await this._rulesService .uploadRules({ rules: this._codeEditor.getModel().getValue(), dossierTemplateId: this._dossierTemplatesService.activeDossierTemplateId, @@ -148,8 +148,8 @@ export class RulesScreenComponent extends ComponentHasChanges implements OnInit private async _initialize() { this._loadingService.start(); - await this._rulesControllerService - .downloadRules(this._dossierTemplatesService.activeDossierTemplateId) + await this._rulesService + .download(this._dossierTemplatesService.activeDossierTemplateId) .toPromise() .then( rules => { diff --git a/apps/red-ui/src/app/modules/admin/services/rules.service.ts b/apps/red-ui/src/app/modules/admin/services/rules.service.ts new file mode 100644 index 000000000..fb53d0d25 --- /dev/null +++ b/apps/red-ui/src/app/modules/admin/services/rules.service.ts @@ -0,0 +1,20 @@ +import { Injectable, Injector } from '@angular/core'; +import { GenericService, RequiredParam, Validate } from '@iqser/common-ui'; +import { Rules } from '@redaction/red-ui-http'; + +@Injectable() +export class RulesService extends GenericService { + constructor(protected readonly _injector: Injector) { + super(_injector, 'rules'); + } + + @Validate() + download(@RequiredParam() dossierTemplateId: string) { + return this._getOne([dossierTemplateId]); + } + + @Validate() + uploadRules(@RequiredParam() body: Rules) { + return this._post(body); + } +} diff --git a/libs/red-ui-http/src/lib/api.module.ts b/libs/red-ui-http/src/lib/api.module.ts index 16f3ce535..87e8cddfb 100644 --- a/libs/red-ui-http/src/lib/api.module.ts +++ b/libs/red-ui-http/src/lib/api.module.ts @@ -1,7 +1,6 @@ import { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core'; import { Configuration } from './configuration'; import { HttpClient } from '@angular/common/http'; -import { RulesControllerService } from './api/rulesController.service'; import { SmtpConfigurationControllerService } from './api/smtpConfigurationController.service'; import { UploadControllerService } from './api/uploadController.service'; import { ViewedPagesControllerService } from './api/viewedPagesController.service'; @@ -14,7 +13,6 @@ import { NotificationControllerService } from './api/notificationController.serv declarations: [], exports: [], providers: [ - RulesControllerService, SmtpConfigurationControllerService, UploadControllerService, ViewedPagesControllerService,