api.go 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. package router
  2. import (
  3. _ "Gwen/docs/api"
  4. "Gwen/global"
  5. "Gwen/http/controller/api"
  6. "Gwen/http/middleware"
  7. "github.com/gin-gonic/gin"
  8. swaggerFiles "github.com/swaggo/files"
  9. ginSwagger "github.com/swaggo/gin-swagger"
  10. "net/http"
  11. )
  12. func ApiInit(g *gin.Engine) {
  13. //g.Use(middleware.Cors())
  14. //swagger
  15. g.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler, ginSwagger.InstanceName("api")))
  16. frg := g.Group("/api")
  17. i := &api.Index{}
  18. frg.GET("/", i.Index)
  19. frg.POST("/heartbeat", i.Heartbeat)
  20. {
  21. l := &api.Login{}
  22. // 如果返回oidc则可以通过oidc登录
  23. frg.GET("/login-options", l.LoginOptions)
  24. frg.POST("/login", l.Login)
  25. }
  26. {
  27. o := &api.Oauth{}
  28. // [method:POST] [uri:/api/oidc/auth]
  29. frg.POST("/oidc/auth", o.OidcAuth)
  30. // [method:GET] [uri:/api/oidc/auth-query?code=abc&id=xxxxx&uuid=xxxxx]
  31. frg.GET("/oidc/auth-query", o.OidcAuthQuery)
  32. //api/oauth/callback
  33. frg.GET("/oauth/callback", o.OauthCallback)
  34. frg.GET("/oauth/login", o.OauthCallback)
  35. }
  36. {
  37. pe := &api.Peer{}
  38. //提交系统信息
  39. frg.POST("/sysinfo", pe.SysInfo)
  40. }
  41. frg.Use(middleware.RustAuth())
  42. {
  43. w := &api.WebClient{}
  44. frg.POST("/server-config", w.ServerConfig)
  45. }
  46. {
  47. u := &api.User{}
  48. frg.GET("/user/info", u.Info)
  49. frg.POST("/currentUser", u.Info)
  50. }
  51. {
  52. l := &api.Login{}
  53. frg.POST("/logout", l.Logout)
  54. }
  55. {
  56. gr := &api.Group{}
  57. frg.GET("/users", gr.Users)
  58. frg.GET("/peers", gr.Peers)
  59. }
  60. {
  61. ab := &api.Ab{}
  62. //获取地址
  63. frg.GET("/ab", ab.Ab)
  64. //更新地址
  65. frg.POST("/ab", ab.UpAb)
  66. }
  67. PersonalRoutes(frg)
  68. //访问静态文件
  69. g.StaticFS("/upload", http.Dir(global.Config.Gin.ResourcesPath+"/public/upload"))
  70. }
  71. func PersonalRoutes(frg *gin.RouterGroup) {
  72. {
  73. ab := &api.Ab{}
  74. frg.POST("/ab/personal", ab.Personal)
  75. //[method:POST] [uri:/api/ab/settings] Request
  76. frg.POST("/ab/settings", ab.Settings)
  77. // [method:POST] [uri:/api/ab/shared/profiles?current=1&pageSize=100]
  78. frg.POST("/ab/shared/profiles", ab.SharedProfiles)
  79. //[method:POST] [uri:/api/ab/peers?current=1&pageSize=100&ab=1]
  80. frg.POST("/ab/peers", ab.Peers)
  81. // [method:POST] [uri:/api/ab/tags/1]
  82. frg.POST("/ab/tags/:guid", ab.PTags)
  83. //[method:POST] api/ab/peer/add/1
  84. frg.POST("/ab/peer/add/:guid", ab.PeerAdd)
  85. //[method:DELETE] [uri:/api/ab/peer/1]
  86. frg.DELETE("/ab/peer/:guid", ab.PeerDel)
  87. //[method:PUT] [uri:/api/ab/peer/update/1]
  88. frg.PUT("/ab/peer/update/:guid", ab.PeerUpdate)
  89. //[method:POST] [uri:/api/ab/tag/add/1]
  90. frg.POST("/ab/tag/add/:guid", ab.TagAdd)
  91. //[method:PUT] [uri:/api/ab/tag/rename/1]
  92. frg.PUT("/ab/tag/rename/:guid", ab.TagRename)
  93. //[method:PUT] [uri:/api/ab/tag/update/1]
  94. frg.PUT("/ab/tag/update/:guid", ab.TagUpdate)
  95. //[method:DELETE] [uri:/api/ab/tag/1]
  96. frg.DELETE("/ab/tag/:guid", ab.TagDel)
  97. }
  98. }