Skip to content
Snippets Groups Projects
Verified Commit d0a5c0ec authored by Bayu Samudra's avatar Bayu Samudra
Browse files

fix: unsafe change score

parent 75dfe031
2 merge requests!47Final Updates,!42[Feat] [Release!] [#1] Project Release Commit
...@@ -40,10 +40,10 @@ func (q *QuizRepositoryImpl) GetQuizDetail(quizId uuid.UUID) (*quiz.Quiz, error) ...@@ -40,10 +40,10 @@ func (q *QuizRepositoryImpl) GetQuizDetail(quizId uuid.UUID) (*quiz.Quiz, error)
return result, nil return result, nil
} }
func (q *QuizRepositoryImpl) UpdateScore(quizId uuid.UUID, score int) error { func (q *QuizRepositoryImpl) UpdateScore(email string, quizId uuid.UUID, score int) error {
return q.db. return q.db.
Model(&quiz.QuizTake{}). Model(&quiz.QuizTake{}).
Where("quiz_id = ?", quizId). Where("quiz_id = ? AND email = ?", quizId, email).
Updates(quiz.QuizTake{ Updates(quiz.QuizTake{
Score: score, Score: score,
IsFinished: true, IsFinished: true,
......
...@@ -8,7 +8,7 @@ import ( ...@@ -8,7 +8,7 @@ import (
type QuizRepository interface { type QuizRepository interface {
GetQuizes(courseId string) ([]quiz.Quiz, error) GetQuizes(courseId string) ([]quiz.Quiz, error)
GetQuizDetail(quizId uuid.UUID) (*quiz.Quiz, error) GetQuizDetail(quizId uuid.UUID) (*quiz.Quiz, error)
UpdateScore(quizId uuid.UUID, score int) error UpdateScore(email string, quizId uuid.UUID, score int) error
NewTake(quizId uuid.UUID, userEmail string) (uuid.UUID, error) NewTake(quizId uuid.UUID, userEmail string) (uuid.UUID, error)
IsUserContributor(id string, email string) (bool, error) IsUserContributor(id string, email string) (bool, error)
NewQuiz(quiz quiz.Quiz) error NewQuiz(quiz quiz.Quiz) error
......
...@@ -180,7 +180,7 @@ func (q QuizServiceImpl) DoFinishQuiz(ctx context.Context, quizId uuid.UUID, ema ...@@ -180,7 +180,7 @@ func (q QuizServiceImpl) DoFinishQuiz(ctx context.Context, quizId uuid.UUID, ema
return nil, err return nil, err
} }
err = q.QuizRepository.UpdateScore(quizId, int(score)) err = q.QuizRepository.UpdateScore(email, quizId, int(score))
if err != nil { if err != nil {
return nil, err return nil, err
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment