using Microsoft.AspNetCore.Http;

namespace ZelWiki.Library.Interfaces
{
    public interface ISessionState
    {
        public IAccountProfile? Profile { get; set; }

        IQueryCollection? QueryString { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public bool CanView => true;

        /// <summary>
        /// 
        /// </summary>
        public bool CanEdit { get; }

        /// <summary>
        /// 是否允许当前用户执行管理功能?
        /// </summary>
        public bool CanAdmin { get; }

        /// <summary>
        /// 是否允许当前用户审核内容（如删除评论和查看审核工具）？
        /// </summary>
        public bool CanModerate { get; }

        /// <summary>
        ///是否允许当前用户创建页面？
        /// </summary>
        public bool CanCreate { get; }

        /// <summary>
        /// 是否允许当前用户删除未受保护的页面？
        /// </summary>
        public bool CanDelete { get; }

        public DateTime LocalizeDateTime(DateTime datetime);
        public TimeZoneInfo GetPreferredTimeZone();
    }
}