Introduces core functionality for the Agate library, including snapshot creation, restoration, listing, and deletion. Adds examples for basic usage, gRPC proto definitions, and build/configuration files such as `go.mod` and `Makefile`. The implementation establishes the framework for store integration and placeholder server functionality.
46 lines
2.5 KiB
Go
46 lines
2.5 KiB
Go
package agate
|
||
|
||
import "errors"
|
||
|
||
// Определяем стандартные ошибки, которые могут возникать при работе со снапшотами.
|
||
// Использование стандартных переменных ошибок позволяет легко проверять тип ошибки
|
||
// с помощью errors.Is().
|
||
var (
|
||
// ErrNotFound означает, что снапшот с указанным ID не найден.
|
||
ErrNotFound = errors.New("snapshot not found")
|
||
|
||
// ErrAlreadyExists означает, что снапшот с таким ID или именем уже существует
|
||
// (если требуется уникальность имен).
|
||
ErrAlreadyExists = errors.New("snapshot already exists")
|
||
|
||
// ErrInvalidID означает, что предоставленный ID имеет неверный формат (например, не UUID).
|
||
ErrInvalidID = errors.New("invalid snapshot ID format")
|
||
|
||
// ErrParentNotFound означает, что указанный родительский снапшот (ParentID) не найден.
|
||
ErrParentNotFound = errors.New("parent snapshot not found")
|
||
|
||
// ErrSourceNotFound означает, что исходный путь (директория или файл) не найден.
|
||
ErrSourceNotFound = errors.New("source path not found")
|
||
|
||
// ErrSourceNotDirectory означает, что исходный путь не является директорией.
|
||
ErrSourceNotDirectory = errors.New("source path is not a directory")
|
||
|
||
// ErrCreateFailed общая ошибка при создании снапшота.
|
||
ErrCreateFailed = errors.New("failed to create snapshot")
|
||
|
||
// ErrDeleteFailed общая ошибка при удалении снапшота.
|
||
ErrDeleteFailed = errors.New("failed to delete snapshot")
|
||
|
||
// ErrListFailed общая ошибка при получении списка снапшотов.
|
||
ErrListFailed = errors.New("failed to list snapshots")
|
||
|
||
// ErrGetDetailsFailed общая ошибка при получении деталей снапшота.
|
||
ErrGetDetailsFailed = errors.New("failed to get snapshot details")
|
||
|
||
// ErrFileNotFound общая ошибка, если файл не найден (может использоваться внутри OpenFile).
|
||
ErrFileNotFound = errors.New("file not found within snapshot")
|
||
|
||
// ErrOperationFailed общая ошибка для неудачных операций.
|
||
ErrOperationFailed = errors.New("snapshot operation failed")
|
||
)
|