Previously I use type AnyError = Box<dyn Error + Send + Sync>, but since AnyError does not implement Error, AnyError cannot be converted to AnyError(ref). Here I choose Anyhow as generic error representation.
Some Service implemetations use AnyError as its returned Error type. When user want to get precise error, it becomes difficult, no matter AnyError is Box dyn or Anyhow. The best way it to define its error as enum and return it. I changed some Services' error in this PR.
type AnyError = Box<dyn Error + Send + Sync>
, but since AnyError does not implement Error, AnyError cannot be converted to AnyError(ref). Here I choose Anyhow as generic error representation.