github.com/qiniu/go-sdk/v7@v7.27.0/storagev2/apis/get_async_fetch_task/api.go (about)

     1  // THIS FILE IS GENERATED BY api-generator, DO NOT EDIT DIRECTLY!
     2  
     3  // 查询异步抓取任务
     4  package get_async_fetch_task
     5  
     6  import (
     7  	"encoding/json"
     8  
     9  	credentials "github.com/qiniu/go-sdk/v7/storagev2/credentials"
    10  	errors "github.com/qiniu/go-sdk/v7/storagev2/errors"
    11  )
    12  
    13  // 调用 API 所用的请求
    14  type Request struct {
    15  	Id          string                          // 异步任务 ID
    16  	Credentials credentials.CredentialsProvider // 鉴权参数,用于生成鉴权凭证,如果为空,则使用 HTTPClientOptions 中的 CredentialsProvider
    17  }
    18  
    19  // 获取 API 所用的响应
    20  type Response struct {
    21  	Id               string // 异步任务 ID
    22  	QueuedTasksCount int64  // 当前任务前面的排队任务数量,`0` 表示当前任务正在进行,`-1` 表示任务已经至少被处理过一次(可能会进入重试逻辑)
    23  }
    24  
    25  // 返回的异步任务信息
    26  type (
    27  	FetchTaskInfo = Response
    28  	jsonResponse  struct {
    29  		Id               string `json:"id"`   // 异步任务 ID
    30  		QueuedTasksCount int64  `json:"wait"` // 当前任务前面的排队任务数量,`0` 表示当前任务正在进行,`-1` 表示任务已经至少被处理过一次(可能会进入重试逻辑)
    31  	}
    32  )
    33  
    34  func (j *Response) MarshalJSON() ([]byte, error) {
    35  	if err := j.validate(); err != nil {
    36  		return nil, err
    37  	}
    38  	return json.Marshal(&jsonResponse{Id: j.Id, QueuedTasksCount: j.QueuedTasksCount})
    39  }
    40  
    41  func (j *Response) UnmarshalJSON(data []byte) error {
    42  	var nj jsonResponse
    43  	if err := json.Unmarshal(data, &nj); err != nil {
    44  		return err
    45  	}
    46  	j.Id = nj.Id
    47  	j.QueuedTasksCount = nj.QueuedTasksCount
    48  	return nil
    49  }
    50  
    51  func (j *Response) validate() error {
    52  	if j.Id == "" {
    53  		return errors.MissingRequiredFieldError{Name: "Id"}
    54  	}
    55  	if j.QueuedTasksCount == 0 {
    56  		return errors.MissingRequiredFieldError{Name: "QueuedTasksCount"}
    57  	}
    58  	return nil
    59  }