Kernel360 / F2-TECHPICK

웹에서 지식을 찾는 사람들을 위한 링크 관리 유틸리티
4 stars 4 forks source link

[refactor] 픽 리팩토링 #455

Closed sangwonsheep closed 1 week ago

sangwonsheep commented 2 weeks ago

기능

sangwonsheep commented 2 weeks ago

DataHandler로 이동하는 것과 core 계층으로 이동하는 것은 멘토링 이후에 결정

sangwonsheep commented 2 weeks ago

image 픽 저장 시 폴더에 있는 pick_order에 중복 저장되는 문제 발견

@Transactional
public PickResult.Pick saveNewPick(PickCommand.Create command) {
    validateRootAccess(command.parentFolderId());
    validateFolderAccess(command.userId(), command.parentFolderId());
    var pick = pickDataHandler.savePick(command);
    pick.getParentFolder().getChildPickIdOrderedList().add(pick.getId()); // 제거하여 해결

    List<Long> tagOrderList = pick.getTagIdOrderedList();
    List<Tag> tagList = tagDataHandler.getTagList(tagOrderList);
    for (Tag tag : tagList) {
        if (ObjectUtils.notEqual(tag.getUser(), pick.getUser())) {
            throw ApiTagException.UNAUTHORIZED_TAG_ACCESS();
        }
        pickDataHandler.savePickTag(pick, tag);
    }

    return pickMapper.toPickResult(pick);
}

pick.getParentFolder().getChildPickIdOrderedList().add(pick.getId()); 제거하여 해결