| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- package router
- import (
- _ "Gwen/docs/api"
- "Gwen/global"
- "Gwen/http/controller/api"
- "Gwen/http/middleware"
- "github.com/gin-gonic/gin"
- swaggerFiles "github.com/swaggo/files"
- ginSwagger "github.com/swaggo/gin-swagger"
- "net/http"
- )
- func ApiInit(g *gin.Engine) {
- //g.Use(middleware.Cors())
- //swagger
- g.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler, ginSwagger.InstanceName("api")))
- frg := g.Group("/api")
- i := &api.Index{}
- frg.GET("/", i.Index)
- frg.POST("/heartbeat", i.Heartbeat)
- {
- l := &api.Login{}
- // 如果返回oidc则可以通过oidc登录
- frg.GET("/login-options", l.LoginOptions)
- frg.POST("/login", l.Login)
- }
- {
- o := &api.Oauth{}
- // [method:POST] [uri:/api/oidc/auth]
- frg.POST("/oidc/auth", o.OidcAuth)
- // [method:GET] [uri:/api/oidc/auth-query?code=abc&id=xxxxx&uuid=xxxxx]
- frg.GET("/oidc/auth-query", o.OidcAuthQuery)
- //api/oauth/callback
- frg.GET("/oauth/callback", o.OauthCallback)
- frg.GET("/oauth/login", o.OauthCallback)
- }
- {
- pe := &api.Peer{}
- //提交系统信息
- frg.POST("/sysinfo", pe.SysInfo)
- }
- if global.Config.App.WebClient == 1 {
- WebClientRoutes(frg)
- }
- frg.Use(middleware.RustAuth())
- {
- u := &api.User{}
- frg.GET("/user/info", u.Info)
- frg.POST("/currentUser", u.Info)
- }
- {
- l := &api.Login{}
- frg.POST("/logout", l.Logout)
- }
- {
- gr := &api.Group{}
- frg.GET("/users", gr.Users)
- frg.GET("/peers", gr.Peers)
- }
- {
- ab := &api.Ab{}
- //获取地址
- frg.GET("/ab", ab.Ab)
- //更新地址
- frg.POST("/ab", ab.UpAb)
- }
- PersonalRoutes(frg)
- //访问静态文件
- g.StaticFS("/upload", http.Dir(global.Config.Gin.ResourcesPath+"/public/upload"))
- }
- func PersonalRoutes(frg *gin.RouterGroup) {
- {
- ab := &api.Ab{}
- frg.POST("/ab/personal", ab.Personal)
- //[method:POST] [uri:/api/ab/settings] Request
- frg.POST("/ab/settings", ab.Settings)
- // [method:POST] [uri:/api/ab/shared/profiles?current=1&pageSize=100]
- frg.POST("/ab/shared/profiles", ab.SharedProfiles)
- //[method:POST] [uri:/api/ab/peers?current=1&pageSize=100&ab=1]
- frg.POST("/ab/peers", ab.Peers)
- // [method:POST] [uri:/api/ab/tags/1]
- frg.POST("/ab/tags/:guid", ab.PTags)
- //[method:POST] api/ab/peer/add/1
- frg.POST("/ab/peer/add/:guid", ab.PeerAdd)
- //[method:DELETE] [uri:/api/ab/peer/1]
- frg.DELETE("/ab/peer/:guid", ab.PeerDel)
- //[method:PUT] [uri:/api/ab/peer/update/1]
- frg.PUT("/ab/peer/update/:guid", ab.PeerUpdate)
- //[method:POST] [uri:/api/ab/tag/add/1]
- frg.POST("/ab/tag/add/:guid", ab.TagAdd)
- //[method:PUT] [uri:/api/ab/tag/rename/1]
- frg.PUT("/ab/tag/rename/:guid", ab.TagRename)
- //[method:PUT] [uri:/api/ab/tag/update/1]
- frg.PUT("/ab/tag/update/:guid", ab.TagUpdate)
- //[method:DELETE] [uri:/api/ab/tag/1]
- frg.DELETE("/ab/tag/:guid", ab.TagDel)
- }
- }
- func WebClientRoutes(frg *gin.RouterGroup) {
- w := &api.WebClient{}
- {
- frg.POST("/shared-peer", w.SharedPeer)
- }
- {
- frg.POST("/server-config", middleware.RustAuth(), w.ServerConfig)
- }
- }
|