package com.saas.tenant.repository;

import com.saas.tenant.entity.CalendarIntegration;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

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

@Repository
public interface CalendarIntegrationRepository extends JpaRepository<CalendarIntegration, Long> {

    Optional<CalendarIntegration> findByProvider(CalendarIntegration.Provider provider);

    /**
     * Find calendar integration for a specific doctor and provider
     */
    Optional<CalendarIntegration> findByDoctorIdAndProvider(Long doctorId, CalendarIntegration.Provider provider);

    /**
     * Find all calendar integrations for a doctor
     */
    List<CalendarIntegration> findByDoctorId(Long doctorId);

    /**
     * Check if doctor has active calendar integration
     */
    boolean existsByDoctorIdAndProviderAndIsActiveTrue(Long doctorId, CalendarIntegration.Provider provider);
}
