From d4087d3534ba463efbc60683a403f31ff09b5269 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mika=C3=ABl=20Cluseau?= Token not found
+`))
+ return
+ }
+
+ buf := new(bytes.Buffer)
+ fmt.Fprintf(buf, `
+
+
+ Token assets: %s %s
+
+`, spec.Kind, spec.Name, spec.Kind, spec.Name)
+
+ for _, asset := range spec.Assets {
+ fmt.Fprintf(buf, "
")
+ buf.WriteTo(resp)
+}
diff --git a/cmd/dkl-local-server/ws.go b/cmd/dkl-local-server/ws.go
index 87f32ca..2db59b9 100644
--- a/cmd/dkl-local-server/ws.go
+++ b/cmd/dkl-local-server/ws.go
@@ -37,6 +37,7 @@ func registerWS(rest *restful.Container) {
Route(ws.POST("/store.tar").To(wsStoreUpload).
Consumes(mime.TAR).
Doc("Upload an existing store")).
+ Route(ws.GET("/downloads/{token}/").To(wsDownloadPage)).
Route(ws.GET("/downloads/{token}/{asset}").To(wsDownload).
Param(ws.PathParameter("token", "the download token")).
Param(ws.PathParameter("asset", "the requested asset")).
diff --git a/html/ui/js/Downloads.js b/html/ui/js/Downloads.js
index 1299b72..fbaab1e 100644
--- a/html/ui/js/Downloads.js
+++ b/html/ui/js/Downloads.js
@@ -27,16 +27,15 @@ export default {
}[this.kind]
},
downloads() {
- let ret = []
- Object.entries(this.state.Downloads)
+ return Object.entries(this.state.Downloads)
.filter(e => { let d=e[1]; return d.Kind == this.kind && d.Name == this.name })
- .forEach(e => {
- let token= e[0], d = e[1]
- d.Assets.forEach(asset => {
- ret.push({name: asset, url: '/public/downloads/'+token+'/'+asset})
- })
+ .map(e => {
+ const token= e[0];
+ return {
+ text: token.substring(0, 5) + '...',
+ url: '/public/downloads/'+token+"/",
+ }
})
- return ret
},
assets() {
return this.availableAssets.filter(a => this.selectedAssets[a])
@@ -64,9 +63,9 @@ export default {
{{" "}}
{{ d.name }}{{" "}}
+{{ d.text }}{{" "}}
` }