Files
frontend/apps/cs/src/pages/groups/model/group-users-interface.ts
T

108 lines
2.3 KiB
TypeScript

// 그룹 사용자 검색 파라미터 인터페이스
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<GroupUserList>;
// 그룹 사용자 단건 조회
findByGroupAndUserId: (
grpSn: number,
userUnqId: string,
) => Promise<GroupUserDetailResponse>;
// 그룹 사용자 저장
saveGroupUser: (data: GroupUserSaveData) => Promise<GroupUserDetailResponse>;
// 그룹 사용자 수정
updateGroupUser: (
grpSn: number,
userUnqId: string,
data: GroupUserUpdateData,
) => Promise<GroupUserDetailResponse>;
// 그룹 사용자 삭제
deleteGroupUser: (grpSn: number, userUnqId: string) => Promise<boolean>;
}