주요 콘텐츠로 건너뛰기

getIDResolver()

설명​

임시 클라이언트 측 ID를 백엔드 ID로 변환하는 함수를 반환합니다

정보

getIDResolver() 메서드는 서버와 연동하기 위한 RestDataProvider 서비스의 일부입니다.

사용법​

getIDResolver(): (id: string | number, type: number) => string | number;

반환값​

이 메서드는 idResolver(id, type) 함수를 반환합니다:

  • id - 변환할 엔티티 ID (임시 클라이언트 측 ID 또는 일반 ID)
  • type - ID가 속한 모델 타입:
    • 1 - 카드 (CardID)
    • 2 - 행 (RowID)
    • 3 - 열 (ColumnID)
    • 4 - 링크 (LinkID)
    • 5 - 댓글 (CommentID)

클라이언트에서 새 엔티티(카드, 열, 행, 링크, 댓글)를 생성할 때, RestDataProvider는 임시 클라이언트 측 ID를 할당하고 서버에서 반환한 백엔드 ID를 기억합니다. idResolver(id, type) 함수는 보유 중인 임시 ID에 대해 백엔드 ID를 반환합니다. 이미 백엔드 ID와 일치하는 ID의 경우 변환 없이 그대로 반환합니다.

예제​

가장 일반적인 사용 사례는 멀티유저 환경에서 RestDataProvider를 kanbanUpdates에 연결하는 것입니다. 이를 통해 백엔드 ID를 대상으로 하는 서버 이벤트가 임시 ID로 클라이언트에 존재하는 엔티티에 올바르게 적용됩니다:

const url = "https://some_backend_url";
const restProvider = new kanban.RestDataProvider(url);

// other initialization...

const handlers = kanbanUpdates(
board.api,
restProvider.getIDResolver()
);

const events = new kanban.RemoteEvents(url + "/api/v1", token);
events.on(handlers);

동일한 resolver 함수를 RemoteEvents.on()에 전달하는 커스텀 핸들러 내부에서도 사용할 수 있습니다. 전체 예제는 서버 이벤트 커스터마이즈를 참조하세요.

관련 문서: 서버와 연동하기: 멀티유저 백엔드