44 lines
1.3 KiB
TypeScript
44 lines
1.3 KiB
TypeScript
import { client } from "@/shared/api";
|
|
import { ENDPOINT } from "@/shared/config";
|
|
import type {
|
|
Attachment,
|
|
AttachmentService,
|
|
} from "../model/attachment-interface";
|
|
|
|
export class AttachmentApiService implements AttachmentService {
|
|
public async getAttachments(atflCd: string): Promise<Attachment[]> {
|
|
const response = await client.get<Attachment[]>(
|
|
`${ENDPOINT.ATTACH_SERVICE.ATTACHMENTS}/${atflCd}`,
|
|
);
|
|
return response.data;
|
|
}
|
|
|
|
public async deleteAttachment(atflId: string): Promise<void> {
|
|
await client.delete(`${ENDPOINT.ATTACH_SERVICE.ATTACHMENTS}/${atflId}`);
|
|
}
|
|
|
|
public async deleteAttachmentByAtflCd(atflCd: string): Promise<void> {
|
|
await client.delete(
|
|
`${ENDPOINT.ATTACH_SERVICE.ATTACHMENTS}/atflCd/${atflCd}`,
|
|
);
|
|
}
|
|
|
|
public async getImageUrl(atflId: string): Promise<string> {
|
|
if (!atflId) return "";
|
|
const response = await fetch(`${ENDPOINT.ATTACH_SERVICE.IMAGES}/${atflId}`);
|
|
const blob = await response.blob();
|
|
return URL.createObjectURL(blob);
|
|
}
|
|
|
|
public async getImageUrlByAtflCd(atflCd: string): Promise<string> {
|
|
if (!atflCd) return "";
|
|
const response = await fetch(
|
|
`${ENDPOINT.ATTACH_SERVICE.IMAGES}/atflCd/${atflCd}`,
|
|
);
|
|
const blob = await response.blob();
|
|
return URL.createObjectURL(blob);
|
|
}
|
|
}
|
|
|
|
export const AttachmentApi = new AttachmentApiService();
|