This is an automated email from the ASF dual-hosted git repository.
dominikriemer pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/streampipes.git
The following commit(s) were added to refs/heads/dev by this push:
new b01b9441a9 refactor: Let labels and sites use asset resource (#5171)
b01b9441a9 is described below
commit b01b9441a9e0633b5439cb3a1825637d60c30c03
Author: Dominik Riemer <[email protected]>
AuthorDate: Mon Nov 2 14:11:15 2026 +0100
refactor: Let labels and sites use asset resource (#5171)
---
.../src/lib/apis/labels.service.ts | 17 ++++-----
.../assets/dialog/base-asset-links.directive.ts | 2 --
.../site-area-configuration.component.ts | 40 +++++++++-------------
3 files changed, 25 insertions(+), 34 deletions(-)
diff --git
a/ui/projects/streampipes/platform-services/src/lib/apis/labels.service.ts
b/ui/projects/streampipes/platform-services/src/lib/apis/labels.service.ts
index 7e8e35f387..32b9f891ea 100644
--- a/ui/projects/streampipes/platform-services/src/lib/apis/labels.service.ts
+++ b/ui/projects/streampipes/platform-services/src/lib/apis/labels.service.ts
@@ -20,6 +20,8 @@ import { inject, Injectable } from '@angular/core';
import { SpLabel } from '../model/labels/labels.model';
import { Observable } from 'rxjs';
import { GenericStorageService } from './generic-storage.service';
+import { AssetManagementService } from './asset-management.service';
+import { SpAsset } from '../model/gen/streampipes-model';
import { map } from 'rxjs/operators';
@Injectable({
@@ -29,25 +31,24 @@ export class LabelsService {
appDocType = 'sp-labels';
private genericStorageService = inject(GenericStorageService);
+ private assetManagementService = inject(AssetManagementService);
getAllLabels(): Observable<SpLabel[]> {
return this.genericStorageService.getAllDocuments(this.appDocType);
}
getLabelsInUse(): Observable<string[]> {
- return this.genericStorageService
- .getAllDocuments('asset-management')
- .pipe(map(docs => this.extractLabelIds(docs)));
+ return this.assetManagementService
+ .getAllAssets()
+ .pipe(map(assets => this.extractLabelIds(assets)));
}
- extractLabelIds(assets: any): string[] {
+ extractLabelIds(assets: SpAsset[]): string[] {
const allLabelIds = new Set<string>();
- const extractLabelsFromAsset = (asset: any) => {
+ const extractLabelsFromAsset = (asset: SpAsset) => {
if (asset.labelIds) {
- asset.labelIds.forEach((labelId: any) =>
- allLabelIds.add(labelId),
- );
+ asset.labelIds.forEach(labelId => allLabelIds.add(labelId));
}
if (asset.assets) {
asset.assets.forEach((subasset: any) =>
diff --git a/ui/src/app/assets/dialog/base-asset-links.directive.ts
b/ui/src/app/assets/dialog/base-asset-links.directive.ts
index ebaab2e9f8..19b6370b26 100644
--- a/ui/src/app/assets/dialog/base-asset-links.directive.ts
+++ b/ui/src/app/assets/dialog/base-asset-links.directive.ts
@@ -24,7 +24,6 @@ import {
DatalakeRestService,
FileMetadata,
FilesService,
- GenericStorageService,
PipelineElementService,
PipelineService,
SpDataStream,
@@ -39,7 +38,6 @@ import {
@Directive()
export abstract class BaseAssetLinksDirective {
- protected genericStorageService = inject(GenericStorageService);
protected pipelineService = inject(PipelineService);
protected chartService = inject(ChartService);
protected dashboardService = inject(DashboardService);
diff --git
a/ui/src/app/configuration/sites-configuration/site-area-configuration/site-area-configuration.component.ts
b/ui/src/app/configuration/sites-configuration/site-area-configuration/site-area-configuration.component.ts
index beee2b62c5..ae83c52bdd 100644
---
a/ui/src/app/configuration/sites-configuration/site-area-configuration/site-area-configuration.component.ts
+++
b/ui/src/app/configuration/sites-configuration/site-area-configuration/site-area-configuration.component.ts
@@ -26,9 +26,11 @@ import {
} from '@angular/core';
import {
AssetConstants,
+ AssetManagementService,
AssetSiteDesc,
GenericStorageService,
LocationConfig,
+ SpAsset,
} from '@streampipes/platform-services';
import {
MatCell,
@@ -57,13 +59,6 @@ import {
import { MatTooltip } from '@angular/material/tooltip';
import { MatDialog } from '@angular/material/dialog';
-interface AssetWithSite {
- assetSite?: {
- siteId?: string;
- };
- assets?: AssetWithSite[];
-}
-
@Component({
selector: 'sp-site-area-configuration',
templateUrl: './site-area-configuration.component.html',
@@ -89,6 +84,7 @@ interface AssetWithSite {
})
export class SiteAreaConfigurationComponent implements OnInit {
private genericStorageService = inject(GenericStorageService);
+ private assetManagementService = inject(AssetManagementService);
private dialogService = inject(DialogService);
private translateService = inject(TranslateService);
private dialog = inject(MatDialog);
@@ -132,17 +128,15 @@ export class SiteAreaConfigurationComponent implements
OnInit {
}
listSitesInUse(): void {
- this.genericStorageService
- .getAllDocuments(AssetConstants.ASSET_APP_DOC_NAME)
- .subscribe(res => {
- this.allUsedSiteIds = this.extractSiteIds(res);
- });
+ this.assetManagementService.getAllAssets().subscribe(assets => {
+ this.allUsedSiteIds = this.extractSiteIds(assets);
+ });
}
- extractSiteIds(assets: AssetWithSite[]): string[] {
+ extractSiteIds(assets: SpAsset[]): string[] {
const allSiteIds = new Set<string>();
- const extractSiteFromAsset = (asset: AssetWithSite) => {
+ const extractSiteFromAsset = (asset: SpAsset) => {
if (asset.assetSite?.siteId) {
allSiteIds.add(asset.assetSite.siteId);
}
@@ -155,17 +149,15 @@ export class SiteAreaConfigurationComponent implements
OnInit {
}
deleteSite(site: AssetSiteDesc): void {
- this.genericStorageService
- .getAllDocuments(AssetConstants.ASSET_APP_DOC_NAME)
- .subscribe(res => {
- this.allUsedSiteIds = this.extractSiteIds(res);
+ this.assetManagementService.getAllAssets().subscribe(assets => {
+ this.allUsedSiteIds = this.extractSiteIds(assets);
- if (this.allUsedSiteIds.includes(site._id)) {
- this.showSiteInUseWarning();
- } else {
- this.showDeleteSiteDialog(site);
- }
- });
+ if (this.allUsedSiteIds.includes(site._id)) {
+ this.showSiteInUseWarning();
+ } else {
+ this.showDeleteSiteDialog(site);
+ }
+ });
}
showSiteInUseWarning(): void {