Chore: project init
This commit is contained in:
25
internal/download/service.go
Normal file
25
internal/download/service.go
Normal file
@@ -0,0 +1,25 @@
|
||||
package download
|
||||
|
||||
type Service struct {
|
||||
repo *Repository
|
||||
}
|
||||
|
||||
func NewService(repo *Repository) *Service {
|
||||
return &Service{repo: repo}
|
||||
}
|
||||
|
||||
func (s *Service) GetInfo() (*Info, error) {
|
||||
return s.repo.GetLatest()
|
||||
}
|
||||
|
||||
func (s *Service) Upsert(url, version, fileName, fileSize string) (*Info, error) {
|
||||
info, err := s.repo.GetLatest()
|
||||
if err != nil {
|
||||
info = &Info{}
|
||||
}
|
||||
info.URL = url
|
||||
info.Version = version
|
||||
info.FileName = fileName
|
||||
info.FileSize = fileSize
|
||||
return info, s.repo.Save(info)
|
||||
}
|
||||
Reference in New Issue
Block a user