78 lines
1.8 KiB
Go
78 lines
1.8 KiB
Go
package service
|
|
|
|
import (
|
|
"codeword/internal/models"
|
|
"codeword/internal/repository"
|
|
"context"
|
|
)
|
|
|
|
type PromocodeService struct {
|
|
PromocodeRepository *repository.PromocodeRepository
|
|
}
|
|
|
|
func NewPromocodeService(repository *repository.PromocodeRepository) *PromocodeService {
|
|
return &PromocodeService{
|
|
PromocodeRepository: repository,
|
|
}
|
|
}
|
|
|
|
func (s *PromocodeService) Activate(ctx context.Context, request *models.ActivateReq) (*models.ActivateResp, error) {
|
|
|
|
response, err := s.PromocodeRepository.Activate(ctx, request)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return response, nil
|
|
|
|
}
|
|
|
|
func (s *PromocodeService) Getlist(ctx context.Context, request *models.GetPromoCodesListReq) (*models.GetPromoCodesListResp, error) {
|
|
|
|
response, err := s.PromocodeRepository.Getlist(ctx, request)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return response, nil
|
|
|
|
}
|
|
|
|
func (s *PromocodeService) Delete(ctx context.Context) error {
|
|
|
|
err := s.PromocodeRepository.Delete(ctx)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
|
|
}
|
|
|
|
func (s *PromocodeService) Createpromocode(ctx context.Context, request *models.PromoCodeReq) (*models.PromoCode, error) {
|
|
|
|
response, err := s.PromocodeRepository.Createpromocode(ctx, request)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return response, nil
|
|
|
|
}
|
|
|
|
func (s *PromocodeService) Editpromocode(ctx context.Context, request *models.EditPromoCodeReq) (*models.PromoCode, error) {
|
|
|
|
response, err := s.PromocodeRepository.Editpromocode(ctx, request)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return response, nil
|
|
|
|
}
|
|
|
|
func (s *PromocodeService) Createfastlink(ctx context.Context, request *models.CreateFastLinkReq) (*models.CreateFastLinkResp, error) {
|
|
|
|
response, err := s.PromocodeRepository.Createfastlink(ctx, request)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return response, nil
|
|
|
|
}
|