checkpoint

need polishing
This commit is contained in:
dimitar committed 2026-01-29 05:13:52 +01:00
1 parent 0351726eeb
commit 5a457fa99f
11 files changed
+1610 -90

No files matched your search

+57
View File
@@ -179,6 +179,26 @@ export interface UpdateLiveBlogUpdateDto {
strapiId?: string;
}
export interface CreateLiveBlogDto {
title: string;
slug?: string;
description?: string;
status?: 'draft' | 'live' | 'ended' | 'archived';
authorId?: string;
categoryId?: string;
strapiId?: string;
}
export interface UpdateLiveBlogDto {
title?: string;
slug?: string;
description?: string;
status?: 'draft' | 'live' | 'ended' | 'archived';
authorId?: string;
categoryId?: string;
strapiId?: string;
}
// Live Blog API Functions
export async function fetchLiveBlogs(params: FindLiveBlogsParams = {}): Promise<LiveBlogsResponse> {
const searchParams = new URLSearchParams();
@@ -282,3 +302,40 @@ export async function deleteLiveBlogUpdate(liveBlogId: string, updateId: string)
throw new Error('Failed to delete live blog update');
}
}
export async function createLiveBlog(dto: CreateLiveBlogDto): Promise<LiveBlog> {
const response = await fetch(`${API_BASE_URL}/live-blogs`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(dto),
});
if (!response.ok) {
throw new Error('Failed to create live blog');
}
return response.json();
}
export async function updateLiveBlog(id: string, dto: UpdateLiveBlogDto): Promise<LiveBlog> {
const response = await fetch(`${API_BASE_URL}/live-blogs/${id}`, {
method: 'PUT',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(dto),
});
if (!response.ok) {
throw new Error('Failed to update live blog');
}
return response.json();
}
export async function deleteLiveBlog(id: string): Promise<void> {
const response = await fetch(`${API_BASE_URL}/live-blogs/${id}`, {
method: 'DELETE',
});
if (!response.ok) {
throw new Error('Failed to delete live blog');
}
}