From a402f046aaf2be42abc4620b0b04ff5d38ee689f Mon Sep 17 00:00:00 2001 From: JongYeob Sheen Date: Thu, 25 Jan 2024 20:28:29 +0900 Subject: [PATCH] =?UTF-8?q?quiz=EA=B0=80=20=EC=97=86=EC=9D=84=20=EA=B2=BD?= =?UTF-8?q?=EC=9A=B0,=20userquizpaper=20=EC=83=9D=EC=84=B1=20=EC=A4=91?= =?UTF-8?q?=EB=8B=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/controllers/userquizpaper.go | 36 ++++++++------------------- internal/routers/userquizpaper.go | 23 +++++++++-------- 2 files changed, 23 insertions(+), 36 deletions(-) diff --git a/internal/controllers/userquizpaper.go b/internal/controllers/userquizpaper.go index 2a98d5c..aa60af4 100644 --- a/internal/controllers/userquizpaper.go +++ b/internal/controllers/userquizpaper.go @@ -1,7 +1,6 @@ package controllers import ( - "fmt" "net/http" "strconv" "time" @@ -23,19 +22,22 @@ type UserQuizPaperController interface { type userQuizPaperController struct { service services.UserQuizPaperService userService services.UserService + quizService services.QuizService quizPaperService services.QuizPaperService userQuizService services.UserQuizService } func NewUserQuizPaperController( service services.UserQuizPaperService, - userService services.UserService, + quizService services.QuizService, quizPaperService services.QuizPaperService, userQuizService services.UserQuizService, + userService services.UserService, ) UserQuizPaperController { return &userQuizPaperController{ service: service, userService: userService, + quizService: quizService, quizPaperService: quizPaperService, userQuizService: userQuizService, } @@ -62,13 +64,11 @@ func (controller *userQuizPaperController) List(c *gin.Context) { q := c.DefaultQuery("q", "") page, err := strconv.Atoi(c.DefaultQuery("page", "1")) if err != nil { - fmt.Println("error : page") c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) return } limit, err := strconv.Atoi(c.DefaultQuery("limit", "10")) if err != nil { - fmt.Println("error : limit") c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) return } @@ -81,7 +81,6 @@ func (controller *userQuizPaperController) List(c *gin.Context) { totalNumber, err := controller.service.Total(q) if err != nil { - fmt.Println("error : list") c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) return } @@ -151,20 +150,17 @@ func (controller *userQuizPaperController) Create(c *gin.Context) { return } - fmt.Println("users", request.Users) - quizPaper, err := controller.quizPaperService.Find(request.QuizPaperID) if err != nil { c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) return } - // var users []int64 - // err = json.Unmarshal(request.Users, &users) - // if err != nil { - // c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) - // return - // } + quizzes, err := controller.quizService.List(request.QuizPaperID, 1, 1000) + if len(*quizzes) == 0 || err != nil { + c.JSON(http.StatusBadRequest, gin.H{"error": "No quiz"}) + return + } templates := controller.service.Generate(request.Users, quizPaper) userQuizPapers, err := controller.service.Insert(templates) @@ -219,7 +215,6 @@ func (controller *userQuizPaperController) Update(c *gin.Context) { return } - fmt.Println("request", request) userQuizPaper, err := controller.service.Get(id) if err != nil { c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) @@ -233,30 +228,25 @@ func (controller *userQuizPaperController) Update(c *gin.Context) { userQuizPaper.TotalScore = request.TotalScore if request.StartAt != "" { - fmt.Println("request.StartAt", request.StartAt) start_at, err := time.Parse("2006-01-02T15:04:05-07:00", request.StartAt) if err == nil { userQuizPaper.StartAt = &start_at } - fmt.Println("start_at", start_at) } if request.DoneAt != "" { - fmt.Println("request.EndAt", request.DoneAt) done_at, err := time.Parse("2006-01-02T15:04:05-07:00", request.DoneAt) if err == nil { userQuizPaper.DoneAt = &done_at } - fmt.Println("done_at", done_at) } - fmt.Println("userQuizPaper", userQuizPaper) + result, err := controller.service.Update(userQuizPaper) if err != nil { c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) return } - fmt.Println("result", result) c.JSON(http.StatusOK, result) } @@ -289,7 +279,6 @@ func (controller *userQuizPaperController) Patch(c *gin.Context) { return } - fmt.Println("request", request) userQuizPaper, err := controller.service.Get(id) if err != nil { c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) @@ -301,21 +290,17 @@ func (controller *userQuizPaperController) Patch(c *gin.Context) { } if request.StartAt != "" { - fmt.Println("request.StartAt", request.StartAt) start_at, err := time.Parse("2006-01-02T15:04:05-07:00", request.StartAt) if err == nil { userQuizPaper.StartAt = &start_at } - fmt.Println("start_at", start_at) } if request.DoneAt != "" { - fmt.Println("request.EndAt", request.DoneAt) done_at, err := time.Parse("2006-01-02T15:04:05-07:00", request.DoneAt) if err == nil { userQuizPaper.DoneAt = &done_at } - fmt.Println("done_at", done_at) } result, err := controller.service.Update(userQuizPaper) @@ -324,6 +309,5 @@ func (controller *userQuizPaperController) Patch(c *gin.Context) { return } - fmt.Println("result", result) c.JSON(http.StatusOK, result) } diff --git a/internal/routers/userquizpaper.go b/internal/routers/userquizpaper.go index 522b127..998b83f 100644 --- a/internal/routers/userquizpaper.go +++ b/internal/routers/userquizpaper.go @@ -20,10 +20,11 @@ type UserQuizPaperRouter interface { } type userQuizPaperRouter struct { - db *gorm.DB - repository repositories.UserQuizPaperRepository - service services.UserQuizPaperService - controller controllers.UserQuizPaperController + db *gorm.DB + repository repositories.UserQuizPaperRepository + quizRepository repositories.QuizRepository + service services.UserQuizPaperService + controller controllers.UserQuizPaperController // quizPaperRepository repositories.QuizPaperRepository // userRepository repositories.UserRepository @@ -42,18 +43,20 @@ func NewUserQuizPaperRouter(db *gorm.DB, router *gin.Engine) *userQuizPaperRoute userQuizRepository := repositories.NewUserQuizRepository(db) service := services.NewUserQuizPaperService(repository) + quizService := services.NewQuizService(quizRepository) quizPaperService := services.NewQuizPaperService(quizPaperRepository) userService := services.NewUserService(userRepository, tokenRepository) userQuizService := services.NewUserQuizService(userQuizRepository, quizRepository) - controller := controllers.NewUserQuizPaperController(service, userService, quizPaperService, userQuizService) + controller := controllers.NewUserQuizPaperController(service, quizService, quizPaperService, userQuizService, userService) return &userQuizPaperRouter{ - db: db, - repository: repository, - service: service, - controller: controller, - router: router, + db: db, + repository: repository, + quizRepository: quizRepository, + service: service, + controller: controller, + router: router, } }