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