admin.go 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219
  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.POST("/user/register", (&admin.User{}).Register)
  17. adg.Use(middleware.AdminAuth())
  18. //FileBind(adg)
  19. UserBind(adg)
  20. GroupBind(adg)
  21. TagBind(adg)
  22. AddressBookBind(adg)
  23. PeerBind(adg)
  24. OauthBind(adg)
  25. LoginLogBind(adg)
  26. AuditBind(adg)
  27. AddressBookCollectionBind(adg)
  28. AddressBookCollectionRuleBind(adg)
  29. UserTokenBind(adg)
  30. ConfigBind(adg)
  31. //deprecated by ConfigBind
  32. rs := &admin.Rustdesk{}
  33. adg.GET("/server-config", rs.ServerConfig)
  34. adg.GET("/app-config", rs.AppConfig)
  35. //deprecated end
  36. //访问静态文件
  37. //g.StaticFS("/upload", http.Dir(global.Config.Gin.ResourcesPath+"/upload"))
  38. }
  39. func LoginBind(rg *gin.RouterGroup) {
  40. cont := &admin.Login{}
  41. rg.POST("/login", cont.Login)
  42. rg.POST("/logout", cont.Logout)
  43. rg.GET("/login-options", cont.LoginOptions)
  44. rg.POST("/oidc/auth", cont.OidcAuth)
  45. rg.GET("/oidc/auth-query", cont.OidcAuthQuery)
  46. }
  47. func UserBind(rg *gin.RouterGroup) {
  48. aR := rg.Group("/user")
  49. {
  50. cont := &admin.User{}
  51. aR.GET("/current", cont.Current)
  52. aR.POST("/changeCurPwd", cont.ChangeCurPwd)
  53. aR.POST("/myOauth", cont.MyOauth)
  54. aR.GET("/myPeer", cont.MyPeer)
  55. aR.POST("/groupUsers", cont.GroupUsers)
  56. }
  57. aRP := rg.Group("/user").Use(middleware.AdminPrivilege())
  58. {
  59. cont := &admin.User{}
  60. aRP.GET("/list", cont.List)
  61. aRP.GET("/detail/:id", cont.Detail)
  62. aRP.POST("/create", cont.Create)
  63. aRP.POST("/update", cont.Update)
  64. aRP.POST("/delete", cont.Delete)
  65. aRP.POST("/changePwd", cont.UpdatePassword)
  66. }
  67. }
  68. func GroupBind(rg *gin.RouterGroup) {
  69. aR := rg.Group("/group").Use(middleware.AdminPrivilege())
  70. {
  71. cont := &admin.Group{}
  72. aR.GET("/list", cont.List)
  73. aR.GET("/detail/:id", cont.Detail)
  74. aR.POST("/create", cont.Create)
  75. aR.POST("/update", cont.Update)
  76. aR.POST("/delete", cont.Delete)
  77. }
  78. }
  79. func TagBind(rg *gin.RouterGroup) {
  80. aR := rg.Group("/tag")
  81. {
  82. cont := &admin.Tag{}
  83. aR.GET("/list", cont.List)
  84. aR.GET("/detail/:id", cont.Detail)
  85. aR.POST("/create", cont.Create)
  86. aR.POST("/update", cont.Update)
  87. aR.POST("/delete", cont.Delete)
  88. }
  89. }
  90. func AddressBookBind(rg *gin.RouterGroup) {
  91. aR := rg.Group("/address_book")
  92. {
  93. cont := &admin.AddressBook{}
  94. aR.GET("/list", cont.List)
  95. aR.GET("/detail/:id", cont.Detail)
  96. aR.POST("/create", cont.Create)
  97. aR.POST("/update", cont.Update)
  98. aR.POST("/delete", cont.Delete)
  99. aR.POST("/shareByWebClient", cont.ShareByWebClient)
  100. arp := aR.Use(middleware.AdminPrivilege())
  101. arp.POST("/batchCreate", cont.BatchCreate)
  102. }
  103. }
  104. func PeerBind(rg *gin.RouterGroup) {
  105. aR := rg.Group("/peer")
  106. aR.POST("/simpleData", (&admin.Peer{}).SimpleData)
  107. aR.Use(middleware.AdminPrivilege())
  108. {
  109. cont := &admin.Peer{}
  110. aR.GET("/list", cont.List)
  111. aR.GET("/detail/:id", cont.Detail)
  112. aR.POST("/create", cont.Create)
  113. aR.POST("/update", cont.Update)
  114. aR.POST("/delete", cont.Delete)
  115. aR.POST("/batchDelete", cont.BatchDelete)
  116. }
  117. }
  118. func OauthBind(rg *gin.RouterGroup) {
  119. aR := rg.Group("/oauth")
  120. {
  121. cont := &admin.Oauth{}
  122. aR.POST("/confirm", cont.Confirm)
  123. aR.POST("/bind", cont.ToBind)
  124. aR.POST("/bindConfirm", cont.BindConfirm)
  125. aR.POST("/unbind", cont.Unbind)
  126. aR.GET("/info", cont.Info)
  127. }
  128. arp := aR.Use(middleware.AdminPrivilege())
  129. {
  130. cont := &admin.Oauth{}
  131. arp.GET("/list", cont.List)
  132. arp.GET("/detail/:id", cont.Detail)
  133. arp.POST("/create", cont.Create)
  134. arp.POST("/update", cont.Update)
  135. arp.POST("/delete", cont.Delete)
  136. }
  137. }
  138. func LoginLogBind(rg *gin.RouterGroup) {
  139. aR := rg.Group("/login_log")
  140. cont := &admin.LoginLog{}
  141. aR.GET("/list", cont.List)
  142. aR.POST("/delete", cont.Delete)
  143. aR.POST("/batchDelete", cont.BatchDelete)
  144. }
  145. func AuditBind(rg *gin.RouterGroup) {
  146. cont := &admin.Audit{}
  147. aR := rg.Group("/audit_conn").Use(middleware.AdminPrivilege())
  148. aR.GET("/list", cont.ConnList)
  149. aR.POST("/delete", cont.ConnDelete)
  150. aR.POST("/batchDelete", cont.BatchConnDelete)
  151. afR := rg.Group("/audit_file").Use(middleware.AdminPrivilege())
  152. afR.GET("/list", cont.FileList)
  153. afR.POST("/delete", cont.FileDelete)
  154. afR.POST("/batchDelete", cont.BatchFileDelete)
  155. }
  156. func AddressBookCollectionBind(rg *gin.RouterGroup) {
  157. aR := rg.Group("/address_book_collection")
  158. {
  159. cont := &admin.AddressBookCollection{}
  160. aR.GET("/list", cont.List)
  161. aR.GET("/detail/:id", cont.Detail)
  162. aR.POST("/create", cont.Create)
  163. aR.POST("/update", cont.Update)
  164. aR.POST("/delete", cont.Delete)
  165. }
  166. }
  167. func AddressBookCollectionRuleBind(rg *gin.RouterGroup) {
  168. aR := rg.Group("/address_book_collection_rule")
  169. {
  170. cont := &admin.AddressBookCollectionRule{}
  171. aR.GET("/list", cont.List)
  172. aR.GET("/detail/:id", cont.Detail)
  173. aR.POST("/create", cont.Create)
  174. aR.POST("/update", cont.Update)
  175. aR.POST("/delete", cont.Delete)
  176. }
  177. }
  178. func UserTokenBind(rg *gin.RouterGroup) {
  179. aR := rg.Group("/user_token").Use(middleware.AdminPrivilege())
  180. cont := &admin.UserToken{}
  181. aR.GET("/list", cont.List)
  182. aR.POST("/delete", cont.Delete)
  183. }
  184. func ConfigBind(rg *gin.RouterGroup) {
  185. aR := rg.Group("/config")
  186. rs := &admin.Config{}
  187. aR.GET("/server", rs.ServerConfig)
  188. aR.GET("/app", rs.AppConfig)
  189. aR.GET("/admin", rs.AdminConfig)
  190. }
  191. /*
  192. func FileBind(rg *gin.RouterGroup) {
  193. aR := rg.Group("/file")
  194. {
  195. cont := &admin.File{}
  196. aR.POST("/notify", cont.Notify)
  197. aR.OPTIONS("/oss_token", nil)
  198. aR.OPTIONS("/upload", nil)
  199. aR.GET("/oss_token", cont.OssToken)
  200. aR.POST("/upload", cont.Upload)
  201. }
  202. }*/