Refactored downloader

This commit is contained in:
2021-12-22 01:22:33 +01:00
parent 4b9583b08f
commit 23ca1168df
21 changed files with 544 additions and 177 deletions

View File

@@ -0,0 +1,32 @@
package handlers
import (
"downloader/internal/core/ports/download_request"
"downloader/internal/core/ports/downloadhandler"
"fmt"
"go.uber.org/zap"
)
type onDownloadEventHandler struct {
repository download_request.Repository
logger *zap.SugaredLogger
}
func New(repository download_request.Repository, logger *zap.SugaredLogger) downloadhandler.OnDownloadEventHandler {
return &onDownloadEventHandler{
repository: repository,
logger: logger,
}
}
func (o *onDownloadEventHandler) OnTickEvent(downloadId string, progress string) {
download, err := o.repository.GetById(downloadId)
if err != nil {
o.logger.Warnw("could not finish updating progress as not download id available",
"downloadId", downloadId,
"progress", progress)
return
}
download.Status = fmt.Sprintf("in-progress: %s", progress)
_ = o.repository.Update(download)
}