/** * πŸ“„ Attachment Service * 첨뢀 파일 μ„œλΉ„μŠ€ 클래슀 * * - 첨뢀 파일 λͺ©λ‘ 쑰회 및 νŽ˜μ΄μ§€λ„€μ΄μ…˜ 지원 * - 첨뢀 파일 상세 정보 쑰회 κΈ°λŠ₯ * - 첨뢀 파일 μ‚­μ œ κΈ°λŠ₯ * - Axios 기반 HTTP μš”μ²­ 처리 * - νƒ€μž… μ•ˆμ „μ„± 보μž₯을 μœ„ν•œ μΈν„°νŽ˜μ΄μŠ€ ν™œμš© * - 첨뢀 파일 CRUD μž‘μ—…μ„ μœ„ν•œ ν‘œμ€€ν™”λœ μ„œλΉ„μŠ€ λ©”μ†Œλ“œ * * πŸ”— μ‚¬μš© API * - 첨뢀 파일 쑰회: GET /attach-service/api/v1/atfl/attachments (attach-service) * - 첨뢀 파일 μ‚­μ œ: DELETE /attach-service/api/v1/atfl/attachments/atflCd (attach-service) */ import type { AxiosResponse } from "axios"; import type { Attachment, AttachmentList, AttachmentParams, AttachmentService, } from "../attachment/attachment-interface"; import { getData, deleteData } from "../index"; export const ENDPOINT = { ATTACH_SERVICE: { TUS_UPLOAD: "/attach-service/api/v1/tus/upload", EDITOR_UPLOAD: "/attach-service/api/v1/upload/editor", IMAGES: "/attach-service/api/v1/images", MOVIE_THUMBNAIL: "/attach-service/api/v1/movie/thumbnail", ATTACHMENTS: "/attach-service/api/v1/atfl/attachments", DOWNLOAD: "/attach-service/api/v1/atflcd/download", STREAM_VIDEO: "/attach-service/api/v1/stream/video", DELETE_FILE_BY_ATFLCD: "/attach-service/api/v1/atfl/attachments/atflCd", }, }; export class AttachmentApiService implements AttachmentService { public async getAttachmentsList( params: AttachmentParams, ): Promise { const response = await getData(`${ENDPOINT.ATTACH_SERVICE.ATTACHMENTS}`); return response.data; } public async getAttachmentsInfo(atflCd: string): Promise { const response = await getData( `${ENDPOINT.ATTACH_SERVICE.ATTACHMENTS}/${atflCd}`, ); return response.data; } public async deleteAttachmentByAtflCd(atflCd: string): Promise { await deleteData(`${ENDPOINT.ATTACH_SERVICE.ATTACHMENTS}/atflCd/${atflCd}`); } } export const AttachmentApi = new AttachmentApiService();