// Copyright (c) 2018 Jon P Smith, GitHub: JonPSmith, web: http://www.thereformedprogrammer.net/ // Licensed under MIT license. See License.txt in the project root for license information. using Npgsql.TypeHandlers.NetworkHandlers; using System.ComponentModel.DataAnnotations; namespace Hotline.Permissions { public enum EPermission { NotSet = 0, //error condition //Here is an example of very detailed control over something #region 系统管理相关接口(100) /// /// 系统管理 /// [Display(GroupName = "系统管理", Name = "系统管理", Description = "系统管理")] SystemManage = 100000, /// /// 机构用户 /// [Display(GroupName ="系统管理",Name ="机构用户",Description ="机构用户")] UserManage = 100100, #region 用户管理 /// /// 分页查询用户 /// [Display(GroupName = "用户管理", Name = "分页查询用户", Description = "分页查询用户")] QueryPagedUser = 100101, /// /// 新增用户 /// [Display(GroupName = "用户管理",Name ="新增用户",Description ="新增用户")] AddUser = 100102, /// /// 更新用户 /// [Display(GroupName = "用户管理", Name = "更新用户", Description = "更新用户")] UpdateUser = 100103, /// /// 删除用户 /// [Display(GroupName = "用户管理", Name = "删除用户", Description = "删除用户")] RemoveUser = 100104, /// /// 设置用户角色 /// [Display(GroupName = "用户管理", Name ="设置用户角色",Description ="设置用户角色")] SetUserRoles = 100105, /// /// 分页查询用户角色 /// [Display(GroupName = "用户管理",Name ="分页查询用户角色",Description ="分页查询用户角色")] GetUserRoles = 100106, /// /// 查询密码更改状态 /// [Display(GroupName ="用户管理",Name = "查询密码更改状态",Description = "查询密码更改状态")] GetPasswordChangeStatus=100107, #endregion #region 角色管理 /// /// 分页查询角色 /// [Display(GroupName = "角色管理", Name = "分页查询角色", Description = "分页查询角色")] QueryPagedRole = 100200, /// /// 新增角色 /// [Display(GroupName = "角色管理", Name = "新增角色", Description = "新增角色")] AddRole = 100201, /// /// 删除角色 /// [Display(GroupName = "角色管理", Name = "删除角色", Description = "删除角色")] RemoveRole = 100202, /// /// 更新角色 /// [Display(GroupName = "角色管理", Name = "更新角色", Description = "更新角色")] UpdateRole = 100203, #region 应用权限管理 /// /// 分配权限 /// [Display(GroupName ="角色管理",Name ="分配权限",Description ="分配权限")] AllocationAuthority = 100204, /// /// 获取角色权限 /// [Display(GroupName ="角色管理",Name ="获取角色权限",Description ="获取角色权限")] GetAuthority = 100205, #endregion #region 数据权限管理 /// /// 新增数据权限 /// [Display(GroupName = "角色管理",Name ="新增数据权限",Description ="新增数据权限")] AddDataAuthority = 100206, /// /// 修改数据权限 /// [Display(GroupName = "角色管理",Name="修改数据权限",Description ="修改数据权限")] UpdateDataAuthority = 100207, /// /// 删除数据权限 /// [Display(GroupName ="角色管理",Name ="删除数据权限",Description ="删除数据权限")] RemoveDataAuthority = 100208, /// /// 获取数据权限 /// [Display(GroupName ="角色管理",Name ="获取数据权限",Description ="获取数据权限")] GetDataAuthorityByRole = 100209, #endregion #endregion #region 系统参数 /// /// 获取系统参数列表 /// [Display(GroupName = "系统设置", Name = "获取系统参数列表", Description = "获取系统参数列表")] GetSysSettingsAsync = 100300, /// /// 更新设置 /// [Display(GroupName = "系统设置", Name = "更新设置", Description = "更新设置")] ModifySettings = 100301, #endregion #region 菜单管理 /// /// 菜单管理 /// [Display(GroupName = "系统设置",Name = "菜单管理",Description ="菜单管理")] GetMenuJson = 100400, /// /// 新增菜单 /// [Display(GroupName ="系统设置",Name ="新增菜单",Description ="新增菜单")] AddMenu = 100401, /// /// 修改菜单 /// [Display(GroupName ="系统设置",Name ="修改菜单",Description ="修改菜单")] UpdateMenu = 100402, /// /// 删除菜单 /// [Display(GroupName ="系统设置",Name ="删除菜单",Description ="删除菜单")] RemoveMenu = 100403, /// /// 获取菜单对象 /// [Display(GroupName ="系统设置",Name ="获取菜单对象",Description ="获取菜单对象")] GetMenu = 100408, #region 按钮管理 /// /// 获取菜单按钮 /// [Display(GroupName ="系统设置",Name ="获取菜单按钮",Description ="获取菜单按钮")] GetButtonByMenu = 100404, /// /// 新增按钮 /// [Display(GroupName ="系统设置",Name ="新增按钮",Description ="新增按钮")] AddButton = 100405, /// /// 编辑按钮 /// [Display(GroupName ="系统设置",Name ="编辑按钮",Description ="编辑按钮")] UpdateButton = 100406, /// /// 删除按钮 /// [Display(GroupName ="系统设置",Name ="删除按钮",Description ="删除按钮")] RemoveButton = 100407, #endregion #endregion #endregion #region 通话相关接口(200) /// /// 电话记录 /// [Display(GroupName = "电话记录",Name ="电话记录",Description ="电话记录")] CallManager = 200000, #region 通话记录 /// /// 分页通话记录列表 /// [Display(GroupName = "通话", Name = "分页通话记录列表", Description = "分页通话记录列表")] GetCallList = 200100, #endregion #region 黑名单管理 /// /// 分页查询黑名单 /// [Display(GroupName = "黑名单管理", Name = "分页查询黑名单", Description = "分页查询黑名单")] QueryPagedBlack = 200200, /// /// 添加电话号至黑名单 /// [Display(GroupName = "黑名单管理", Name = "添加电话号至黑名单", Description = "添加电话号至黑名单")] AddBlackList = 200201, /// /// 删除黑名单数据 /// [Display(GroupName = "黑名单管理", Name = "删除黑名单数据", Description = "删除黑名单数据")] RemoveBlacklist = 200202, #endregion #endregion #region 设备管理(300) /// /// 设备管理 /// [Display(GroupName ="设备管理",Name ="设备管理",Description ="设备管理")] DeviceManager = 300000, #region 话机 /// /// 查询所有话机 /// [Display(GroupName = "话机管理", Name = "查询所有话机", Description = "查询所有话机")] QueryTels = 300100, /// /// 同步分机 /// [Display(GroupName ="话机管理",Name ="同步分机",Description ="同步分机")] SyncTelsAsync =300101, #endregion #region 分机组 /// /// 查询所有分机组 /// [Display(GroupName = "分机组管理", Name = "查询所有分机组", Description = "查询所有分机组")] QueryTelGroups = 300200, /// /// 页面基础信息 /// [Display(GroupName = "分机组管理",Name ="页面基础信息",Description ="页面基础信息")] GetBaseInfoGroup = 300201, /// /// 新增分机组 /// [Display(GroupName = "分机组管理", Name = "新增分机组", Description = "新增分机组")] AddTelGroup = 300202, /// /// 更新分机组 /// [Display(GroupName = "分机组管理", Name = "更新分机组", Description = "更新分机组")] UpdateTelGroup = 300203, #endregion #region IVR管理 #region IVR分类 /// /// 查询所有IVR分类 /// [Display(GroupName = "IVR管理", Name = "查询所有IVR分类", Description = "查询所有IVR分类")] GetCategories = 300300, /// /// 查询IVR分类 /// [Display(GroupName = "IVR管理", Name = "查询IVR分类(含ivr)", Description = "查询IVR分类(含ivr)")] GetCategorie = 300301, /// /// 新增IVR分类 /// [Display(GroupName = "IVR管理", Name = "新增IVR分类", Description = "新增IVR分类")] AddCategory = 300302, /// /// 更新IVR分类 /// [Display(GroupName = "IVR管理", Name = "更新IVR分类", Description = "更新IVR分类")] UpdateCategory = 300303, /// /// 删除分类(包含分类下的IVR) /// [Display(GroupName = "IVR管理", Name = "删除分类", Description = "删除分类")] RemoveCategory = 300304, #endregion #region IVR /// /// 查询所有IVR /// [Display(GroupName = "IVR管理", Name = "查询所有IVR", Description = "查询所有IVR")] QueryIvrs = 300400, /// /// 新增IVR /// [Display(GroupName = "IVR管理", Name = "新增IVR", Description = "新增IVR")] AddIvr = 300401, /// /// 更新IVR /// [Display(GroupName = "IVR管理", Name = "更新IVR", Description = "更新IVR")] UpdateIvr = 300402, /// /// 构建IVR关系 /// [Display(GroupName = "IVR管理", Name = "构建IVR关系", Description = "构建IVR关系")] Structure = 300403, /// /// 删除IVR关系(并非删除IVR) /// [Display(GroupName = "IVR管理", Name = "删除IVR关系", Description = "删除IVR关系")] DeStructureIvr = 300404, /// /// 替换某个IVR分组下的起始IVR /// [Display(GroupName = "IVR管理", Name = "替换某个IVR分组下的起始IVR", Description = "替换某个IVR分组下的起始IVR")] ReplaceRoot = 300405, /// /// 查询ivr分类,以树形结构返回IVR关系 /// [Display(GroupName = "IVR管理", Name = "查询ivr分类,以树形结构返回IVR关系", Description = "查询ivr分类,以树形结构返回IVR关系")] GetBeginingIvr = 300406, /// /// 页面基础信息 /// [Display(GroupName = "IVR管理", Name = "页面基础信息", Description = "页面基础信息")] GetBaseInfoIvr = 300407, #endregion #endregion #endregion #region 公用(999) #region 上/下班 /// /// 上班 /// [Display(GroupName = "公用", Name = "上班", Description = "上班")] OnDuty = 999101, /// /// 下班 /// [Display(GroupName = "公用", Name = "下班", Description = "下班")] OffDuty = 999102, #endregion #region 通话控制 /// /// 分机休息 /// [Display(GroupName = "公用", Name = "分机休息", Description = "分机休息")] Rest = 999103, /// /// 分机结束休息 /// [Display(GroupName = "公用", Name = "分机结束休息", Description = "分机结束休息")] UnRest = 999104, /// /// 保持通话 /// [Display(GroupName = "公用", Name = "保持通话", Description = "保持通话")] Hold = 999105, /// /// 恢复状态(接触Hold状态) /// [Display(GroupName = "公用", Name = "恢复通话(解除Hold状态)", Description = "恢复通话(解除Hold状态)")] UnHold = 999106, /// /// 分机呼分机 /// [Display(GroupName = "公用", Name = "分机呼分机", Description = "分机呼分机")] TelToTel = 999107, /// /// 分机拨打外部电话 /// [Display(GroupName = "公用", Name = "分机拨打外部电话", Description = "分机拨打外部电话")] TelToOuter = 999108, /// /// 指定模拟外线外呼(分机拨打外部电话) /// [Display(GroupName = "公用", Name = "指定模拟外线外呼(分机拨打外部电话)", Description = "指定模拟外线外呼(分机拨打外部电话)")] TelToOuterByLine = 999109, /// /// 来电转分机 /// [Display(GroupName = "公用", Name = "来电转分机", Description = "来电转分机")] VisitorToTel = 999110, /// /// 来电转外部电话 /// [Display(GroupName = "公用", Name = "来电转外部电话", Description = "来电转外部电话")] VisitorToOuter = 999111, /// /// 来电转分机组队列 /// [Display(GroupName = "公用", Name = "来电转分机组队列", Description = "来电转分机组队列")] VisitorToGroup = 999112, /// /// 去电转外部电话 /// [Display(GroupName = "公用", Name = "去电转外部电话", Description = "去电转外部电话")] OuterToOuter = 999113, /// /// 去电转分机 /// [Display(GroupName = "公用", Name = "去电转分机", Description = "去电转分机")] OuterToTel = 999114, /// /// 三方会议 /// [Display(GroupName = "公用", Name = "三方会议", Description = "三方会议")] Conference = 999115, #endregion #region 语音文件 /// /// 查询语音文件 /// [Display(GroupName = "公用", Name = "查询语音文件", Description = "查询语音文件")] VoiceQueryList = 999116, /// /// 删除语音文件 /// [Display(GroupName = "公用", Name = "删除语音文件", Description = "删除语音文件")] RemoveVoiceFile = 999117, #endregion #region 通话 /// /// 强拆分机 /// [Display(GroupName = "公用", Name = "强拆分机", Description = "强拆分机")] ClearExt = 999118, /// /// 强拆来电 /// [Display(GroupName = "公用", Name = "强拆来电", Description = "强拆来电")] ClearVisitor = 999119, /// /// 强拆去电 /// [Display(GroupName = "公用", Name = "强拆去电", Description = "强拆去电")] ClearOuter = 999120, ///// ///// 通话记录(外部对接) ///// //[Display(GroupName = "通话", Name = "通话记录(外部对接)", Description = "通话记录(外部对接)")] //GetOutCallList = 999121, /// /// 监听分机 /// [Display(GroupName = "公用", Name = "监听分机", Description = "监听分机")] MonitorExt = 999121, /// /// 从监听到插播状态变换 /// [Display(GroupName = "公用", Name = "从监听到插播状态变换", Description = "从监听到插播状态变换")] MonitorExtToTalk = 999122, /// /// 从插播到监听状态变换 /// [Display(GroupName = "公用", Name = "从插播到监听状态变换", Description = "从插播到监听状态变换")] MonitorExtToListen = 999123, /// /// 强插 /// [Display(GroupName = "公用", Name = "强插", Description = "强插")] BargeinExt = 999124, #endregion #endregion } }