package kr.lunaticbum.back.lun.model.dto

enum class ContentType { POST, GIBBERISH, BOOKMARK }

//interface FeedItem {
//    val id: String?
//    val type: ContentType
//    val title: String?
//    val content: String?    // 요약 내용 또는 본문
//    val thumbnail: String?  // 대표 이미지
//    val createdAt: Long     // 정렬 기준 시간
//    val writer: String?
//    val url: String         // 클릭 시 이동할 경로
//}

// 피드 아이템 통합 DTO
data class FeedItemDto(
    val id: String?,           // 원본 게시물/북마크 ID
    val type: ContentType,     // 콘텐츠 타입 (POST, GIBBERISH, BOOKMARK)
    val title: String?,        // 제목 (Gibberish는 없을 수 있음)
    val content: String?,      // 내용 요약 또는 전체 (HTML 제거된 텍스트 권장)
    val thumbnail: String?,    // 썸네일 이미지 URL
    val createdAt: Long,       // 작성일/저장일 (정렬 기준)
    val writer: String?,       // 작성자
    val url: String,           // 클릭 시 이동할 주소 (내부 글보기 또는 외부 링크)

    // 필요하다면 추가할 필드들
    val voteCount: Long = 0,   // 좋아요 수
    val commentCount: Int = 0, // 댓글 수 (나중에 추가 가능)
    val tags: List<String>? = null // 태그 목록
)

data class FeedResponse(
    val items: List<FeedItemDto>,
    val nextCursor: Long? // 다음 요청 시 이 시간을 보내면 그 이전 글들을 줍니다.
)