admin.go 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289
  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. //访问静态文件
  43. //g.StaticFS("/upload", http.Dir(global.Config.Gin.ResourcesPath+"/upload"))
  44. }
  45. func LoginBind(rg *gin.RouterGroup) {
  46. cont := &admin.Login{}
  47. rg.POST("/login", cont.Login)
  48. rg.GET("/captcha", cont.Captcha)
  49. rg.POST("/logout", cont.Logout)
  50. rg.GET("/login-options", cont.LoginOptions)
  51. rg.POST("/oidc/auth", cont.OidcAuth)
  52. rg.GET("/oidc/auth-query", cont.OidcAuthQuery)
  53. }
  54. func UserBind(rg *gin.RouterGroup) {
  55. aR := rg.Group("/user")
  56. {
  57. cont := &admin.User{}
  58. aR.GET("/current", cont.Current)
  59. aR.POST("/changeCurPwd", cont.ChangeCurPwd)
  60. aR.POST("/myOauth", cont.MyOauth)
  61. //aR.GET("/myPeer", cont.MyPeer)
  62. aR.POST("/groupUsers", cont.GroupUsers)
  63. }
  64. aRP := rg.Group("/user").Use(middleware.AdminPrivilege())
  65. {
  66. cont := &admin.User{}
  67. aRP.GET("/list", cont.List)
  68. aRP.GET("/detail/:id", cont.Detail)
  69. aRP.POST("/create", cont.Create)
  70. aRP.POST("/update", cont.Update)
  71. aRP.POST("/delete", cont.Delete)
  72. aRP.POST("/changePwd", cont.UpdatePassword)
  73. }
  74. }
  75. func GroupBind(rg *gin.RouterGroup) {
  76. aR := rg.Group("/group").Use(middleware.AdminPrivilege())
  77. {
  78. cont := &admin.Group{}
  79. aR.GET("/list", cont.List)
  80. aR.GET("/detail/:id", cont.Detail)
  81. aR.POST("/create", cont.Create)
  82. aR.POST("/update", cont.Update)
  83. aR.POST("/delete", cont.Delete)
  84. }
  85. }
  86. func TagBind(rg *gin.RouterGroup) {
  87. aR := rg.Group("/tag").Use(middleware.AdminPrivilege())
  88. {
  89. cont := &admin.Tag{}
  90. aR.GET("/list", cont.List)
  91. aR.GET("/detail/:id", cont.Detail)
  92. aR.POST("/create", cont.Create)
  93. aR.POST("/update", cont.Update)
  94. aR.POST("/delete", cont.Delete)
  95. }
  96. }
  97. func AddressBookBind(rg *gin.RouterGroup) {
  98. aR := rg.Group("/address_book")
  99. {
  100. cont := &admin.AddressBook{}
  101. aR.POST("/shareByWebClient", cont.ShareByWebClient)
  102. arp := aR.Use(middleware.AdminPrivilege())
  103. arp.GET("/list", cont.List)
  104. //arp.GET("/detail/:id", cont.Detail)
  105. arp.POST("/create", cont.Create)
  106. arp.POST("/update", cont.Update)
  107. arp.POST("/delete", cont.Delete)
  108. arp.POST("/batchCreate", cont.BatchCreate)
  109. arp.POST("/batchCreateFromPeers", cont.BatchCreateFromPeers)
  110. }
  111. }
  112. func PeerBind(rg *gin.RouterGroup) {
  113. aR := rg.Group("/peer")
  114. aR.POST("/simpleData", (&admin.Peer{}).SimpleData)
  115. aR.Use(middleware.AdminPrivilege())
  116. {
  117. cont := &admin.Peer{}
  118. aR.GET("/list", cont.List)
  119. aR.GET("/detail/:id", cont.Detail)
  120. aR.POST("/create", cont.Create)
  121. aR.POST("/update", cont.Update)
  122. aR.POST("/delete", cont.Delete)
  123. aR.POST("/batchDelete", cont.BatchDelete)
  124. }
  125. }
  126. func OauthBind(rg *gin.RouterGroup) {
  127. aR := rg.Group("/oauth")
  128. {
  129. cont := &admin.Oauth{}
  130. aR.POST("/confirm", cont.Confirm)
  131. aR.POST("/bind", cont.ToBind)
  132. aR.POST("/bindConfirm", cont.BindConfirm)
  133. aR.POST("/unbind", cont.Unbind)
  134. aR.GET("/info", cont.Info)
  135. }
  136. arp := aR.Use(middleware.AdminPrivilege())
  137. {
  138. cont := &admin.Oauth{}
  139. arp.GET("/list", cont.List)
  140. arp.GET("/detail/:id", cont.Detail)
  141. arp.POST("/create", cont.Create)
  142. arp.POST("/update", cont.Update)
  143. arp.POST("/delete", cont.Delete)
  144. }
  145. }
  146. func LoginLogBind(rg *gin.RouterGroup) {
  147. aR := rg.Group("/login_log")
  148. cont := &admin.LoginLog{}
  149. aR.GET("/list", cont.List)
  150. aR.POST("/delete", cont.Delete)
  151. aR.POST("/batchDelete", cont.BatchDelete)
  152. }
  153. func AuditBind(rg *gin.RouterGroup) {
  154. cont := &admin.Audit{}
  155. aR := rg.Group("/audit_conn").Use(middleware.AdminPrivilege())
  156. aR.GET("/list", cont.ConnList)
  157. aR.POST("/delete", cont.ConnDelete)
  158. aR.POST("/batchDelete", cont.BatchConnDelete)
  159. afR := rg.Group("/audit_file").Use(middleware.AdminPrivilege())
  160. afR.GET("/list", cont.FileList)
  161. afR.POST("/delete", cont.FileDelete)
  162. afR.POST("/batchDelete", cont.BatchFileDelete)
  163. }
  164. func AddressBookCollectionBind(rg *gin.RouterGroup) {
  165. aR := rg.Group("/address_book_collection").Use(middleware.AdminPrivilege())
  166. {
  167. cont := &admin.AddressBookCollection{}
  168. aR.GET("/list", cont.List)
  169. aR.GET("/detail/:id", cont.Detail)
  170. aR.POST("/create", cont.Create)
  171. aR.POST("/update", cont.Update)
  172. aR.POST("/delete", cont.Delete)
  173. }
  174. }
  175. func AddressBookCollectionRuleBind(rg *gin.RouterGroup) {
  176. aR := rg.Group("/address_book_collection_rule").Use(middleware.AdminPrivilege())
  177. {
  178. cont := &admin.AddressBookCollectionRule{}
  179. aR.GET("/list", cont.List)
  180. aR.GET("/detail/:id", cont.Detail)
  181. aR.POST("/create", cont.Create)
  182. aR.POST("/update", cont.Update)
  183. aR.POST("/delete", cont.Delete)
  184. }
  185. }
  186. func UserTokenBind(rg *gin.RouterGroup) {
  187. aR := rg.Group("/user_token").Use(middleware.AdminPrivilege())
  188. cont := &admin.UserToken{}
  189. aR.GET("/list", cont.List)
  190. aR.POST("/delete", cont.Delete)
  191. aR.POST("/batchDelete", cont.BatchDelete)
  192. }
  193. func ConfigBind(rg *gin.RouterGroup) {
  194. aR := rg.Group("/config")
  195. rs := &admin.Config{}
  196. aR.GET("/server", rs.ServerConfig)
  197. aR.GET("/app", rs.AppConfig)
  198. aR.GET("/admin", rs.AdminConfig)
  199. }
  200. /*
  201. func FileBind(rg *gin.RouterGroup) {
  202. aR := rg.Group("/file")
  203. {
  204. cont := &admin.File{}
  205. aR.POST("/notify", cont.Notify)
  206. aR.OPTIONS("/oss_token", nil)
  207. aR.OPTIONS("/upload", nil)
  208. aR.GET("/oss_token", cont.OssToken)
  209. aR.POST("/upload", cont.Upload)
  210. }
  211. }*/
  212. func MyBind(rg *gin.RouterGroup) {
  213. {
  214. cont := &my.ShareRecord{}
  215. rg.GET("/my/share_record/list", cont.List)
  216. rg.POST("/my/share_record/delete", cont.Delete)
  217. rg.POST("/my/share_record/batchDelete", cont.BatchDelete)
  218. }
  219. {
  220. cont := &my.AddressBook{}
  221. rg.GET("/my/address_book/list", cont.List)
  222. rg.POST("/my/address_book/create", cont.Create)
  223. rg.POST("/my/address_book/update", cont.Update)
  224. rg.POST("/my/address_book/delete", cont.Delete)
  225. rg.POST("/my/address_book/batchCreateFromPeers", cont.BatchCreateFromPeers)
  226. rg.POST("/my/address_book/batchUpdateTags", cont.BatchUpdateTags)
  227. }
  228. {
  229. cont := &my.Tag{}
  230. rg.GET("/my/tag/list", cont.List)
  231. rg.POST("/my/tag/create", cont.Create)
  232. rg.POST("/my/tag/update", cont.Update)
  233. rg.POST("/my/tag/delete", cont.Delete)
  234. }
  235. {
  236. cont := &my.AddressBookCollection{}
  237. rg.GET("/my/address_book_collection/list", cont.List)
  238. rg.POST("/my/address_book_collection/create", cont.Create)
  239. rg.POST("/my/address_book_collection/update", cont.Update)
  240. rg.POST("/my/address_book_collection/delete", cont.Delete)
  241. }
  242. {
  243. cont := &my.AddressBookCollectionRule{}
  244. rg.GET("/my/address_book_collection_rule/list", cont.List)
  245. rg.POST("/my/address_book_collection_rule/create", cont.Create)
  246. rg.POST("/my/address_book_collection_rule/update", cont.Update)
  247. rg.POST("/my/address_book_collection_rule/delete", cont.Delete)
  248. }
  249. {
  250. cont := &my.Peer{}
  251. rg.GET("/my/peer/list", cont.List)
  252. }
  253. }
  254. func ShareRecordBind(rg *gin.RouterGroup) {
  255. aR := rg.Group("/share_record").Use(middleware.AdminPrivilege())
  256. {
  257. cont := &admin.ShareRecord{}
  258. aR.GET("/list", cont.List)
  259. aR.POST("/delete", cont.Delete)
  260. aR.POST("/batchDelete", cont.BatchDelete)
  261. }
  262. }