package com.unicorn.hgzero.meeting.infra.gateway.repository;

import com.unicorn.hgzero.meeting.infra.gateway.entity.TemplateEntity;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 템플릿 JPA Repository
 */
@Repository
public interface TemplateJpaRepository extends JpaRepository<TemplateEntity, String> {

    /**
     * 카테고리로 템플릿 목록 조회
     */
    List<TemplateEntity> findByCategory(String category);

    /**
     * 공개 여부로 템플릿 목록 조회
     */
    List<TemplateEntity> findByIsPublic(Boolean isPublic);

    /**
     * 작성자 ID로 템플릿 목록 조회
     */
    List<TemplateEntity> findByCreatedBy(String createdBy);

    /**
     * 카테고리와 공개 여부로 템플릿 목록 조회
     */
    List<TemplateEntity> findByCategoryAndIsPublic(String category, Boolean isPublic);

    /**
     * 이름으로 템플릿 검색 (부분 일치)
     */
    List<TemplateEntity> findByNameContaining(String name);
}
