package com.saas.admin.repository;

import com.saas.admin.entity.VapiAssistant;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Optional;

/**
 * Repository for Vapi.ai assistants
 * Supports multi-tenant isolation via tenantId
 */
@Repository
public interface VapiAssistantRepository extends JpaRepository<VapiAssistant, Long> {
    
    Optional<VapiAssistant> findByVapiAssistantId(String vapiAssistantId);
    
    List<VapiAssistant> findByTenantId(String tenantId);
    
    List<VapiAssistant> findByTenantIdAndStatus(String tenantId, String status);
    
    Optional<VapiAssistant> findByIdAndTenantId(Long id, String tenantId);
    
    Optional<VapiAssistant> findByVapiAssistantIdAndTenantId(String vapiAssistantId, String tenantId);
    
    List<VapiAssistant> findByStatus(String status);
    
    boolean existsByVapiAssistantId(String vapiAssistantId);
    
    boolean existsByIdAndTenantId(Long id, String tenantId);
}
