github.com/qri-io/qri@v0.10.1-0.20220104210721-c771715036cb/event/dataset.go (about)

     1  package event
     2  
     3  const (
     4  	// ETDatasetNameInit occurs when a dataset is first initialized
     5  	// payload is a dsref.VersionInfo
     6  	ETDatasetNameInit = Type("dataset:Init")
     7  	// ETDatasetDeleteAll occurs when a dataset is being deleted
     8  	// payload is an `InitID`
     9  	ETDatasetDeleteAll = Type("dataset:DeleteAll")
    10  	// ETDatasetRename occurs when a dataset gets renamed
    11  	// payload is a dsref.VersionInfo
    12  	ETDatasetRename = Type("dataset:Rename")
    13  	// ETDatasetCreateLink occurs when a dataset gets linked to a working directory
    14  	// payload is a dsref.VersionInfo
    15  	ETDatasetCreateLink = Type("dataset:CreateLink")
    16  	// ETDatasetDownload indicates that a dataset has been downloaded
    17  	// payload is an `InitID` string
    18  	ETDatasetDownload = Type("dataset:Download")
    19  
    20  	// ETDatasetSaveStarted occurs when a dataset starts being saved
    21  	// this event is sent asynchronously; the publisher is not blocked
    22  	// payload will be a DsSaveEvent
    23  	ETDatasetSaveStarted = Type("dataset:SaveStarted")
    24  	// ETDatasetSaveProgress occurs whenever a dataset save makes progress
    25  	// this event is sent asynchronously; the publisher is not blocked
    26  	// payload will be a DsSaveEvent
    27  	ETDatasetSaveProgress = Type("dataset:SaveProgress")
    28  	// ETDatasetSaveCompleted occurs when a dataset save finishes
    29  	// payload will be a DsSaveEvent
    30  	ETDatasetSaveCompleted = Type("dataset:SaveCompleted")
    31  )
    32  
    33  // DsRename encapsulates fields from a dataset rename
    34  type DsRename struct {
    35  	InitID  string `json:"initID"`
    36  	OldName string `json:"oldName"`
    37  	NewName string `json:"newName"`
    38  }
    39  
    40  // DsSaveEvent represents a change in version creation progress
    41  type DsSaveEvent struct {
    42  	Username string `json:"username"`
    43  	Name     string `json:"name"`
    44  	// either message or error will be populated. message should be human-centric
    45  	// description of progress
    46  	Message string `json:"message"`
    47  	// saving error. only populated on failed ETSaveDatasetCompleted event
    48  	Error error `json:"error,omitempty"`
    49  	// completion pct from 0-1
    50  	Completion float64 `json:"complete"`
    51  	// only populated on successful ETDatasetSaveCompleted
    52  	Path string `json:"path,omitempty"`
    53  }