onion repository interface