admin.go 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285
  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").Use(middleware.AdminPrivilege())
  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.POST("/shareByWebClient", cont.ShareByWebClient)
  98. arp := aR.Use(middleware.AdminPrivilege())
  99. arp.GET("/list", cont.List)
  100. //arp.GET("/detail/:id", cont.Detail)
  101. arp.POST("/create", cont.Create)
  102. arp.POST("/update", cont.Update)
  103. arp.POST("/delete", cont.Delete)
  104. arp.POST("/batchCreate", cont.BatchCreate)
  105. arp.POST("/batchCreateFromPeers", cont.BatchCreateFromPeers)
  106. }
  107. }
  108. func PeerBind(rg *gin.RouterGroup) {
  109. aR := rg.Group("/peer")
  110. aR.POST("/simpleData", (&admin.Peer{}).SimpleData)
  111. aR.Use(middleware.AdminPrivilege())
  112. {
  113. cont := &admin.Peer{}
  114. aR.GET("/list", cont.List)
  115. aR.GET("/detail/:id", cont.Detail)
  116. aR.POST("/create", cont.Create)
  117. aR.POST("/update", cont.Update)
  118. aR.POST("/delete", cont.Delete)
  119. aR.POST("/batchDelete", cont.BatchDelete)
  120. }
  121. }
  122. func OauthBind(rg *gin.RouterGroup) {
  123. aR := rg.Group("/oauth")
  124. {
  125. cont := &admin.Oauth{}
  126. aR.POST("/confirm", cont.Confirm)
  127. aR.POST("/bind", cont.ToBind)
  128. aR.POST("/bindConfirm", cont.BindConfirm)
  129. aR.POST("/unbind", cont.Unbind)
  130. aR.GET("/info", cont.Info)
  131. }
  132. arp := aR.Use(middleware.AdminPrivilege())
  133. {
  134. cont := &admin.Oauth{}
  135. arp.GET("/list", cont.List)
  136. arp.GET("/detail/:id", cont.Detail)
  137. arp.POST("/create", cont.Create)
  138. arp.POST("/update", cont.Update)
  139. arp.POST("/delete", cont.Delete)
  140. }
  141. }
  142. func LoginLogBind(rg *gin.RouterGroup) {
  143. aR := rg.Group("/login_log")
  144. cont := &admin.LoginLog{}
  145. aR.GET("/list", cont.List)
  146. aR.POST("/delete", cont.Delete)
  147. aR.POST("/batchDelete", cont.BatchDelete)
  148. }
  149. func AuditBind(rg *gin.RouterGroup) {
  150. cont := &admin.Audit{}
  151. aR := rg.Group("/audit_conn").Use(middleware.AdminPrivilege())
  152. aR.GET("/list", cont.ConnList)
  153. aR.POST("/delete", cont.ConnDelete)
  154. aR.POST("/batchDelete", cont.BatchConnDelete)
  155. afR := rg.Group("/audit_file").Use(middleware.AdminPrivilege())
  156. afR.GET("/list", cont.FileList)
  157. afR.POST("/delete", cont.FileDelete)
  158. afR.POST("/batchDelete", cont.BatchFileDelete)
  159. }
  160. func AddressBookCollectionBind(rg *gin.RouterGroup) {
  161. aR := rg.Group("/address_book_collection").Use(middleware.AdminPrivilege())
  162. {
  163. cont := &admin.AddressBookCollection{}
  164. aR.GET("/list", cont.List)
  165. aR.GET("/detail/:id", cont.Detail)
  166. aR.POST("/create", cont.Create)
  167. aR.POST("/update", cont.Update)
  168. aR.POST("/delete", cont.Delete)
  169. }
  170. }
  171. func AddressBookCollectionRuleBind(rg *gin.RouterGroup) {
  172. aR := rg.Group("/address_book_collection_rule").Use(middleware.AdminPrivilege())
  173. {
  174. cont := &admin.AddressBookCollectionRule{}
  175. aR.GET("/list", cont.List)
  176. aR.GET("/detail/:id", cont.Detail)
  177. aR.POST("/create", cont.Create)
  178. aR.POST("/update", cont.Update)
  179. aR.POST("/delete", cont.Delete)
  180. }
  181. }
  182. func UserTokenBind(rg *gin.RouterGroup) {
  183. aR := rg.Group("/user_token").Use(middleware.AdminPrivilege())
  184. cont := &admin.UserToken{}
  185. aR.GET("/list", cont.List)
  186. aR.POST("/delete", cont.Delete)
  187. aR.POST("/batchDelete", cont.BatchDelete)
  188. }
  189. func ConfigBind(rg *gin.RouterGroup) {
  190. aR := rg.Group("/config")
  191. rs := &admin.Config{}
  192. aR.GET("/server", rs.ServerConfig)
  193. aR.GET("/app", rs.AppConfig)
  194. aR.GET("/admin", rs.AdminConfig)
  195. }
  196. /*
  197. func FileBind(rg *gin.RouterGroup) {
  198. aR := rg.Group("/file")
  199. {
  200. cont := &admin.File{}
  201. aR.POST("/notify", cont.Notify)
  202. aR.OPTIONS("/oss_token", nil)
  203. aR.OPTIONS("/upload", nil)
  204. aR.GET("/oss_token", cont.OssToken)
  205. aR.POST("/upload", cont.Upload)
  206. }
  207. }*/
  208. func MyBind(rg *gin.RouterGroup) {
  209. {
  210. cont := &my.ShareRecord{}
  211. rg.GET("/my/share_record/list", cont.List)
  212. rg.POST("/my/share_record/delete", cont.Delete)
  213. rg.POST("/my/share_record/batchDelete", cont.BatchDelete)
  214. }
  215. {
  216. cont := &my.AddressBook{}
  217. rg.GET("/my/address_book/list", cont.List)
  218. rg.POST("/my/address_book/create", cont.Create)
  219. rg.POST("/my/address_book/update", cont.Update)
  220. rg.POST("/my/address_book/delete", cont.Delete)
  221. rg.POST("/my/address_book/batchCreateFromPeers", cont.BatchCreateFromPeers)
  222. rg.POST("/my/address_book/batchUpdateTags", cont.BatchUpdateTags)
  223. }
  224. {
  225. cont := &my.Tag{}
  226. rg.GET("/my/tag/list", cont.List)
  227. rg.POST("/my/tag/create", cont.Create)
  228. rg.POST("/my/tag/update", cont.Update)
  229. rg.POST("/my/tag/delete", cont.Delete)
  230. }
  231. {
  232. cont := &my.AddressBookCollection{}
  233. rg.GET("/my/address_book_collection/list", cont.List)
  234. rg.POST("/my/address_book_collection/create", cont.Create)
  235. rg.POST("/my/address_book_collection/update", cont.Update)
  236. rg.POST("/my/address_book_collection/delete", cont.Delete)
  237. }
  238. {
  239. cont := &my.AddressBookCollectionRule{}
  240. rg.GET("/my/address_book_collection_rule/list", cont.List)
  241. rg.POST("/my/address_book_collection_rule/create", cont.Create)
  242. rg.POST("/my/address_book_collection_rule/update", cont.Update)
  243. rg.POST("/my/address_book_collection_rule/delete", cont.Delete)
  244. }
  245. {
  246. cont := &my.Peer{}
  247. rg.GET("/my/peer/list", cont.List)
  248. }
  249. }
  250. func ShareRecordBind(rg *gin.RouterGroup) {
  251. aR := rg.Group("/share_record").Use(middleware.AdminPrivilege())
  252. {
  253. cont := &admin.ShareRecord{}
  254. aR.GET("/list", cont.List)
  255. aR.POST("/delete", cont.Delete)
  256. aR.POST("/batchDelete", cont.BatchDelete)
  257. }
  258. }