This PR adds a uid to the download struct which can be used to uniquely identify and retrieve a download within the download history. It also adds an endpoint for retrieving a single download by its UID.
What I'm not sure about yet is how to provide the user with a UID when a download is initialized. It's easy for async downloads but blocking downloads and streams can't easily return the UID.
We might also want to find a more efficient way to retrieve a specific download info than looping over the whole history every time. Maybe a DownloadHistory wrapper struct with methods like Add, Delete, View etc. would be sufficient that combines a map and slice and keeps them synced.
This PR adds a uid to the download struct which can be used to uniquely identify and retrieve a download within the download history. It also adds an endpoint for retrieving a single download by its UID. What I'm not sure about yet is how to provide the user with a UID when a download is initialized. It's easy for async downloads but blocking downloads and streams can't easily return the UID.
We might also want to find a more efficient way to retrieve a specific download info than looping over the whole history every time. Maybe a
DownloadHistory
wrapper struct with methods likeAdd
,Delete
,View
etc. would be sufficient that combines a map and slice and keeps them synced.Resolves #3146