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.
35 lines
729 B
35 lines
729 B
1 month ago
|
package service
|
||
|
|
||
|
import (
|
||
1 month ago
|
"gofaster/internal/auth/model"
|
||
|
"gofaster/internal/auth/repository"
|
||
1 month ago
|
)
|
||
|
|
||
|
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)
|
||
|
}
|