// 그룹 사용자 검색 파라미터 인터페이스 export interface GroupUserSearchParams { page?: number; size?: number; sort?: string; grpSn?: number; userId?: string; userName?: string; } // 그룹 사용자 목록 응답 인터페이스 export interface GroupUserListResponseDto { grpSn: number; userUnqId: string; userId: string; userName: string; email: string; mphn: string; regDt: string; rgtr: string; mdfcnDt: string; mdfr: string; rgtrNm: string; mdfrNm: string; } // 그룹 사용자 페이지 응답 인터페이스 export interface GroupUserList { content: GroupUserListResponseDto[]; 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 GroupUserDetailResponse { grpSn: number; userUnqId: string; userId: string; userName: string; email: string; mphn: string; regDt: string; rgtr: string; mdfcnDt: string; mdfr: string; rgtrNm: string; mdfrNm: string; } // 그룹 사용자 저장 데이터 인터페이스 export interface GroupUserSaveData { grpSn: number; userUnqId: string; } // 그룹 사용자 수정 데이터 인터페이스 export interface GroupUserUpdateData { userUnqId: string; } // 그룹 사용자 서비스 인터페이스 export interface GroupUserService { // 그룹 사용자 목록 조회 findPageGroupUser: (params: GroupUserSearchParams) => Promise; // 그룹 사용자 단건 조회 findByGroupAndUserId: ( grpSn: number, userUnqId: string, ) => Promise; // 그룹 사용자 저장 saveGroupUser: (data: GroupUserSaveData) => Promise; // 그룹 사용자 수정 updateGroupUser: ( grpSn: number, userUnqId: string, data: GroupUserUpdateData, ) => Promise; // 그룹 사용자 삭제 deleteGroupUser: (grpSn: number, userUnqId: string) => Promise; }