avoid empty interface

https://stackoverflow.com/a/20189040/2343739
This commit is contained in:
Collin M. Barrett 2019-07-01 15:32:24 -05:00
parent e15f4fd1f5
commit 3ddc697ed1
8 changed files with 8 additions and 21 deletions

View file

@ -1,6 +0,0 @@
namespace FilterLists.Agent.Core.Entities
{
public interface IEntityUrls
{
}
}

View file

@ -1,12 +1,11 @@
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using FilterLists.Agent.Core.Entities;
namespace FilterLists.Agent.Core.Interfaces
{
public interface IUrlsRepository
{
Task<IEnumerable<Uri>> GetAllAsync<TEntityUrls>() where TEntityUrls : IEntityUrls, new();
Task<IEnumerable<Uri>> GetAllAsync<TEntityUrls>();
}
}

View file

@ -1,11 +1,10 @@
using System;
using FilterLists.Agent.Core.Entities;
using JetBrains.Annotations;
namespace FilterLists.Agent.Features.Urls.Models
{
[UsedImplicitly]
public class LicenseUrls : IEntityUrls
public class LicenseUrls
{
public Uri DescriptionUrl { get; set; }
}

View file

@ -1,11 +1,10 @@
using System;
using FilterLists.Agent.Core.Entities;
using JetBrains.Annotations;
namespace FilterLists.Agent.Features.Urls.Models
{
[UsedImplicitly]
public class ListUrls : IEntityUrls
public class ListUrls
{
public Uri ChatUrl { get; private set; }
public Uri DescriptionSourceUrl { get; private set; }

View file

@ -1,11 +1,10 @@
using System;
using FilterLists.Agent.Core.Entities;
using JetBrains.Annotations;
namespace FilterLists.Agent.Features.Urls.Models
{
[UsedImplicitly]
public class MaintainerUrls : IEntityUrls
public class MaintainerUrls
{
public Uri HomeUrl { get; set; }
}

View file

@ -1,11 +1,10 @@
using System;
using FilterLists.Agent.Core.Entities;
using JetBrains.Annotations;
namespace FilterLists.Agent.Features.Urls.Models
{
[UsedImplicitly]
public class SoftwareUrls : IEntityUrls
public class SoftwareUrls
{
public Uri DownloadUrl { get; set; }
public Uri HomeUrl { get; set; }

View file

@ -1,11 +1,10 @@
using System;
using FilterLists.Agent.Core.Entities;
using JetBrains.Annotations;
namespace FilterLists.Agent.Features.Urls.Models
{
[UsedImplicitly]
public class SyntaxUrls : IEntityUrls
public class SyntaxUrls
{
public Uri DefinitionUrl { get; set; }
}

View file

@ -2,7 +2,6 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using FilterLists.Agent.Core.Entities;
using FilterLists.Agent.Core.Interfaces;
using FilterLists.Agent.Features.Urls.Models;
using FilterLists.Agent.Infrastructure.Clients;
@ -19,7 +18,7 @@ public UrlsRepository(IFilterListsApiClient apiClient)
_apiClient = apiClient;
}
public async Task<IEnumerable<Uri>> GetAllAsync<TEntityUrls>() where TEntityUrls : IEntityUrls, new()
public async Task<IEnumerable<Uri>> GetAllAsync<TEntityUrls>()
{
var endpoint = BuildEndpoint<TEntityUrls>();
var request = new RestRequest(endpoint);
@ -28,7 +27,7 @@ public UrlsRepository(IFilterListsApiClient apiClient)
.Where(u => u != null);
}
private static string BuildEndpoint<TEntityUrls>() where TEntityUrls : IEntityUrls, new()
private static string BuildEndpoint<TEntityUrls>()
{
string endpointSuffix;
switch (typeof(TEntityUrls).Name)