You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampipes.apache.org by ri...@apache.org on 2026/01/23 09:15:22 UTC
(streampipes) branch dev updated: feat: Support deletion in typescript dataset api (#4125)
This is an automated email from the ASF dual-hosted git repository.
riemer 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 a98d00a3e9 feat: Support deletion in typescript dataset api (#4125)
a98d00a3e9 is described below
commit a98d00a3e990b1c834696da1b4251cab0e2b9113
Author: Dominik Riemer <do...@gmail.com>
AuthorDate: Fri Jan 23 10:15:17 2026 +0100
feat: Support deletion in typescript dataset api (#4125)
Co-authored-by: Philipp Zehnder <te...@users.noreply.github.com>
---
.../streampipes/rest/impl/datalake/DataLakeResource.java | 10 +++++-----
.../src/lib/apis/datalake-rest.service.ts | 14 ++++++++++++++
2 files changed, 19 insertions(+), 5 deletions(-)
diff --git a/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/datalake/DataLakeResource.java b/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/datalake/DataLakeResource.java
index 5332a92bbb..51d2ea14be 100644
--- a/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/datalake/DataLakeResource.java
+++ b/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/datalake/DataLakeResource.java
@@ -106,20 +106,20 @@ public class DataLakeResource extends AbstractDataLakeResource {
this.dataExplorerQueryManagement = dataExplorerQueryManagement;
}
- @DeleteMapping(path = "/measurements/{measurementID}")
- @PreAuthorize("this.hasWriteAuthority() and this.checkPermissionByName(#measurementID, 'WRITE')")
+ @DeleteMapping(path = "/measurements/{measurementName}")
+ @PreAuthorize("this.hasWriteAuthority() and this.checkPermissionByName(#measurementName, 'WRITE')")
@Operation(summary = "Remove data from a single measurement series with given id", tags = {
"Data Lake" }, responses = {
@ApiResponse(responseCode = "200", description = "Data from measurement series successfully removed"),
@ApiResponse(responseCode = "400", description = "Measurement series with given id not found") })
public ResponseEntity<?> deleteData(
- @Parameter(in = ParameterIn.PATH, description = "the id of the measurement series", required = true) @PathVariable("measurementID") String measurementID,
+ @Parameter(in = ParameterIn.PATH, description = "the name of the measurement series", required = true) @PathVariable("measurementName") String measurementName,
@Parameter(in = ParameterIn.QUERY, description = "start date for slicing operation") @RequestParam(value = "startDate", required = false) Long startDate,
@Parameter(in = ParameterIn.QUERY, description = "end date for slicing operation") @RequestParam(value = "endDate", required = false) Long endDate) {
- if (this.dataExplorerQueryManagement.deleteData(measurementID, startDate, endDate)) {
+ if (this.dataExplorerQueryManagement.deleteData(measurementName, startDate, endDate)) {
return ok(Notifications
- .success("Successfully deleted measure " + measurementID + " between " + startDate + " and " + endDate));
+ .success("Successfully deleted measure " + measurementName + " between " + startDate + " and " + endDate));
} else {
return ResponseEntity
.status(HttpStatus.NOT_FOUND)
diff --git a/ui/projects/streampipes/platform-services/src/lib/apis/datalake-rest.service.ts b/ui/projects/streampipes/platform-services/src/lib/apis/datalake-rest.service.ts
index 0b89eecce9..c7f8aeec7a 100644
--- a/ui/projects/streampipes/platform-services/src/lib/apis/datalake-rest.service.ts
+++ b/ui/projects/streampipes/platform-services/src/lib/apis/datalake-rest.service.ts
@@ -174,6 +174,20 @@ export class DatalakeRestService {
return this.http.request(request);
}
+ deleteData(
+ measurementName: string,
+ startTime: number,
+ endTime: number,
+ ): Observable<void> {
+ const params = new HttpParams()
+ .set('startDate', startTime.toString())
+ .set('endDate', endTime.toString());
+ return this.http.delete<void>(
+ `${this.dataLakeUrl}/measurements/${measurementName}`,
+ { params },
+ );
+ }
+
deleteCleanup(index: string) {
const url = `${this.dataLakeUrl}/${index}/cleanup`;
return this.http.delete(url);