package io.delphiplatform.api.v3.rdb.repository;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;

import java.util.Collection;
import java.util.List;

import io.delphiplatform.api.v3.rdb.entity.AdsDataHealthStatusSummaryProjection;
import io.delphiplatform.api.v3.rdb.entity.AdsStatusDailyEntity;

public interface AdsDataStatusDailyRepository extends JpaRepository<AdsStatusDailyEntity, String>,
    JpaSpecificationExecutor<AdsStatusDailyEntity> {

    @Query(name = "AdsStatusDailyEntity.getStatusSummary")
    List<AdsDataHealthStatusSummaryProjection> getStatusSummary(@Param("statuses") String statuses,
        @Param("dsps") Collection<String> dsps, @Param("accounts") Collection<String> accountIds,
        @Param("parenRepOwners") Collection<String> parenRepOwners);

}
