admin.go 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. package router
  2. import (
  3. _ "Gwen/docs/admin"
  4. "Gwen/http/controller/admin"
  5. "Gwen/http/middleware"
  6. "github.com/gin-gonic/gin"
  7. swaggerFiles "github.com/swaggo/files"
  8. ginSwagger "github.com/swaggo/gin-swagger"
  9. )
  10. func Init(g *gin.Engine) {
  11. //swagger
  12. //g.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
  13. g.GET("/admin/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler, ginSwagger.InstanceName("admin")))
  14. adg := g.Group("/api/admin")
  15. LoginBind(adg)
  16. adg.Use(middleware.AdminAuth())
  17. //FileBind(adg)
  18. UserBind(adg)
  19. GroupBind(adg)
  20. TagBind(adg)
  21. AddressBookBind(adg)
  22. PeerBind(adg)
  23. OauthBind(adg)
  24. LoginLogBind(adg)
  25. AuditBind(adg)
  26. AddressBookCollectionBind(adg)
  27. AddressBookCollectionRuleBind(adg)
  28. rs := &admin.Rustdesk{}
  29. adg.GET("/server-config", rs.ServerConfig)
  30. adg.GET("/app-config", rs.AppConfig)
  31. //访问静态文件
  32. //g.StaticFS("/upload", http.Dir(global.Config.Gin.ResourcesPath+"/upload"))
  33. }
  34. func LoginBind(rg *gin.RouterGroup) {
  35. cont := &admin.Login{}
  36. rg.POST("/login", cont.Login)
  37. rg.POST("/logout", cont.Logout)
  38. }
  39. func UserBind(rg *gin.RouterGroup) {
  40. aR := rg.Group("/user")
  41. {
  42. cont := &admin.User{}
  43. aR.GET("/current", cont.Current)
  44. aR.POST("/changeCurPwd", cont.ChangeCurPwd)
  45. aR.POST("/myOauth", cont.MyOauth)
  46. aR.POST("/groupUsers", cont.GroupUsers)
  47. }
  48. aRP := rg.Group("/user").Use(middleware.AdminPrivilege())
  49. {
  50. cont := &admin.User{}
  51. aRP.GET("/list", cont.List)
  52. aRP.GET("/detail/:id", cont.Detail)
  53. aRP.POST("/create", cont.Create)
  54. aRP.POST("/update", cont.Update)
  55. aRP.POST("/delete", cont.Delete)
  56. aRP.POST("/changePwd", cont.UpdatePassword)
  57. }
  58. }
  59. func GroupBind(rg *gin.RouterGroup) {
  60. aR := rg.Group("/group").Use(middleware.AdminPrivilege())
  61. {
  62. cont := &admin.Group{}
  63. aR.GET("/list", cont.List)
  64. aR.GET("/detail/:id", cont.Detail)
  65. aR.POST("/create", cont.Create)
  66. aR.POST("/update", cont.Update)
  67. aR.POST("/delete", cont.Delete)
  68. }
  69. }
  70. func TagBind(rg *gin.RouterGroup) {
  71. aR := rg.Group("/tag")
  72. {
  73. cont := &admin.Tag{}
  74. aR.GET("/list", cont.List)
  75. aR.GET("/detail/:id", cont.Detail)
  76. aR.POST("/create", cont.Create)
  77. aR.POST("/update", cont.Update)
  78. aR.POST("/delete", cont.Delete)
  79. }
  80. }
  81. func AddressBookBind(rg *gin.RouterGroup) {
  82. aR := rg.Group("/address_book")
  83. {
  84. cont := &admin.AddressBook{}
  85. aR.GET("/list", cont.List)
  86. aR.GET("/detail/:id", cont.Detail)
  87. aR.POST("/create", cont.Create)
  88. aR.POST("/update", cont.Update)
  89. aR.POST("/delete", cont.Delete)
  90. aR.POST("/shareByWebClient", cont.ShareByWebClient)
  91. arp := aR.Use(middleware.AdminPrivilege())
  92. arp.POST("/batchCreate", cont.BatchCreate)
  93. }
  94. }
  95. func PeerBind(rg *gin.RouterGroup) {
  96. aR := rg.Group("/peer")
  97. {
  98. cont := &admin.Peer{}
  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. arp := aR.Use(middleware.AdminPrivilege())
  105. arp.POST("/batchDelete", cont.BatchDelete)
  106. }
  107. }
  108. func OauthBind(rg *gin.RouterGroup) {
  109. aR := rg.Group("/oauth")
  110. {
  111. cont := &admin.Oauth{}
  112. aR.POST("/confirm", cont.Confirm)
  113. aR.POST("/bind", cont.ToBind)
  114. aR.POST("/bindConfirm", cont.BindConfirm)
  115. aR.POST("/unbind", cont.Unbind)
  116. aR.GET("/info", cont.Info)
  117. }
  118. arp := aR.Use(middleware.AdminPrivilege())
  119. {
  120. cont := &admin.Oauth{}
  121. arp.GET("/list", cont.List)
  122. arp.GET("/detail/:id", cont.Detail)
  123. arp.POST("/create", cont.Create)
  124. arp.POST("/update", cont.Update)
  125. arp.POST("/delete", cont.Delete)
  126. }
  127. }
  128. func LoginLogBind(rg *gin.RouterGroup) {
  129. aR := rg.Group("/login_log")
  130. cont := &admin.LoginLog{}
  131. aR.GET("/list", cont.List)
  132. aR.POST("/delete", cont.Delete)
  133. }
  134. func AuditBind(rg *gin.RouterGroup) {
  135. cont := &admin.Audit{}
  136. aR := rg.Group("/audit_conn").Use(middleware.AdminPrivilege())
  137. aR.GET("/list", cont.ConnList)
  138. aR.POST("/delete", cont.ConnDelete)
  139. afR := rg.Group("/audit_file").Use(middleware.AdminPrivilege())
  140. afR.GET("/list", cont.FileList)
  141. afR.POST("/delete", cont.FileDelete)
  142. }
  143. func AddressBookCollectionBind(rg *gin.RouterGroup) {
  144. aR := rg.Group("/address_book_collection")
  145. {
  146. cont := &admin.AddressBookCollection{}
  147. aR.GET("/list", cont.List)
  148. aR.GET("/detail/:id", cont.Detail)
  149. aR.POST("/create", cont.Create)
  150. aR.POST("/update", cont.Update)
  151. aR.POST("/delete", cont.Delete)
  152. }
  153. }
  154. func AddressBookCollectionRuleBind(rg *gin.RouterGroup) {
  155. aR := rg.Group("/address_book_collection_rule")
  156. {
  157. cont := &admin.AddressBookCollectionRule{}
  158. aR.GET("/list", cont.List)
  159. aR.GET("/detail/:id", cont.Detail)
  160. aR.POST("/create", cont.Create)
  161. aR.POST("/update", cont.Update)
  162. aR.POST("/delete", cont.Delete)
  163. }
  164. }
  165. /*
  166. func FileBind(rg *gin.RouterGroup) {
  167. aR := rg.Group("/file")
  168. {
  169. cont := &admin.File{}
  170. aR.POST("/notify", cont.Notify)
  171. aR.OPTIONS("/oss_token", nil)
  172. aR.OPTIONS("/upload", nil)
  173. aR.GET("/oss_token", cont.OssToken)
  174. aR.POST("/upload", cont.Upload)
  175. }
  176. }*/