diff --git a/src/FilterLists.Api/V1/Controllers/BaseController.cs b/src/FilterLists.Api/V1/Controllers/BaseController.cs index e7ef5dfca..65d6c724b 100644 --- a/src/FilterLists.Api/V1/Controllers/BaseController.cs +++ b/src/FilterLists.Api/V1/Controllers/BaseController.cs @@ -1,7 +1,4 @@ -using System; -using FilterLists.Services.Models; -using FilterLists.Services.Services; -using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Caching.Memory; namespace FilterLists.Api.V1.Controllers @@ -12,24 +9,10 @@ namespace FilterLists.Api.V1.Controllers public class BaseController : Controller { protected readonly IMemoryCache MemoryCache; - protected readonly SeedService SeedService; - public BaseController(IMemoryCache memoryCache, SeedService seedService) + protected BaseController(IMemoryCache memoryCache) { MemoryCache = memoryCache; - SeedService = seedService; - } - - [HttpGet] - public IActionResult Seed() - { - var controllerName = ControllerContext.RouteData.Values["controller"].ToString(); - return MemoryCache.GetOrCreate(CacheKeys.Entry, entry => - { - entry.AbsoluteExpirationRelativeToNow = TimeSpan.FromSeconds(86400); - //TODO: GetAll() by seed type of request controller - return Json(SeedService.GetAll()); - }); } } } \ No newline at end of file diff --git a/src/FilterLists.Api/V1/Controllers/EntityController.cs b/src/FilterLists.Api/V1/Controllers/EntityController.cs new file mode 100644 index 000000000..d4e9871ce --- /dev/null +++ b/src/FilterLists.Api/V1/Controllers/EntityController.cs @@ -0,0 +1,30 @@ +using System; +using FilterLists.Services.Models; +using FilterLists.Services.Services; +using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Caching.Memory; + +namespace FilterLists.Api.V1.Controllers +{ + public class EntityController : BaseController + { + protected readonly SeedService SeedService; + + protected EntityController(IMemoryCache memoryCache, SeedService seedService) : base(memoryCache) + { + SeedService = seedService; + } + + [HttpGet] + public IActionResult Seed() + { + var controllerName = ControllerContext.RouteData.Values["controller"].ToString(); + return MemoryCache.GetOrCreate(CacheKeys.Entry, entry => + { + entry.AbsoluteExpirationRelativeToNow = TimeSpan.FromSeconds(86400); + //TODO: GetAll() by seed type of request controller + return Json(SeedService.GetAll()); + }); + } + } +} \ No newline at end of file diff --git a/src/FilterLists.Api/V1/Controllers/ListsController.cs b/src/FilterLists.Api/V1/Controllers/ListsController.cs index 0f2141065..de9bc34e0 100644 --- a/src/FilterLists.Api/V1/Controllers/ListsController.cs +++ b/src/FilterLists.Api/V1/Controllers/ListsController.cs @@ -5,7 +5,7 @@ namespace FilterLists.Api.V1.Controllers { - public class ListsController : BaseController + public class ListsController : EntityController { private readonly FilterListService filterListService;