// Code generated by goctl. DO NOT EDIT. // goctl 1.10.1 package handler import ( "net/http" ai "haixun-backend/internal/handler/ai" auth "haixun-backend/internal/handler/auth" job "haixun-backend/internal/handler/job" member "haixun-backend/internal/handler/member" normal "haixun-backend/internal/handler/normal" permission "haixun-backend/internal/handler/permission" setting "haixun-backend/internal/handler/setting" "haixun-backend/internal/svc" "github.com/zeromicro/go-zero/rest" ) func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) { server.AddRoutes( []rest.Route{ { Method: http.MethodGet, Path: "/providers", Handler: ai.ListAiProvidersHandler(serverCtx), }, }, rest.WithPrefix("/api/v1/ai"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.MemberAuth}, []rest.Route{ { Method: http.MethodPost, Path: "/chat", Handler: ai.ChatHandler(serverCtx), }, { Method: http.MethodPost, Path: "/chat/stream", Handler: ai.ChatStreamHandler(serverCtx), }, { Method: http.MethodPost, Path: "/providers/:provider/models", Handler: ai.ListAiProviderModelsHandler(serverCtx), }, }..., ), rest.WithPrefix("/api/v1/ai"), ) server.AddRoutes( []rest.Route{ { Method: http.MethodPost, Path: "/login", Handler: auth.LoginHandler(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: "/logout", Handler: auth.LogoutHandler(serverCtx), }, }..., ), rest.WithPrefix("/api/v1/auth"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthJWT}, []rest.Route{ { Method: http.MethodGet, Path: "/job/schedules", Handler: job.ListJobSchedulesHandler(serverCtx), }, { Method: http.MethodPost, Path: "/job/schedules", Handler: job.CreateJobScheduleHandler(serverCtx), }, { Method: http.MethodPut, Path: "/job/schedules/:id", Handler: job.UpdateJobScheduleHandler(serverCtx), }, { Method: http.MethodPost, Path: "/job/schedules/:id/disable", Handler: job.DisableJobScheduleHandler(serverCtx), }, { Method: http.MethodPost, Path: "/job/schedules/:id/enable", Handler: job.EnableJobScheduleHandler(serverCtx), }, { Method: http.MethodGet, Path: "/job/templates", Handler: job.ListJobTemplatesHandler(serverCtx), }, { Method: http.MethodGet, Path: "/job/templates/:type", Handler: job.GetJobTemplateHandler(serverCtx), }, { Method: http.MethodPut, Path: "/job/templates/:type", Handler: job.UpsertJobTemplateHandler(serverCtx), }, { Method: http.MethodPost, Path: "/jobs", Handler: job.CreateJobHandler(serverCtx), }, { Method: http.MethodGet, Path: "/jobs", Handler: job.ListJobsHandler(serverCtx), }, { Method: http.MethodGet, Path: "/jobs/:id", Handler: job.GetJobHandler(serverCtx), }, { Method: http.MethodPost, Path: "/jobs/:id/cancel", Handler: job.CancelJobHandler(serverCtx), }, { Method: http.MethodGet, Path: "/jobs/:id/events", Handler: job.ListJobEventsHandler(serverCtx), }, { Method: http.MethodPost, Path: "/jobs/:id/retry", Handler: job.RetryJobHandler(serverCtx), }, }..., ), rest.WithPrefix("/api/v1"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthJWT}, []rest.Route{ { Method: http.MethodGet, Path: "/me", Handler: member.GetMemberMeHandler(serverCtx), }, { Method: http.MethodPatch, Path: "/me", Handler: member.UpdateMemberMeHandler(serverCtx), }, }..., ), rest.WithPrefix("/api/v1/members"), ) server.AddRoutes( []rest.Route{ { Method: http.MethodGet, Path: "/health", Handler: normal.HealthHandler(serverCtx), }, }, rest.WithPrefix("/api/v1"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthJWT}, []rest.Route{ { Method: http.MethodGet, Path: "/catalog", Handler: permission.GetPermissionCatalogHandler(serverCtx), }, { Method: http.MethodGet, Path: "/me", Handler: permission.GetMePermissionsHandler(serverCtx), }, }..., ), rest.WithPrefix("/api/v1/permissions"), ) server.AddRoutes( rest.WithMiddlewares( []rest.Middleware{serverCtx.AuthJWT}, []rest.Route{ { Method: http.MethodGet, Path: "/:scope/:scope_id", Handler: setting.ListSettingsHandler(serverCtx), }, { Method: http.MethodGet, Path: "/:scope/:scope_id/:key", Handler: setting.GetSettingHandler(serverCtx), }, { Method: http.MethodPut, Path: "/:scope/:scope_id/:key", Handler: setting.UpsertSettingHandler(serverCtx), }, { Method: http.MethodDelete, Path: "/:scope/:scope_id/:key", Handler: setting.DeleteSettingHandler(serverCtx), }, }..., ), rest.WithPrefix("/api/v1/settings"), ) }