54 lines
1.3 KiB
TypeScript
54 lines
1.3 KiB
TypeScript
import { client } from "@/shared/api";
|
|
import { ENDPOINT } from "@/shared/config";
|
|
import type {
|
|
Image,
|
|
ImageFormData,
|
|
ImageList,
|
|
ImageParams,
|
|
ImageService,
|
|
} from "../model/image-interface";
|
|
|
|
export class ImageApiService implements ImageService {
|
|
public async getImageList(params: ImageParams): Promise<ImageList> {
|
|
const response = await client.get<ImageList>(
|
|
`${ENDPOINT.CMS_SERVICE.IMAGES}`,
|
|
{
|
|
params,
|
|
},
|
|
);
|
|
return response.data;
|
|
}
|
|
|
|
public async getImageInfo(imgSn: string): Promise<Image> {
|
|
const response = await client.get<Image>(
|
|
`${ENDPOINT.CMS_SERVICE.IMAGES}/${imgSn}`,
|
|
);
|
|
return response.data;
|
|
}
|
|
|
|
public async createImage(data: ImageFormData): Promise<Image> {
|
|
const response = await client.post<Image>(
|
|
ENDPOINT.CMS_SERVICE.IMAGES,
|
|
data,
|
|
);
|
|
return response.data;
|
|
}
|
|
|
|
public async updateImage(
|
|
imgSn: string,
|
|
data: Partial<Image>,
|
|
): Promise<Image> {
|
|
const response = await client.put<Image>(
|
|
`${ENDPOINT.CMS_SERVICE.IMAGES}/${imgSn}`,
|
|
data,
|
|
);
|
|
return response.data;
|
|
}
|
|
|
|
public async deleteImage(imgSn: string): Promise<void> {
|
|
await client.delete(`${ENDPOINT.CMS_SERVICE.IMAGES}/${imgSn}`);
|
|
}
|
|
}
|
|
|
|
export const ImageApi = new ImageApiService();
|