Documentation ¶
Index ¶
- type AddFileMsg
- type FileInfo
- type IntHeap
- type MultipartOpts
- type UpdateStatusMsg
- type UploadManager
- func (um *UploadManager) AddErr(path string, err error)
- func (um *UploadManager) FMultipartPutObject(ctx context.Context, bucket string, key string, filePath string, ...) (err error)
- func (um *UploadManager) FPutObject(absPath string, bucket string, key string, userTags map[string]string)
- func (um *UploadManager) Wait()
- type UploadStatusEnum
- type UploadStatusMonitor
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AddFileMsg ¶
type AddFileMsg struct {
Name string
}
AddFileMsg is a message that is used to add a file to the upload status monitor
func (*AddFileMsg) UpdateStatus ¶
func (msg *AddFileMsg) UpdateStatus(m *UploadStatusMonitor)
type MultipartOpts ¶ added in v1.1.0
func (*MultipartOpts) Valid ¶ added in v1.1.0
func (opt *MultipartOpts) Valid() error
type UpdateStatusMsg ¶
type UpdateStatusMsg struct { Name string Total int64 Uploaded int64 Status UploadStatusEnum }
func (*UpdateStatusMsg) UpdateStatus ¶
func (msg *UpdateStatusMsg) UpdateStatus(m *UploadStatusMonitor)
type UploadManager ¶
type UploadManager struct { StatusMonitor *tea.Program FileInfos map[string]FileInfo Errs map[string]error sync.WaitGroup // contains filtered or unexported fields }
UploadManager is a manager for uploading files through minio client. Note that it's user's responsibility to check the Errs field after Wait() to see if there's any error.
func NewUploadManager ¶
func NewUploadManager(client *minio.Client, opts *MultipartOpts) (*UploadManager, error)
func (*UploadManager) AddErr ¶
func (um *UploadManager) AddErr(path string, err error)
AddErr adds an error to the manager.
func (*UploadManager) FMultipartPutObject ¶
func (*UploadManager) FPutObject ¶
func (um *UploadManager) FPutObject(absPath string, bucket string, key string, userTags map[string]string)
FPutObject uploads a file to a bucket with a key and sha256. If the file size is larger than minPartSize, it will use multipart upload.
func (*UploadManager) Wait ¶
func (um *UploadManager) Wait()
Wait waits for all uploads to finish. And wait for status monitor to finish.
type UploadStatusEnum ¶
type UploadStatusEnum int
UploadStatusEnum is used to keep track of the state of a file upload
const ( // Unprocessed is used to indicate that the file has not been processed yet Unprocessed UploadStatusEnum = iota // PreviouslyUploaded is used to indicate that the file has been uploaded before PreviouslyUploaded // UploadInProgress is used to indicate that the file upload is in progress UploadInProgress // UploadCompleted is used to indicate that the file upload has completed UploadCompleted // MultipartCompletionInProgress is used to indicate that the multipart upload completion is in progress MultipartCompletionInProgress // UploadFailed is used to indicate that the file upload has failed UploadFailed )
type UploadStatusMonitor ¶
type UploadStatusMonitor struct { EscapeExit bool // contains filtered or unexported fields }
UploadStatusMonitor is a bubbletea model that is used to monitor the progress of file uploads
func NewUploadStatusMonitor ¶
func NewUploadStatusMonitor(startSignal *sync.WaitGroup) *UploadStatusMonitor
func (*UploadStatusMonitor) Init ¶
func (m *UploadStatusMonitor) Init() tea.Cmd
func (*UploadStatusMonitor) View ¶
func (m *UploadStatusMonitor) View() string