You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampipes.apache.org by ze...@apache.org on 2022/02/01 15:47:59 UTC

[incubator-streampipes] 02/02: [experimental-module-federation] Replace platform-service imports

This is an automated email from the ASF dual-hosted git repository.

zehnder pushed a commit to branch experimental-module-federation
in repository https://gitbox.apache.org/repos/asf/incubator-streampipes.git

commit b05f1c2eacc273bc99af49d3441b6ee3eb342f2b
Author: Philipp Zehnder <ze...@fzi.de>
AuthorDate: Tue Feb 1 16:47:16 2022 +0100

    [experimental-module-federation] Replace platform-service imports
---
 .../platform-services/src/public-api.ts            |  2 ++
 .../_guards/auth.can-activate-children.guard.ts    |  1 -
 ui/src/app/_guards/page-auth.can-active.guard.ts   |  2 +-
 ui/src/app/_models/auth.model.ts                   |  2 +-
 ui/src/app/add/add.component.ts                    |  2 +-
 ui/src/app/add/add.module.ts                       | 36 +++++++++----------
 .../endpoint-item/endpoint-item.component.ts       |  4 +--
 .../dialogs/add-endpoint/add-endpoint.component.ts | 10 +++---
 .../endpoint-installation.component.ts             |  2 +-
 ui/src/app/add/filter/order-by.pipe.ts             |  6 ++--
 .../pipeline-element-installation-status.pipe.ts   |  8 ++---
 .../app/add/filter/pipeline-element-name.pipe.ts   |  6 ++--
 .../app/add/filter/pipeline-element-type.pipe.ts   |  6 ++--
 ui/src/app/add/services/add.service.ts             |  3 +-
 ui/src/app/apidocs/apidocs.component.ts            |  2 +-
 ui/src/app/apidocs/apidocs.module.ts               | 12 +++----
 .../add-pipeline/add-pipeline-dialog.component.ts  |  2 +-
 .../app-asset-monitoring/services/rest.service.ts  |  2 +-
 .../app-image-labeling.component.ts                |  3 +-
 .../consul-configs-boolean.component.ts            | 12 +++----
 .../consul-configs-number.component.ts             | 12 +++----
 .../consul-configs-password.component.ts           | 35 ++++++++----------
 .../consul-configs-text.component.ts               | 12 +++----
 .../consul-service/consul-service.component.ts     |  8 ++---
 .../datalake-configuration.component.ts            |  5 +--
 .../email-configuration.component.ts               |  3 +-
 .../general-configuration.component.ts             |  5 +--
 .../messaging-configuration.component.ts           | 14 ++++----
 .../pipeline-element-configuration.component.ts    | 24 ++++++-------
 .../edit-group-dialog.component.ts                 |  4 +--
 .../edit-user-dialog/edit-user-dialog.component.ts | 14 ++++----
 .../security-service-config.component.ts           |  2 +-
 .../security-user-config.component.ts              |  2 +-
 .../user-group-configuration.component.ts          |  3 +-
 .../shared/configuration.service.spec.ts           | 18 +++++-----
 .../configuration/shared/configuration.service.ts  | 36 +++++++++----------
 .../shared/configuration.test.service.ts           | 26 +++++++-------
 .../shared/streampipes-pe-container.model.ts       |  8 ++---
 ui/src/app/connect/services/rest.service.ts        |  3 +-
 .../static-alternatives.component.ts               |  2 +-
 .../static-color-picker.component.ts               | 18 +++++-----
 .../widget/dashboard-widget.component.ts           |  6 ++--
 .../stacked-line-chart-config.ts                   | 24 ++++++-------
 .../widgets/wordcloud/wordcloud-config.ts          | 30 ++++++++--------
 ui/src/app/dashboard/registry/widget-registry.ts   | 34 +++++++++---------
 .../data-explorer-designer-panel.component.ts      |  2 +-
 .../group-selection-panel.component.ts             |  2 +-
 .../data-explorer-dashboard-overview.component.ts  |  3 +-
 .../components/widgets/base/base-widget-config.ts  |  2 +-
 .../distribution-chart-widget.component.ts         |  5 +--
 .../widgets/heatmap/heatmap-widget.component.ts    |  2 +-
 .../data-explorer-field-provider-service.ts        |  2 +-
 .../user-defined-output.component.ts               | 42 +++++++++++-----------
 .../preview/pipeline-preview.component.ts          |  2 +-
 .../pipeline-status-dialog.component.ts            |  3 +-
 .../services/pipeline-operations.service.ts        |  2 +-
 ui/src/app/services/jwt-token-storage.service.ts   |  2 +-
 57 files changed, 257 insertions(+), 283 deletions(-)

diff --git a/ui/projects/streampipes/platform-services/src/public-api.ts b/ui/projects/streampipes/platform-services/src/public-api.ts
index a09e536..08df46a 100644
--- a/ui/projects/streampipes/platform-services/src/public-api.ts
+++ b/ui/projects/streampipes/platform-services/src/public-api.ts
@@ -27,5 +27,7 @@ export * from './lib/apis/shared-dashboard.service';
 export * from './lib/model/datalake/DateRange';
 export * from './lib/model/datalake/DatalakeQueryParameters';
 export * from './lib/model/dashboard/dashboard.model';
+export * from './lib/model/email-config.model';
+export * from './lib/model/general-config.model';
 export * from './lib/model/gen/streampipes-model-client';
 export * from './lib/model/gen/streampipes-model';
