// Put returns encoded id func (t *ScanHookTask) Put(rID int64, url string) (int64, error) { if url == "" || rID == 0 { return 0, errors.New("'URL' and 'RegistID' should not be empty") } var reg ScanHookRegist reg, err := reg.FindByID(rID) if err != nil { return 0, err } //TODO: add to db and get task ID var encodedCallbackID string var info snapshot.SnapshotInputInfo info.Name = reg.ScanPluginName info.CallbackID = encodedCallbackID info.DataProto = reg.Proto info.DataURL = url // Do the real scan work s, err := snapshot.NewUpdateServiceSnapshot(info) if err != nil { return 0, err } err = s.Process() if err != nil { return 0, err } return 0, nil }