Here repository is the bridge to get data from Database. It has no other data source. So if you want to use data cache what will you do? In that case, it will be better if repository may have two data sources. One is local data store and another is cloud data store or you can use a data store factory to create a data source for the repository. I am telling that because it is a standard boilerplate. If you add that then it will help others in that scenario.
I want to know your opinion.