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
1.1 KiB

package services
import (
model "git.devices.local/mawas/golang-api-skeleton/models"
)
type userRepository interface {
ReadByUsername(username string) (*model.User, error)
ReadAll() ([]*model.User, error)
Create(user *model.User) (*model.User, error)
}
type UserService struct {
repo userRepository
}
// NewUserService creates a new UserService with the given user DAO.
func NewUserService(repo userRepository) *UserService {
return &UserService{repo}
}
// ReadByUsername just retrieves user using User DAO, here can be additional logic for processing data retrieved by DAOs
func (s *UserService) ReadByID(id interface{}) (*model.User, error) {
return s.repo.ReadByUsername(id.(string))
}
// ReadAll just retrieves user using User DAO, here can be additional logic for processing data retrieved by DAOs
func (s *UserService) ReadAll() ([]*model.User, error) {
return s.repo.ReadAll()
}
// Create just retrieves user using User DAO, here can be additional logic for processing data retrieved by DAOs
func (s *UserService) Create(user *model.User) (*model.User, error) {
return s.repo.Create(user)
}