Something went wrong on our end
-
Valera Shaitorov authored
Перенесены telemetry middleware и Storage интерфейсы сервисов. Перенесены пропущенные Observers и моки
02cdc6cf
storage.go 1.51 KiB
package files
import "context"
type Storage interface {
// StartUpload - инициирует процедуру загрузки файла в файловое хранилище.
// Используется клиентским приложением для начала загрузки файла
StartUpload(ctx context.Context, upload *MultipartUpload) (*MultipartUpload, error)
// CompleteUpload - завершает процедуру загрузки файла
CompleteUpload(ctx context.Context, upload *MultipartUpload) (*MultipartUpload, error)
// AbortUpload - прерывает процедуру загрузки файла, все загруженные части файла удаляются из хранилища
AbortUpload(ctx context.Context, upload *MultipartUpload) error
// Move - перемещает файл с ключом src.Key по новому пути dst.Key
Move(ctx context.Context, src, dst *File) (*File, error)
// Upload - одиночная загрузка файла в хранилище
// Максимальный размер загружаемого файла - 5ГБ
Upload(ctx context.Context, file *File) (*Upload, error)
// GetFile - проверяет, существует ли файл в хранилище и
// возвращает объект 'File' с заполненным URL
GetFile(ctx context.Context, file *File) (f *File, err error)
// DeleteFile - удаляет файл по ключу
DeleteFile(ctx context.Context, file *File) error
}