admin.go 6.3 KB

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