diff --git a/ui/src/app/_guards/auth.can-activate-children.guard.ts b/ui/src/app/_guards/auth.can-activate-children.guard.ts
index 8887c90..7677ed5 100644
--- a/ui/src/app/_guards/auth.can-activate-children.guard.ts
+++ b/ui/src/app/_guards/auth.can-activate-children.guard.ts
@@ -33,7 +33,6 @@ export class AuthCanActivateChildrenGuard implements CanActivateChild {
   }
 
   canActivateChild(childRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {
-    //this.authService.logout();
       if (this.authService.authenticated()) {
         return true;
       }
diff --git a/ui/src/app/_guards/page-auth.can-active.guard.ts b/ui/src/app/_guards/page-auth.can-active.guard.ts
index c008e4c..2370ebb 100644
--- a/ui/src/app/_guards/page-auth.can-active.guard.ts
+++ b/ui/src/app/_guards/page-auth.can-active.guard.ts
@@ -16,7 +16,7 @@
  *
  */
 
-import { ActivatedRouteSnapshot, CanActivate, CanActivateChild, Router } from '@angular/router';
+import { ActivatedRouteSnapshot, CanActivateChild, Router } from '@angular/router';
 import { AuthService } from '../services/auth.service';
 import { PageName } from '../_enums/page-name.enum';
 import { Injectable } from '@angular/core';
diff --git a/ui/src/app/_models/auth.model.ts b/ui/src/app/_models/auth.model.ts
index 207ca70..18fc771 100644
--- a/ui/src/app/_models/auth.model.ts
+++ b/ui/src/app/_models/auth.model.ts
@@ -16,7 +16,7 @@
  *
  */
 
-import { Privilege, Role } from '../../../projects/streampipes/platform-services/src/lib/model/gen/streampipes-model-client';
+import { Privilege, Role } from '@streampipes/platform-services';
 import { UserRole } from '../_enums/user-role.enum';
 
 export type RoleModel = Privilege | Role;
diff --git a/ui/src/app/add/add.component.ts b/ui/src/app/add/add.component.ts
index be0beec..43d9584 100644
--- a/ui/src/app/add/add.component.ts
+++ b/ui/src/app/add/add.component.ts
@@ -24,7 +24,7 @@ import { PanelType } from '../core-ui/dialog/base-dialog/base-dialog.model';
 import { DialogService } from '../core-ui/dialog/base-dialog/base-dialog.service';
 import { AddEndpointComponent } from './dialogs/add-endpoint/add-endpoint.component';
 import { EndpointInstallationComponent } from './dialogs/endpoint-installation/endpoint-installation.component';
-import { ExtensionsServiceEndpointItem } from '../../../projects/streampipes/platform-services/src/lib/model/gen/streampipes-model-client';
+import { ExtensionsServiceEndpointItem } from '@streampipes/platform-services';
 
 @Component({
     selector: 'add',
diff --git a/ui/src/app/add/add.module.ts b/ui/src/app/add/add.module.ts
index 7a39bdf..dad31c8 100644
--- a/ui/src/app/add/add.module.ts
+++ b/ui/src/app/add/add.module.ts
@@ -16,23 +16,23 @@
  *
  */
 
-import {NgModule} from "@angular/core";
-import {FlexLayoutModule} from "@angular/flex-layout";
-import {FormsModule} from "@angular/forms";
-import {MatTabsModule} from "@angular/material/tabs";
-import {CustomMaterialModule} from "../CustomMaterial/custom-material.module";
-import {CommonModule} from "@angular/common";
-import {AddComponent} from "./add.component";
-import {CoreUiModule} from "../core-ui/core-ui.module";
-import {MatProgressSpinnerModule} from '@angular/material/progress-spinner';
-import {PipelineElementTypeFilter} from "./filter/pipeline-element-type.pipe";
-import {EndpointItemComponent} from "./components/endpoint-item/endpoint-item.component";
-import {AddService} from "./services/add.service";
-import {AddEndpointComponent} from "./dialogs/add-endpoint/add-endpoint.component";
-import {OrderByPipe} from "./filter/order-by.pipe";
-import {EndpointInstallationComponent} from "./dialogs/endpoint-installation/endpoint-installation.component";
-import {PipelineElementNameFilter} from "./filter/pipeline-element-name.pipe";
-import {PipelineElementInstallationStatusFilter} from "./filter/pipeline-element-installation-status.pipe";
+import { NgModule } from '@angular/core';
+import { FlexLayoutModule } from '@angular/flex-layout';
+import { FormsModule } from '@angular/forms';
+import { MatTabsModule } from '@angular/material/tabs';
+import { CustomMaterialModule } from '../CustomMaterial/custom-material.module';
+import { CommonModule } from '@angular/common';
+import { AddComponent } from './add.component';
+import { CoreUiModule } from '../core-ui/core-ui.module';
+import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
+import { PipelineElementTypeFilter } from './filter/pipeline-element-type.pipe';
+import { EndpointItemComponent } from './components/endpoint-item/endpoint-item.component';
+import { AddService } from './services/add.service';
+import { AddEndpointComponent } from './dialogs/add-endpoint/add-endpoint.component';
+import { OrderByPipe } from './filter/order-by.pipe';
+import { EndpointInstallationComponent } from './dialogs/endpoint-installation/endpoint-installation.component';
+import { PipelineElementNameFilter } from './filter/pipeline-element-name.pipe';
+import { PipelineElementInstallationStatusFilter } from './filter/pipeline-element-installation-status.pipe';
 
 @NgModule({
   imports: [
@@ -73,4 +73,4 @@ export class AddModule {
   constructor() {
   }
 
-}
\ No newline at end of file
+}
diff --git a/ui/src/app/add/components/endpoint-item/endpoint-item.component.ts b/ui/src/app/add/components/endpoint-item/endpoint-item.component.ts
index 6057d78..fb7b20c 100644
--- a/ui/src/app/add/components/endpoint-item/endpoint-item.component.ts
+++ b/ui/src/app/add/components/endpoint-item/endpoint-item.component.ts
@@ -18,12 +18,10 @@
 
 import { Component, EventEmitter, Input, OnInit, Output, Sanitizer } from '@angular/core';
 import { MatSnackBar } from '@angular/material/snack-bar';
-import { PipelineElementEndpointService } from '../../../../../projects/streampipes/platform-services/src/lib/apis/pipeline-element-endpoint.service';
 import { AddService } from '../../services/add.service';
 import { DomSanitizer, SafeUrl } from '@angular/platform-browser';
-import { ExtensionsServiceEndpointItem } from '../../../../../projects/streampipes/platform-services/src/lib/model/gen/streampipes-model-client';
+import { ExtensionsServiceEndpointItem, PipelineElementEndpointService } from '@streampipes/platform-services';
 import { AppConstants } from '../../../services/app.constants';
-import { Pipeline } from '../../../../../projects/streampipes/platform-services/src/lib/model/gen/streampipes-model';
 import { ObjectPermissionDialogComponent } from '../../../core-ui/object-permission-dialog/object-permission-dialog.component';
 import { PanelType } from '../../../core-ui/dialog/base-dialog/base-dialog.model';
 import { DialogService } from '../../../core-ui/dialog/base-dialog/base-dialog.service';
diff --git a/ui/src/app/add/dialogs/add-endpoint/add-endpoint.component.ts b/ui/src/app/add/dialogs/add-endpoint/add-endpoint.component.ts
index f00b9b0..89f239e 100644
--- a/ui/src/app/add/dialogs/add-endpoint/add-endpoint.component.ts
+++ b/ui/src/app/add/dialogs/add-endpoint/add-endpoint.component.ts
@@ -16,9 +16,9 @@
  *
  */
 
-import {Component, OnInit} from "@angular/core";
-import {AddService} from "../../services/add.service";
-import {DialogRef} from "../../../core-ui/dialog/base-dialog/dialog-ref";
+import { Component, OnInit } from '@angular/core';
+import { AddService } from '../../services/add.service';
+import { DialogRef } from '../../../core-ui/dialog/base-dialog/dialog-ref';
 
 @Component({
     selector: 'add-endpoint-dialog',
@@ -31,7 +31,7 @@ export class AddEndpointComponent implements OnInit {
     addSelected: any;
     newEndpoint: any;
 
-    endpointsChanged: boolean = false;
+    endpointsChanged = false;
 
     constructor(private AddService: AddService,
                 private DialogRef: DialogRef<AddEndpointComponent>) {
@@ -75,4 +75,4 @@ export class AddEndpointComponent implements OnInit {
     close() {
         this.DialogRef.close(this.endpointsChanged);
     }
-}
\ No newline at end of file
+}
diff --git a/ui/src/app/add/dialogs/endpoint-installation/endpoint-installation.component.ts b/ui/src/app/add/dialogs/endpoint-installation/endpoint-installation.component.ts
index 81730e0..b455cd4 100644
--- a/ui/src/app/add/dialogs/endpoint-installation/endpoint-installation.component.ts
+++ b/ui/src/app/add/dialogs/endpoint-installation/endpoint-installation.component.ts
@@ -18,7 +18,7 @@
 
 import { Component, Input } from '@angular/core';
 import { DialogRef } from '../../../core-ui/dialog/base-dialog/dialog-ref';
-import { PipelineElementEndpointService } from '../../../../../projects/streampipes/platform-services/src/lib/apis/pipeline-element-endpoint.service';
+import { PipelineElementEndpointService } from '@streampipes/platform-services';
 
 @Component({
   selector: 'endpoint-installation-dialog',
diff --git a/ui/src/app/add/filter/order-by.pipe.ts b/ui/src/app/add/filter/order-by.pipe.ts
index 0af99c8..28ab2ec 100644
--- a/ui/src/app/add/filter/order-by.pipe.ts
+++ b/ui/src/app/add/filter/order-by.pipe.ts
@@ -16,7 +16,7 @@
  *
  */
 
-import {Pipe, PipeTransform} from '@angular/core';
+import { Pipe, PipeTransform } from '@angular/core';
 
 @Pipe({name: 'orderBy'})
 export class OrderByPipe implements PipeTransform {
@@ -35,7 +35,7 @@ export class OrderByPipe implements PipeTransform {
         return value.sort().reverse();
       }
     }
-    let sortedValues = value.sort((a, b) => a[column].localeCompare(b[column]));
+    const sortedValues = value.sort((a, b) => a[column].localeCompare(b[column]));
     return order === 'asc' ? sortedValues : sortedValues.reverse();
   }
-}
\ No newline at end of file
+}
diff --git a/ui/src/app/add/filter/pipeline-element-installation-status.pipe.ts b/ui/src/app/add/filter/pipeline-element-installation-status.pipe.ts
index 0f84b73..ad029b4 100644
--- a/ui/src/app/add/filter/pipeline-element-installation-status.pipe.ts
+++ b/ui/src/app/add/filter/pipeline-element-installation-status.pipe.ts
@@ -16,7 +16,7 @@
  *
  */
 
-import {Pipe, PipeTransform} from "@angular/core";
+import { Pipe, PipeTransform } from '@angular/core';
 
 @Pipe({
   name: 'pipelineElementInstallationStatusFilter',
@@ -25,11 +25,11 @@ import {Pipe, PipeTransform} from "@angular/core";
 export class PipelineElementInstallationStatusFilter implements PipeTransform {
 
   transform(values: any[], filterTerm: string): any[] {
-    if (filterTerm === "all") {
+    if (filterTerm === 'all') {
       return values;
     } else {
-      let installed = filterTerm === "installed";
+      const installed = filterTerm === 'installed';
       return values.filter(v => v.installed === installed);
     }
   }
-}
\ No newline at end of file
+}
diff --git a/ui/src/app/add/filter/pipeline-element-name.pipe.ts b/ui/src/app/add/filter/pipeline-element-name.pipe.ts
index 9dd6118..d11f630 100644
--- a/ui/src/app/add/filter/pipeline-element-name.pipe.ts
+++ b/ui/src/app/add/filter/pipeline-element-name.pipe.ts
@@ -16,7 +16,7 @@
  *
  */
 
-import {Pipe, PipeTransform} from "@angular/core";
+import { Pipe, PipeTransform } from '@angular/core';
 
 @Pipe({
   name: 'pipelineElementNameFilter',
@@ -25,10 +25,10 @@ import {Pipe, PipeTransform} from "@angular/core";
 export class PipelineElementNameFilter implements PipeTransform {
 
   transform(values: any[], filterTerm: string): any[] {
-    if (filterTerm === "") {
+    if (filterTerm === '') {
       return values;
     } else {
       return values.filter(v => v.name.toLowerCase().includes(filterTerm.toLowerCase()));
     }
   }
-}
\ No newline at end of file
+}
diff --git a/ui/src/app/add/filter/pipeline-element-type.pipe.ts b/ui/src/app/add/filter/pipeline-element-type.pipe.ts
index 24bd5cc..d305c5b 100644
--- a/ui/src/app/add/filter/pipeline-element-type.pipe.ts
+++ b/ui/src/app/add/filter/pipeline-element-type.pipe.ts
@@ -16,7 +16,7 @@
  *
  */
 
-import {Pipe, PipeTransform} from "@angular/core";
+import { Pipe, PipeTransform } from '@angular/core';
 
 @Pipe({
   name: 'pipelineElementTypeFilter',
@@ -25,10 +25,10 @@ import {Pipe, PipeTransform} from "@angular/core";
 export class PipelineElementTypeFilter implements PipeTransform {
 
   transform(value: any[], type: string): any[] {
-    if (type === "all") {
+    if (type === 'all') {
       return value;
     } else {
       return value.filter(v => v.type === type);
     }
   }
-}
\ No newline at end of file
+}
diff --git a/ui/src/app/add/services/add.service.ts b/ui/src/app/add/services/add.service.ts
index f976bad..cfebaca 100644
--- a/ui/src/app/add/services/add.service.ts
+++ b/ui/src/app/add/services/add.service.ts
@@ -18,10 +18,9 @@
 
 import { Injectable } from '@angular/core';
 import { HttpClient } from '@angular/common/http';
-import { PlatformServicesCommons } from '../../../../projects/streampipes/platform-services/src/lib/apis/commons.service';
+import { PlatformServicesCommons, ExtensionsServiceEndpointItem } from '@streampipes/platform-services';
 import { Observable } from 'rxjs';
 import { map } from 'rxjs/operators';
-import { ExtensionsServiceEndpointItem } from '../../../../projects/streampipes/platform-services/src/lib/model/gen/streampipes-model-client';
 
 @Injectable()
 export class AddService {
diff --git a/ui/src/app/apidocs/apidocs.component.ts b/ui/src/app/apidocs/apidocs.component.ts
index 36cd262..87fca4c 100644
--- a/ui/src/app/apidocs/apidocs.component.ts
+++ b/ui/src/app/apidocs/apidocs.component.ts
@@ -16,7 +16,7 @@
  *
  */
 
-import {Component, ElementRef, OnInit} from "@angular/core";
+import { Component, ElementRef, OnInit } from '@angular/core';
 import SwaggerUI from 'swagger-ui';
 
 
diff --git a/ui/src/app/apidocs/apidocs.module.ts b/ui/src/app/apidocs/apidocs.module.ts
index 6ea2522..735b8ba 100644
--- a/ui/src/app/apidocs/apidocs.module.ts
+++ b/ui/src/app/apidocs/apidocs.module.ts
@@ -16,12 +16,12 @@
  *
  */
 
-import {NgModule} from "@angular/core";
-import {FlexLayoutModule} from "@angular/flex-layout";
-import {CustomMaterialModule} from "../CustomMaterial/custom-material.module";
-import {CommonModule} from "@angular/common";
-import {CoreUiModule} from "../core-ui/core-ui.module";
-import {ApidocsComponent} from "./apidocs.component";
+import { NgModule } from '@angular/core';
+import { FlexLayoutModule } from '@angular/flex-layout';
+import { CustomMaterialModule } from '../CustomMaterial/custom-material.module';
+import { CommonModule } from '@angular/common';
+import { CoreUiModule } from '../core-ui/core-ui.module';
+import { ApidocsComponent } from './apidocs.component';
 
 @NgModule({
   imports: [
diff --git a/ui/src/app/app-asset-monitoring/dialog/add-pipeline/add-pipeline-dialog.component.ts b/ui/src/app/app-asset-monitoring/dialog/add-pipeline/add-pipeline-dialog.component.ts
index 7fb7f1b..2d7c7ec 100644
--- a/ui/src/app/app-asset-monitoring/dialog/add-pipeline/add-pipeline-dialog.component.ts
+++ b/ui/src/app/app-asset-monitoring/dialog/add-pipeline/add-pipeline-dialog.component.ts
@@ -23,7 +23,7 @@ import { ElementIconText } from '../../../services/get-element-icon-text.service
 import { SelectedVisualizationData } from '../../model/selected-visualization-data.model';
 import { DashboardService } from '../../../dashboard/services/dashboard.service';
 import { DialogRef } from '../../../core-ui/dialog/base-dialog/dialog-ref';
-import { VisualizablePipeline } from '../../../../../projects/streampipes/platform-services/src/lib/model/gen/streampipes-model';
+import { VisualizablePipeline } from '@streampipes/platform-services';
 
 @Component({
     selector: 'add-pipeline-dialog-component',
diff --git a/ui/src/app/app-asset-monitoring/services/rest.service.ts b/ui/src/app/app-asset-monitoring/services/rest.service.ts
index eabcc9f..f33c910 100644
--- a/ui/src/app/app-asset-monitoring/services/rest.service.ts
+++ b/ui/src/app/app-asset-monitoring/services/rest.service.ts
@@ -21,7 +21,7 @@ import { Injectable } from '@angular/core';
 import { map } from 'rxjs/operators';
 import { Observable } from 'rxjs';
 import { DashboardConfiguration } from '../model/dashboard-configuration.model';
-import { PlatformServicesCommons } from '../../../../projects/streampipes/platform-services/src/lib/apis/commons.service';
+import { PlatformServicesCommons } from '@streampipes/platform-services';
 
 @Injectable()
 export class RestService {
diff --git a/ui/src/app/app-image-labeling/app-image-labeling.component.ts b/ui/src/app/app-image-labeling/app-image-labeling.component.ts
index ae57b57..7bafefc 100644
--- a/ui/src/app/app-image-labeling/app-image-labeling.component.ts
+++ b/ui/src/app/app-image-labeling/app-image-labeling.component.ts
@@ -17,8 +17,7 @@
 
 import { Component, EventEmitter, OnInit, Output } from '@angular/core';
 import { DatalakeRestService } from '../core-services/datalake/datalake-rest.service';
-import { DataLakeMeasure, EventPropertyUnion, EventSchema, SpQueryResult } from '../../../projects/streampipes/platform-services/src/lib/model/gen/streampipes-model';
-import { DateRange } from '../../../projects/streampipes/platform-services/src/lib/model/datalake/DateRange';
+import { DataLakeMeasure, EventPropertyUnion, EventSchema, SpQueryResult, DateRange } from '@streampipes/platform-services';
 
 @Component({
   selector: 'app-image-labeling',
diff --git a/ui/src/app/configuration/consul-configs-boolean/consul-configs-boolean.component.ts b/ui/src/app/configuration/consul-configs-boolean/consul-configs-boolean.component.ts
index 630dcb5..f786f28 100644
--- a/ui/src/app/configuration/consul-configs-boolean/consul-configs-boolean.component.ts
+++ b/ui/src/app/configuration/consul-configs-boolean/consul-configs-boolean.component.ts
@@ -16,9 +16,9 @@
  *
  */
 
-import {Component, Input} from '@angular/core';
-import {StreampipesPeContainerConifgs} from "../shared/streampipes-pe-container-configs";
-import {ConfigurationService} from '../shared/configuration.service'
+import { Component, Input } from '@angular/core';
+import { StreampipesPeContainerConifgs } from '../shared/streampipes-pe-container-configs';
+import { ConfigurationService } from '../shared/configuration.service';
 
 @Component({
     selector: 'consul-configs-boolean',
@@ -27,8 +27,8 @@ import {ConfigurationService} from '../shared/configuration.service'
     providers: [ConfigurationService]
 })
 export class ConsulConfigsBooleanComponent {
-    @Input() configuration: StreampipesPeContainerConifgs
-    constructor(public configService:ConfigurationService) {
+    @Input() configuration: StreampipesPeContainerConifgs;
+    constructor(public configService: ConfigurationService) {
     }
 
-}
\ No newline at end of file
+}
diff --git a/ui/src/app/configuration/consul-configs-number/consul-configs-number.component.ts b/ui/src/app/configuration/consul-configs-number/consul-configs-number.component.ts
index ff6da01..c4055a3 100644
--- a/ui/src/app/configuration/consul-configs-number/consul-configs-number.component.ts
+++ b/ui/src/app/configuration/consul-configs-number/consul-configs-number.component.ts
@@ -16,9 +16,9 @@
  *
  */
 
-import {Component, Input} from '@angular/core';
-import {StreampipesPeContainerConifgs} from "../shared/streampipes-pe-container-configs";
-import {ConfigurationService} from '../shared/configuration.service';
+import { Component, Input } from '@angular/core';
+import { StreampipesPeContainerConifgs } from '../shared/streampipes-pe-container-configs';
+import { ConfigurationService } from '../shared/configuration.service';
 
 @Component({
     selector: 'consul-configs-number',
@@ -26,8 +26,8 @@ import {ConfigurationService} from '../shared/configuration.service';
     styleUrls: ['./consul-configs-number.component.css']
 })
 export class ConsulConfigsNumberComponent {
-    @Input() configuration: StreampipesPeContainerConifgs
-    constructor(public configService:ConfigurationService) {
+    @Input() configuration: StreampipesPeContainerConifgs;
+    constructor(public configService: ConfigurationService) {
     }
 
-}
\ No newline at end of file
+}
diff --git a/ui/src/app/configuration/consul-configs-password/consul-configs-password.component.ts b/ui/src/app/configuration/consul-configs-password/consul-configs-password.component.ts
index a70f10a..9db9fae 100644
--- a/ui/src/app/configuration/consul-configs-password/consul-configs-password.component.ts
+++ b/ui/src/app/configuration/consul-configs-password/consul-configs-password.component.ts
@@ -16,9 +16,9 @@
  *
  */
 
-import {Component, Input} from '@angular/core';
-import {StreampipesPeContainerConifgs} from "../shared/streampipes-pe-container-configs";
-import {ConfigurationService} from '../shared/configuration.service'
+import { Component, Input } from '@angular/core';
+import { StreampipesPeContainerConifgs } from '../shared/streampipes-pe-container-configs';
+import { ConfigurationService } from '../shared/configuration.service';
 
 const hiddenPasswordString = '*****';
 
@@ -29,38 +29,33 @@ const hiddenPasswordString = '*****';
     providers: [ConfigurationService]
 })
 export class ConsulConfigsPasswordComponent {
-    
+
     @Input() configuration: StreampipesPeContainerConifgs;
 
-    password: string; 
-    show: Boolean;
-    className: String;
-    private hide: Boolean;
-    
+    password: string;
+    show: boolean;
+    className: string;
+    private hide: boolean;
+
     constructor(public configService: ConfigurationService) {
-        this.password = hiddenPasswordString; 
+        this.password = hiddenPasswordString;
         this.show = false;
-        this.className  = "hideText";
+        this.className  = 'hideText';
         this.hide = true;
     }
 
     changePw() {
         if (this.password == hiddenPasswordString) {
-            this.password = this.password.replace(hiddenPasswordString, "")
+            this.password = this.password.replace(hiddenPasswordString, '');
         }
         this.configuration.value = this.password;
-        this.show = true
+        this.show = true;
     }
 
     addCssClass() {
         this.hide = !this.hide;
 
-        if (!this.hide){
-            this.className = "";
-        }
-        else {
-            this.className = "hideText";
-        }
+        this.className = !this.hide ? '' : 'hideText';
     }
 
-}
\ No newline at end of file
+}
diff --git a/ui/src/app/configuration/consul-configs-text/consul-configs-text.component.ts b/ui/src/app/configuration/consul-configs-text/consul-configs-text.component.ts
index e2821ee..665decc 100644
--- a/ui/src/app/configuration/consul-configs-text/consul-configs-text.component.ts
+++ b/ui/src/app/configuration/consul-configs-text/consul-configs-text.component.ts
@@ -16,9 +16,9 @@
  *
  */
 
-import {Component, Input} from '@angular/core';
-import {StreampipesPeContainerConifgs} from "../shared/streampipes-pe-container-configs";
-import {ConfigurationService} from '../shared/configuration.service'
+import { Component, Input } from '@angular/core';
+import { StreampipesPeContainerConifgs } from '../shared/streampipes-pe-container-configs';
+import { ConfigurationService } from '../shared/configuration.service';
 
 @Component({
     selector: 'consul-configs-text',
@@ -27,8 +27,8 @@ import {ConfigurationService} from '../shared/configuration.service'
     providers: [ConfigurationService]
 })
 export class ConsulConfigsTextComponent {
-    @Input() configuration: StreampipesPeContainerConifgs
+    @Input() configuration: StreampipesPeContainerConifgs;
     constructor(public configService: ConfigurationService) {
     }
-    
-}
\ No newline at end of file
+
+}
diff --git a/ui/src/app/configuration/consul-service/consul-service.component.ts b/ui/src/app/configuration/consul-service/consul-service.component.ts
index 6a7acb6..eb22ca4 100644
--- a/ui/src/app/configuration/consul-service/consul-service.component.ts
+++ b/ui/src/app/configuration/consul-service/consul-service.component.ts
@@ -16,8 +16,8 @@
  *
  */
 
-import {Component, EventEmitter, Input, Output} from '@angular/core';
-import {StreampipesPeContainer} from "../shared/streampipes-pe-container.model";
+import { Component, EventEmitter, Input, Output } from '@angular/core';
+import { StreampipesPeContainer } from '../shared/streampipes-pe-container.model';
 
 @Component({
     selector: 'consul-service',
@@ -28,10 +28,10 @@ export class ConsulServiceComponent {
 
     @Input() consulService: StreampipesPeContainer;
     @Output() updateConsulService: EventEmitter<StreampipesPeContainer> = new EventEmitter<StreampipesPeContainer>();
-    showConfiguration: boolean = false;
+    showConfiguration = false;
 
     constructor() {
-        
+
     }
 
     toggleConfiguration(): void {
diff --git a/ui/src/app/configuration/datalake-configuration/datalake-configuration.component.ts b/ui/src/app/configuration/datalake-configuration/datalake-configuration.component.ts
index 54e613e..b8ecdda 100644
--- a/ui/src/app/configuration/datalake-configuration/datalake-configuration.component.ts
+++ b/ui/src/app/configuration/datalake-configuration/datalake-configuration.component.ts
@@ -17,11 +17,9 @@
  */
 
 import { Component, OnInit, ViewChild } from '@angular/core';
-import { DatalakeRestService } from '../../../../projects/streampipes/platform-services/src/lib/apis/datalake-rest.service';
 import { MatTableDataSource } from '@angular/material/table';
-import { DataViewDataExplorerService } from '../../../../projects/streampipes/platform-services/src/lib/apis/data-view-data-explorer.service';
 import { DataLakeConfigurationEntry } from './datalake-configuration-entry';
-import { DatalakeQueryParameters } from '@streampipes/platform-services';
+import { DataViewDataExplorerService, DatalakeRestService, DatalakeQueryParameters, EventSchema, SpQueryResult } from '@streampipes/platform-services';
 import { DatalakeQueryParameterBuilder } from '../../core-services/datalake/DatalakeQueryParameterBuilder';
 import { MatPaginator } from '@angular/material/paginator';
 import { MatSort } from '@angular/material/sort';
@@ -30,7 +28,6 @@ import { PanelType } from '../../core-ui/dialog/base-dialog/base-dialog.model';
 import { DialogService } from '../../core-ui/dialog/base-dialog/base-dialog.service';
 import { DeleteDatalakeIndexComponent } from '../dialog/delete-datalake-index/delete-datalake-index-dialog.component';
 import { FieldConfig } from '../../data-explorer/models/dataview-dashboard.model';
-import { EventSchema, SpQueryResult } from '../../../../projects/streampipes/platform-services/src/lib/model/gen/streampipes-model';
 
 @Component({
   selector: 'sp-datalake-configuration',
diff --git a/ui/src/app/configuration/email-configuration/email-configuration.component.ts b/ui/src/app/configuration/email-configuration/email-configuration.component.ts
index ee9be0d..698780c 100644
--- a/ui/src/app/configuration/email-configuration/email-configuration.component.ts
+++ b/ui/src/app/configuration/email-configuration/email-configuration.component.ts
@@ -18,8 +18,7 @@
 
 import { Component, OnInit } from '@angular/core';
 import { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';
-import { EmailConfig } from '../../../../projects/streampipes/platform-services/src/lib/model/email-config.model';
-import { MailConfigService } from '../../../../projects/streampipes/platform-services/src/lib/apis/mail-config.service';
+import { EmailConfig, MailConfigService } from '@streampipes/platform-services';
 
 @Component({
   selector: 'sp-email-configuration',
diff --git a/ui/src/app/configuration/general-configuration/general-configuration.component.ts b/ui/src/app/configuration/general-configuration/general-configuration.component.ts
index 8d181ca..7c3a787 100644
--- a/ui/src/app/configuration/general-configuration/general-configuration.component.ts
+++ b/ui/src/app/configuration/general-configuration/general-configuration.component.ts
@@ -18,11 +18,8 @@
 
 import { Component, OnInit } from '@angular/core';
 import { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';
-import { GeneralConfigService } from '../../../../projects/streampipes/platform-services/src/lib/apis/general-config.service';
-import { GeneralConfigModel } from '../../../../projects/streampipes/platform-services/src/lib/model/general-config.model';
-import { MailConfigService } from '../../../../projects/streampipes/platform-services/src/lib/apis/mail-config.service';
+import { GeneralConfigService, GeneralConfigModel, MailConfigService, EmailConfig } from '@streampipes/platform-services';
 import { zip } from 'rxjs';
-import { EmailConfig } from '../../../../projects/streampipes/platform-services/src/lib/model/email-config.model';
 import { AvailableRolesService } from '../../services/available-roles.service';
 import { RoleDescription } from '../../_models/auth.model';
 import { UserRole } from '../../_enums/user-role.enum';
diff --git a/ui/src/app/configuration/messaging-configuration/messaging-configuration.component.ts b/ui/src/app/configuration/messaging-configuration/messaging-configuration.component.ts
index 99617d7..51a79ed 100644
--- a/ui/src/app/configuration/messaging-configuration/messaging-configuration.component.ts
+++ b/ui/src/app/configuration/messaging-configuration/messaging-configuration.component.ts
@@ -16,20 +16,20 @@
  *
  */
 
-import {Component} from "@angular/core";
-import {ConfigurationService} from "../shared/configuration.service";
-import {MessagingSettings} from "../shared/messaging-settings.model";
-import {CdkDragDrop, moveItemInArray} from '@angular/cdk/drag-drop';
+import { Component, OnInit } from '@angular/core';
+import { ConfigurationService } from '../shared/configuration.service';
+import { MessagingSettings } from '../shared/messaging-settings.model';
+import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';
 
 @Component({
     selector: 'messaging-configuration',
     templateUrl: './messaging-configuration.component.html',
     styleUrls: ['./messaging-configuration.component.css']
 })
-export class MessagingConfigurationComponent {
+export class MessagingConfigurationComponent implements OnInit {
 
     messagingSettings: MessagingSettings;
-    loadingCompleted: boolean = false;
+    loadingCompleted = false;
 
     constructor(private configurationService: ConfigurationService) {
 
@@ -57,4 +57,4 @@ export class MessagingConfigurationComponent {
     dropProtocol(event: CdkDragDrop<string[]>) {
         moveItemInArray(this.messagingSettings.prioritizedProtocols, event.previousIndex, event.currentIndex);
     }
-}
\ No newline at end of file
+}
diff --git a/ui/src/app/configuration/pipeline-element-configuration/pipeline-element-configuration.component.ts b/ui/src/app/configuration/pipeline-element-configuration/pipeline-element-configuration.component.ts
index 6455d27..56e2ff3 100644
--- a/ui/src/app/configuration/pipeline-element-configuration/pipeline-element-configuration.component.ts
+++ b/ui/src/app/configuration/pipeline-element-configuration/pipeline-element-configuration.component.ts
@@ -16,13 +16,13 @@
  *
  */
 
-import {Component, ViewChild} from "@angular/core";
-import {animate, state, style, transition, trigger} from "@angular/animations";
-import {ConfigurationService} from "../shared/configuration.service";
-import {StreampipesPeContainer} from "../shared/streampipes-pe-container.model";
-import {StreampipesPeContainerConifgs} from "../shared/streampipes-pe-container-configs";
-import {MatPaginator} from "@angular/material/paginator";
-import {MatTableDataSource} from "@angular/material/table";
+import { Component, ViewChild } from '@angular/core';
+import { animate, state, style, transition, trigger } from '@angular/animations';
+import { ConfigurationService } from '../shared/configuration.service';
+import { StreampipesPeContainer } from '../shared/streampipes-pe-container.model';
+import { StreampipesPeContainerConifgs } from '../shared/streampipes-pe-container-configs';
+import { MatPaginator } from '@angular/material/paginator';
+import { MatTableDataSource } from '@angular/material/table';
 
 @Component({
     selector: 'pipeline-element-configuration',
@@ -47,7 +47,7 @@ export class PipelineElementConfigurationComponent {
     expandedElement: any;
 
     selectedConsulService: StreampipesPeContainer;
-    consulServiceSelected: boolean = false;
+    consulServiceSelected = false;
 
     constructor(private configurationService: ConfigurationService) {
         this.getConsulServices();
@@ -56,7 +56,7 @@ export class PipelineElementConfigurationComponent {
     getConsulServices(): void {
         this.configurationService.getConsulServices()
             .subscribe( response => {
-                let sortedServices = this.sort(response);
+                const sortedServices = this.sort(response);
                 this.consulServices = sortedServices;
                 this.dataSource.data = sortedServices;
             }, error => {
@@ -64,8 +64,8 @@ export class PipelineElementConfigurationComponent {
             });
     }
 
-    sort(consulServices: Array<StreampipesPeContainer>):Array<StreampipesPeContainer> {
-        if(!consulServices || consulServices.length === 0) return null;
+    sort(consulServices: StreampipesPeContainer[]): StreampipesPeContainer[] {
+        if (!consulServices || consulServices.length === 0) { return null; }
 
         consulServices.sort((a: StreampipesPeContainer, b: StreampipesPeContainer) => {
             if (a.name < b.name) {
@@ -104,4 +104,4 @@ export class PipelineElementConfigurationComponent {
             this.expandedElement = element;
         }
     }
-}
\ No newline at end of file
+}
diff --git a/ui/src/app/configuration/security-configuration/edit-group-dialog/edit-group-dialog.component.ts b/ui/src/app/configuration/security-configuration/edit-group-dialog/edit-group-dialog.component.ts
index fc62a87..73112e7 100644
--- a/ui/src/app/configuration/security-configuration/edit-group-dialog/edit-group-dialog.component.ts
+++ b/ui/src/app/configuration/security-configuration/edit-group-dialog/edit-group-dialog.component.ts
@@ -17,11 +17,9 @@
  */
 
 import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';
-import { Group, Role } from '../../../../../projects/streampipes/platform-services/src/lib/model/gen/streampipes-model-client';
+import { Group, Role, UserGroupService } from '@streampipes/platform-services';
 import { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';
-import { UserRole } from '../../../_enums/user-role.enum';
 import { DialogRef } from '../../../core-ui/dialog/base-dialog/dialog-ref';
-import { UserGroupService } from '../../../../../projects/streampipes/platform-services/src/lib/apis/user-group.service';
 import { MatCheckboxChange } from '@angular/material/checkbox';
 import { RoleDescription } from '../../../_models/auth.model';
 import { AvailableRolesService } from '../../../services/available-roles.service';
diff --git a/ui/src/app/configuration/security-configuration/edit-user-dialog/edit-user-dialog.component.ts b/ui/src/app/configuration/security-configuration/edit-user-dialog/edit-user-dialog.component.ts
index 211958c..536c880 100644
--- a/ui/src/app/configuration/security-configuration/edit-user-dialog/edit-user-dialog.component.ts
+++ b/ui/src/app/configuration/security-configuration/edit-user-dialog/edit-user-dialog.component.ts
@@ -16,14 +16,14 @@
  *
  */
 
-import { AfterViewInit, Component, Input, OnInit, ViewEncapsulation } from '@angular/core';
+import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';
 import { DialogRef } from '../../../core-ui/dialog/base-dialog/dialog-ref';
 import {
   Group,
   Role,
   ServiceAccount,
   UserAccount
-} from '../../../../../projects/streampipes/platform-services/src/lib/model/gen/streampipes-model-client';
+} from '@streampipes/platform-services';
 import {
   AbstractControl,
   FormBuilder,
@@ -39,9 +39,9 @@ import { UserService } from '../../../../../projects/streampipes/platform-servic
 import { UserGroupService } from '../../../../../projects/streampipes/platform-services/src/lib/apis/user-group.service';
 import { RoleDescription } from '../../../_models/auth.model';
 import { AvailableRolesService } from '../../../services/available-roles.service';
-import {AuthService} from "../../../services/auth.service";
-import {Router} from "@angular/router";
-import {MailConfigService} from "../../../../../projects/streampipes/platform-services/src/lib/apis/mail-config.service";
+import { AuthService } from '../../../services/auth.service';
+import { Router } from '@angular/router';
+import { MailConfigService } from '../../../../../projects/streampipes/platform-services/src/lib/apis/mail-config.service';
 
 @Component({
   selector: 'sp-edit-user-dialog',
@@ -82,7 +82,7 @@ export class EditUserDialogComponent implements OnInit {
 
   ngOnInit(): void {
     const filterObject = this.user instanceof UserAccount ? UserRole.ROLE_SERVICE_ADMIN : UserRole.ROLE_ADMIN;
-    this.availableRoles = this.availableRolesService.availableRoles.filter(role => role.role !== filterObject)
+    this.availableRoles = this.availableRolesService.availableRoles.filter(role => role.role !== filterObject);
     this.mailConfigService.getMailConfig().subscribe(config => this.emailConfigured = config.emailConfigured);
     this.userGroupService.getAllUserGroups().subscribe(response => {
       this.availableGroups = response;
@@ -183,7 +183,7 @@ export class EditUserDialogComponent implements OnInit {
         this.userService.createServiceAccount(this.clonedUser as ServiceAccount).subscribe(() => {
           this.close(true);
         }, error => {
-          this.registrationError = error.error.notifications ? error.error.notifications[0].title: 'Unknown error';
+          this.registrationError = error.error.notifications ? error.error.notifications[0].title : 'Unknown error';
         });
       }
     }
diff --git a/ui/src/app/configuration/security-configuration/security-service-configuration/security-service-config.component.ts b/ui/src/app/configuration/security-configuration/security-service-configuration/security-service-config.component.ts
index 7482802..1b909a5 100644
--- a/ui/src/app/configuration/security-configuration/security-service-configuration/security-service-config.component.ts
+++ b/ui/src/app/configuration/security-configuration/security-service-configuration/security-service-config.component.ts
@@ -17,7 +17,7 @@
  */
 
 import { Component } from '@angular/core';
-import { ServiceAccount } from '../../../../../projects/streampipes/platform-services/src/lib/model/gen/streampipes-model-client';
+import { ServiceAccount } from '@streampipes/platform-services';
 import { AbstractSecurityPrincipalConfig } from '../abstract-security-principal-config';
 import { Observable } from 'rxjs';
 
diff --git a/ui/src/app/configuration/security-configuration/security-user-configuration/security-user-config.component.ts b/ui/src/app/configuration/security-configuration/security-user-configuration/security-user-config.component.ts
index cc980ed..5517df5 100644
--- a/ui/src/app/configuration/security-configuration/security-user-configuration/security-user-config.component.ts
+++ b/ui/src/app/configuration/security-configuration/security-user-configuration/security-user-config.component.ts
@@ -17,7 +17,7 @@
  */
 
 import { Component } from '@angular/core';
-import { UserAccount } from '../../../../../projects/streampipes/platform-services/src/lib/model/gen/streampipes-model-client';
+import { UserAccount } from '@streampipes/platform-services';
 import { AbstractSecurityPrincipalConfig } from '../abstract-security-principal-config';
 import { Observable } from 'rxjs';
 
diff --git a/ui/src/app/configuration/security-configuration/user-group-configuration/user-group-configuration.component.ts b/ui/src/app/configuration/security-configuration/user-group-configuration/user-group-configuration.component.ts
index fd02815..5cd6f64 100644
--- a/ui/src/app/configuration/security-configuration/user-group-configuration/user-group-configuration.component.ts
+++ b/ui/src/app/configuration/security-configuration/user-group-configuration/user-group-configuration.component.ts
@@ -17,11 +17,10 @@
  */
 
 import { Component, OnInit, ViewChild } from '@angular/core';
-import { Group } from '../../../../../projects/streampipes/platform-services/src/lib/model/gen/streampipes-model-client';
+import { Group, UserGroupService } from '@streampipes/platform-services';
 import { MatPaginator } from '@angular/material/paginator';
 import { MatSort } from '@angular/material/sort';
 import { MatTableDataSource } from '@angular/material/table';
-import { UserGroupService } from '../../../../../projects/streampipes/platform-services/src/lib/apis/user-group.service';
 import { PanelType } from '../../../core-ui/dialog/base-dialog/base-dialog.model';
 import { DialogService } from '../../../core-ui/dialog/base-dialog/base-dialog.service';
 import { EditGroupDialogComponent } from '../edit-group-dialog/edit-group-dialog.component';
diff --git a/ui/src/app/configuration/shared/configuration.service.spec.ts b/ui/src/app/configuration/shared/configuration.service.spec.ts
index 668a0fa..af0b998 100644
--- a/ui/src/app/configuration/shared/configuration.service.spec.ts
+++ b/ui/src/app/configuration/shared/configuration.service.spec.ts
@@ -16,10 +16,10 @@
  *
  */
 
-import {getTestBed, TestBed} from '@angular/core/testing';
-import {HttpClientTestingModule, HttpTestingController} from '@angular/common/http/testing';
-import {ConfigurationService} from './configuration.service';
-import {StreampipesPeContainer} from './streampipes-pe-container.model';
+import { getTestBed, TestBed } from '@angular/core/testing';
+import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing';
+import { ConfigurationService } from './configuration.service';
+import { StreampipesPeContainer } from './streampipes-pe-container.model';
 
 describe('ConfigurationService', () => {
 
@@ -57,11 +57,11 @@ describe('ConfigurationService', () => {
     });
 
     it('should get Server URL', () => {
-        expect(service.getServerUrl()).toBe('/streampipes-backend')
-    })
+        expect(service.getServerUrl()).toBe('/streampipes-backend');
+    });
 
-    it('should modify key', () =>{
-        expect(service.adjustConfigurationKey("SP_A_TEST")).toBe("A TEST")
-    })
+    it('should modify key', () => {
+        expect(service.adjustConfigurationKey('SP_A_TEST')).toBe('A TEST');
+    });
 
 });
diff --git a/ui/src/app/configuration/shared/configuration.service.ts b/ui/src/app/configuration/shared/configuration.service.ts
index 0b85bf9..e6dd779 100644
--- a/ui/src/app/configuration/shared/configuration.service.ts
+++ b/ui/src/app/configuration/shared/configuration.service.ts
@@ -16,18 +16,18 @@
  *
  */
 
-import {Injectable} from '@angular/core';
-import {HttpClient} from '@angular/common/http';
-import {Observable} from 'rxjs';
-import {map} from 'rxjs/operators';
+import { Injectable } from '@angular/core';
+import { HttpClient } from '@angular/common/http';
+import { Observable } from 'rxjs';
+import { map } from 'rxjs/operators';
 
-import {StreampipesPeContainer} from './streampipes-pe-container.model';
-import {MessagingSettings} from './messaging-settings.model';
+import { StreampipesPeContainer } from './streampipes-pe-container.model';
+import { MessagingSettings } from './messaging-settings.model';
 
 @Injectable()
 export class ConfigurationService {
 
-    
+
     constructor(private http: HttpClient) {
     }
 
@@ -41,15 +41,15 @@ export class ConfigurationService {
                 map(response => {
                     return response as MessagingSettings;
                 })
-            )
+            );
     }
 
     getConsulServices(): Observable<StreampipesPeContainer[]> {
         return this.http.get(this.getServerUrl() + '/api/v2/consul')
             .pipe(
                 map(response => {
-                    for (let service of response as any[]) {
-                        for (let config of service['configs']) {
+                    for (const service of response as any[]) {
+                        for (const config of service['configs']) {
                             if (config.valueType === 'xs:integer') {
                                 config.value = parseInt(config.value);
                             } else if (config.valueType === 'xs:double') {
@@ -68,22 +68,22 @@ export class ConfigurationService {
         return this.http.post(this.getServerUrl() + '/api/v2/consul', consulService);
     }
 
-    updateMessagingSettings(messagingSettings: MessagingSettings):Observable<Object> {
+    updateMessagingSettings(messagingSettings: MessagingSettings): Observable<Object> {
         return this.http.post(this.getServerUrl() + '/api/v2/consul/messaging', messagingSettings);
     }
 
 
     adjustConfigurationKey(consulKey) {
 
-            var removedKey = consulKey.substr(consulKey.lastIndexOf("/") + 1, consulKey.length);
+            const removedKey = consulKey.substr(consulKey.lastIndexOf('/') + 1, consulKey.length);
 
             // console.log(removedKey);
 
-            var str1 = removedKey.replace(/SP/g,"");
-            str1 = str1.replace(/_/g," "); 
-            if(str1.startsWith(" ")){
-                str1 = str1.slice(1,str1.length)
+            let str1 = removedKey.replace(/SP/g, '');
+            str1 = str1.replace(/_/g, ' ');
+            if (str1.startsWith(' ')) {
+                str1 = str1.slice(1, str1.length);
             }
-            return str1 
+            return str1;
     }
-}
\ No newline at end of file
+}
diff --git a/ui/src/app/configuration/shared/configuration.test.service.ts b/ui/src/app/configuration/shared/configuration.test.service.ts
index cd617cd..5c1d5c9 100644
--- a/ui/src/app/configuration/shared/configuration.test.service.ts
+++ b/ui/src/app/configuration/shared/configuration.test.service.ts
@@ -16,11 +16,11 @@
  *
  */
 
-import {Injectable} from '@angular/core';
-import {Observable, of} from 'rxjs';
+import { Injectable } from '@angular/core';
+import { Observable, of } from 'rxjs';
 
-import {StreampipesPeContainer} from './streampipes-pe-container.model';
-import {StreampipesPeContainerConifgs} from './streampipes-pe-container-configs';
+import { StreampipesPeContainer } from './streampipes-pe-container.model';
+import { StreampipesPeContainerConifgs } from './streampipes-pe-container-configs';
 
 @Injectable()
 export class ConfigurationMockService {
@@ -34,15 +34,15 @@ export class ConfigurationMockService {
 
     getConsulServices(): Observable<StreampipesPeContainer[]> {
 
-        let config: StreampipesPeContainerConifgs []
-        config[0] = new StreampipesPeContainerConifgs
-        config[0].description = "test int"
-        config[0].key = 'testint'
-        config[0].value = '80'
-        config[0].valueType = 'xs:integer'
-        config[0].isPassword = false
+        const config: StreampipesPeContainerConifgs[] = [];
+        config[0] = new StreampipesPeContainerConifgs;
+        config[0].description = 'test int';
+        config[0].key = 'testint';
+        config[0].value = '80';
+        config[0].valueType = 'xs:integer';
+        config[0].isPassword = false;
+
 
-        
         return of([
             {
                 mainKey: 'sp/test/1',
@@ -84,4 +84,4 @@ export class ConfigurationMockService {
         return of({});
     }
 
-}
\ No newline at end of file
+}
diff --git a/ui/src/app/configuration/shared/streampipes-pe-container.model.ts b/ui/src/app/configuration/shared/streampipes-pe-container.model.ts
index f3eb16a..5061bad 100644
--- a/ui/src/app/configuration/shared/streampipes-pe-container.model.ts
+++ b/ui/src/app/configuration/shared/streampipes-pe-container.model.ts
@@ -16,14 +16,14 @@
  *
  */
 
-import {StreampipesPeContainerConifgs} from "./streampipes-pe-container-configs";
+import { StreampipesPeContainerConifgs } from './streampipes-pe-container-configs';
 
-//ConsulService = StreampipesPeContainer ERLEDIGT
+// ConsulService = StreampipesPeContainer ERLEDIGT
 export interface StreampipesPeContainer {
     name: string;
     mainKey: string;
     meta: {
         status: string;
-    }
+    };
     configs: [StreampipesPeContainerConifgs];
-}
\ No newline at end of file
+}
diff --git a/ui/src/app/connect/services/rest.service.ts b/ui/src/app/connect/services/rest.service.ts
index 76eebe9..5d33cdc 100644
--- a/ui/src/app/connect/services/rest.service.ts
+++ b/ui/src/app/connect/services/rest.service.ts
@@ -23,8 +23,7 @@ import { HttpClient } from '@angular/common/http';
 import { from, Observable } from 'rxjs';
 import { map } from 'rxjs/operators';
 import { UnitDescription } from '../model/UnitDescription';
-import { AdapterDescription, FormatDescription, GuessSchema, Message, SpDataStream } from '../../../../projects/streampipes/platform-services/src/lib/model/gen/streampipes-model';
-import { PlatformServicesCommons } from '../../../../projects/streampipes/platform-services/src/lib/apis/commons.service';
+import { AdapterDescription, FormatDescription, GuessSchema, Message, SpDataStream, PlatformServicesCommons } from '@streampipes/platform-services';
 import { AuthService } from '../../services/auth.service';
 
 @Injectable()
diff --git a/ui/src/app/core-ui/static-properties/static-alternatives/static-alternatives.component.ts b/ui/src/app/core-ui/static-properties/static-alternatives/static-alternatives.component.ts
index 134350c..bfe2a2b 100644
--- a/ui/src/app/core-ui/static-properties/static-alternatives/static-alternatives.component.ts
+++ b/ui/src/app/core-ui/static-properties/static-alternatives/static-alternatives.component.ts
@@ -18,7 +18,7 @@
 
 import { ChangeDetectorRef, Component, EventEmitter, OnInit, Output } from '@angular/core';
 import { AbstractStaticPropertyRenderer } from '../base/abstract-static-property';
-import { StaticPropertyAlternatives } from '../../../../../projects/streampipes/platform-services/src/lib/model/gen/streampipes-model';
+import { StaticPropertyAlternatives } from '@streampipes/platform-services';
 
 @Component({
     selector: 'app-static-alternatives',
diff --git a/ui/src/app/core-ui/static-properties/static-color-picker/static-color-picker.component.ts b/ui/src/app/core-ui/static-properties/static-color-picker/static-color-picker.component.ts
index adcefc8..eb7a967 100644
--- a/ui/src/app/core-ui/static-properties/static-color-picker/static-color-picker.component.ts
+++ b/ui/src/app/core-ui/static-properties/static-color-picker/static-color-picker.component.ts
@@ -16,12 +16,12 @@
  *
  */
 
-import {Component, OnInit} from "@angular/core";
-import {ConfigurationInfo} from "../../../connect/model/ConfigurationInfo";
-import {StaticPropertyUtilService} from "../static-property-util.service";
-import {FormGroup, Validators} from "@angular/forms";
-import {ColorPickerStaticProperty} from "../../../../../projects/streampipes/platform-services/src/lib/model/gen/streampipes-model";
-import {AbstractValidatedStaticPropertyRenderer} from "../base/abstract-validated-static-property";
+import { Component, OnInit } from '@angular/core';
+import { ConfigurationInfo } from '../../../connect/model/ConfigurationInfo';
+import { StaticPropertyUtilService } from '../static-property-util.service';
+import { FormGroup, Validators } from '@angular/forms';
+import { ColorPickerStaticProperty } from '@streampipes/platform-services';
+import { AbstractValidatedStaticPropertyRenderer } from '../base/abstract-validated-static-property';
 
 @Component({
     selector: 'app-static-color-picker',
@@ -31,7 +31,7 @@ import {AbstractValidatedStaticPropertyRenderer} from "../base/abstract-validate
 export class StaticColorPickerComponent
     extends AbstractValidatedStaticPropertyRenderer<ColorPickerStaticProperty> implements OnInit {
 
-    constructor(public staticPropertyUtil: StaticPropertyUtilService){
+    constructor(public staticPropertyUtil: StaticPropertyUtilService) {
         super();
     }
 
@@ -39,7 +39,7 @@ export class StaticColorPickerComponent
     hasInput: Boolean;
     colorPickerForm: FormGroup;
 
-    presetColors: Array<any> = ["#39B54A", "#1B1464", "#f44336", "#4CAF50", "#FFEB3B", "#FFFFFF", "#000000"];
+    presetColors: any[] = ['#39B54A', '#1B1464', '#f44336', '#4CAF50', '#FFEB3B', '#FFFFFF', '#000000'];
 
     ngOnInit() {
         this.addValidator(this.staticProperty.selectedColor, Validators.required);
@@ -47,7 +47,7 @@ export class StaticColorPickerComponent
     }
 
     emitUpdate() {
-        this.updateEmitter.emit(new ConfigurationInfo(this.staticProperty.internalName, this.staticPropertyUtil.asColorPickerStaticProperty(this.staticProperty).selectedColor && this.staticPropertyUtil.asColorPickerStaticProperty(this.staticProperty).selectedColor !== ""));
+        this.updateEmitter.emit(new ConfigurationInfo(this.staticProperty.internalName, this.staticPropertyUtil.asColorPickerStaticProperty(this.staticProperty).selectedColor && this.staticPropertyUtil.asColorPickerStaticProperty(this.staticProperty).selectedColor !== ''));
     }
 
     onStatusChange(status: any) {
diff --git a/ui/src/app/dashboard/components/widget/dashboard-widget.component.ts b/ui/src/app/dashboard/components/widget/dashboard-widget.component.ts
index db23b53..5778c7f 100644
--- a/ui/src/app/dashboard/components/widget/dashboard-widget.component.ts
+++ b/ui/src/app/dashboard/components/widget/dashboard-widget.component.ts
@@ -17,16 +17,14 @@
  */
 
 import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
-import { DashboardItem } from '@streampipes/platform-services';
 import { DashboardService } from '../../services/dashboard.service';
 import { AddVisualizationDialogComponent } from '../../dialogs/add-widget/add-visualization-dialog.component';
 import {
   DashboardWidgetModel, Pipeline,
-  VisualizablePipeline
-} from '../../../../../projects/streampipes/platform-services/src/lib/model/gen/streampipes-model';
+  VisualizablePipeline, DashboardItem, PipelineService
+} from '@streampipes/platform-services';
 import { PanelType } from '../../../core-ui/dialog/base-dialog/base-dialog.model';
 import { DialogService } from '../../../core-ui/dialog/base-dialog/base-dialog.service';
-import { PipelineService } from '../../../../../projects/streampipes/platform-services/src/lib/apis/pipeline.service';
 import { EditModeService } from '../../services/edit-mode.service';
 import { ReloadPipelineService } from '../../services/reload-pipeline.service';
 
diff --git a/ui/src/app/dashboard/components/widgets/stacked-line-chart/stacked-line-chart-config.ts b/ui/src/app/dashboard/components/widgets/stacked-line-chart/stacked-line-chart-config.ts
index f45e0e7..d2929ea 100644
--- a/ui/src/app/dashboard/components/widgets/stacked-line-chart/stacked-line-chart-config.ts
+++ b/ui/src/app/dashboard/components/widgets/stacked-line-chart/stacked-line-chart-config.ts
@@ -16,29 +16,29 @@
  *
  */
 
-import {WidgetConfig} from "../base/base-config";
-import {WidgetConfigBuilder} from "../../../registry/widget-config-builder";
-import {SchemaRequirementsBuilder} from "../../../sdk/schema-requirements-builder";
-import {EpRequirements} from "../../../sdk/ep-requirements";
-import {DashboardWidgetSettings} from "../../../../../../projects/streampipes/platform-services/src/lib/model/gen/streampipes-model";
+import { WidgetConfig } from '../base/base-config';
+import { WidgetConfigBuilder } from '../../../registry/widget-config-builder';
+import { SchemaRequirementsBuilder } from '../../../sdk/schema-requirements-builder';
+import { EpRequirements } from '../../../sdk/ep-requirements';
+import { DashboardWidgetSettings } from '@streampipes/platform-services';
 
 export class StackedLineChartConfig extends WidgetConfig {
 
-  static readonly VALUE_KEY: string = "value-key";
-  static readonly TIMESTAMP_KEY: string = "timestamp-key";
+  static readonly VALUE_KEY: string = 'value-key';
+  static readonly TIMESTAMP_KEY: string = 'timestamp-key';
 
   constructor() {
     super();
   }
 
   getConfig(): DashboardWidgetSettings {
-    return WidgetConfigBuilder.createWithSelectableColorsAndTitlePanel("stacked-line-chart", "Stacked Line Chart")
-        .withIcon("fas fa-chart-line")
-        .withDescription("Shows a stacked line chart based on multiple measurements.")
+    return WidgetConfigBuilder.createWithSelectableColorsAndTitlePanel('stacked-line-chart', 'Stacked Line Chart')
+        .withIcon('fas fa-chart-line')
+        .withDescription('Shows a stacked line chart based on multiple measurements.')
         .requiredSchema(SchemaRequirementsBuilder
             .create()
-            .requiredPropertyWithUnaryMapping(StackedLineChartConfig.TIMESTAMP_KEY, "Timestamp field", "", EpRequirements.timestampReq())
-            .requiredPropertyWithNaryMapping(StackedLineChartConfig.VALUE_KEY, "Measurement fields", "", EpRequirements.numberReq())
+            .requiredPropertyWithUnaryMapping(StackedLineChartConfig.TIMESTAMP_KEY, 'Timestamp field', '', EpRequirements.timestampReq())
+            .requiredPropertyWithNaryMapping(StackedLineChartConfig.VALUE_KEY, 'Measurement fields', '', EpRequirements.numberReq())
             .build())
         .build();
   }
diff --git a/ui/src/app/dashboard/components/widgets/wordcloud/wordcloud-config.ts b/ui/src/app/dashboard/components/widgets/wordcloud/wordcloud-config.ts
index c7b9543..db0b6b6 100644
--- a/ui/src/app/dashboard/components/widgets/wordcloud/wordcloud-config.ts
+++ b/ui/src/app/dashboard/components/widgets/wordcloud/wordcloud-config.ts
@@ -16,33 +16,33 @@
  *
  */
 
-import {WidgetConfig} from "../base/base-config";
-import {WidgetConfigBuilder} from "../../../registry/widget-config-builder";
-import {SchemaRequirementsBuilder} from "../../../sdk/schema-requirements-builder";
-import {EpRequirements} from "../../../sdk/ep-requirements";
-import {DashboardWidgetSettings} from "../../../../../../projects/streampipes/platform-services/src/lib/model/gen/streampipes-model";
+import { WidgetConfig } from '../base/base-config';
+import { WidgetConfigBuilder } from '../../../registry/widget-config-builder';
+import { SchemaRequirementsBuilder } from '../../../sdk/schema-requirements-builder';
+import { EpRequirements } from '../../../sdk/ep-requirements';
+import { DashboardWidgetSettings } from '@streampipes/platform-services';
 
 export class WordCloudConfig extends WidgetConfig {
 
-  static readonly TITLE_KEY: string = "title-key";
-  static readonly COUNT_PROPERTY_KEY: string = "count-property-key";
-  static readonly NAME_PROPERTY_KEY: string = "name-property-key";
-  static readonly WINDOW_SIZE_KEY: string = "window-size-key";
+  static readonly TITLE_KEY: string = 'title-key';
+  static readonly COUNT_PROPERTY_KEY: string = 'count-property-key';
+  static readonly NAME_PROPERTY_KEY: string = 'name-property-key';
+  static readonly WINDOW_SIZE_KEY: string = 'window-size-key';
 
   constructor() {
     super();
   }
 
   getConfig(): DashboardWidgetSettings {
-    return WidgetConfigBuilder.createWithSelectableColorsAndTitlePanel("wordcloud", "Word Cloud")
-        .withIcon("fas fa-font")
-        .withDescription("A wordcloud visualization")
+    return WidgetConfigBuilder.createWithSelectableColorsAndTitlePanel('wordcloud', 'Word Cloud')
+        .withIcon('fas fa-font')
+        .withDescription('A wordcloud visualization')
         .requiredSchema(SchemaRequirementsBuilder
             .create()
-            .requiredPropertyWithUnaryMapping(WordCloudConfig.COUNT_PROPERTY_KEY, "Count field", "", EpRequirements.integerReq())
-            .requiredPropertyWithUnaryMapping(WordCloudConfig.NAME_PROPERTY_KEY, "Name field", "", EpRequirements.stringReq())
+            .requiredPropertyWithUnaryMapping(WordCloudConfig.COUNT_PROPERTY_KEY, 'Count field', '', EpRequirements.integerReq())
+            .requiredPropertyWithUnaryMapping(WordCloudConfig.NAME_PROPERTY_KEY, 'Name field', '', EpRequirements.stringReq())
             .build())
-        .requiredIntegerParameter(WordCloudConfig.WINDOW_SIZE_KEY, "Window size", "The maximum number of events")
+        .requiredIntegerParameter(WordCloudConfig.WINDOW_SIZE_KEY, 'Window size', 'The maximum number of events')
         .build();
   }
 }
diff --git a/ui/src/app/dashboard/registry/widget-registry.ts b/ui/src/app/dashboard/registry/widget-registry.ts
index 03a4e42..3687a6f 100644
--- a/ui/src/app/dashboard/registry/widget-registry.ts
+++ b/ui/src/app/dashboard/registry/widget-registry.ts
@@ -16,27 +16,27 @@
  *
  */
 
-import {AreaConfig} from '../components/widgets/area/area-config';
-import {WidgetConfig} from '../components/widgets/base/base-config';
-import {GaugeConfig} from '../components/widgets/gauge/gauge-config';
-import {HtmlConfig} from '../components/widgets/html/html-config';
-import {ImageConfig} from '../components/widgets/image/image-config';
-import {LineConfig} from '../components/widgets/line/line-config';
-import {MapConfig} from '../components/widgets/map/map-config';
-import {NumberConfig} from '../components/widgets/number/number-config';
-import {RawConfig} from '../components/widgets/raw/raw-config';
-import {TableConfig} from '../components/widgets/table/table-config';
-import {TrafficLightConfig} from '../components/widgets/trafficlight/traffic-light-config';
-import {SchemaMatch} from '../sdk/matching/schema-match';
+import { AreaConfig } from '../components/widgets/area/area-config';
+import { WidgetConfig } from '../components/widgets/base/base-config';
+import { GaugeConfig } from '../components/widgets/gauge/gauge-config';
+import { HtmlConfig } from '../components/widgets/html/html-config';
+import { ImageConfig } from '../components/widgets/image/image-config';
+import { LineConfig } from '../components/widgets/line/line-config';
+import { MapConfig } from '../components/widgets/map/map-config';
+import { NumberConfig } from '../components/widgets/number/number-config';
+import { RawConfig } from '../components/widgets/raw/raw-config';
+import { TableConfig } from '../components/widgets/table/table-config';
+import { TrafficLightConfig } from '../components/widgets/trafficlight/traffic-light-config';
+import { SchemaMatch } from '../sdk/matching/schema-match';
 import {
     DashboardWidgetSettings,
     EventSchema,
     VisualizablePipeline
-} from '../../../../projects/streampipes/platform-services/src/lib/model/gen/streampipes-model';
-import {WordCloudConfig} from "../components/widgets/wordcloud/wordcloud-config";
-import {StatusWidgetConfig} from "../components/widgets/status/status-config";
-import {BarRaceConfig} from "../components/widgets/bar-race/bar-race-config";
-import {StackedLineChartConfig} from "../components/widgets/stacked-line-chart/stacked-line-chart-config";
+} from '@streampipes/platform-services';
+import { WordCloudConfig } from '../components/widgets/wordcloud/wordcloud-config';
+import { StatusWidgetConfig } from '../components/widgets/status/status-config';
+import { BarRaceConfig } from '../components/widgets/bar-race/bar-race-config';
+import { StackedLineChartConfig } from '../components/widgets/stacked-line-chart/stacked-line-chart-config';
 
 export class WidgetRegistry {
 
diff --git a/ui/src/app/data-explorer/components/designer-panel/data-explorer-designer-panel.component.ts b/ui/src/app/data-explorer/components/designer-panel/data-explorer-designer-panel.component.ts
index d86cfda..572f01a 100644
--- a/ui/src/app/data-explorer/components/designer-panel/data-explorer-designer-panel.component.ts
+++ b/ui/src/app/data-explorer/components/designer-panel/data-explorer-designer-panel.component.ts
@@ -17,7 +17,7 @@
  */
 
 import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
-import { DataExplorerWidgetModel, DataLakeMeasure } from '../../../../../projects/streampipes/platform-services/src/lib/model/gen/streampipes-model';
+import { DataExplorerWidgetModel, DataLakeMeasure } from '@streampipes/platform-services';
 import { Tuple2 } from '../../../core-model/base/Tuple2';
 
 @Component({
diff --git a/ui/src/app/data-explorer/components/designer-panel/data-settings/group-selection-panel/group-selection-panel.component.ts b/ui/src/app/data-explorer/components/designer-panel/data-settings/group-selection-panel/group-selection-panel.component.ts
index 0384101..4162f08 100644
--- a/ui/src/app/data-explorer/components/designer-panel/data-settings/group-selection-panel/group-selection-panel.component.ts
+++ b/ui/src/app/data-explorer/components/designer-panel/data-settings/group-selection-panel/group-selection-panel.component.ts
@@ -20,7 +20,7 @@ import { Component, Input, OnInit } from '@angular/core';
 import { FieldConfig, SourceConfig } from '../../../../models/dataview-dashboard.model';
 import { DataExplorerFieldProviderService } from '../../../../services/data-explorer-field-provider-service';
 import { WidgetConfigurationService } from '../../../../services/widget-configuration.service';
-import { EventPropertyUnion } from '../../../../../../../projects/streampipes/platform-services/src/lib/model/gen/streampipes-model';
+import { EventPropertyUnion } from '@streampipes/platform-services';
 
 @Component({
   selector: 'sp-group-selection-panel',
diff --git a/ui/src/app/data-explorer/components/overview/data-explorer-dashboard-overview.component.ts b/ui/src/app/data-explorer/components/overview/data-explorer-dashboard-overview.component.ts
index e04d1bc..68975d7 100644
--- a/ui/src/app/data-explorer/components/overview/data-explorer-dashboard-overview.component.ts
+++ b/ui/src/app/data-explorer/components/overview/data-explorer-dashboard-overview.component.ts
@@ -19,8 +19,7 @@
 import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
 import { MatTableDataSource } from '@angular/material/table';
 import { DataExplorerEditDataViewDialogComponent } from '../../dialogs/edit-dashboard/data-explorer-edit-data-view-dialog.component';
-import { DataViewDataExplorerService } from '../../../../../projects/streampipes/platform-services/src/lib/apis/data-view-data-explorer.service';
-import { Dashboard } from '@streampipes/platform-services';
+import { DataViewDataExplorerService, Dashboard } from '@streampipes/platform-services';
 import { Tuple2 } from '../../../core-model/base/Tuple2';
 import { PanelType } from '../../../core-ui/dialog/base-dialog/base-dialog.model';
 import { DialogService } from '../../../core-ui/dialog/base-dialog/base-dialog.service';
diff --git a/ui/src/app/data-explorer/components/widgets/base/base-widget-config.ts b/ui/src/app/data-explorer/components/widgets/base/base-widget-config.ts
index 5f3850c..24f0f10 100644
--- a/ui/src/app/data-explorer/components/widgets/base/base-widget-config.ts
+++ b/ui/src/app/data-explorer/components/widgets/base/base-widget-config.ts
@@ -22,7 +22,7 @@ import {
   EventPropertyPrimitive,
   EventPropertyUnion,
   EventSchema
-} from '../../../../../../projects/streampipes/platform-services/src/lib/model/gen/streampipes-model';
+} from '@streampipes/platform-services';
 import { WidgetConfigurationService } from '../../../services/widget-configuration.service';
 import { DataExplorerField, DataExplorerVisConfig, FieldProvider, SourceConfig } from '../../../models/dataview-dashboard.model';
 import { DataExplorerFieldProviderService } from '../../../services/data-explorer-field-provider-service';
diff --git a/ui/src/app/data-explorer/components/widgets/distribution-chart/distribution-chart-widget.component.ts b/ui/src/app/data-explorer/components/widgets/distribution-chart/distribution-chart-widget.component.ts
index 75ad9eb..1d633ed 100644
--- a/ui/src/app/data-explorer/components/widgets/distribution-chart/distribution-chart-widget.component.ts
+++ b/ui/src/app/data-explorer/components/widgets/distribution-chart/distribution-chart-widget.component.ts
@@ -20,8 +20,7 @@ import { Component, OnInit } from '@angular/core';
 import { BaseDataExplorerWidgetDirective } from '../base/base-data-explorer-widget.directive';
 import { DistributionChartWidgetModel } from './model/distribution-chart-widget.model';
 import { DataExplorerField } from '../../../models/dataview-dashboard.model';
-import { SpQueryResult } from '../../../../../../projects/streampipes/platform-services/src/lib/model/gen/streampipes-model';
-import { THIS_EXPR } from '@angular/compiler/src/output/output_ast';
+import { SpQueryResult } from '@streampipes/platform-services';
 
 @Component({
   selector: 'sp-data-explorer-distribution-chart-widget',
@@ -67,8 +66,6 @@ export class DistributionChartWidgetComponent extends BaseDataExplorerWidgetDire
 
   prepareData(spQueryResult: SpQueryResult[]) {
 
-    //todo tags als namen und labels unter pie und legende für histo
-
     this.data = [];
 
     const len = spQueryResult[0].allDataSeries.length;
diff --git a/ui/src/app/data-explorer/components/widgets/heatmap/heatmap-widget.component.ts b/ui/src/app/data-explorer/components/widgets/heatmap/heatmap-widget.component.ts
index 2f640e7..7bb73f6 100644
--- a/ui/src/app/data-explorer/components/widgets/heatmap/heatmap-widget.component.ts
+++ b/ui/src/app/data-explorer/components/widgets/heatmap/heatmap-widget.component.ts
@@ -17,7 +17,7 @@
  */
 
 import { Component, OnDestroy, OnInit } from '@angular/core';
-import { SpQueryResult } from '../../../../../../projects/streampipes/platform-services/src/lib/model/gen/streampipes-model';
+import { SpQueryResult } from '@streampipes/platform-services';
 
 import { BaseDataExplorerWidgetDirective } from '../base/base-data-explorer-widget.directive';
 import { HeatmapWidgetModel } from './model/heatmap-widget.model';
diff --git a/ui/src/app/data-explorer/services/data-explorer-field-provider-service.ts b/ui/src/app/data-explorer/services/data-explorer-field-provider-service.ts
index 70bf60e..7e42c76 100644
--- a/ui/src/app/data-explorer/services/data-explorer-field-provider-service.ts
+++ b/ui/src/app/data-explorer/services/data-explorer-field-provider-service.ts
@@ -27,7 +27,7 @@ import {
   EventProperty,
   EventPropertyPrimitive,
   EventPropertyUnion
-} from '../../../../projects/streampipes/platform-services/src/lib/model/gen/streampipes-model';
+} from '@streampipes/platform-services';
 
 
 @Injectable()
diff --git a/ui/src/app/editor/components/output-strategy/user-defined-output/user-defined-output.component.ts b/ui/src/app/editor/components/output-strategy/user-defined-output/user-defined-output.component.ts
index f975cc0..5c6da36 100644
--- a/ui/src/app/editor/components/output-strategy/user-defined-output/user-defined-output.component.ts
+++ b/ui/src/app/editor/components/output-strategy/user-defined-output/user-defined-output.component.ts
@@ -16,44 +16,44 @@
  *
  */
 
-import {Component, OnInit} from "@angular/core";
-import {BaseOutputStrategy} from "../base/BaseOutputStrategy";
+import { Component, OnInit } from '@angular/core';
+import { BaseOutputStrategy } from '../base/BaseOutputStrategy';
 import {
   EventPropertyPrimitive,
   UserDefinedOutputStrategy
-} from "../../../../../../projects/streampipes/platform-services/src/lib/model/gen/streampipes-model";
-import {FormControl} from "@angular/forms";
+} from '@streampipes/platform-services';
+import { FormControl } from '@angular/forms';
 
 @Component({
   selector: 'user-defined-output-strategy',
   templateUrl: './user-defined-output.component.html',
   styleUrls: ['./user-defined-output.component.scss']
 })
-export class UserDefinedOutputStrategyComponent extends BaseOutputStrategy<UserDefinedOutputStrategy> implements OnInit{
+export class UserDefinedOutputStrategyComponent extends BaseOutputStrategy<UserDefinedOutputStrategy> implements OnInit {
 
-  private prefix = "urn:streampipes.org:spi:";
-  private chars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
+  private prefix = 'urn:streampipes.org:spi:';
+  private chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
 
   collectedPropertiesFirstStream: any;
   collectedPropertiesSecondStream: any;
 
-  primitiveClasses = [{"label": "String", "id": "http://www.w3.org/2001/XMLSchema#string"},
-    {"label": "Boolean", "id": "http://www.w3.org/2001/XMLSchema#boolean"},
-    {"label": "Integer", "id": "http://www.w3.org/2001/XMLSchema#integer"},
-    {"label": "Long", "id": "http://www.w3.org/2001/XMLSchema#long"},
-    {"label": "Double", "id": "http://www.w3.org/2001/XMLSchema#double"},
-    {"label": "Float", "id": "http://www.w3.org/2001/XMLSchema#float"}];
+  primitiveClasses = [{'label': 'String', 'id': 'http://www.w3.org/2001/XMLSchema#string'},
+    {'label': 'Boolean', 'id': 'http://www.w3.org/2001/XMLSchema#boolean'},
+    {'label': 'Integer', 'id': 'http://www.w3.org/2001/XMLSchema#integer'},
+    {'label': 'Long', 'id': 'http://www.w3.org/2001/XMLSchema#long'},
+    {'label': 'Double', 'id': 'http://www.w3.org/2001/XMLSchema#double'},
+    {'label': 'Float', 'id': 'http://www.w3.org/2001/XMLSchema#float'}];
 
   constructor() {
     super();
   }
 
   ngOnInit() {
-    this.parentForm.addControl("output-strategy", new FormControl());
+    this.parentForm.addControl('output-strategy', new FormControl());
     if (!this.outputStrategy.eventProperties) {
       this.outputStrategy.eventProperties = [];
     }
-    this.checkFormValidity()
+    this.checkFormValidity();
   }
 
   applyDefaultSchema() {
@@ -74,10 +74,10 @@ export class UserDefinedOutputStrategyComponent extends BaseOutputStrategy<UserD
   }
 
   makeDefaultProperty() {
-    let ep = {} as EventPropertyPrimitive;
-    ep["@class"] = "org.apache.streampipes.model.schema.EventPropertyPrimitive";
+    const ep = {} as EventPropertyPrimitive;
+    ep['@class'] = 'org.apache.streampipes.model.schema.EventPropertyPrimitive';
     ep.domainProperties = [];
-    ep.elementId = "urn:streampipes.org:spi:eventpropertyprimitive:" + this.makeId();
+    ep.elementId = 'urn:streampipes.org:spi:eventpropertyprimitive:' + this.makeId();
 
     return ep;
   }
@@ -88,15 +88,15 @@ export class UserDefinedOutputStrategyComponent extends BaseOutputStrategy<UserD
 
   randomString(length) {
     let result = '';
-    for (let i = length; i > 0; --i) result += this.chars[Math.floor(Math.random() * this.chars.length)];
+    for (let i = length; i > 0; --i) { result += this.chars[Math.floor(Math.random() * this.chars.length)]; }
     return result;
   }
 
   checkFormValidity() {
     if (!this.outputStrategy.eventProperties || this.outputStrategy.eventProperties.length == 0) {
-      this.parentForm.controls["output-strategy"].setErrors({});
+      this.parentForm.controls['output-strategy'].setErrors({});
     } else {
-      this.parentForm.controls["output-strategy"].setErrors(undefined);
+      this.parentForm.controls['output-strategy'].setErrors(undefined);
     }
   }
 }
diff --git a/ui/src/app/pipeline-details/components/preview/pipeline-preview.component.ts b/ui/src/app/pipeline-details/components/preview/pipeline-preview.component.ts
index 411b336..592cedf 100644
--- a/ui/src/app/pipeline-details/components/preview/pipeline-preview.component.ts
+++ b/ui/src/app/pipeline-details/components/preview/pipeline-preview.component.ts
@@ -17,7 +17,7 @@
  */
 
 import {Component, EventEmitter, Input, OnInit, Output} from "@angular/core";
-import {Pipeline} from "../../../../../projects/streampipes/platform-services/src/lib/model/gen/streampipes-model";
+import {Pipeline} from "@streampipes/platform-services";
 import {PipelineElementConfig, PipelineElementUnion} from "../../../editor/model/editor.model";
 import {PipelinePositioningService} from "../../../editor/services/pipeline-positioning.service";
 import {JsplumbService} from "../../../editor/services/jsplumb.service";
diff --git a/ui/src/app/pipelines/dialog/pipeline-status/pipeline-status-dialog.component.ts b/ui/src/app/pipelines/dialog/pipeline-status/pipeline-status-dialog.component.ts
index 7a6c2b2..4cdfc3b 100644
--- a/ui/src/app/pipelines/dialog/pipeline-status/pipeline-status-dialog.component.ts
+++ b/ui/src/app/pipelines/dialog/pipeline-status/pipeline-status-dialog.component.ts
@@ -17,10 +17,9 @@
  */
 
 import { DialogRef } from '../../../core-ui/dialog/base-dialog/dialog-ref';
-import { PipelineOperationStatus } from '../../../../../projects/streampipes/platform-services/src/lib/model/gen/streampipes-model';
+import { PipelineOperationStatus, PipelineService } from '@streampipes/platform-services';
 import { Component, Input, OnInit } from '@angular/core';
 import { PipelineAction } from '../../model/pipeline-model';
-import { PipelineService } from '../../../../../projects/streampipes/platform-services/src/lib/apis/pipeline.service';
 import { ShepherdService } from '../../../services/tour/shepherd.service';
 
 
diff --git a/ui/src/app/pipelines/services/pipeline-operations.service.ts b/ui/src/app/pipelines/services/pipeline-operations.service.ts
index 6a934e9..d53abca 100644
--- a/ui/src/app/pipelines/services/pipeline-operations.service.ts
+++ b/ui/src/app/pipelines/services/pipeline-operations.service.ts
@@ -18,7 +18,7 @@
 
 import { ShepherdService } from '../../services/tour/shepherd.service';
 import { EventEmitter, Injectable } from '@angular/core';
-import { PipelineService } from '../../../../projects/streampipes/platform-services/src/lib/apis/pipeline.service';
+import { PipelineService } from '@streampipes/platform-services';
 import { PanelType } from '../../core-ui/dialog/base-dialog/base-dialog.model';
 import { DialogService } from '../../core-ui/dialog/base-dialog/base-dialog.service';
 import { PipelineStatusDialogComponent } from '../dialog/pipeline-status/pipeline-status-dialog.component';
diff --git a/ui/src/app/services/jwt-token-storage.service.ts b/ui/src/app/services/jwt-token-storage.service.ts
index 1706e58..3d535c1 100644
--- a/ui/src/app/services/jwt-token-storage.service.ts
+++ b/ui/src/app/services/jwt-token-storage.service.ts
@@ -16,7 +16,7 @@
  *
  */
 
-import { UserInfo } from '../../../projects/streampipes/platform-services/src/lib/model/gen/streampipes-model-client';
+import { UserInfo } from '@streampipes/platform-services';
 
 const TOKEN_KEY = 'auth-token';
 const USER_KEY = 'auth-user';