2021-02-22 23:28:24 -05:00
|
|
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Threading.Tasks;
|
2021-02-24 00:27:16 -05:00
|
|
|
|
using BirdsiteLive.Domain.Repository;
|
|
|
|
|
using BirdsiteLive.Services;
|
2021-02-22 23:28:24 -05:00
|
|
|
|
|
|
|
|
|
namespace BirdsiteLive.Controllers
|
|
|
|
|
{
|
|
|
|
|
public class AboutController : Controller
|
|
|
|
|
{
|
2021-02-24 00:27:16 -05:00
|
|
|
|
private readonly IModerationRepository _moderationRepository;
|
|
|
|
|
private readonly ICachedStatisticsService _cachedStatisticsService;
|
|
|
|
|
|
|
|
|
|
#region Ctor
|
|
|
|
|
public AboutController(IModerationRepository moderationRepository, ICachedStatisticsService cachedStatisticsService)
|
2021-02-22 23:28:24 -05:00
|
|
|
|
{
|
2021-02-24 00:27:16 -05:00
|
|
|
|
_moderationRepository = moderationRepository;
|
|
|
|
|
_cachedStatisticsService = cachedStatisticsService;
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
public async Task<IActionResult> Index()
|
|
|
|
|
{
|
|
|
|
|
var stats = await _cachedStatisticsService.GetStatisticsAsync();
|
|
|
|
|
return View(stats);
|
2021-02-22 23:28:24 -05:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public IActionResult Blacklisting()
|
|
|
|
|
{
|
2021-02-24 00:27:16 -05:00
|
|
|
|
var status = GetModerationStatus();
|
|
|
|
|
return View("Blacklisting", status);
|
2021-02-22 23:28:24 -05:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public IActionResult Whitelisting()
|
|
|
|
|
{
|
2021-02-24 00:27:16 -05:00
|
|
|
|
var status = GetModerationStatus();
|
|
|
|
|
return View("Whitelisting", status);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private ModerationStatus GetModerationStatus()
|
|
|
|
|
{
|
|
|
|
|
var status = new ModerationStatus
|
|
|
|
|
{
|
|
|
|
|
Followers = _moderationRepository.GetModerationType(ModerationEntityTypeEnum.Follower),
|
|
|
|
|
TwitterAccounts = _moderationRepository.GetModerationType(ModerationEntityTypeEnum.TwitterAccount)
|
|
|
|
|
};
|
|
|
|
|
return status;
|
2021-02-22 23:28:24 -05:00
|
|
|
|
}
|
|
|
|
|
}
|
2021-02-24 00:27:16 -05:00
|
|
|
|
|
|
|
|
|
public class ModerationStatus
|
|
|
|
|
{
|
|
|
|
|
public ModerationTypeEnum Followers { get; set; }
|
|
|
|
|
public ModerationTypeEnum TwitterAccounts { get; set; }
|
|
|
|
|
}
|
2021-02-22 23:28:24 -05:00
|
|
|
|
}
|