Exam
This commit is contained in:
		
							
								
								
									
										56
									
								
								internal/services/exam.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								internal/services/exam.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,56 @@
 | 
			
		||||
package services
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"learnsteam/learsteam-quiz-api/internal/models"
 | 
			
		||||
	"learnsteam/learsteam-quiz-api/internal/repositories"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type examService struct {
 | 
			
		||||
	repository repositories.ExamRepository
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type ExamService interface {
 | 
			
		||||
	List(string, int, int) (*[]models.Exam, error)
 | 
			
		||||
	Total(string) (int64, error)
 | 
			
		||||
 | 
			
		||||
	Find(string) (*models.Exam, error)
 | 
			
		||||
	Create(*models.Exam) (*models.Exam, error)
 | 
			
		||||
	Update(*models.Exam) (*models.Exam, error)
 | 
			
		||||
	Delete(string) error
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func NewExamService(repository repositories.ExamRepository) ExamService {
 | 
			
		||||
	return &examService{
 | 
			
		||||
		repository: repository,
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (s *examService) List(q string, page int, limit int) (*[]models.Exam, error) {
 | 
			
		||||
	return s.repository.List(q, page, limit)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (s *examService) Total(q string) (int64, error) {
 | 
			
		||||
	return s.repository.Total(q)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (s *examService) Find(id string) (*models.Exam, error) {
 | 
			
		||||
	return s.repository.Find(id)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (s *examService) Create(exam *models.Exam) (*models.Exam, error) {
 | 
			
		||||
	result, err := s.repository.Create(exam)
 | 
			
		||||
 | 
			
		||||
	return result, err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (s *examService) Update(exam *models.Exam) (*models.Exam, error) {
 | 
			
		||||
	result, err := s.repository.Update(exam)
 | 
			
		||||
 | 
			
		||||
	return result, err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (s *examService) Delete(id string) error {
 | 
			
		||||
	err := s.repository.Delete(id)
 | 
			
		||||
 | 
			
		||||
	return err
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user