package com.unicorn.hgzero.meeting.biz.usecase.in.template;

import com.unicorn.hgzero.meeting.biz.domain.Template;

import java.util.List;

/**
 * 템플릿 조회 UseCase
 */
public interface GetTemplateUseCase {

    /**
     * ID로 템플릿 조회
     */
    Template getTemplate(String templateId);

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

    /**
     * 공개 템플릿 목록 조회
     */
    List<Template> getPublicTemplates();

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

    /**
     * 이름으로 템플릿 검색
     */
    List<Template> searchTemplatesByName(String name);
}
