github.com/Files-com/files-sdk-go/v2@v2.1.2/automationrun.go (about)

     1  package files_sdk
     2  
     3  import (
     4  	"encoding/json"
     5  	"time"
     6  
     7  	lib "github.com/Files-com/files-sdk-go/v2/lib"
     8  )
     9  
    10  type AutomationRun struct {
    11  	Id                int64      `json:"id,omitempty" path:"id,omitempty" url:"id,omitempty"`
    12  	AutomationId      int64      `json:"automation_id,omitempty" path:"automation_id,omitempty" url:"automation_id,omitempty"`
    13  	CompletedAt       *time.Time `json:"completed_at,omitempty" path:"completed_at,omitempty" url:"completed_at,omitempty"`
    14  	CreatedAt         *time.Time `json:"created_at,omitempty" path:"created_at,omitempty" url:"created_at,omitempty"`
    15  	Status            string     `json:"status,omitempty" path:"status,omitempty" url:"status,omitempty"`
    16  	StatusMessagesUrl string     `json:"status_messages_url,omitempty" path:"status_messages_url,omitempty" url:"status_messages_url,omitempty"`
    17  }
    18  
    19  func (a AutomationRun) Identifier() interface{} {
    20  	return a.Id
    21  }
    22  
    23  type AutomationRunCollection []AutomationRun
    24  
    25  type AutomationRunListParams struct {
    26  	UserId       int64                  `url:"user_id,omitempty" required:"false" json:"user_id,omitempty" path:"user_id"`
    27  	SortBy       map[string]interface{} `url:"sort_by,omitempty" required:"false" json:"sort_by,omitempty" path:"sort_by"`
    28  	Filter       AutomationRun          `url:"filter,omitempty" required:"false" json:"filter,omitempty" path:"filter"`
    29  	AutomationId int64                  `url:"automation_id,omitempty" required:"true" json:"automation_id,omitempty" path:"automation_id"`
    30  	ListParams
    31  }
    32  
    33  type AutomationRunFindParams struct {
    34  	Id int64 `url:"-,omitempty" required:"false" json:"-,omitempty" path:"id"`
    35  }
    36  
    37  func (a *AutomationRun) UnmarshalJSON(data []byte) error {
    38  	type automationRun AutomationRun
    39  	var v automationRun
    40  	if err := json.Unmarshal(data, &v); err != nil {
    41  		return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, map[string]interface{}{})
    42  	}
    43  
    44  	*a = AutomationRun(v)
    45  	return nil
    46  }
    47  
    48  func (a *AutomationRunCollection) UnmarshalJSON(data []byte) error {
    49  	type automationRuns AutomationRunCollection
    50  	var v automationRuns
    51  	if err := json.Unmarshal(data, &v); err != nil {
    52  		return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, []map[string]interface{}{})
    53  	}
    54  
    55  	*a = AutomationRunCollection(v)
    56  	return nil
    57  }
    58  
    59  func (a *AutomationRunCollection) ToSlice() *[]interface{} {
    60  	ret := make([]interface{}, len(*a))
    61  	for i, v := range *a {
    62  		ret[i] = v
    63  	}
    64  
    65  	return &ret
    66  }