diff --git a/src/FilterLists.Services/Snapshot/Snapshot.cs b/src/FilterLists.Services/Snapshot/Snapshot.cs index e710a756b..f4123a524 100644 --- a/src/FilterLists.Services/Snapshot/Snapshot.cs +++ b/src/FilterLists.Services/Snapshot/Snapshot.cs @@ -42,6 +42,8 @@ public Snapshot(FilterListsDbContext dbContext, EmailService emailService, Filte public async Task TrySaveAsync() { await AddSnapEntity(); + if (!IsViewUrlValid()) + return; try { await SaveAsync(); @@ -57,6 +59,10 @@ private async Task AddSnapEntity() dbContext.Snapshots.Add(snapEntity); await dbContext.SaveChangesAsync(); } + + private bool IsViewUrlValid() => + Uri.TryCreate(list.ViewUrl, UriKind.Absolute, out var uriResult) && + (uriResult.Scheme == Uri.UriSchemeHttp || uriResult.Scheme == Uri.UriSchemeHttps); private async Task SaveAsync() {