package usecase

import (
	"context"
	"lune/talentscale/internal/domain"

	"github.com/google/uuid"
)

type testTypeUsecase struct {
	repo domain.TestTypeRepository
}

func NewTestTypeUsecase(repo domain.TestTypeRepository) domain.TestTypeUsecase {
	return &testTypeUsecase{repo: repo}
}

func (u *testTypeUsecase) Create(ctx context.Context, tt *domain.TestType) error {
	return u.repo.Create(ctx, tt)
}

func (u *testTypeUsecase) GetByID(ctx context.Context, id uuid.UUID) (*domain.TestType, error) {
	return u.repo.GetByID(ctx, id)
}

func (u *testTypeUsecase) GetAll(ctx context.Context) ([]*domain.TestType, error) {
	return u.repo.GetAll(ctx)
}

func (u *testTypeUsecase) Update(ctx context.Context, tt *domain.TestType) error {
	return u.repo.Update(ctx, tt)
}

func (u *testTypeUsecase) Delete(ctx context.Context, id uuid.UUID) error {
	return u.repo.Delete(ctx, id)
}
