首次提交:初始化项目代码
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
package quiz
|
||||
|
||||
import (
|
||||
"resume-platform/internal/model"
|
||||
"resume-platform/internal/repository"
|
||||
|
||||
"github.com/google/uuid"
|
||||
)
|
||||
|
||||
type QuizService interface {
|
||||
CreateQuizRecord(record *model.QuizRecord) error
|
||||
GetQuizRecordsByResume(resumeRoute string) ([]*model.QuizRecord, error)
|
||||
GetQuizRecord(id string) (*model.QuizRecord, error)
|
||||
DeleteQuizRecord(id string) error
|
||||
CreateFavoriteQuestion(fav *model.FavoriteQuestion) error
|
||||
GetFavoriteQuestions(resumeRoute string, isFavorite, isCorrect *bool) ([]*model.FavoriteQuestion, error)
|
||||
DeleteFavoriteQuestion(id string) error
|
||||
ToggleFavorite(id string) error
|
||||
}
|
||||
|
||||
type quizService struct {
|
||||
repo repository.ResumeRepository
|
||||
}
|
||||
|
||||
func NewQuizService(repo repository.ResumeRepository) QuizService {
|
||||
return &quizService{repo: repo}
|
||||
}
|
||||
|
||||
func (s *quizService) CreateQuizRecord(record *model.QuizRecord) error {
|
||||
if record.ID == "" {
|
||||
record.ID = uuid.New().String()
|
||||
}
|
||||
return s.repo.CreateQuizRecord(record)
|
||||
}
|
||||
|
||||
func (s *quizService) GetQuizRecordsByResume(resumeRoute string) ([]*model.QuizRecord, error) {
|
||||
return s.repo.GetQuizRecordsByResume(resumeRoute)
|
||||
}
|
||||
|
||||
func (s *quizService) GetQuizRecord(id string) (*model.QuizRecord, error) {
|
||||
return s.repo.GetQuizRecord(id)
|
||||
}
|
||||
|
||||
func (s *quizService) DeleteQuizRecord(id string) error {
|
||||
return s.repo.DeleteQuizRecord(id)
|
||||
}
|
||||
|
||||
func (s *quizService) CreateFavoriteQuestion(fav *model.FavoriteQuestion) error {
|
||||
if fav.ID == "" {
|
||||
fav.ID = uuid.New().String()
|
||||
}
|
||||
return s.repo.CreateFavoriteQuestion(fav)
|
||||
}
|
||||
|
||||
func (s *quizService) GetFavoriteQuestions(resumeRoute string, isFavorite, isCorrect *bool) ([]*model.FavoriteQuestion, error) {
|
||||
return s.repo.GetFavoriteQuestions(resumeRoute, isFavorite, isCorrect)
|
||||
}
|
||||
|
||||
func (s *quizService) DeleteFavoriteQuestion(id string) error {
|
||||
return s.repo.DeleteFavoriteQuestion(id)
|
||||
}
|
||||
|
||||
func (s *quizService) ToggleFavorite(id string) error {
|
||||
return s.repo.ToggleFavorite(id)
|
||||
}
|
||||
Reference in New Issue
Block a user