ArticleController.cs 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. using System;
  2. using Common;
  3. using Common.Constant;
  4. using Common.Http;
  5. using Esim.Apis.Business;
  6. using Database.Database;
  7. using Microsoft.AspNetCore.Authorization;
  8. using Microsoft.AspNetCore.Mvc;
  9. namespace RevoSystem.Apis.Controllers
  10. {
  11. [ApiController]
  12. public class ArticleController : Controller
  13. {
  14. private static readonly log4net.ILog log = log4net.LogManager.GetLogger(
  15. typeof(ArticleController)
  16. );
  17. ModelContext dbContext;
  18. IConfiguration configuration;
  19. IArticleBusiness articleBusiness;
  20. public ArticleController(
  21. IConfiguration _configuration,
  22. IArticleBusiness articleBusiness,
  23. ModelContext dbContext
  24. )
  25. {
  26. configuration = _configuration;
  27. this.articleBusiness = articleBusiness;
  28. this.dbContext = dbContext;
  29. }
  30. private string GetParameter(string key)
  31. {
  32. return configuration.GetSection(key).Value ?? "";
  33. }
  34. #region Article Endpoints
  35. /// <summary>
  36. /// Load article categories with pagination
  37. /// POST /apis/article/category
  38. /// </summary>
  39. [HttpPost]
  40. [Route(ApiUrlConstant.ArticleCategoryUrl)]
  41. public async Task<IActionResult> ArticleCategory(ArticleCategoryReq request)
  42. {
  43. return await articleBusiness.ArticleCategory(HttpContext.Request, request);
  44. }
  45. /// <summary>
  46. /// Load articles with pagination and filters
  47. /// POST /apis/article/load
  48. /// </summary>
  49. [HttpPost]
  50. [Route(ApiUrlConstant.ArticleLoadUrl)]
  51. public async Task<IActionResult> ArticleLoad(ArticleLoadReq request)
  52. {
  53. return await articleBusiness.ArticleLoad(HttpContext.Request, request);
  54. }
  55. #endregion
  56. }
  57. }