diff --git a/src/FilterLists.Agent/ListArchiver/CaptureLists.cs b/src/FilterLists.Agent/ListArchiver/CaptureLists.cs index 12addd663..df952bfae 100644 --- a/src/FilterLists.Agent/ListArchiver/CaptureLists.cs +++ b/src/FilterLists.Agent/ListArchiver/CaptureLists.cs @@ -18,6 +18,7 @@ public class Command : IRequest public class Handler : AsyncRequestHandler { + private const string GitRepoDirectory = @"archives"; private readonly IFilterListsApiClient _apiClient; private readonly IMediator _mediator; @@ -29,19 +30,9 @@ public Handler(IFilterListsApiClient apiClient, IMediator mediator) protected override async Task Handle(Command request, CancellationToken cancellationToken) { - const string workingDirectoryPath = @"archives"; - var lists = await GetListInfo(); await _mediator.Send(new DownloadLists.Command(lists), cancellationToken); - - - using (var repo = new Repository(workingDirectoryPath)) - { - Commands.Stage(repo, "*"); - var author = new Signature("James", "@jugglingnutcase", DateTime.UtcNow); - var committer = author; - var commit = repo.Commit("Here's a commit i made!", author, committer); - } + CommitDownloadedLists(); } private async Task> GetListInfo() @@ -49,6 +40,19 @@ private async Task> GetListInfo() var listsRequest = new RestRequest("lists"); return await _apiClient.ExecuteAsync>(listsRequest); } + + private static void CommitDownloadedLists() + { + if (!Repository.IsValid(GitRepoDirectory)) + Repository.Init(GitRepoDirectory); + using (var repo = new Repository(GitRepoDirectory)) + { + Commands.Stage(repo, "*"); + var utcNow = DateTime.UtcNow; + var signature = new Signature("FilterLists.Agent", "@filterlists.com", utcNow); + repo.Commit(utcNow.ToShortDateString() + " FilterLists archive by FilterLists.Agent", signature, signature); + } + } } } } \ No newline at end of file