This commit is contained in:
2021-12-22 20:21:24 +01:00
parent a24d39d657
commit a8bd48e09f
17 changed files with 344 additions and 31 deletions

View File

@@ -29,13 +29,14 @@ func (dr *requestDownloadRequest) Bind(r *http.Request) error {
}
func (a *api) requestDownload(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
data := &requestDownloadRequest{}
if err := render.Bind(r, data); err != nil {
_ = render.Render(w, r, responses.ErrInvalidRequest(err))
return
}
download, err := a.drService.Schedule(data.Link)
download, err := a.drService.Schedule(ctx, data.Link)
if err != nil {
_ = render.Render(w, r, responses.ErrInvalidRequest(err))
return
@@ -46,8 +47,9 @@ func (a *api) requestDownload(w http.ResponseWriter, r *http.Request) {
}
func (a *api) getDownloads(writer http.ResponseWriter, request *http.Request) {
ctx := request.Context()
active := request.URL.Query().Get("active") == "true"
downloads, err := a.drService.GetAll(active)
downloads, err := a.drService.GetAll(ctx, active)
if err != nil {
_ = render.Render(writer, request, responses.ErrInvalidRequest(err))
return
@@ -61,9 +63,10 @@ func (a *api) getDownloads(writer http.ResponseWriter, request *http.Request) {
}
func (a *api) getDownloadById(w http.ResponseWriter, r *http.Request) {
downloadId := r.Context().Value("downloadId").(string)
ctx := r.Context()
downloadId := ctx.Value("downloadId").(string)
download, err := a.drService.Get(downloadId)
download, err := a.drService.Get(ctx, downloadId)
if err != nil {
_ = render.Render(w, r, responses.ErrNotFound())
return
@@ -80,9 +83,14 @@ func newRequestDownloadResponse(download *entities.Download) *requestDownloadRes
}
func newDownloadsResponse(downloads []*entities.Download) []render.Renderer {
list := []render.Renderer{}
var list []render.Renderer
for _, download := range downloads {
list = append(list, newRequestDownloadResponse(download))
}
if len(list) == 0 {
return []render.Renderer{}
}
return list
}