using System;
using Common;
using Common.Constant;
using Common.Http;
using Esim.Apis.Business;
using Database.Database;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace RevoSystem.Apis.Controllers
{
[ApiController]
public class ArticleController : Controller
{
private static readonly log4net.ILog log = log4net.LogManager.GetLogger(
typeof(ArticleController)
);
ModelContext dbContext;
IConfiguration configuration;
IArticleBusiness articleBusiness;
public ArticleController(
IConfiguration _configuration,
IArticleBusiness articleBusiness,
ModelContext dbContext
)
{
configuration = _configuration;
this.articleBusiness = articleBusiness;
this.dbContext = dbContext;
}
private string GetParameter(string key)
{
return configuration.GetSection(key).Value ?? "";
}
#region Article Endpoints
///
/// Load article categories with pagination
/// POST /apis/article/category
///
[HttpPost]
[Route(ApiUrlConstant.ArticleCategoryUrl)]
public async Task ArticleCategory(ArticleCategoryReq request)
{
return await articleBusiness.ArticleCategory(HttpContext.Request, request);
}
///
/// Load articles with pagination and filters
/// POST /apis/article/load
///
[HttpPost]
[Route(ApiUrlConstant.ArticleLoadUrl)]
public async Task ArticleLoad(ArticleLoadReq request)
{
return await articleBusiness.ArticleLoad(HttpContext.Request, request);
}
#endregion
}
}