61 lines
1.4 KiB
Go
61 lines
1.4 KiB
Go
package user
|
|
|
|
import (
|
|
"context"
|
|
"errors"
|
|
"merch-api/internal/common"
|
|
"merch-api/pkg/utils"
|
|
)
|
|
|
|
type service struct {
|
|
repo Repository
|
|
utils utils.Utils
|
|
authDP common.AuthDataProvider
|
|
}
|
|
|
|
func newService(repo Repository, utils utils.Utils, adp common.AuthDataProvider) *service {
|
|
return &service{
|
|
repo: repo,
|
|
utils: utils,
|
|
authDP: adp,
|
|
}
|
|
}
|
|
|
|
func (s *service) GetUserId(ctx context.Context, userUuid string) (int64, error) {
|
|
if userUuid == "" {
|
|
return 0, errors.New("user uuid is empty")
|
|
}
|
|
|
|
return s.repo.getUserId(ctx, userUuid)
|
|
}
|
|
|
|
func (s *service) createUser(ctx context.Context, userUuid string) error {
|
|
now := s.utils.TimeNowUTC()
|
|
|
|
return s.repo.addUser(ctx, &userModel{
|
|
CreatedAt: now,
|
|
UpdatedAt: s.utils.NullTimeFromNow(now),
|
|
DeletedAt: s.utils.DeletedNullTime(),
|
|
Uuid: userUuid,
|
|
})
|
|
}
|
|
|
|
func (s *service) deleteUser(ctx context.Context, userUuid string) error {
|
|
return s.repo.deleteUser(ctx, userUuid, s.utils.NullTimeNowUTC())
|
|
}
|
|
|
|
func (s *service) getUser(ctx context.Context, userUuid string) (*MeDTO, error) {
|
|
if userUuid == "" {
|
|
return nil, errors.New("user uuid is empty")
|
|
}
|
|
|
|
return s.repo.getUser(ctx, userUuid)
|
|
}
|
|
|
|
func (s *service) getPersonalData(ctx context.Context, userUuid string) (*common.PersonalDTO, error) {
|
|
if userUuid == "" {
|
|
return nil, errors.New("user uuid is empty")
|
|
}
|
|
|
|
return s.authDP.GetPersonalData(ctx, userUuid)
|
|
}
|