작성
·
237
0
common.service 의 cursorPaginate 일반화 관련 질문입니다.
nextUrl 생성할 때 아래와 같이 searchParams 를 생성하는데 이 부분은 일반화 할 수없는건가요?
if (nextUrl) {
for (const key of Object.keys(dto)) {
if (dto[key]) {
if (
key !== 'where__id__more_than' &&
key !== 'where__id__less_than'
) {
nextUrl.searchParams.append(key, dto[key]);
}
}
}
let key = null;
if (dto.order__createdAt === 'ASC') {
key = 'where__id__more_than';
} else {
key = 'where__id__less_than';
}
nextUrl.searchParams.append(key, lastItem.id.toString());
}
답변 3
0
0
제가 질문을 애매하게 했네요. 죄송합니다.
composeFindOption 처럼 nextUrl 생성 부분도 만들 수 있는지 궁금했었습니다.
예를 들어 현재 코드에서는 where__likeCount__more_than 라는 쿼리파라미터가 만들어 질때마다 netxUrl 에서 하나 하나씩 추가 시켜 줘야해서 이부분도 composeFindOption 처럼 자동 파싱이 가능한지 입니다.
0
composeFindOption과 똑같은 방식으로 말씀하시는게 맞을까요?
맞다면 완전 똑같이 사용하면 되는데 (스트링 값과 원하시는 값을 key value로 페어링해서 매핑하는 방식) 아무래도 이 질문이 아닐 것 같아서 제가 아직도 잘 이해를 못하는 것 같습니다. (제대로 이해 했다면 방식은 완전 똑같습니다)
예를들면 where는 기본으로 붙여주고 칼럼 이름은 언더스코어 뒤에 붙여주고 (이 부분은 위에서 말씀드린대로 key value로 정의해둔 다음 key 값을 기반으로 찾으면 되겠죠) more_than 같은 부분도 마찬가지로 말씀하신 composeFindOptions에서 하는 방식대로 구현하시면 됩니다.
혹시 제가 잘못 이해하고 있다면 다시 질문 부탁드립니다!