admin.go 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307
  1. package router
  2. import (
  3. _ "Gwen/docs/admin"
  4. "Gwen/global"
  5. "Gwen/http/controller/admin"
  6. "Gwen/http/controller/admin/my"
  7. "Gwen/http/middleware"
  8. "github.com/gin-gonic/gin"
  9. swaggerFiles "github.com/swaggo/files"
  10. ginSwagger "github.com/swaggo/gin-swagger"
  11. )
  12. func Init(g *gin.Engine) {
  13. //swagger
  14. //g.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
  15. if global.Config.App.ShowSwagger == 1 {
  16. g.GET("/admin/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler, ginSwagger.InstanceName("admin")))
  17. }
  18. adg := g.Group("/api/admin")
  19. LoginBind(adg)
  20. adg.POST("/user/register", (&admin.User{}).Register)
  21. adg.Use(middleware.AdminAuth())
  22. //FileBind(adg)
  23. UserBind(adg)
  24. GroupBind(adg)
  25. TagBind(adg)
  26. AddressBookBind(adg)
  27. PeerBind(adg)
  28. OauthBind(adg)
  29. LoginLogBind(adg)
  30. AuditBind(adg)
  31. AddressBookCollectionBind(adg)
  32. AddressBookCollectionRuleBind(adg)
  33. UserTokenBind(adg)
  34. ConfigBind(adg)
  35. //deprecated by ConfigBind
  36. //rs := &admin.Rustdesk{}
  37. //adg.GET("/server-config", rs.ServerConfig)
  38. //adg.GET("/app-config", rs.AppConfig)
  39. //deprecated end
  40. ShareRecordBind(adg)
  41. MyBind(adg)
  42. RustdeskCmdBind(adg)
  43. //访问静态文件
  44. //g.StaticFS("/upload", http.Dir(global.Config.Gin.ResourcesPath+"/upload"))
  45. }
  46. func RustdeskCmdBind(adg *gin.RouterGroup) {
  47. cont := &admin.Rustdesk{}
  48. rg := adg.Group("/rustdesk")
  49. rg.POST("/sendCmd", cont.SendCmd)
  50. rg.GET("/cmdList", cont.CmdList)
  51. rg.POST("/cmdDelete", cont.CmdDelete)
  52. rg.POST("/cmdCreate", cont.CmdCreate)
  53. }
  54. func LoginBind(rg *gin.RouterGroup) {
  55. cont := &admin.Login{}
  56. rg.POST("/login", cont.Login)
  57. rg.GET("/captcha", cont.Captcha)
  58. rg.POST("/logout", cont.Logout)
  59. rg.GET("/login-options", cont.LoginOptions)
  60. rg.POST("/oidc/auth", cont.OidcAuth)
  61. rg.GET("/oidc/auth-query", cont.OidcAuthQuery)
  62. }
  63. func UserBind(rg *gin.RouterGroup) {
  64. aR := rg.Group("/user")
  65. {
  66. cont := &admin.User{}
  67. aR.GET("/current", cont.Current)
  68. aR.POST("/changeCurPwd", cont.ChangeCurPwd)
  69. aR.POST("/myOauth", cont.MyOauth)
  70. //aR.GET("/myPeer", cont.MyPeer)
  71. aR.POST("/groupUsers", cont.GroupUsers)
  72. }
  73. aRP := rg.Group("/user").Use(middleware.AdminPrivilege())
  74. {
  75. cont := &admin.User{}
  76. aRP.GET("/list", cont.List)
  77. aRP.GET("/detail/:id", cont.Detail)
  78. aRP.POST("/create", cont.Create)
  79. aRP.POST("/update", cont.Update)
  80. aRP.POST("/delete", cont.Delete)
  81. aRP.POST("/changePwd", cont.UpdatePassword)
  82. }
  83. }
  84. func GroupBind(rg *gin.RouterGroup) {
  85. aR := rg.Group("/group").Use(middleware.AdminPrivilege())
  86. {
  87. cont := &admin.Group{}
  88. aR.GET("/list", cont.List)
  89. aR.GET("/detail/:id", cont.Detail)
  90. aR.POST("/create", cont.Create)
  91. aR.POST("/update", cont.Update)
  92. aR.POST("/delete", cont.Delete)
  93. }
  94. }
  95. func TagBind(rg *gin.RouterGroup) {
  96. aR := rg.Group("/tag").Use(middleware.AdminPrivilege())
  97. {
  98. cont := &admin.Tag{}
  99. aR.GET("/list", cont.List)
  100. aR.GET("/detail/:id", cont.Detail)
  101. aR.POST("/create", cont.Create)
  102. aR.POST("/update", cont.Update)
  103. aR.POST("/delete", cont.Delete)
  104. }
  105. }
  106. func AddressBookBind(rg *gin.RouterGroup) {
  107. aR := rg.Group("/address_book")
  108. {
  109. cont := &admin.AddressBook{}
  110. aR.POST("/shareByWebClient", cont.ShareByWebClient)
  111. arp := aR.Use(middleware.AdminPrivilege())
  112. arp.GET("/list", cont.List)
  113. //arp.GET("/detail/:id", cont.Detail)
  114. arp.POST("/create", cont.Create)
  115. arp.POST("/update", cont.Update)
  116. arp.POST("/delete", cont.Delete)
  117. arp.POST("/batchCreate", cont.BatchCreate)
  118. arp.POST("/batchCreateFromPeers", cont.BatchCreateFromPeers)
  119. }
  120. }
  121. func PeerBind(rg *gin.RouterGroup) {
  122. aR := rg.Group("/peer")
  123. aR.POST("/simpleData", (&admin.Peer{}).SimpleData)
  124. aR.Use(middleware.AdminPrivilege())
  125. {
  126. cont := &admin.Peer{}
  127. aR.GET("/list", cont.List)
  128. aR.GET("/detail/:id", cont.Detail)
  129. aR.POST("/create", cont.Create)
  130. aR.POST("/update", cont.Update)
  131. aR.POST("/delete", cont.Delete)
  132. aR.POST("/batchDelete", cont.BatchDelete)
  133. }
  134. }
  135. func OauthBind(rg *gin.RouterGroup) {
  136. aR := rg.Group("/oauth")
  137. {
  138. cont := &admin.Oauth{}
  139. aR.POST("/confirm", cont.Confirm)
  140. aR.POST("/bind", cont.ToBind)
  141. aR.POST("/bindConfirm", cont.BindConfirm)
  142. aR.POST("/unbind", cont.Unbind)
  143. aR.GET("/info", cont.Info)
  144. }
  145. arp := aR.Use(middleware.AdminPrivilege())
  146. {
  147. cont := &admin.Oauth{}
  148. arp.GET("/list", cont.List)
  149. arp.GET("/detail/:id", cont.Detail)
  150. arp.POST("/create", cont.Create)
  151. arp.POST("/update", cont.Update)
  152. arp.POST("/delete", cont.Delete)
  153. }
  154. }
  155. func LoginLogBind(rg *gin.RouterGroup) {
  156. cont := &admin.LoginLog{}
  157. aR := rg.Group("/login_log").Use(middleware.AdminPrivilege())
  158. aR.GET("/list", cont.List)
  159. aR.POST("/delete", cont.Delete)
  160. aR.POST("/batchDelete", cont.BatchDelete)
  161. }
  162. func AuditBind(rg *gin.RouterGroup) {
  163. cont := &admin.Audit{}
  164. aR := rg.Group("/audit_conn").Use(middleware.AdminPrivilege())
  165. aR.GET("/list", cont.ConnList)
  166. aR.POST("/delete", cont.ConnDelete)
  167. aR.POST("/batchDelete", cont.BatchConnDelete)
  168. afR := rg.Group("/audit_file").Use(middleware.AdminPrivilege())
  169. afR.GET("/list", cont.FileList)
  170. afR.POST("/delete", cont.FileDelete)
  171. afR.POST("/batchDelete", cont.BatchFileDelete)
  172. }
  173. func AddressBookCollectionBind(rg *gin.RouterGroup) {
  174. aR := rg.Group("/address_book_collection").Use(middleware.AdminPrivilege())
  175. {
  176. cont := &admin.AddressBookCollection{}
  177. aR.GET("/list", cont.List)
  178. aR.GET("/detail/:id", cont.Detail)
  179. aR.POST("/create", cont.Create)
  180. aR.POST("/update", cont.Update)
  181. aR.POST("/delete", cont.Delete)
  182. }
  183. }
  184. func AddressBookCollectionRuleBind(rg *gin.RouterGroup) {
  185. aR := rg.Group("/address_book_collection_rule").Use(middleware.AdminPrivilege())
  186. {
  187. cont := &admin.AddressBookCollectionRule{}
  188. aR.GET("/list", cont.List)
  189. aR.GET("/detail/:id", cont.Detail)
  190. aR.POST("/create", cont.Create)
  191. aR.POST("/update", cont.Update)
  192. aR.POST("/delete", cont.Delete)
  193. }
  194. }
  195. func UserTokenBind(rg *gin.RouterGroup) {
  196. aR := rg.Group("/user_token").Use(middleware.AdminPrivilege())
  197. cont := &admin.UserToken{}
  198. aR.GET("/list", cont.List)
  199. aR.POST("/delete", cont.Delete)
  200. aR.POST("/batchDelete", cont.BatchDelete)
  201. }
  202. func ConfigBind(rg *gin.RouterGroup) {
  203. aR := rg.Group("/config")
  204. rs := &admin.Config{}
  205. aR.GET("/server", rs.ServerConfig)
  206. aR.GET("/app", rs.AppConfig)
  207. aR.GET("/admin", rs.AdminConfig)
  208. }
  209. /*
  210. func FileBind(rg *gin.RouterGroup) {
  211. aR := rg.Group("/file")
  212. {
  213. cont := &admin.File{}
  214. aR.POST("/notify", cont.Notify)
  215. aR.OPTIONS("/oss_token", nil)
  216. aR.OPTIONS("/upload", nil)
  217. aR.GET("/oss_token", cont.OssToken)
  218. aR.POST("/upload", cont.Upload)
  219. }
  220. }*/
  221. func MyBind(rg *gin.RouterGroup) {
  222. {
  223. cont := &my.ShareRecord{}
  224. rg.GET("/my/share_record/list", cont.List)
  225. rg.POST("/my/share_record/delete", cont.Delete)
  226. rg.POST("/my/share_record/batchDelete", cont.BatchDelete)
  227. }
  228. {
  229. cont := &my.AddressBook{}
  230. rg.GET("/my/address_book/list", cont.List)
  231. rg.POST("/my/address_book/create", cont.Create)
  232. rg.POST("/my/address_book/update", cont.Update)
  233. rg.POST("/my/address_book/delete", cont.Delete)
  234. rg.POST("/my/address_book/batchCreateFromPeers", cont.BatchCreateFromPeers)
  235. rg.POST("/my/address_book/batchUpdateTags", cont.BatchUpdateTags)
  236. }
  237. {
  238. cont := &my.Tag{}
  239. rg.GET("/my/tag/list", cont.List)
  240. rg.POST("/my/tag/create", cont.Create)
  241. rg.POST("/my/tag/update", cont.Update)
  242. rg.POST("/my/tag/delete", cont.Delete)
  243. }
  244. {
  245. cont := &my.AddressBookCollection{}
  246. rg.GET("/my/address_book_collection/list", cont.List)
  247. rg.POST("/my/address_book_collection/create", cont.Create)
  248. rg.POST("/my/address_book_collection/update", cont.Update)
  249. rg.POST("/my/address_book_collection/delete", cont.Delete)
  250. }
  251. {
  252. cont := &my.AddressBookCollectionRule{}
  253. rg.GET("/my/address_book_collection_rule/list", cont.List)
  254. rg.POST("/my/address_book_collection_rule/create", cont.Create)
  255. rg.POST("/my/address_book_collection_rule/update", cont.Update)
  256. rg.POST("/my/address_book_collection_rule/delete", cont.Delete)
  257. }
  258. {
  259. cont := &my.Peer{}
  260. rg.GET("/my/peer/list", cont.List)
  261. }
  262. {
  263. cont := &my.LoginLog{}
  264. rg.GET("/my/login_log/list", cont.List)
  265. rg.POST("/my/login_log/delete", cont.Delete)
  266. rg.POST("/my/login_log/batchDelete", cont.BatchDelete)
  267. }
  268. }
  269. func ShareRecordBind(rg *gin.RouterGroup) {
  270. aR := rg.Group("/share_record").Use(middleware.AdminPrivilege())
  271. {
  272. cont := &admin.ShareRecord{}
  273. aR.GET("/list", cont.List)
  274. aR.POST("/delete", cont.Delete)
  275. aR.POST("/batchDelete", cont.BatchDelete)
  276. }
  277. }