package entities import ( "downloader/pkg/common/uuid" "errors" ) type Download struct { ID string `json:"id"` Status string `json:"status"` Link string `json:"link"` } func NewDownload(link string) func(uuidGen uuid.Gen) (*Download, error) { return func(uuidGen uuid.Gen) (*Download, error) { if link == "" { return nil, errors.New("A field was not valid") } return &Download{ ID: uuidGen.Create(), Status: "scheduled", Link: link, }, nil } }