package gateway import ( "context" "github.com/google/uuid" "nexavpn/backend/internal/wireguard" ) type Service struct { repo Repository } func NewService(repo Repository) *Service { return &Service{repo: repo} } func (s *Service) List(ctx context.Context) ([]Gateway, error) { return s.repo.List(ctx) } func (s *Service) SelectActive(ctx context.Context) (Gateway, error) { return s.repo.FirstActive(ctx) } func (s *Service) BuildSyncBundle(ctx context.Context, gatewayID string) (wireguard.GatewayBundle, error) { id, err := uuid.Parse(gatewayID) if err != nil { return wireguard.GatewayBundle{}, err } return s.repo.BuildSyncBundle(ctx, id) }