using CMSMicroservice.Application.Common.Models;
using CMSMicroservice.Application.BlogPostCQ.Queries.GetBlogPost;

namespace CMSMicroservice.Application.BlogPostCQ.Queries.GetAllBlogPosts;

public class GetAllBlogPostsResponseDto
{
    public MetaData MetaData { get; set; } = new();
    public List<BlogPostListItemDto> Models { get; set; } = new();
}

public class BlogPostListItemDto
{
    public long Id { get; set; }
    public string Title { get; set; } = string.Empty;
    public string Slug { get; set; } = string.Empty;
    public string? Summary { get; set; }
    public string? FeaturedImageThumbnailPath { get; set; }
    public int Status { get; set; }
    public string StatusName { get; set; } = string.Empty;
    public DateTime? PublishedAt { get; set; }
    public int ViewCount { get; set; }
    public bool IsFeatured { get; set; }
    public DateTime Created { get; set; }
    public List<BlogPostCategoryDto> Categories { get; set; } = new();
}
