57 lines
1.1 KiB
TypeScript
57 lines
1.1 KiB
TypeScript
export interface BlogTag {
|
|
tag: string;
|
|
slug: string;
|
|
}
|
|
|
|
export interface BlogCategory {
|
|
title: string;
|
|
parent: string; // "Linux" gibi string değer
|
|
is_active: boolean;
|
|
created_at: string;
|
|
order: number;
|
|
slug: string;
|
|
image: string | null;
|
|
keywords: string;
|
|
description: string;
|
|
}
|
|
|
|
export interface BlogComment {
|
|
id: number;
|
|
user: string;
|
|
post: number;
|
|
title: string;
|
|
body: string;
|
|
created_at: string;
|
|
slug: string;
|
|
parent: number | null;
|
|
child: BlogComment[];
|
|
}
|
|
|
|
export interface BlogPost {
|
|
id?: number; // Backend'den gelebilir veya gelmeyebilir
|
|
title: string;
|
|
content: string;
|
|
categories: BlogCategory[];
|
|
keywords: string;
|
|
tags: BlogTag[];
|
|
image: string;
|
|
thumb: string;
|
|
video: string;
|
|
slug: string;
|
|
created_at: string;
|
|
updated_at: string;
|
|
is_active: boolean;
|
|
is_front: boolean;
|
|
comments?: BlogComment[];
|
|
}
|
|
|
|
export interface BlogPostListResponse {
|
|
count: number;
|
|
next: string | null;
|
|
previous: string | null;
|
|
results: BlogPost[];
|
|
}
|
|
|
|
|
|
|