You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

34 lines
719 B

package service
import (
"gofaster/internal/model"
"gofaster/internal/repository"
)
type UserService struct {
repo *repository.UserRepo
}
func NewUserService(repo *repository.UserRepo) *UserService {
return &UserService{repo: repo}
}
func (s *UserService) CreateUser(user *model.User) error {
return s.repo.Create(user)
}
func (s *UserService) GetUserByID(id uint) (*model.User, error) {
return s.repo.GetByID(id)
}
func (s *UserService) UpdateUser(user *model.User) error {
return s.repo.Update(user)
}
func (s *UserService) DeleteUser(id uint) error {
return s.repo.Delete(id)
}
func (s *UserService) ListUsers(page, pageSize int) ([]*model.User, int64, error) {
return s.repo.List(page, pageSize)
}