diff --git a/src/Tribufu.Database/Repositories/IRepository.cs b/src/Tribufu.Database/Repositories/IRepository.cs index 97f2750..34f9b3a 100644 --- a/src/Tribufu.Database/Repositories/IRepository.cs +++ b/src/Tribufu.Database/Repositories/IRepository.cs @@ -6,7 +6,12 @@ using System.Threading.Tasks; namespace Tribufu.Database.Repositories { - public interface IRepository where T : class + public interface IRepository + { + void SeedDefaults(); + } + + public interface IRepository : IRepository where T : class { IList GetAll(); diff --git a/src/Tribufu.Database/Repositories/Repository.cs b/src/Tribufu.Database/Repositories/Repository.cs index a929382..54e38f3 100644 --- a/src/Tribufu.Database/Repositories/Repository.cs +++ b/src/Tribufu.Database/Repositories/Repository.cs @@ -21,6 +21,10 @@ namespace Tribufu.Database.Repositories _dbSet = context.Set(); } + public virtual void SeedDefaults() + { + } + public virtual IList GetAll() { return [.. _dbSet]; diff --git a/src/Tribufu.Database/Repositories/RepositorySeeder.cs b/src/Tribufu.Database/Repositories/RepositorySeeder.cs new file mode 100644 index 0000000..55f8ce2 --- /dev/null +++ b/src/Tribufu.Database/Repositories/RepositorySeeder.cs @@ -0,0 +1,25 @@ +// Copyright (c) Tribufu. All Rights Reserved. +// SPDX-License-Identifier: MIT + +using System.Collections.Generic; + +namespace Tribufu.Database.Repositories +{ + public class RepositorySeeder + { + private readonly IEnumerable _repositories; + + public RepositorySeeder(IEnumerable repositories) + { + _repositories = repositories; + } + + public void Run() + { + foreach (var repo in _repositories) + { + repo.SeedDefaults(); + } + } + } +}