package bookmark

import (
	"tercul/internal/app/analytics"
	"tercul/internal/domain"
)

// Service is the application service for the bookmark aggregate.
type Service struct {
	Commands *BookmarkCommands
	Queries  *BookmarkQueries
}

// NewService creates a new bookmark Service.
func NewService(repo domain.BookmarkRepository, analyticsSvc analytics.Service) *Service {
	return &Service{
		Commands: NewBookmarkCommands(repo, analyticsSvc),
		Queries:  NewBookmarkQueries(repo),
	}
}
