feat: 그룹 인터페이스 및 서비스 생성

This commit is contained in:
2025-06-16 13:51:15 +09:00
parent ef7310623c
commit e390026bfe
7 changed files with 341 additions and 0 deletions
@@ -0,0 +1,101 @@
// 그룹 검색 파라미터 인터페이스
export interface GroupSearchParams {
page?: number;
size?: number;
sort?: string;
grpNm?: string;
useYn?: string;
}
// 그룹 목록 응답 인터페이스
export interface GroupListResponseDto {
grpSn: number;
grpNm: string;
grpExpln: string;
useYn: string;
regDt: string;
rgtr: string;
mdfcnDt: string;
mdfr: string;
rgtrNm: string;
mdfrNm: string;
}
// 그룹 페이지 응답 인터페이스
export interface GroupList {
content: GroupListResponseDto[];
pageable: {
sort: {
empty: boolean;
sorted: boolean;
unsorted: boolean;
};
offset: number;
pageSize: number;
pageNumber: number;
paged: boolean;
unpaged: boolean;
};
last: boolean;
totalPages: number;
totalElements: number;
size: number;
number: number;
sort: {
empty: boolean;
sorted: boolean;
unsorted: boolean;
};
first: boolean;
numberOfElements: number;
empty: boolean;
}
// 그룹 상세 응답 인터페이스
export interface GroupDetailResponse {
grpSn: number;
grpNm: string;
grpExpln: string;
useYn: string;
regDt: string;
rgtr: string;
mdfcnDt: string;
mdfr: string;
rgtrNm: string;
mdfrNm: string;
}
// 그룹 저장 데이터 인터페이스
export interface GroupSaveData {
grpNm: string;
grpExpln: string;
useYn: string;
}
// 그룹 수정 데이터 인터페이스
export interface GroupUpdateData {
grpNm: string;
grpExpln: string;
useYn: string;
}
// 그룹 서비스 인터페이스
export interface GroupService {
// 그룹 목록 조회
findPageGroup: (params: GroupSearchParams) => Promise<GroupList>;
// 그룹 단건 조회
findById: (id: number) => Promise<GroupDetailResponse>;
// 그룹 저장
saveGroup: (data: GroupSaveData) => Promise<GroupDetailResponse>;
// 그룹 수정
updateGroup: (
id: number,
data: GroupUpdateData,
) => Promise<GroupDetailResponse>;
// 그룹 삭제
deleteGroup: (id: number) => Promise<boolean>;
}