migrate from github
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
package user_service
|
||||
|
||||
import (
|
||||
"github.com/XingfenD/yoresee_doc/internal/dto"
|
||||
"github.com/XingfenD/yoresee_doc/internal/repository"
|
||||
"github.com/XingfenD/yoresee_doc/internal/repository/user_repo"
|
||||
"github.com/XingfenD/yoresee_doc/internal/status"
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
type UserService struct {
|
||||
userRepo *user_repo.UserRepository
|
||||
}
|
||||
|
||||
func NewUserService(repos *repository.Repositories) *UserService {
|
||||
return &UserService{
|
||||
userRepo: repos.User,
|
||||
}
|
||||
}
|
||||
|
||||
func (s *UserService) GetByExternalID(externalID string) (*dto.UserResponse, error) {
|
||||
userModel, err := s.userRepo.GetByExternalID(externalID).Exec()
|
||||
if err != nil {
|
||||
logrus.Errorf("[Service layer: UserService] GetByExternalID failed, external_id=%s, err=%+v", externalID, err)
|
||||
return nil, status.GenErrWithCustomMsg(status.StatusUserNotFound, "user not found")
|
||||
}
|
||||
return dto.NewUserResponseFromModel(userModel), nil
|
||||
}
|
||||
|
||||
func (s *UserService) GetByID(id int64) (*dto.UserResponse, error) {
|
||||
userModel, err := s.userRepo.GetByID(id).Exec()
|
||||
if err != nil {
|
||||
logrus.Errorf("[Service layer: UserService] GetByID failed, id=%d, err=%+v", id, err)
|
||||
return nil, status.GenErrWithCustomMsg(status.StatusUserNotFound, "user not found")
|
||||
}
|
||||
return dto.NewUserResponseFromModel(userModel), nil
|
||||
}
|
||||
|
||||
func (s *UserService) GetIDByExternalID(externalID string) (int64, error) {
|
||||
id, err := s.userRepo.GetIDByExternalID(externalID).Exec()
|
||||
if err != nil {
|
||||
logrus.Errorf("[Service layer: UserService] GetIDByExternalID failed, external_id=%s, err=%+v", externalID, err)
|
||||
return 0, status.GenErrWithCustomMsg(status.StatusUserNotFound, "user not found")
|
||||
}
|
||||
return id, nil
|
||||
}
|
||||
|
||||
var UserSvc *UserService
|
||||
Reference in New Issue
Block a user