Skip to content

Commit f62a7d7

Browse files
committed
Copy zarr routes for dataset id usage
1 parent bdc75cc commit f62a7d7

File tree

7 files changed

+560
-5
lines changed

7 files changed

+560
-5
lines changed

app/models/annotation/AnnotationService.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -798,6 +798,7 @@ class AnnotationService @Inject()(
798798
id = annotation.id,
799799
annotationLayers = annotation.annotationLayers,
800800
datasetDirectoryName = dataset.directoryName,
801+
datasetId = dataset._id,
801802
organizationId = organization._id,
802803
dataStoreUrl = dataStore.publicUrl,
803804
tracingStoreUrl = tracingStore.publicUrl,

frontend/javascripts/admin/rest_api.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1415,9 +1415,8 @@ export async function getHistogramForLayer(
14151415
): Promise<APIHistogramData> {
14161416
return doWithToken((token) =>
14171417
Request.receiveJSON(
1418-
`${datastoreUrl}/data/wkDatasets/683d9643f600008d0e26a0a3/layers/${layerName}/histogram?token=${token}`,
1419-
{ showErrorToast: false },
1420-
),
1418+
`${datastoreUrl}/data/datasets/${dataSourceId.owningOrganization}/${dataSourceId.directoryName}/layers/${layerName}/histogram?token=${token}`, { showErrorToast: false },
1419+
),
14211420
);
14221421
}
14231422

