import BoardGroup from '@/types/forum/boardGroup';
import BoardMeta from '@/types/forum/boardMeta';
import BoardManager from '@/types/forum/boardManager';
import BoardPrefix from '@/types/forum/boardPrefix';
import Post from '@/types/forum/post';
import LatestPost from '@/types/forum/latestPost';

// 게시판 목록
export interface BoardListResponse {
    total: number;
    list: {
        num: number;
        id: number;
        boardGroupID: number;
        boardGroupName: string;
        code: string;
        name: string;
        order: number;
        isSearch: boolean;
        isActive: boolean;
        posts: number;
        comments: number;
    }[];
}

// 게시판 상세
export interface BoardResponse {
	id: number;
    boardGroupID: number;
    code: string;
    name: string;
    isSearch: boolean;
    isActive: boolean;
    posts: number;
	boardGroup: BoardGroup;
    boardPrefix: BoardPrefix[];
    boardManager: BoardManager[];
	boardMeta: BoardMeta;
}

// 게시판 최근 게시글 목록
export interface LatestPostsResponse {
    list: LatestPost[];
}

// 게시판 게시글 목록
export interface BoardPostsResponse {
    total: number;
    speaker: Post[];
    notice: Post[];
    list: Post[];
}

export type { default as BoardMetaResponse } from '@/types/forum/boardMeta';