using System.Collections.Generic;
using System.Threading.Tasks;
using GxPress.Result.App.ArticleLabel;

namespace GxPress.Service.Interface.ArticleLabel
{
    public interface IArticleLabelService : IService
    {
        /// <summary>
        /// 添加标签
        /// </summary>
        /// <param name="labelNames"></param>
        /// <returns></returns>
       Task<int> InsertAsync(string labelName);
        /// <summary>
        /// 获取标签列表
        /// </summary>
        /// <returns></returns>
        Task<IEnumerable<Entity.ArticleLabel.ArticleLabel>> GetArticleLabelsAsync();
        /// <summary>
        /// 添加文章标签关联
        /// </summary>
        /// <param name="articleId"></param>
        /// <param name="articleLabelIds"></param>
        /// <returns></returns>
        Task<bool> AddArticleInnerLabel(int articleId, List<int> articleLabelIds);
        /// <summary>
        /// 根据文章ID获取文章标签
        /// </summary>
        /// <param name="articleId"></param>
        /// <returns></returns>
        Task<IEnumerable<ArticleInnerLabelResult>> GetArticleLabelsAsync(int articleId);
         /// <summary>
        /// 获取屏蔽文章
        /// </summary>
        /// <param name="articleId"></param>
        /// <returns></returns>
       Task<IEnumerable<int>> GetShieldArticleIdsAsync(int articleId);
    }
}