package notice

import (
	"context"
	"tm/pkg/logger"
)

// Service defines business logic for notice operations
type Service interface {
	Import(ctx context.Context, form *Notice) error
	BulkImport(ctx context.Context, form []Notice) error
}

// noticeService implements the Service interface
type noticeService struct {
	repository Repository
	logger     logger.Logger
}

// NewService creates a new notice service
func NewService(repository Repository, logger logger.Logger) Service {
	return &noticeService{
		repository: repository,
		logger:     logger,
	}
}

// Import imports a new notice
func (s *noticeService) Import(ctx context.Context, form *Notice) error {
	return s.repository.Import(ctx, form)
}

// BulkImport imports a new notice
func (s *noticeService) BulkImport(ctx context.Context, form []Notice) error {
	return s.repository.BulkImport(ctx, form)
}
