package target import ( "context" "donat-widget/internal/model" "log/slog" ) func New( targetRepo model.TargetRepo, ) *ServiceTarget { return &ServiceTarget{ targetRepo: targetRepo, } } type ServiceTarget struct { targetRepo model.TargetRepo } func (targetService *ServiceTarget) CreateTarget( ctx context.Context, streamerID model.StreamerID, amount model.DonatAmount, text string, ) (model.TargetID, error) { targetID, err := targetService.targetRepo.CreateTarget(ctx, streamerID, amount, text) if err != nil { slog.Error(err.Error()) return 0, err } return targetID, nil } func (targetService *ServiceTarget) GetAllTarget( ctx context.Context, streamerID model.StreamerID, ) ([]*model.Target, error) { targets, err := targetService.targetRepo.GetAllTarget(ctx, streamerID) if err != nil { slog.Error(err.Error()) return nil, err } return targets, nil } func (targetService *ServiceTarget) AddAmountToTarget( ctx context.Context, targetID model.TargetID, amount model.DonatAmount, ) error { err := targetService.targetRepo.AddAmountToTarget(ctx, targetID, amount) if err != nil { slog.Error(err.Error()) return err } return nil }