frontend/javascripts/viewer/model/bucket_data_handling/wkstore_adapter.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ export async function requestWithFallback(
103103
const tracingStoreHost = state.annotation.tracingStore.url;
104104

105105
const getDataStoreUrl = (optLayerName?: string) =>
106-
`${dataStoreHost}/data/wkDatasets/683d9643f600008d0e26a0a3/layers/${
106+
`${dataStoreHost}/data/datasets/${organization}/${datasetDirectoryName}/layers/${
107107
optLayerName || layerInfo.name
108108
}`;
109109

webknossos-datastore/app/com/scalableminds/webknossos/datastore/controllers/WKZarrStreamingController.scala

Lines changed: 529 additions & 0 deletions
Large diffs are not rendered by default.

webknossos-datastore/app/com/scalableminds/webknossos/datastore/models/annotation/AnnotationSource.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
package com.scalableminds.webknossos.datastore.models.annotation
22

3+
import com.scalableminds.util.objectid.ObjectId
34
import play.api.libs.json.{Json, OFormat}
45

56
case class AnnotationSource(id: String,
67
annotationLayers: List[AnnotationLayer],
78
datasetDirectoryName: String,
9+
datasetId: ObjectId,
810
organizationId: String,
911
dataStoreUrl: String,
1012
tracingStoreUrl: String,

webknossos-datastore/app/com/scalableminds/webknossos/datastore/services/DatasetCache.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class DatasetCache @Inject()(remoteWebknossosClient: DSRemoteWebknossosClient,
1515
@Named("webknossos-datastore") val actorSystem: ActorSystem)(implicit ec: ExecutionContext)
1616
extends FoxImplicits {
1717

18-
lazy val cache = AlfuCache[ObjectId, DataSource](
18+
lazy val cache: AlfuCache[ObjectId, DataSource] = AlfuCache[ObjectId, DataSource](
1919
timeToLive = 1 day // Cache for a longer time, since we invalidate the cache manually
2020
)
2121

webknossos-datastore/conf/com.scalableminds.webknossos.datastore.routes

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,19 @@ GET /zarr/:organizationId/:datasetDirectoryName/:dataLayerName/:mag/
3636
GET /zarr/:organizationId/:datasetDirectoryName/:dataLayerName/:mag/.zarray @com.scalableminds.webknossos.datastore.controllers.ZarrStreamingController.requestZArray(organizationId: String, datasetDirectoryName: String, dataLayerName: String, mag: String)
3737
GET /zarr/:organizationId/:datasetDirectoryName/:dataLayerName/:mag/:coordinates @com.scalableminds.webknossos.datastore.controllers.ZarrStreamingController.requestRawZarrCube(organizationId: String, datasetDirectoryName: String, dataLayerName: String, mag: String, coordinates: String)
3838

39+
GET /wkZarr/:datasetId @com.scalableminds.webknossos.datastore.controllers.WKZarrStreamingController.requestDataSourceDirectoryContents(datasetId: String, zarrVersion: Int = 2)
40+
GET /wkZarr/:datasetId/ @com.scalableminds.webknossos.datastore.controllers.WKZarrStreamingController.requestDataSourceDirectoryContents(datasetId: String, zarrVersion: Int = 2)
41+
GET /wkZarr/:datasetId/.zgroup @com.scalableminds.webknossos.datastore.controllers.WKZarrStreamingController.requestZGroup(datasetId: String, dataLayerName="")
42+
GET /wkZarr/:datasetId/datasource-properties.json @com.scalableminds.webknossos.datastore.controllers.WKZarrStreamingController.requestDataSource(datasetId: String, zarrVersion: Int = 2)
43+
GET /wkZarr/:datasetId/:dataLayerName @com.scalableminds.webknossos.datastore.controllers.WKZarrStreamingController.requestDataLayerDirectoryContents(datasetId: String, dataLayerName: String, zarrVersion: Int = 2)
44+
GET /wkZarr/:datasetId/:dataLayerName/ @com.scalableminds.webknossos.datastore.controllers.WKZarrStreamingController.requestDataLayerDirectoryContents(datasetId: String, dataLayerName: String, zarrVersion: Int = 2)
45+
GET /wkZarr/:datasetId/:dataLayerName/.zattrs @com.scalableminds.webknossos.datastore.controllers.WKZarrStreamingController.requestZAttrs(datasetId: String, dataLayerName: String)
46+
GET /wkZarr/:datasetId/:dataLayerName/.zgroup @com.scalableminds.webknossos.datastore.controllers.WKZarrStreamingController.requestZGroup(datasetId: String, dataLayerName: String)
47+
GET /wkZarr/:datasetId/:dataLayerName/:mag @com.scalableminds.webknossos.datastore.controllers.WKZarrStreamingController.requestDataLayerMagDirectoryContents(datasetId: String, dataLayerName: String, mag: String, zarrVersion: Int = 2)
48+
GET /wkZarr/:datasetId/:dataLayerName/:mag/ @com.scalableminds.webknossos.datastore.controllers.WKZarrStreamingController.requestDataLayerMagDirectoryContents(datasetId: String, dataLayerName: String, mag: String, zarrVersion: Int = 2)
49+
GET /wkZarr/:datasetId/:dataLayerName/:mag/.zarray @com.scalableminds.webknossos.datastore.controllers.WKZarrStreamingController.requestZArray(datasetId: String, dataLayerName: String, mag: String)
50+
GET /wkZarr/:datasetId/:dataLayerName/:mag/:coordinates @com.scalableminds.webknossos.datastore.controllers.WKZarrStreamingController.requestRawZarrCube(datasetId: String, dataLayerName: String, mag: String, coordinates: String)
51+
3952
GET /annotations/zarr/:accessTokenOrId @com.scalableminds.webknossos.datastore.controllers.ZarrStreamingController.dataSourceDirectoryContentsPrivateLink(accessTokenOrId: String, zarrVersion: Int = 2)
4053
GET /annotations/zarr/:accessTokenOrId/ @com.scalableminds.webknossos.datastore.controllers.ZarrStreamingController.dataSourceDirectoryContentsPrivateLink(accessTokenOrId: String, zarrVersion: Int = 2)
4154
GET /annotations/zarr/:accessTokenOrId/.zgroup @com.scalableminds.webknossos.datastore.controllers.ZarrStreamingController.zGroupPrivateLink(accessTokenOrId: String, dataLayerName="")
@@ -61,6 +74,17 @@ GET /zarr3_experimental/:organizationId/:datasetDirectoryName/:dataLay
6174
GET /zarr3_experimental/:organizationId/:datasetDirectoryName/:dataLayerName/:mag/zarr.json @com.scalableminds.webknossos.datastore.controllers.ZarrStreamingController.requestZarrJsonForMag(organizationId: String, datasetDirectoryName: String, dataLayerName: String, mag: String)
6275
GET /zarr3_experimental/:organizationId/:datasetDirectoryName/:dataLayerName/:mag/:coordinates @com.scalableminds.webknossos.datastore.controllers.ZarrStreamingController.requestRawZarrCube(organizationId: String, datasetDirectoryName: String, dataLayerName: String, mag: String, coordinates: String)
6376

77+
GET /zarr3_experimental_wk/:datasetId @com.scalableminds.webknossos.datastore.controllers.WKZarrStreamingController.requestDataSourceDirectoryContents(datasetId: String, zarrVersion: Int = 3)
78+
GET /zarr3_experimental_wk/:datasetId/ @com.scalableminds.webknossos.datastore.controllers.WKZarrStreamingController.requestDataSourceDirectoryContents(datasetId: String, zarrVersion: Int = 3)
79+
GET /zarr3_experimental_wk/:datasetId/datasource-properties.json @com.scalableminds.webknossos.datastore.controllers.WKZarrStreamingController.requestDataSource(datasetId: String, zarrVersion: Int = 3)
80+
GET /zarr3_experimental_wk/:datasetId/:dataLayerName @com.scalableminds.webknossos.datastore.controllers.WKZarrStreamingController.requestDataLayerDirectoryContents(datasetId: String, dataLayerName: String, zarrVersion: Int = 3)
81+
GET /zarr3_experimental_wk/:datasetId/:dataLayerName/ @com.scalableminds.webknossos.datastore.controllers.WKZarrStreamingController.requestDataLayerDirectoryContents(datasetId: String, dataLayerName: String, zarrVersion: Int = 3)
82+
GET /zarr3_experimental_wk/:datasetId/:dataLayerName/zarr.json @com.scalableminds.webknossos.datastore.controllers.WKZarrStreamingController.requestZarrJson(datasetId: String, dataLayerName: String)
83+
GET /zarr3_experimental_wk/:datasetId/:dataLayerName/:mag @com.scalableminds.webknossos.datastore.controllers.WKZarrStreamingController.requestDataLayerMagDirectoryContents(datasetId: String, dataLayerName: String, mag: String, zarrVersion: Int = 3)
84+
GET /zarr3_experimental_wk/:datasetId/:dataLayerName/:mag/ @com.scalableminds.webknossos.datastore.controllers.WKZarrStreamingController.requestDataLayerMagDirectoryContents(datasetId: String, dataLayerName: String, mag: String, zarrVersion: Int = 3)
85+
GET /zarr3_experimental_wk/:datasetId/:dataLayerName/:mag/zarr.json @com.scalableminds.webknossos.datastore.controllers.WKZarrStreamingController.requestZarrJsonForMag(datasetId: String, dataLayerName: String, mag: String)
86+
GET /zarr3_experimental_wk/:datasetId/:dataLayerName/:mag/:coordinates @com.scalableminds.webknossos.datastore.controllers.WKZarrStreamingController.requestRawZarrCube(datasetId: String, dataLayerName: String, mag: String, coordinates: String)
87+
6488
GET /annotations/zarr3_experimental/:accessTokenOrId @com.scalableminds.webknossos.datastore.controllers.ZarrStreamingController.dataSourceDirectoryContentsPrivateLink(accessTokenOrId: String, zarrVersion: Int = 3)
6589
GET /annotations/zarr3_experimental/:accessTokenOrId/ @com.scalableminds.webknossos.datastore.controllers.ZarrStreamingController.dataSourceDirectoryContentsPrivateLink(accessTokenOrId: String, zarrVersion: Int = 3)
6690
GET /annotations/zarr3_experimental/:accessTokenOrId/datasource-properties.json @com.scalableminds.webknossos.datastore.controllers.ZarrStreamingController.dataSourceWithAnnotationPrivateLink(accessTokenOrId: String, zarrVersion: Int = 3)

0 commit comments

Comments
 (0)