merch-api/internal/user/service.go
nquidox 950fa9fd96
All checks were successful
/ Make image (push) Successful in 1m0s
me request + dto
2026-03-26 20:29:58 +03:00

50 lines
1 KiB
Go

package user
import (
"context"
"errors"
"merch-api/pkg/utils"
)
type service struct {
repo Repository
utils utils.Utils
}
func newService(repo Repository, utils utils.Utils) *service {
return &service{
repo: repo,
utils: utils,
}
}
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)
}