Closed le2sky closed 1 month ago
solution service에 존재하는 pr 형식 검사와 존재 미션인지 검사하는 로직을 도메인 레이어로 내리도록 변경합니다. 현재 solution service의 책임이 많아요. 서비스를 분리해볼 수 있으나, 그 이전에 도메인으로 내릴 수 있는 부분은 내려볼려고 해요.
as-is
private void validatePullRequestUrl(String url) { Matcher matcher = PR_URL_PATTERN.matcher(url); if (!matcher.matches()) { throw new DevelupException(ExceptionType.INVALID_URL); } String repositoryName = matcher.group(1); if (!existsMissionRepositoryName(repositoryName)) { throw new DevelupException(ExceptionType.INVALID_URL); } } private boolean existsMissionRepositoryName(String repositoryName) { List<String> url = missionRepository.findUrl(); return url.stream().map(MISSION_URL_PATTERN::matcher) .filter(Matcher::find) .anyMatch(matcher -> matcher.group(1).equals(repositoryName)); }
to-be(미정)
private void validatePullRequestUrl(String url) { PullRequest pr = new PullRequest(url); MissionNames missionNames = missionRepository.findAllMissionNames(); pr.validateExsisMission(missionNames); }
설명
solution service에 존재하는 pr 형식 검사와 존재 미션인지 검사하는 로직을 도메인 레이어로 내리도록 변경합니다. 현재 solution service의 책임이 많아요. 서비스를 분리해볼 수 있으나, 그 이전에 도메인으로 내릴 수 있는 부분은 내려볼려고 해요.
as-is
to-be(미정)
작업 목록