export interface PostCategory {
    id: string
    title: string
    keywords: string
    description: string
    created_at: string
    updated_at: string
    is_active: boolean
    order: number
    slug: string
    parent_id?: string
    parent?: PostCategory
    children?: PostCategory[]
    image?: string
    posts?: Post[]
}

export interface PostTag {
    id: string
    tag: string
    created_at: string
    updated_at: string
    is_active: boolean
    posts?: Post[]
}

export interface Post {
    id: string
    title: string
    content?: string
    keywords: string
    image?: string
    video?: string
    slug: string
    created_at: string
    updated_at: string
    is_active: boolean
    is_front: boolean
    parent_id?: string
    parent?: Post
    children?: Post[]
    categories?: PostCategory[]
    tags?: PostTag[]
    comments?: PostComment[]
}

export interface PostComment {
    id: string
    user_id: string
    user?: any // Define User type if needed or import from auth types
    post_id: string
    post?: Post
    title: string
    body: string
    created_at: string
    updated_at: string
    is_active: boolean
    slug: string
    parent_id?: string
    parent?: PostComment
    children?: PostComment[]
}

export interface PostCategoryView {
    id: string
    category_id: string
    category?: PostCategory
    ip_address: string
    user_agent?: string
    created_at: string
}

export interface PostsResponse {
    data: Post[]
    page: number
    limit: number
    total: number
}
