26 lines
492 B
Go
26 lines
492 B
Go
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)
|
|
}
|