package storage

import "errors"

var (
	// ErrNotFound is returned when an object doesn't exist.
	ErrNotFound = errors.New("storage: object not found")

	// ErrAlreadyExists is returned when an object already exists
	// and overwrite is not permitted.
	ErrAlreadyExists = errors.New("storage: object already exists")

	// ErrAccessDenied is returned when the operation is not permitted.
	ErrAccessDenied = errors.New("storage: access denied")

	// ErrInvalidID is returned when an object ID is malformed.
	ErrInvalidID = errors.New("storage: invalid object ID")

	// ErrProviderNotFound is returned when a storage provider is not registered.
	ErrProviderNotFound = errors.New("storage: provider not found")

	// ErrConnectionFailed is returned when the storage backend is unreachable.
	ErrConnectionFailed = errors.New("storage: connection failed")

	// ErrQuotaExceeded is returned when storage limits are reached.
	ErrQuotaExceeded = errors.New("storage: quota exceeded")

	// ErrChecksumMismatch is returned when data integrity verification fails.
	ErrChecksumMismatch = errors.New("storage: checksum mismatch")

	// ErrTimeout is returned when an operation exceeds its deadline.
	ErrTimeout = errors.New("storage: operation timeout")
)
