package ru.ibs.socrates.confexporter.dao.service;

import java.time.OffsetDateTime;
import java.util.List;
import java.util.UUID;
import ru.ibs.socrates.confexporter.dao.dto.ContentDaoDto;


/**
 * Сервис для обработки контента.
 * - CRUD-операции с таблицей content
 */
public interface MessageDaoService {

  
  /**
   * Возвращает список всего контента.
   *
   * @return Список {@link ContentResponse} (пустой список, если записей нет)
   */
  List<ContentDaoDto> findTop20();

  /**
   * Удаляет контент по ID.
   *
   * @param externalMessagelId ID записи в БД (не пустой)
   * @throws jakarta.persistence.EntityNotFoundException если контент не найден
   */
  void deleteContent(UUID externalMessagelId);
  
  /**
   * Создает новую запись контента.
   * 
   * @param contentCreate
   * @return
   */
  ContentDaoDto createContent(ContentDaoDto contentCreate);
  
  

  /**
   * Возвращает контент по проекту.
   *
   * @return Список {@link ContentResponse} (пустой список, если записей нет)
   */
  List<ContentDaoDto> getProjectContent(UUID projectCode, OffsetDateTime fromDate);
  
}
