package http import ( "net/http" "hyapp/services/gateway-service/internal/auth" ) const apiV1Prefix = "/api/v1" // Routes 只维护 gateway 对外 HTTP 路径到 transport handler 的绑定。 // 业务状态和命令执行仍然全部下沉到 room-service,gateway 不在这里承载房间逻辑。 func (h *Handler) Routes(jwtVerifier *auth.Verifier) http.Handler { mux := http.NewServeMux() mux.Handle(apiV1Prefix+"/auth/password/login", publicAPIHandler(h.loginPassword)) mux.Handle(apiV1Prefix+"/auth/password/set", apiHandler(jwtVerifier, h.setPassword)) mux.Handle(apiV1Prefix+"/auth/third-party/login", publicAPIHandler(h.loginThirdParty)) mux.Handle(apiV1Prefix+"/auth/token/refresh", publicAPIHandler(h.refreshToken)) mux.Handle(apiV1Prefix+"/auth/logout", publicAPIHandler(h.logout)) mux.Handle(apiV1Prefix+"/users/by-display-user-id/", publicAPIHandler(h.resolveDisplayUserID)) mux.Handle(apiV1Prefix+"/users/me/identity", apiHandler(jwtVerifier, h.getMyIdentity)) mux.Handle(apiV1Prefix+"/users/me/display-id/change", apiHandler(jwtVerifier, h.changeMyDisplayUserID)) mux.Handle(apiV1Prefix+"/users/me/display-id/pretty/apply", apiHandler(jwtVerifier, h.applyMyPrettyDisplayUserID)) mux.Handle(apiV1Prefix+"/rooms/create", apiHandler(jwtVerifier, h.createRoom)) mux.Handle(apiV1Prefix+"/rooms/join", apiHandler(jwtVerifier, h.joinRoom)) mux.Handle(apiV1Prefix+"/rooms/leave", apiHandler(jwtVerifier, h.leaveRoom)) mux.Handle(apiV1Prefix+"/rooms/mic/up", apiHandler(jwtVerifier, h.micUp)) mux.Handle(apiV1Prefix+"/rooms/mic/down", apiHandler(jwtVerifier, h.micDown)) mux.Handle(apiV1Prefix+"/rooms/mic/change", apiHandler(jwtVerifier, h.changeMicSeat)) mux.Handle(apiV1Prefix+"/rooms/user/mute", apiHandler(jwtVerifier, h.muteUser)) mux.Handle(apiV1Prefix+"/rooms/user/kick", apiHandler(jwtVerifier, h.kickUser)) mux.Handle(apiV1Prefix+"/rooms/gift/send", apiHandler(jwtVerifier, h.sendGift)) return mux }