refactor: [shitty claude AI first try] restructure server and user services, add new test cases, and improve error handling

This commit is contained in:
2025-08-10 21:40:15 +03:00
parent 588576b82f
commit f503e45be1
23 changed files with 2568 additions and 134 deletions

View File

@ -8,7 +8,9 @@ import (
type UserService interface {
GetUserByPhoneNumber(ctx context.Context, phoneNumber string) (*domain.User, error)
GetUserByUuid(ctx context.Context, phoneNumber string) (*domain.User, error)
GetUserByUuid(ctx context.Context, uuid string) (*domain.User, error)
CreateUser(ctx context.Context, phoneNumber string) (*domain.User, error)
VerifyUser(ctx context.Context, uuid string) (*domain.User, error)
}
type userService struct {
repo domain.UserRepository
@ -42,6 +44,28 @@ func (u userService) GetUserByPhoneNumber(ctx context.Context, phoneNumber strin
}, nil
}
func (u userService) CreateUser(ctx context.Context, phoneNumber string) (*domain.User, error) {
dbUser, err := u.repo.CreateUser(ctx, phoneNumber)
if err != nil {
return nil, err
}
return &domain.User{
Uuid: dbUser.Uuid.String(),
PhoneNumber: dbUser.PhoneNumber,
}, nil
}
func (u userService) VerifyUser(ctx context.Context, uuid string) (*domain.User, error) {
dbUser, err := u.repo.VerifyUser(ctx, uuid)
if err != nil {
return nil, err
}
return &domain.User{
Uuid: dbUser.Uuid.String(),
PhoneNumber: dbUser.PhoneNumber,
}, nil
}
func NewUserService(repo domain.UserRepository) UserService {
return &userService{repo: repo}
}