EPermission.cs 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491
  1. // Copyright (c) 2018 Jon P Smith, GitHub: JonPSmith, web: http://www.thereformedprogrammer.net/
  2. // Licensed under MIT license. See License.txt in the project root for license information.
  3. using Npgsql.TypeHandlers.NetworkHandlers;
  4. using System.ComponentModel.DataAnnotations;
  5. namespace Hotline.Permissions
  6. {
  7. public enum EPermission
  8. {
  9. NotSet = 0, //error condition
  10. //Here is an example of very detailed control over something
  11. #region 系统管理相关接口(100)
  12. /// <summary>
  13. /// 系统管理
  14. /// </summary>
  15. [Display(GroupName = "系统管理", Name = "系统管理", Description = "系统管理")]
  16. SystemManage = 100000,
  17. /// <summary>
  18. /// 机构用户
  19. /// </summary>
  20. [Display(GroupName ="系统管理",Name ="机构用户",Description ="机构用户")]
  21. UserManage = 100100,
  22. #region 用户管理
  23. /// <summary>
  24. /// 分页查询用户
  25. /// </summary>
  26. [Display(GroupName = "用户管理", Name = "分页查询用户", Description = "分页查询用户")]
  27. QueryPagedUser = 100101,
  28. /// <summary>
  29. /// 新增用户
  30. /// </summary>
  31. [Display(GroupName = "用户管理",Name ="新增用户",Description ="新增用户")]
  32. AddUser = 100102,
  33. /// <summary>
  34. /// 更新用户
  35. /// </summary>
  36. [Display(GroupName = "用户管理", Name = "更新用户", Description = "更新用户")]
  37. UpdateUser = 100103,
  38. /// <summary>
  39. /// 删除用户
  40. /// </summary>
  41. [Display(GroupName = "用户管理", Name = "删除用户", Description = "删除用户")]
  42. RemoveUser = 100104,
  43. /// <summary>
  44. /// 设置用户角色
  45. /// </summary>
  46. [Display(GroupName = "用户管理", Name ="设置用户角色",Description ="设置用户角色")]
  47. SetUserRoles = 100105,
  48. /// <summary>
  49. /// 分页查询用户角色
  50. /// </summary>
  51. [Display(GroupName = "用户管理",Name ="分页查询用户角色",Description ="分页查询用户角色")]
  52. GetUserRoles = 100106,
  53. /// <summary>
  54. /// 查询密码更改状态
  55. /// </summary>
  56. [Display(GroupName ="用户管理",Name = "查询密码更改状态",Description = "查询密码更改状态")]
  57. GetPasswordChangeStatus=100107,
  58. #endregion
  59. #region 角色管理
  60. /// <summary>
  61. /// 分页查询角色
  62. /// </summary>
  63. [Display(GroupName = "角色管理", Name = "分页查询角色", Description = "分页查询角色")]
  64. QueryPagedRole = 100200,
  65. /// <summary>
  66. /// 新增角色
  67. /// </summary>
  68. [Display(GroupName = "角色管理", Name = "新增角色", Description = "新增角色")]
  69. AddRole = 100201,
  70. /// <summary>
  71. /// 删除角色
  72. /// </summary>
  73. [Display(GroupName = "角色管理", Name = "删除角色", Description = "删除角色")]
  74. RemoveRole = 100202,
  75. /// <summary>
  76. /// 更新角色
  77. /// </summary>
  78. [Display(GroupName = "角色管理", Name = "更新角色", Description = "更新角色")]
  79. UpdateRole = 100203,
  80. #region 应用权限管理
  81. /// <summary>
  82. /// 分配权限
  83. /// </summary>
  84. [Display(GroupName ="角色管理",Name ="分配权限",Description ="分配权限")]
  85. AllocationAuthority = 100204,
  86. /// <summary>
  87. /// 获取角色权限
  88. /// </summary>
  89. [Display(GroupName ="角色管理",Name ="获取角色权限",Description ="获取角色权限")]
  90. GetAuthority = 100205,
  91. #endregion
  92. #region 数据权限管理
  93. /// <summary>
  94. /// 新增数据权限
  95. /// </summary>
  96. [Display(GroupName = "角色管理",Name ="新增数据权限",Description ="新增数据权限")]
  97. AddDataAuthority = 100206,
  98. /// <summary>
  99. /// 修改数据权限
  100. /// </summary>
  101. [Display(GroupName = "角色管理",Name="修改数据权限",Description ="修改数据权限")]
  102. UpdateDataAuthority = 100207,
  103. /// <summary>
  104. /// 删除数据权限
  105. /// </summary>
  106. [Display(GroupName ="角色管理",Name ="删除数据权限",Description ="删除数据权限")]
  107. RemoveDataAuthority = 100208,
  108. /// <summary>
  109. /// 获取数据权限
  110. /// </summary>
  111. [Display(GroupName ="角色管理",Name ="获取数据权限",Description ="获取数据权限")]
  112. GetDataAuthorityByRole = 100209,
  113. #endregion
  114. #endregion
  115. #region 系统参数
  116. /// <summary>
  117. /// 获取系统参数列表
  118. /// </summary>
  119. [Display(GroupName = "系统设置", Name = "获取系统参数列表", Description = "获取系统参数列表")]
  120. GetSysSettingsAsync = 100300,
  121. /// <summary>
  122. /// 更新设置
  123. /// </summary>
  124. [Display(GroupName = "系统设置", Name = "更新设置", Description = "更新设置")]
  125. ModifySettings = 100301,
  126. #endregion
  127. #region 菜单管理
  128. /// <summary>
  129. /// 菜单管理
  130. /// </summary>
  131. [Display(GroupName = "系统设置",Name = "菜单管理",Description ="菜单管理")]
  132. GetMenuJson = 100400,
  133. /// <summary>
  134. /// 新增菜单
  135. /// </summary>
  136. [Display(GroupName ="系统设置",Name ="新增菜单",Description ="新增菜单")]
  137. AddMenu = 100401,
  138. /// <summary>
  139. /// 修改菜单
  140. /// </summary>
  141. [Display(GroupName ="系统设置",Name ="修改菜单",Description ="修改菜单")]
  142. UpdateMenu = 100402,
  143. /// <summary>
  144. /// 删除菜单
  145. /// </summary>
  146. [Display(GroupName ="系统设置",Name ="删除菜单",Description ="删除菜单")]
  147. RemoveMenu = 100403,
  148. /// <summary>
  149. /// 获取菜单对象
  150. /// </summary>
  151. [Display(GroupName ="系统设置",Name ="获取菜单对象",Description ="获取菜单对象")]
  152. GetMenu = 100408,
  153. #region 按钮管理
  154. /// <summary>
  155. /// 获取菜单按钮
  156. /// </summary>
  157. [Display(GroupName ="系统设置",Name ="获取菜单按钮",Description ="获取菜单按钮")]
  158. GetButtonByMenu = 100404,
  159. /// <summary>
  160. /// 新增按钮
  161. /// </summary>
  162. [Display(GroupName ="系统设置",Name ="新增按钮",Description ="新增按钮")]
  163. AddButton = 100405,
  164. /// <summary>
  165. /// 编辑按钮
  166. /// </summary>
  167. [Display(GroupName ="系统设置",Name ="编辑按钮",Description ="编辑按钮")]
  168. UpdateButton = 100406,
  169. /// <summary>
  170. /// 删除按钮
  171. /// </summary>
  172. [Display(GroupName ="系统设置",Name ="删除按钮",Description ="删除按钮")]
  173. RemoveButton = 100407,
  174. #endregion
  175. #endregion
  176. #endregion
  177. #region 通话相关接口(200)
  178. /// <summary>
  179. /// 电话记录
  180. /// </summary>
  181. [Display(GroupName = "电话记录",Name ="电话记录",Description ="电话记录")]
  182. CallManager = 200000,
  183. #region 通话记录
  184. /// <summary>
  185. /// 分页通话记录列表
  186. /// </summary>
  187. [Display(GroupName = "通话", Name = "分页通话记录列表", Description = "分页通话记录列表")]
  188. GetCallList = 200100,
  189. #endregion
  190. #region 黑名单管理
  191. /// <summary>
  192. /// 分页查询黑名单
  193. /// </summary>
  194. [Display(GroupName = "黑名单管理", Name = "分页查询黑名单", Description = "分页查询黑名单")]
  195. QueryPagedBlack = 200200,
  196. /// <summary>
  197. /// 添加电话号至黑名单
  198. /// </summary>
  199. [Display(GroupName = "黑名单管理", Name = "添加电话号至黑名单", Description = "添加电话号至黑名单")]
  200. AddBlackList = 200201,
  201. /// <summary>
  202. /// 删除黑名单数据
  203. /// </summary>
  204. [Display(GroupName = "黑名单管理", Name = "删除黑名单数据", Description = "删除黑名单数据")]
  205. RemoveBlacklist = 200202,
  206. #endregion
  207. #endregion
  208. #region 设备管理(300)
  209. /// <summary>
  210. /// 设备管理
  211. /// </summary>
  212. [Display(GroupName ="设备管理",Name ="设备管理",Description ="设备管理")]
  213. DeviceManager = 300000,
  214. #region 话机
  215. /// <summary>
  216. /// 查询所有话机
  217. /// </summary>
  218. [Display(GroupName = "话机管理", Name = "查询所有话机", Description = "查询所有话机")]
  219. QueryTels = 300100,
  220. /// <summary>
  221. /// 同步分机
  222. /// </summary>
  223. [Display(GroupName ="话机管理",Name ="同步分机",Description ="同步分机")]
  224. SyncTelsAsync =300101,
  225. #endregion
  226. #region 分机组
  227. /// <summary>
  228. /// 查询所有分机组
  229. /// </summary>
  230. [Display(GroupName = "分机组管理", Name = "查询所有分机组", Description = "查询所有分机组")]
  231. QueryTelGroups = 300200,
  232. /// <summary>
  233. /// 页面基础信息
  234. /// </summary>
  235. [Display(GroupName = "分机组管理",Name ="页面基础信息",Description ="页面基础信息")]
  236. GetBaseInfoGroup = 300201,
  237. /// <summary>
  238. /// 新增分机组
  239. /// </summary>
  240. [Display(GroupName = "分机组管理", Name = "新增分机组", Description = "新增分机组")]
  241. AddTelGroup = 300202,
  242. /// <summary>
  243. /// 更新分机组
  244. /// </summary>
  245. [Display(GroupName = "分机组管理", Name = "更新分机组", Description = "更新分机组")]
  246. UpdateTelGroup = 300203,
  247. #endregion
  248. #region IVR管理
  249. #region IVR分类
  250. /// <summary>
  251. /// 查询所有IVR分类
  252. /// </summary>
  253. [Display(GroupName = "IVR管理", Name = "查询所有IVR分类", Description = "查询所有IVR分类")]
  254. GetCategories = 300300,
  255. /// <summary>
  256. /// 查询IVR分类
  257. /// </summary>
  258. [Display(GroupName = "IVR管理", Name = "查询IVR分类(含ivr)", Description = "查询IVR分类(含ivr)")]
  259. GetCategorie = 300301,
  260. /// <summary>
  261. /// 新增IVR分类
  262. /// </summary>
  263. [Display(GroupName = "IVR管理", Name = "新增IVR分类", Description = "新增IVR分类")]
  264. AddCategory = 300302,
  265. /// <summary>
  266. /// 更新IVR分类
  267. /// </summary>
  268. [Display(GroupName = "IVR管理", Name = "更新IVR分类", Description = "更新IVR分类")]
  269. UpdateCategory = 300303,
  270. /// <summary>
  271. /// 删除分类(包含分类下的IVR)
  272. /// </summary>
  273. [Display(GroupName = "IVR管理", Name = "删除分类", Description = "删除分类")]
  274. RemoveCategory = 300304,
  275. #endregion
  276. #region IVR
  277. /// <summary>
  278. /// 查询所有IVR
  279. /// </summary>
  280. [Display(GroupName = "IVR管理", Name = "查询所有IVR", Description = "查询所有IVR")]
  281. QueryIvrs = 300400,
  282. /// <summary>
  283. /// 新增IVR
  284. /// </summary>
  285. [Display(GroupName = "IVR管理", Name = "新增IVR", Description = "新增IVR")]
  286. AddIvr = 300401,
  287. /// <summary>
  288. /// 更新IVR
  289. /// </summary>
  290. [Display(GroupName = "IVR管理", Name = "更新IVR", Description = "更新IVR")]
  291. UpdateIvr = 300402,
  292. /// <summary>
  293. /// 构建IVR关系
  294. /// </summary>
  295. [Display(GroupName = "IVR管理", Name = "构建IVR关系", Description = "构建IVR关系")]
  296. Structure = 300403,
  297. /// <summary>
  298. /// 删除IVR关系(并非删除IVR)
  299. /// </summary>
  300. [Display(GroupName = "IVR管理", Name = "删除IVR关系", Description = "删除IVR关系")]
  301. DeStructureIvr = 300404,
  302. /// <summary>
  303. /// 替换某个IVR分组下的起始IVR
  304. /// </summary>
  305. [Display(GroupName = "IVR管理", Name = "替换某个IVR分组下的起始IVR", Description = "替换某个IVR分组下的起始IVR")]
  306. ReplaceRoot = 300405,
  307. /// <summary>
  308. /// 查询ivr分类,以树形结构返回IVR关系
  309. /// </summary>
  310. [Display(GroupName = "IVR管理", Name = "查询ivr分类,以树形结构返回IVR关系", Description = "查询ivr分类,以树形结构返回IVR关系")]
  311. GetBeginingIvr = 300406,
  312. /// <summary>
  313. /// 页面基础信息
  314. /// </summary>
  315. [Display(GroupName = "IVR管理", Name = "页面基础信息", Description = "页面基础信息")]
  316. GetBaseInfoIvr = 300407,
  317. #endregion
  318. #endregion
  319. #endregion
  320. #region 公用(999)
  321. #region 上/下班
  322. /// <summary>
  323. /// 上班
  324. /// </summary>
  325. [Display(GroupName = "公用", Name = "上班", Description = "上班")]
  326. OnDuty = 999101,
  327. /// <summary>
  328. /// 下班
  329. /// </summary>
  330. [Display(GroupName = "公用", Name = "下班", Description = "下班")]
  331. OffDuty = 999102,
  332. #endregion
  333. #region 通话控制
  334. /// <summary>
  335. /// 分机休息
  336. /// </summary>
  337. [Display(GroupName = "公用", Name = "分机休息", Description = "分机休息")]
  338. Rest = 999103,
  339. /// <summary>
  340. /// 分机结束休息
  341. /// </summary>
  342. [Display(GroupName = "公用", Name = "分机结束休息", Description = "分机结束休息")]
  343. UnRest = 999104,
  344. /// <summary>
  345. /// 保持通话
  346. /// </summary>
  347. [Display(GroupName = "公用", Name = "保持通话", Description = "保持通话")]
  348. Hold = 999105,
  349. /// <summary>
  350. /// 恢复状态(接触Hold状态)
  351. /// </summary>
  352. [Display(GroupName = "公用", Name = "恢复通话(解除Hold状态)", Description = "恢复通话(解除Hold状态)")]
  353. UnHold = 999106,
  354. /// <summary>
  355. /// 分机呼分机
  356. /// </summary>
  357. [Display(GroupName = "公用", Name = "分机呼分机", Description = "分机呼分机")]
  358. TelToTel = 999107,
  359. /// <summary>
  360. /// 分机拨打外部电话
  361. /// </summary>
  362. [Display(GroupName = "公用", Name = "分机拨打外部电话", Description = "分机拨打外部电话")]
  363. TelToOuter = 999108,
  364. /// <summary>
  365. /// 指定模拟外线外呼(分机拨打外部电话)
  366. /// </summary>
  367. [Display(GroupName = "公用", Name = "指定模拟外线外呼(分机拨打外部电话)", Description = "指定模拟外线外呼(分机拨打外部电话)")]
  368. TelToOuterByLine = 999109,
  369. /// <summary>
  370. /// 来电转分机
  371. /// </summary>
  372. [Display(GroupName = "公用", Name = "来电转分机", Description = "来电转分机")]
  373. VisitorToTel = 999110,
  374. /// <summary>
  375. /// 来电转外部电话
  376. /// </summary>
  377. [Display(GroupName = "公用", Name = "来电转外部电话", Description = "来电转外部电话")]
  378. VisitorToOuter = 999111,
  379. /// <summary>
  380. /// 来电转分机组队列
  381. /// </summary>
  382. [Display(GroupName = "公用", Name = "来电转分机组队列", Description = "来电转分机组队列")]
  383. VisitorToGroup = 999112,
  384. /// <summary>
  385. /// 去电转外部电话
  386. /// </summary>
  387. [Display(GroupName = "公用", Name = "去电转外部电话", Description = "去电转外部电话")]
  388. OuterToOuter = 999113,
  389. /// <summary>
  390. /// 去电转分机
  391. /// </summary>
  392. [Display(GroupName = "公用", Name = "去电转分机", Description = "去电转分机")]
  393. OuterToTel = 999114,
  394. /// <summary>
  395. /// 三方会议
  396. /// </summary>
  397. [Display(GroupName = "公用", Name = "三方会议", Description = "三方会议")]
  398. Conference = 999115,
  399. #endregion
  400. #region 语音文件
  401. /// <summary>
  402. /// 查询语音文件
  403. /// </summary>
  404. [Display(GroupName = "公用", Name = "查询语音文件", Description = "查询语音文件")]
  405. VoiceQueryList = 999116,
  406. /// <summary>
  407. /// 删除语音文件
  408. /// </summary>
  409. [Display(GroupName = "公用", Name = "删除语音文件", Description = "删除语音文件")]
  410. RemoveVoiceFile = 999117,
  411. #endregion
  412. #region 通话
  413. /// <summary>
  414. /// 强拆分机
  415. /// </summary>
  416. [Display(GroupName = "公用", Name = "强拆分机", Description = "强拆分机")]
  417. ClearExt = 999118,
  418. /// <summary>
  419. /// 强拆来电
  420. /// </summary>
  421. [Display(GroupName = "公用", Name = "强拆来电", Description = "强拆来电")]
  422. ClearVisitor = 999119,
  423. /// <summary>
  424. /// 强拆去电
  425. /// </summary>
  426. [Display(GroupName = "公用", Name = "强拆去电", Description = "强拆去电")]
  427. ClearOuter = 999120,
  428. ///// <summary>
  429. ///// 通话记录(外部对接)
  430. ///// </summary>
  431. //[Display(GroupName = "通话", Name = "通话记录(外部对接)", Description = "通话记录(外部对接)")]
  432. //GetOutCallList = 999121,
  433. /// <summary>
  434. /// 监听分机
  435. /// </summary>
  436. [Display(GroupName = "公用", Name = "监听分机", Description = "监听分机")]
  437. MonitorExt = 999121,
  438. /// <summary>
  439. /// 从监听到插播状态变换
  440. /// </summary>
  441. [Display(GroupName = "公用", Name = "从监听到插播状态变换", Description = "从监听到插播状态变换")]
  442. MonitorExtToTalk = 999122,
  443. /// <summary>
  444. /// 从插播到监听状态变换
  445. /// </summary>
  446. [Display(GroupName = "公用", Name = "从插播到监听状态变换", Description = "从插播到监听状态变换")]
  447. MonitorExtToListen = 999123,
  448. /// <summary>
  449. /// 强插
  450. /// </summary>
  451. [Display(GroupName = "公用", Name = "强插", Description = "强插")]
  452. BargeinExt = 999124,
  453. #endregion
  454. #endregion
  455. }
  456. }