/** * πŸ“„ Attachment Interface * 첨뢀 파일 κ΄€λ ¨ μΈν„°νŽ˜μ΄μŠ€ μ •μ˜ 파일 * * - 첨뢀 파일 λͺ©λ‘ 및 상세 정보 νƒ€μž… μ •μ˜ * - νŽ˜μ΄μ§€λ„€μ΄μ…˜ 및 μ •λ ¬ μ„€μ • μΈν„°νŽ˜μ΄μŠ€ 제곡 * - 첨뢀 파일 검색 및 필터링 νŒŒλΌλ―Έν„° νƒ€μž… μ§€μ • * - 첨뢀 파일 μ„œλΉ„μŠ€ λ©”μ†Œλ“œ μΈν„°νŽ˜μ΄μŠ€ μ •μ˜ * - Axios 응닡 νƒ€μž…μ„ ν™œμš©ν•œ νƒ€μž… μ•ˆμ „μ„± 보μž₯ * - 첨뢀 파일 CRUD μž‘μ—…μ„ μœ„ν•œ ν‘œμ€€ν™”λœ νƒ€μž… ꡬ쑰 */ import type { AxiosResponse } from "axios"; interface SortConfig { empty: boolean; sorted: boolean; unsorted: boolean; } interface PageableConfig { sort: SortConfig; offset: number; pageNumber: number; pageSize: number; paged: boolean; unpaged: boolean; } export interface PageableList { content: T[]; pageable: PageableConfig; sort: SortConfig; totalPages: number; totalElements: number; number: number; numberOfElements: number; size: number; first: boolean; last: boolean; empty: boolean; } export interface PageableParams { page?: number; size?: number; sort?: string[]; } export interface AttachmentParams extends PageableParams { keywordType?: string; keyword?: string; atflCd?: string; atflSn?: number; atflId?: string; orgnlFileNm?: string; atflFlieSz?: number; atflType?: string; dwnldNocs?: number; delYn?: string; lnkgDmnId?: string; lnkgDmnNm?: string; } export interface Attachment { atflCd: string; atflSn: number; atflId: string; physFileNm: string; orgnlFileNm: string; atflFlieSz: number; atflType: string; dwnldNocs: number; delYn: string; lnkgDmnId: string; lnkgDmnNm: string; regDt: string; } export type AttachmentList = PageableList; export interface AttachmentService { getAttachmentsList: (params: AttachmentParams) => Promise; getAttachmentsInfo: (atflCd: string) => Promise; deleteAttachmentByAtflCd: (atflCd: string) => Promise; }