This commit is contained in:
2024-04-16 14:26:06 +03:00
parent bc264c4d90
commit e7c968797b
298 changed files with 11066 additions and 398 deletions

View File

@@ -4,21 +4,51 @@ import (
"context"
"encoding/json"
"net/http"
"repository.basistech.ru/BASIS/decort-golang-sdk/internal/validators"
)
// ListRequest struct to get list of audits
type ListRequest struct {
// Find by guId
// Required: false
TaskID string `url:"taskId,omitempty" json:"taskId,omitempty"`
// Find by status
// Required: false
Status string `url:"status,omitempty" json:"status,omitempty"`
// Find by completed True or False
// Default: false
// Required: false
Completed bool `url:"completed" json:"completed"`
// Sort by one of supported fields, format +|-(field)
// Required: false
SortBy string `url:"sortBy,omitempty" json:"sortBy,omitempty" validate:"omitempty,sortBy"`
// Find all tasks after point in time (unixtime)
// Required: false
UpdateTimeAt uint64 `url:"page,updateTimeAt" json:"updateTimeAt,omitempty"`
// Find all tasks before point in time (unixtime)
// Required: false
UpdateTimeTo uint64 `url:"page,updateTimeTo" json:"updateTimeTo,omitempty"`
// Page number
// Default: 0
// Required: false
Page uint64 `url:"page,omitempty" json:"page,omitempty"`
// Page size
// Default: 0
// Required: false
Size uint64 `url:"size,omitempty" json:"size,omitempty"`
}
// List gets list of user API task with status PROCESSING as a ListTasks struct
func (t Tasks) List(ctx context.Context, req ListRequest) (*ListTasks, error) {
res, err := t.ListRaw(ctx, req)
if err != nil {
return nil, err
@@ -36,6 +66,12 @@ func (t Tasks) List(ctx context.Context, req ListRequest) (*ListTasks, error) {
// ListRaw gets list of user API task with status PROCESSING as an array of bytes
func (t Tasks) ListRaw(ctx context.Context, req ListRequest) ([]byte, error) {
err := validators.ValidateRequest(req)
if err != nil {
return nil, validators.ValidationErrors(validators.GetErrors(err))
}
url := "/cloudbroker/tasks/list"
res, err := t.client.DecortApiCall(ctx, http.MethodPost, url, req)