// Code generated by goctl. DO NOT EDIT. // goctl 1.7.6 package handler import ( "net/http" admin "apps/backend/internal/handler/admin" auth "apps/backend/internal/handler/auth" compose "apps/backend/internal/handler/compose" extension "apps/backend/internal/handler/extension" inspire "apps/backend/internal/handler/inspire" invite "apps/backend/internal/handler/invite" jobs "apps/backend/internal/handler/jobs" media "apps/backend/internal/handler/media" mentions "apps/backend/internal/handler/mentions" notifications "apps/backend/internal/handler/notifications" outbox "apps/backend/internal/handler/outbox" ownposts "apps/backend/internal/handler/ownposts" personas "apps/backend/internal/handler/personas" ping "apps/backend/internal/handler/ping" plays "apps/backend/internal/handler/plays" proxy "apps/backend/internal/handler/proxy" research "apps/backend/internal/handler/research" scout "apps/backend/internal/handler/scout" settings "apps/backend/internal/handler/settings" threads "apps/backend/internal/handler/threads" usage "apps/backend/internal/handler/usage" "apps/backend/internal/svc" "github.com/zeromicro/go-zero/rest" ) func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) { server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthJWT, serverCtx.AdminAuth}, []rest.Route{ { Method: http.MethodGet, Path: "/members", Handler: admin.ListMembersHandler(serverCtx), }, { Method: http.MethodPost, Path: "/members", Handler: admin.CreateMemberHandler(serverCtx), }, { Method: http.MethodGet, Path: "/members/:uid", Handler: admin.GetMemberHandler(serverCtx), }, { Method: http.MethodPost, Path: "/members/:uid/email-verified", Handler: admin.SetEmailVerifiedHandler(serverCtx), }, { Method: http.MethodGet, Path: "/members/:uid/identities", Handler: admin.ListMemberIdentitiesHandler(serverCtx), }, { Method: http.MethodPost, Path: "/members/:uid/reset-password", Handler: admin.AdminResetPasswordHandler(serverCtx), }, { Method: http.MethodPost, Path: "/members/:uid/roles", Handler: admin.SetRolesHandler(serverCtx), }, { Method: http.MethodPost, Path: "/members/:uid/status", Handler: admin.SetStatusHandler(serverCtx), }, { Method: http.MethodPost, Path: "/members/:uid/suspend", Handler: admin.SetSuspendedHandler(serverCtx), }, }..., ), rest.WithPrefix("/api/v1/admin"), ) server.AddRoutes( []rest.Route{ { Method: http.MethodPost, Path: "/login", Handler: auth.LoginHandler(serverCtx), }, { Method: http.MethodPost, Path: "/logout", Handler: auth.LogoutHandler(serverCtx), }, { Method: http.MethodPost, Path: "/oauth/:provider/callback", Handler: auth.OAuthCallbackHandler(serverCtx), }, { Method: http.MethodPost, Path: "/oauth/:provider/start", Handler: auth.OAuthStartHandler(serverCtx), }, { Method: http.MethodPost, Path: "/password/request-reset", Handler: auth.RequestPasswordResetHandler(serverCtx), }, { Method: http.MethodPost, Path: "/password/reset", Handler: auth.ResetPasswordHandler(serverCtx), }, { Method: http.MethodPost, Path: "/refresh", Handler: auth.RefreshHandler(serverCtx), }, { Method: http.MethodPost, Path: "/register", Handler: auth.RegisterHandler(serverCtx), }, }, rest.WithPrefix("/api/v1/auth"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthJWT}, []rest.Route{ { Method: http.MethodPost, Path: "/bind", Handler: auth.BindAccountHandler(serverCtx), }, { Method: http.MethodPost, Path: "/email/send-code", Handler: auth.SendEmailCodeHandler(serverCtx), }, { Method: http.MethodPost, Path: "/email/verify", Handler: auth.VerifyEmailHandler(serverCtx), }, { Method: http.MethodGet, Path: "/identities", Handler: auth.ListIdentitiesHandler(serverCtx), }, { Method: http.MethodPost, Path: "/logout-all", Handler: auth.LogoutAllHandler(serverCtx), }, { Method: http.MethodGet, Path: "/me", Handler: auth.MeHandler(serverCtx), }, { Method: http.MethodPatch, Path: "/profile", Handler: auth.UpdateProfileHandler(serverCtx), }, { Method: http.MethodPut, Path: "/profile", Handler: auth.UpdateProfilePutHandler(serverCtx), }, { Method: http.MethodPost, Path: "/unbind", Handler: auth.UnbindAccountHandler(serverCtx), }, }..., ), rest.WithPrefix("/api/v1/auth"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthJWT}, []rest.Route{ { Method: http.MethodPost, Path: "/analyze-viral", Handler: compose.ComposeAnalyzeViralHandler(serverCtx), }, { Method: http.MethodPost, Path: "/mimic", Handler: compose.ComposeMimicHandler(serverCtx), }, { Method: http.MethodPost, Path: "/persona-preview", Handler: compose.ComposePersonaPreviewHandler(serverCtx), }, { Method: http.MethodPost, Path: "/publish-single", Handler: compose.ComposePublishSingleHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/compose"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthJWT}, []rest.Route{ { Method: http.MethodGet, Path: "/download", Handler: extension.DownloadExtensionZipHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/extension"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthJWT}, []rest.Route{ { Method: http.MethodPost, Path: "/chat", Handler: inspire.InspireChatHandler(serverCtx), }, { Method: http.MethodGet, Path: "/elements", Handler: inspire.ListInspireElementsHandler(serverCtx), }, { Method: http.MethodPost, Path: "/elements", Handler: inspire.SaveInspireElementHandler(serverCtx), }, { Method: http.MethodDelete, Path: "/elements/:id", Handler: inspire.RemoveInspireElementHandler(serverCtx), }, { Method: http.MethodPost, Path: "/prompt-preview", Handler: inspire.InspirePromptPreviewHandler(serverCtx), }, { Method: http.MethodGet, Path: "/session", Handler: inspire.GetInspireSessionHandler(serverCtx), }, { Method: http.MethodPost, Path: "/session/clear", Handler: inspire.ClearInspireSessionHandler(serverCtx), }, { Method: http.MethodGet, Path: "/sessions", Handler: inspire.ListInspireSessionsHandler(serverCtx), }, { Method: http.MethodPost, Path: "/sessions", Handler: inspire.CreateInspireSessionHandler(serverCtx), }, { Method: http.MethodGet, Path: "/sessions/:id", Handler: inspire.GetInspireSessionByIdHandler(serverCtx), }, { Method: http.MethodDelete, Path: "/sessions/:id", Handler: inspire.DeleteInspireSessionHandler(serverCtx), }, { Method: http.MethodPost, Path: "/sessions/:id/activate", Handler: inspire.ActivateInspireSessionHandler(serverCtx), }, { Method: http.MethodGet, Path: "/trends", Handler: inspire.ListTrendsHandler(serverCtx), }, { Method: http.MethodPost, Path: "/trends/refresh", Handler: inspire.RefreshTrendsHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/inspire"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthJWT}, []rest.Route{ { Method: http.MethodPost, Path: "/apply", Handler: invite.ApplyInviteCodeHandler(serverCtx), }, { Method: http.MethodGet, Path: "/me", Handler: invite.GetMyInviteNetworkHandler(serverCtx), }, }..., ), rest.WithPrefix("/api/v1/invite"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthJWT, serverCtx.AdminAuth}, []rest.Route{ { Method: http.MethodPost, Path: "/move", Handler: invite.MoveInviteMemberHandler(serverCtx), }, { Method: http.MethodGet, Path: "/parent-candidates", Handler: invite.ListInviteParentCandidatesHandler(serverCtx), }, { Method: http.MethodGet, Path: "/tree", Handler: invite.GetInviteTreeHandler(serverCtx), }, }..., ), rest.WithPrefix("/api/v1/invite"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthJWT}, []rest.Route{ { Method: http.MethodGet, Path: "/", Handler: jobs.ListJobsHandler(serverCtx), }, { Method: http.MethodGet, Path: "/:id", Handler: jobs.GetJobHandler(serverCtx), }, { Method: http.MethodDelete, Path: "/:id", Handler: jobs.DeleteJobHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/jobs"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthJWT, serverCtx.AdminAuth}, []rest.Route{ { Method: http.MethodPost, Path: "/demo", Handler: jobs.StartDemoJobHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/jobs"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthJWT}, []rest.Route{ { Method: http.MethodPost, Path: "/upload", Handler: media.UploadHandler(serverCtx), }, }..., ), rest.WithPrefix("/api/v1/media"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthJWT}, []rest.Route{ { Method: http.MethodPost, Path: "/generate-image", Handler: media.GenerateImageHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/media"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthJWT}, []rest.Route{ { Method: http.MethodGet, Path: "/", Handler: mentions.ListMentionsHandler(serverCtx), }, { Method: http.MethodPost, Path: "/:id/generate-reply", Handler: mentions.MentionGenerateReplyHandler(serverCtx), }, { Method: http.MethodPost, Path: "/:id/mark-replied", Handler: mentions.MentionMarkRepliedHandler(serverCtx), }, { Method: http.MethodPost, Path: "/:id/skip", Handler: mentions.MentionSkipHandler(serverCtx), }, { Method: http.MethodPost, Path: "/sync", Handler: mentions.SyncMentionsHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/mentions"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthJWT}, []rest.Route{ { Method: http.MethodGet, Path: "/", Handler: notifications.ListNotificationsHandler(serverCtx), }, { Method: http.MethodPost, Path: "/:id/read", Handler: notifications.MarkNotificationReadHandler(serverCtx), }, { Method: http.MethodPost, Path: "/read-all", Handler: notifications.MarkAllNotificationsReadHandler(serverCtx), }, { Method: http.MethodGet, Path: "/unread-count", Handler: notifications.UnreadNotificationCountHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/notifications"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthJWT}, []rest.Route{ { Method: http.MethodGet, Path: "/", Handler: outbox.ListOutboxHandler(serverCtx), }, { Method: http.MethodGet, Path: "/:id", Handler: outbox.GetOutboxHandler(serverCtx), }, { Method: http.MethodDelete, Path: "/:id", Handler: outbox.RemoveOutboxHandler(serverCtx), }, { Method: http.MethodPost, Path: "/:id/steps/:stepId/retry", Handler: outbox.RetryOutboxStepHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/outbox"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthJWT}, []rest.Route{ { Method: http.MethodGet, Path: "/", Handler: ownposts.ListOwnPostsHandler(serverCtx), }, { Method: http.MethodPost, Path: "/analyze", Handler: ownposts.OwnPostAnalyzeHandler(serverCtx), }, { Method: http.MethodPost, Path: "/generate-reply", Handler: ownposts.OwnPostGenerateReplyHandler(serverCtx), }, { Method: http.MethodGet, Path: "/last-synced-at", Handler: ownposts.OwnPostsLastSyncedHandler(serverCtx), }, { Method: http.MethodPost, Path: "/load-replies", Handler: ownposts.OwnPostLoadRepliesHandler(serverCtx), }, { Method: http.MethodPost, Path: "/send-reply", Handler: ownposts.OwnPostSendReplyHandler(serverCtx), }, { Method: http.MethodPost, Path: "/sync", Handler: ownposts.SyncOwnPostsHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/own-posts"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthJWT}, []rest.Route{ { Method: http.MethodGet, Path: "/", Handler: personas.ListPersonasHandler(serverCtx), }, { Method: http.MethodPost, Path: "/", Handler: personas.SavePersonaHandler(serverCtx), }, { Method: http.MethodGet, Path: "/:id", Handler: personas.GetPersonaHandler(serverCtx), }, { Method: http.MethodDelete, Path: "/:id", Handler: personas.RemovePersonaHandler(serverCtx), }, { Method: http.MethodPost, Path: "/:id/analyze-account", Handler: personas.AnalyzePersonaAccountHandler(serverCtx), }, { Method: http.MethodPost, Path: "/:id/analyze-text", Handler: personas.AnalyzePersonaTextHandler(serverCtx), }, { Method: http.MethodGet, Path: "/active", Handler: personas.GetActivePersonaHandler(serverCtx), }, { Method: http.MethodPost, Path: "/active", Handler: personas.SetActivePersonaHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/personas"), ) server.AddRoutes( []rest.Route{ { Method: http.MethodGet, Path: "/health", Handler: ping.HealthHandler(serverCtx), }, { Method: http.MethodGet, Path: "/ping", Handler: ping.PingHandler(serverCtx), }, }, rest.WithPrefix("/api/v1"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthJWT}, []rest.Route{ { Method: http.MethodGet, Path: "/", Handler: plays.ListPlaysHandler(serverCtx), }, { Method: http.MethodPost, Path: "/", Handler: plays.SavePlayHandler(serverCtx), }, { Method: http.MethodGet, Path: "/:id", Handler: plays.GetPlayHandler(serverCtx), }, { Method: http.MethodDelete, Path: "/:id", Handler: plays.RemovePlayHandler(serverCtx), }, { Method: http.MethodPost, Path: "/:id/generate-script", Handler: plays.GeneratePlayScriptHandler(serverCtx), }, { Method: http.MethodPost, Path: "/:id/submit", Handler: plays.SubmitPlayHandler(serverCtx), }, { Method: http.MethodGet, Path: "/by-external", Handler: plays.ListPlaysByExternalHandler(serverCtx), }, { Method: http.MethodGet, Path: "/by-post", Handler: plays.ListPlaysByPostHandler(serverCtx), }, { Method: http.MethodPost, Path: "/generate-step", Handler: plays.GeneratePlayStepHandler(serverCtx), }, { Method: http.MethodPost, Path: "/resolve-external", Handler: plays.ResolveExternalLinkHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/plays"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthJWT}, []rest.Route{ { Method: http.MethodPost, Path: "/ai/complete", Handler: proxy.AICompleteHandler(serverCtx), }, { Method: http.MethodPost, Path: "/search", Handler: proxy.ExaSearchHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/proxy"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthJWT}, []rest.Route{ { Method: http.MethodPost, Path: "/search", Handler: research.ResearchSearchHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/research"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthJWT}, []rest.Route{ { Method: http.MethodGet, Path: "/brands", Handler: scout.ListBrandsHandler(serverCtx), }, { Method: http.MethodPost, Path: "/brands", Handler: scout.SaveBrandHandler(serverCtx), }, { Method: http.MethodGet, Path: "/brands-active", Handler: scout.GetActiveBrandHandler(serverCtx), }, { Method: http.MethodPost, Path: "/brands-active", Handler: scout.SetActiveBrandHandler(serverCtx), }, { Method: http.MethodGet, Path: "/brands/:id", Handler: scout.GetBrandHandler(serverCtx), }, { Method: http.MethodDelete, Path: "/brands/:id", Handler: scout.RemoveBrandHandler(serverCtx), }, { Method: http.MethodPost, Path: "/brief", Handler: scout.PrepareBriefHandler(serverCtx), }, { Method: http.MethodPost, Path: "/crawler-session", Handler: scout.SetCrawlerSessionHandler(serverCtx), }, { Method: http.MethodDelete, Path: "/crawler-session", Handler: scout.ClearCrawlerSessionHandler(serverCtx), }, { Method: http.MethodGet, Path: "/homework", Handler: scout.ListHomeworkHandler(serverCtx), }, { Method: http.MethodPost, Path: "/homework", Handler: scout.SaveHomeworkHandler(serverCtx), }, { Method: http.MethodGet, Path: "/homework/:themeKey", Handler: scout.GetHomeworkHandler(serverCtx), }, { Method: http.MethodDelete, Path: "/homework/:themeKey", Handler: scout.RemoveHomeworkHandler(serverCtx), }, { Method: http.MethodGet, Path: "/posts", Handler: scout.ListScoutPostsHandler(serverCtx), }, { Method: http.MethodDelete, Path: "/posts/:id", Handler: scout.RemoveScoutPostHandler(serverCtx), }, { Method: http.MethodPost, Path: "/posts/:id/draft", Handler: scout.DraftOutreachHandler(serverCtx), }, { Method: http.MethodPost, Path: "/posts/:id/mark-published", Handler: scout.MarkPublishedHandler(serverCtx), }, { Method: http.MethodPost, Path: "/posts/:id/send", Handler: scout.SendOutreachHandler(serverCtx), }, { Method: http.MethodPost, Path: "/posts/:id/skip", Handler: scout.SkipOutreachHandler(serverCtx), }, { Method: http.MethodGet, Path: "/products", Handler: scout.ListProductsHandler(serverCtx), }, { Method: http.MethodPost, Path: "/products", Handler: scout.SaveProductHandler(serverCtx), }, { Method: http.MethodGet, Path: "/products/:id", Handler: scout.GetProductHandler(serverCtx), }, { Method: http.MethodDelete, Path: "/products/:id", Handler: scout.RemoveProductHandler(serverCtx), }, { Method: http.MethodGet, Path: "/products/all", Handler: scout.ListAllProductsHandler(serverCtx), }, { Method: http.MethodPost, Path: "/products/import", Handler: scout.ImportProductHandler(serverCtx), }, { Method: http.MethodPost, Path: "/scan", Handler: scout.RunScanHandler(serverCtx), }, { Method: http.MethodDelete, Path: "/themes/:themeKey", Handler: scout.RemoveScoutThemeHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/scout"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthJWT}, []rest.Route{ { Method: http.MethodGet, Path: "/ai", Handler: settings.GetAiHandler(serverCtx), }, { Method: http.MethodPut, Path: "/ai", Handler: settings.SaveAiHandler(serverCtx), }, { Method: http.MethodGet, Path: "/models", Handler: settings.ListModelsHandler(serverCtx), }, { Method: http.MethodGet, Path: "/placement", Handler: settings.GetPlacementHandler(serverCtx), }, { Method: http.MethodPut, Path: "/placement", Handler: settings.SavePlacementHandler(serverCtx), }, { Method: http.MethodGet, Path: "/threads", Handler: settings.GetThreadsHandler(serverCtx), }, }..., ), rest.WithPrefix("/api/v1/settings"), ) server.AddRoutes( []rest.Route{ { Method: http.MethodGet, Path: "/oauth/callback", Handler: threads.ThreadsOAuthCallbackHandler(serverCtx), }, }, rest.WithPrefix("/api/v1/threads-accounts"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthJWT}, []rest.Route{ { Method: http.MethodGet, Path: "/", Handler: threads.ListThreadsAccountsHandler(serverCtx), }, { Method: http.MethodDelete, Path: "/:id", Handler: threads.DisconnectThreadsAccountHandler(serverCtx), }, { Method: http.MethodPost, Path: "/:id/refresh", Handler: threads.RefreshThreadsAccountHandler(serverCtx), }, { Method: http.MethodPost, Path: "/:id/session/import", Handler: threads.ImportThreadsAccountSessionHandler(serverCtx), }, { Method: http.MethodGet, Path: "/oauth/start", Handler: threads.ThreadsOAuthStartHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/threads-accounts"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthJWT}, []rest.Route{ { Method: http.MethodGet, Path: "/events", Handler: usage.ListUsageEventsHandler(serverCtx), }, { Method: http.MethodGet, Path: "/prefs", Handler: usage.GetUsagePrefsHandler(serverCtx), }, { Method: http.MethodPost, Path: "/purchase", Handler: usage.PurchasePlanHandler(serverCtx), }, { Method: http.MethodGet, Path: "/purchases", Handler: usage.ListMyPurchasesHandler(serverCtx), }, { Method: http.MethodGet, Path: "/summary", Handler: usage.GetUsageSummaryHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/usage"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthJWT, serverCtx.AdminAuth}, []rest.Route{ { Method: http.MethodPost, Path: "/prefs", Handler: usage.SetUsagePrefsHandler(serverCtx), }, { Method: http.MethodGet, Path: "/tenant-summary", Handler: usage.GetTenantUsageSummaryHandler(serverCtx), }, }..., ), rest.WithJwt(serverCtx.Config.Auth.AccessSecret), rest.WithPrefix("/api/v1/usage"), ) }