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
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) |
|
}
|
|
|