Refactored downloader
This commit is contained in:
@@ -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)
|
||||
}
|
Reference in New Issue
Block a user