(router *gin.Engine)
| 9 | ) |
| 10 | |
| 11 | func SetApiRouter(router *gin.Engine) { |
| 12 | apiRouter := router.Group("/api") |
| 13 | apiRouter.Use(gzip.Gzip(gzip.DefaultCompression)) |
| 14 | apiRouter.Use(middleware.GlobalAPIRateLimit()) |
| 15 | { |
| 16 | apiRouter.GET("/setup", controller.GetSetup) |
| 17 | apiRouter.POST("/setup", controller.PostSetup) |
| 18 | apiRouter.GET("/status", controller.GetStatus) |
| 19 | apiRouter.GET("/uptime/status", controller.GetUptimeKumaStatus) |
| 20 | apiRouter.GET("/models", middleware.UserAuth(), controller.DashboardListModels) |
| 21 | apiRouter.GET("/status/test", middleware.AdminAuth(), controller.TestStatus) |
| 22 | apiRouter.GET("/notice", controller.GetNotice) |
| 23 | apiRouter.GET("/about", controller.GetAbout) |
| 24 | //apiRouter.GET("/midjourney", controller.GetMidjourney) |
| 25 | apiRouter.GET("/home_page_content", controller.GetHomePageContent) |
| 26 | apiRouter.GET("/pricing", middleware.TryUserAuth(), controller.GetPricing) |
| 27 | apiRouter.GET("/verification", middleware.CriticalRateLimit(), middleware.TurnstileCheck(), controller.SendEmailVerification) |
| 28 | apiRouter.GET("/reset_password", middleware.CriticalRateLimit(), middleware.TurnstileCheck(), controller.SendPasswordResetEmail) |
| 29 | apiRouter.POST("/user/reset", middleware.CriticalRateLimit(), controller.ResetPassword) |
| 30 | apiRouter.GET("/oauth/github", middleware.CriticalRateLimit(), controller.GitHubOAuth) |
| 31 | apiRouter.GET("/oauth/oidc", middleware.CriticalRateLimit(), controller.OidcAuth) |
| 32 | apiRouter.GET("/oauth/linuxdo", middleware.CriticalRateLimit(), controller.LinuxdoOAuth) |
| 33 | apiRouter.GET("/oauth/state", middleware.CriticalRateLimit(), controller.GenerateOAuthCode) |
| 34 | apiRouter.GET("/oauth/wechat", middleware.CriticalRateLimit(), controller.WeChatAuth) |
| 35 | apiRouter.GET("/oauth/wechat/bind", middleware.CriticalRateLimit(), controller.WeChatBind) |
| 36 | apiRouter.GET("/oauth/email/bind", middleware.CriticalRateLimit(), controller.EmailBind) |
| 37 | apiRouter.GET("/oauth/telegram/login", middleware.CriticalRateLimit(), controller.TelegramLogin) |
| 38 | apiRouter.GET("/oauth/telegram/bind", middleware.CriticalRateLimit(), controller.TelegramBind) |
| 39 | apiRouter.GET("/ratio_config", middleware.CriticalRateLimit(), controller.GetRatioConfig) |
| 40 | |
| 41 | apiRouter.POST("/stripe/webhook", controller.StripeWebhook) |
| 42 | |
| 43 | userRoute := apiRouter.Group("/user") |
| 44 | { |
| 45 | userRoute.POST("/register", middleware.CriticalRateLimit(), middleware.TurnstileCheck(), controller.Register) |
| 46 | userRoute.POST("/login", middleware.CriticalRateLimit(), middleware.TurnstileCheck(), controller.Login) |
| 47 | //userRoute.POST("/tokenlog", middleware.CriticalRateLimit(), controller.TokenLog) |
| 48 | userRoute.GET("/logout", controller.Logout) |
| 49 | userRoute.GET("/epay/notify", controller.EpayNotify) |
| 50 | userRoute.GET("/groups", controller.GetUserGroups) |
| 51 | |
| 52 | selfRoute := userRoute.Group("/") |
| 53 | selfRoute.Use(middleware.UserAuth()) |
| 54 | { |
| 55 | selfRoute.GET("/self/groups", controller.GetUserGroups) |
| 56 | selfRoute.GET("/self", controller.GetSelf) |
| 57 | selfRoute.GET("/models", controller.GetUserModels) |
| 58 | selfRoute.PUT("/self", controller.UpdateSelf) |
| 59 | selfRoute.DELETE("/self", controller.DeleteSelf) |
| 60 | selfRoute.GET("/token", controller.GenerateAccessToken) |
| 61 | selfRoute.GET("/aff", controller.GetAffCode) |
| 62 | selfRoute.POST("/topup", middleware.CriticalRateLimit(), controller.TopUp) |
| 63 | selfRoute.POST("/pay", middleware.CriticalRateLimit(), controller.RequestEpay) |
| 64 | selfRoute.POST("/amount", controller.RequestAmount) |
| 65 | selfRoute.POST("/stripe/pay", middleware.CriticalRateLimit(), controller.RequestStripePay) |
| 66 | selfRoute.POST("/stripe/amount", controller.RequestStripeAmount) |
| 67 | selfRoute.POST("/aff_transfer", controller.TransferAffQuota) |
| 68 | selfRoute.PUT("/setting", controller.UpdateUserSetting) |
no test coverage detected