Exemple #1
0
// 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
}