package domain import "errors" // Sentinel errors crossing the port boundary. Adapters translate infra errors // into these; HTTP layer maps these to status codes. var ( ErrNotFound = errors.New("not found") ErrCodeTaken = errors.New("code already taken") ErrReserved = errors.New("code is reserved") ErrInvalidURL = errors.New("invalid destination url") ErrInvalidAlias = errors.New("invalid custom alias") ErrInvalidPin = errors.New("pin must be exactly 6 digits") ErrUnauthorized = errors.New("authentication required") ErrForbidden = errors.New("not allowed") ErrPinRequired = errors.New("pin required") ErrPinInvalid = errors.New("incorrect pin") )