Files
gg-backend/frontend/src/api/blog.ts
T

49 lines
1.0 KiB
TypeScript
Raw Normal View History

2026-05-26 15:48:01 +05:30
import apiClient from '@/api/client';
2026-03-18 14:25:08 +05:30
export interface Blog {
id?: number;
title: string;
writer: string;
image?: string;
content: any;
}
export const getAllBlogsApi = async () => {
2026-05-26 15:48:01 +05:30
const res = await apiClient.get('/blogs');
2026-03-18 14:25:08 +05:30
return res.data;
};
export const getBlogByIdApi = async (id: number) => {
2026-04-14 16:04:44 +05:30
const res = await apiClient.get(`/blogs/admin/${id}`);
2026-03-18 14:25:08 +05:30
return res.data;
};
export const createBlogApi = async (data: Blog) => {
2026-05-26 15:48:01 +05:30
const res = await apiClient.post('/blogs', data);
2026-03-18 14:25:08 +05:30
return res.data;
};
export const updateBlogApi = async (id: number, data: Blog) => {
const res = await apiClient.put(`/blogs/${id}`, data);
return res.data;
};
export const deleteBlogApi = async (id: number) => {
const res = await apiClient.delete(`/blogs/${id}`);
return res.data;
};
/* IMAGE UPLOAD */
export const uploadImageApi = async (file: File) => {
const formData = new FormData();
2026-05-26 15:48:01 +05:30
formData.append('image', file);
2026-03-18 14:25:08 +05:30
2026-05-26 15:48:01 +05:30
const res = await apiClient.post('/upload/image', formData, {
2026-03-18 14:25:08 +05:30
headers: {
2026-05-26 15:48:01 +05:30
'Content-Type': 'multipart/form-data',
2026-03-18 14:25:08 +05:30
},
});
return res.data;
};