cslms-api/internal/services/paperquiz.go

44 lines
1.1 KiB
Go
Raw Normal View History

2024-02-19 22:43:31 +09:00
package services
import (
"learnsteam/cslms-api/internal/models"
"learnsteam/cslms-api/internal/repositories"
)
type paperQuizService struct {
repository repositories.PaperQuizRepository
quizRepository repositories.QuizRepository
}
type PaperQuizService interface {
List(int64, int, int) (*[]models.PaperQuiz, error)
Total(int64) (int64, error)
Find(int64) (*models.PaperQuiz, error)
Update(*models.PaperQuiz) (*models.PaperQuiz, error)
}
func NewPaperQuizService(repository repositories.PaperQuizRepository) PaperQuizService {
return &paperQuizService{
repository: repository,
}
}
func (s *paperQuizService) List(user_quiz_paper_id int64, page int, limit int) (*[]models.PaperQuiz, error) {
return s.repository.List(user_quiz_paper_id, page, limit)
}
func (s *paperQuizService) Total(user_quiz_paper_id int64) (int64, error) {
return s.repository.Total(user_quiz_paper_id)
}
func (s *paperQuizService) Find(id int64) (*models.PaperQuiz, error) {
return s.repository.Find(id)
}
func (s *paperQuizService) Update(quiz *models.PaperQuiz) (*models.PaperQuiz, error) {
result, err := s.repository.Update(quiz)
return result, err
}