diff --git a/cmd/answer/wire_gen.go b/cmd/answer/wire_gen.go index 492a074a..fa0ba1ba 100644 --- a/cmd/answer/wire_gen.go +++ b/cmd/answer/wire_gen.go @@ -190,8 +190,8 @@ func initApplication(debug bool, serverConf *conf.Server, dbConf *data.Database, uiRouter := router.NewUIRouter() authUserMiddleware := middleware.NewAuthUserMiddleware(authService) avatarMiddleware := middleware.NewAvatarMiddleware(serviceConf, uploaderService) - templateController := controller.NewTemplateController() - templateRenderController := templaterender.NewTemplateRenderController(questionService) + templateRenderController := templaterender.NewTemplateRenderController(questionService, userService) + templateController := controller.NewTemplateController(templateRenderController) templateRouter := router.NewTemplateRouter(templateController, templateRenderController) ginEngine := server.NewHTTPServer(debug, staticRouter, answerAPIRouter, swaggerRouter, uiRouter, authUserMiddleware, avatarMiddleware, templateRouter) application := newApplication(serverConf, ginEngine) diff --git a/internal/controller/template_controller.go b/internal/controller/template_controller.go index a01307ff..05ab4748 100644 --- a/internal/controller/template_controller.go +++ b/internal/controller/template_controller.go @@ -4,21 +4,28 @@ import ( "net/http" "regexp" + "github.com/answerdev/answer/internal/base/handler" + templaterender "github.com/answerdev/answer/internal/controller/template_render" + "github.com/answerdev/answer/internal/schema" "github.com/answerdev/answer/ui" "github.com/gin-gonic/gin" ) type TemplateController struct { - scriptPath string - cssPath string + scriptPath string + cssPath string + templateRenderController *templaterender.TemplateRenderController } // NewTemplateController new controller -func NewTemplateController() *TemplateController { +func NewTemplateController( + templateRenderController *templaterender.TemplateRenderController, +) *TemplateController { script, css := GetStyle() return &TemplateController{ - scriptPath: script, - cssPath: css, + scriptPath: script, + cssPath: css, + templateRenderController: templateRenderController, } } func GetStyle() (script, css string) { @@ -79,6 +86,12 @@ func (tc *TemplateController) TagInfo(ctx *gin.Context) { // UserInfo user info func (tc *TemplateController) UserInfo(ctx *gin.Context) { + req := &schema.GetOtherUserInfoByUsernameReq{} + if handler.BindAndCheck(ctx, req) { + return + } + tc.templateRenderController.UserInfo(ctx, req) + username := ctx.Param("username") ctx.HTML(http.StatusOK, "homepage.html", gin.H{ "username": username, diff --git a/internal/controller/template_render/controller.go b/internal/controller/template_render/controller.go index 773b7ba0..a8fead33 100644 --- a/internal/controller/template_render/controller.go +++ b/internal/controller/template_render/controller.go @@ -12,12 +12,16 @@ var ProviderSetTemplateRenderController = wire.NewSet( type TemplateRenderController struct { questionService *service.QuestionService + userService *service.UserService } func NewTemplateRenderController( questionService *service.QuestionService, + userService *service.UserService, + ) *TemplateRenderController { return &TemplateRenderController{ questionService: questionService, + userService: userService, } } diff --git a/internal/controller/template_render/userinfo.go b/internal/controller/template_render/userinfo.go new file mode 100644 index 00000000..e5b17a79 --- /dev/null +++ b/internal/controller/template_render/userinfo.go @@ -0,0 +1,13 @@ +package templaterender + +import ( + "github.com/answerdev/answer/internal/schema" + "github.com/davecgh/go-spew/spew" + "golang.org/x/net/context" +) + +func (q *TemplateRenderController) UserInfo(ctx context.Context, req *schema.GetOtherUserInfoByUsernameReq) { + + resp, err := q.userService.GetOtherUserInfoByUsername(ctx, req.Username) + spew.Dump(resp, err) +}