using System.Collections.Generic;
using Znyc.Recruitment.Admin.Commons.Entitys;
using Znyc.Recruitment.Admin.Commons.IServices;
using Znyc.Recruitment.Admin.Security.Dtos;
using Znyc.Recruitment.Admin.Security.Entitys;

namespace Znyc.Recruitment.Admin.Security.IServices
{
    /// <summary>
    /// </summary>
    public interface IAPPService : IService<APPEntity, AppOutputDto, long>
    {
        /// <summary>
        ///     获取app对象
        /// </summary>
        /// <param name="appid">应用ID</param>
        /// <param name="secret">应用密钥AppSecret</param>
        /// <returns></returns>
        APPEntity GetAPP(string appid, string secret);

        /// <summary>
        ///     获取app对象
        /// </summary>
        /// <param name="appid">应用ID</param>
        /// <returns></returns>
        APPEntity GetAPP(string appid);

        /// <summary>
        /// </summary>
        /// <returns></returns>
        IList<AppOutputDto> SelectApp();

        /// <summary>
        ///     更新可用的应用到缓存
        /// </summary>
        void UpdateCacheAllowApp();


        /// <summary>
        /// 获取CosToken
        /// </summary>
        /// <returns></returns>
        CommonResult GetCosToken();
    }
}