diff --git a/service/quiz/impl.go b/service/quiz/impl.go index 69c375425f121d4dfb2c740732cb89f7cce8b075..fb53a798c013f1fff684bb3eb6f6a999c9cc58b2 100644 --- a/service/quiz/impl.go +++ b/service/quiz/impl.go @@ -10,11 +10,9 @@ import ( "github.com/google/uuid" "gitlab.informatika.org/ocw/ocw-backend/model/domain/quiz" - "gitlab.informatika.org/ocw/ocw-backend/model/domain/user" userDomain "gitlab.informatika.org/ocw/ocw-backend/model/domain/user" "gitlab.informatika.org/ocw/ocw-backend/model/web" "gitlab.informatika.org/ocw/ocw-backend/model/web/auth/token" - atoken "gitlab.informatika.org/ocw/ocw-backend/model/web/auth/token" model "gitlab.informatika.org/ocw/ocw-backend/model/web/quiz" "gitlab.informatika.org/ocw/ocw-backend/provider/storage" quizRepo "gitlab.informatika.org/ocw/ocw-backend/repository/quiz" @@ -207,7 +205,7 @@ func (q QuizServiceImpl) isQuizContributor(courseId string, email string) error func (q QuizServiceImpl) NewQuiz(payload model.AddQuizRequestPayload) (*model.LinkResponse, error) { // Validate Role - claim, err := q.TokenUtil.Validate(payload.AddQuizToken, atoken.Access) + claim, err := q.TokenUtil.Validate(payload.AddQuizToken, token.Access) // Invalid Token if err != nil { @@ -215,7 +213,7 @@ func (q QuizServiceImpl) NewQuiz(payload model.AddQuizRequestPayload) (*model.Li } // Unauthorized Role - if claim.Role == user.Student { + if claim.Role == userDomain.Student { return &model.LinkResponse{}, web.NewResponseErrorFromError(err, web.UnauthorizedAccess) } @@ -233,12 +231,26 @@ func (q QuizServiceImpl) NewQuiz(payload model.AddQuizRequestPayload) (*model.Li return &model.LinkResponse{}, err } + q.QuizRepository.NewQuiz(quiz.Quiz{ + Id: uuid.New(), + Name: payload.Name, + CourseId: payload.CourseID, + CreatorEmail: claim.Email, + QuizPath: uploadLink, + }) + + if err != nil { + q.Logger.Error("Some error happened when insert to repository") + q.Logger.Error(err.Error()) + return &model.LinkResponse{}, err + } + return &model.LinkResponse{UploadLink: uploadLink}, nil } func (q QuizServiceImpl) GetQuiz(payload model.UpdateQuizRequestPayload) (*model.LinkResponse, error) { // Validate Role - claim, err := q.TokenUtil.Validate(payload.UpdateQuizToken, atoken.Access) + claim, err := q.TokenUtil.Validate(payload.UpdateQuizToken, token.Access) // Invalid Token if err != nil { @@ -246,7 +258,7 @@ func (q QuizServiceImpl) GetQuiz(payload model.UpdateQuizRequestPayload) (*model } // Unauthorized Role - if claim.Role == user.Student { + if claim.Role == userDomain.Student { return &model.LinkResponse{}, web.NewResponseErrorFromError(err, web.UnauthorizedAccess) } @@ -275,7 +287,7 @@ func (q QuizServiceImpl) GetQuiz(payload model.UpdateQuizRequestPayload) (*model func (q QuizServiceImpl) DeleteQuiz(payload model.DeleteRequestPayload) error { // Validate Role - claim, err := q.TokenUtil.Validate(payload.DeleteToken, atoken.Access) + claim, err := q.TokenUtil.Validate(payload.DeleteToken, token.Access) // Invalid Token if err != nil { @@ -283,7 +295,7 @@ func (q QuizServiceImpl) DeleteQuiz(payload model.DeleteRequestPayload) error { } // Unauthorized Role - if claim.Role == user.Student { + if claim.Role == userDomain.Student { return web.NewResponseErrorFromError(err, web.UnauthorizedAccess) }