Add in progress

This commit is contained in:
2021-12-22 02:10:01 +01:00
parent 23ca1168df
commit a24d39d657
7 changed files with 53 additions and 1 deletions

View File

@@ -45,6 +45,21 @@ func (a *api) requestDownload(w http.ResponseWriter, r *http.Request) {
_ = render.Render(w, r, newRequestDownloadResponse(download))
}
func (a *api) getDownloads(writer http.ResponseWriter, request *http.Request) {
active := request.URL.Query().Get("active") == "true"
downloads, err := a.drService.GetAll(active)
if err != nil {
_ = render.Render(writer, request, responses.ErrInvalidRequest(err))
return
}
if err = render.RenderList(writer, request, newDownloadsResponse(downloads)); err != nil {
_ = render.Render(writer, request, responses.ErrInvalidRequest(err))
return
}
}
func (a *api) getDownloadById(w http.ResponseWriter, r *http.Request) {
downloadId := r.Context().Value("downloadId").(string)
@@ -63,3 +78,11 @@ func (a *api) getDownloadById(w http.ResponseWriter, r *http.Request) {
func newRequestDownloadResponse(download *entities.Download) *requestDownloadResponse {
return &requestDownloadResponse{Download: download}
}
func newDownloadsResponse(downloads []*entities.Download) []render.Renderer {
list := []render.Renderer{}
for _, download := range downloads {
list = append(list, newRequestDownloadResponse(download))
}
return list
}

View File

@@ -16,6 +16,7 @@ func New(service download.Service) *api {
func (a *api) SetupDownloadApi(router *chi.Mux) {
router.Route("/downloads", func(r chi.Router) {
r.Post("/", a.requestDownload)
r.Get("/", a.getDownloads)
r.Route("/{downloadId}", func(r chi.Router) {
r.Use(Context)
r.Get("/", a.getDownloadById)