From 0b0505a2386c48d34e067e2012e21f049558cdea Mon Sep 17 00:00:00 2001 From: bayusamudra5502 <bayusamudra.55.02.com@gmail.com> Date: Fri, 5 May 2023 00:35:29 +0700 Subject: [PATCH] fix: add safetinees --- repository/quiz/impl.go | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/repository/quiz/impl.go b/repository/quiz/impl.go index e4f8c12..fdefa46 100644 --- a/repository/quiz/impl.go +++ b/repository/quiz/impl.go @@ -41,12 +41,18 @@ func (q *QuizRepositoryImpl) GetQuizDetail(quizId uuid.UUID) (*quiz.Quiz, error) } func (q *QuizRepositoryImpl) UpdateScore(email string, quizId uuid.UUID, score int) error { - return q.db. - Model(&quiz.QuizTake{}). - Where("quiz_id = ? AND email = ?", quizId, email). - Updates(quiz.QuizTake{ + tx := q.db.Begin() + defer tx.Commit() + + tx.Where("quiz_id = ? AND email = ?", quizId, email).Delete(&quiz.QuizTake{}) + + return tx. + Create(quiz.QuizTake{ Score: score, IsFinished: true, + QuizId: quizId, + Email: email, + Id: uuid.New(), }).Error } -- GitLab