Skip to content

Conversation

@joowojr
Copy link
Contributor

@joowojr joowojr commented Jan 29, 2025

📄 요약(Summary)

작업 보드 순서 변경 API 구현 & 알림 client 설정 환경변수화 및 email config 설정

✍🏼 상세(More)

PR Desciption

변경 사항 설명

작업 보드 순서 변경 API 구현

0️⃣ processorOrder 계산 로직

  • 작업 생성시에 processorOrder에 id * 2^6 값을 부여
  • 순서 변경 시에 이전/다음 작업의 평균값을 부여
  • 맨 위로 이동 시 -> 이전 작업이 있는지 확인하고, 없으면 다음 작업 - 2^6
  • 맨 아래로 이동 시 -> 다음 작업이 있는지 확인하고, 없으면 다음 작업 + 2^6

1️⃣ updateTaskOrder() - 작업의 순서 변경
요청 데이터 검증

  • validateRequest(request, null)를 호출하여 요청이 올바른지 확인
  • prevTaskId == 0 && nextTaskId == 0이면 예외 발생

위치에 따른 순서 변경

  • 맨 위로 이동: moveToTop(processorId, targetTask, nextTaskId) 호출
  • 맨 아래로 이동: moveToBottom(processorId, targetTask, prevTaskId) 호출
  • 중간으로 이동
    • prevTaskId, nextTaskId로 이전/다음 작업 조회
      • updateNewTaskOrder()를 호출하여 새로운 processorOrder 설정

2️⃣ updateTaskOrderAndStatus() - 작업의 상태 및 순서 변경
요청 데이터 검증

  • validateRequest(request, targetStatus) 호출하여 요청이 올바른지 확인

위치에 따른 상태 변경 및 순서 변경

  • 맨 위로 이동: moveToTopWithStatusChange() 호출
  • 맨 아래로 이동: moveToBottomWithStatusChange() 호출
  • 중간으로 이동
    • prevTaskId, nextTaskId로 이전/다음 작업 조회
  • updateNewTaskOrderAndStatus()를 호출하여 processorOrder 및 taskStatus 변경

♻️ 리팩토링

  • webhook, email client 관련 설정을 환경변수로 관리

    • application.yml에서 notifications.yml로 분리
    • email config 설정
  • memberService에 승인권한이 있는 담당자를 조회하는 메서드 추가하여 리팩토링

  • 작업 수정 시에 요청을 한 담당자가 해당 작업의 담당자인지 검증하는 로직 도메인 레벨로 이동

  • 작업이 요청 상태인지 검증하는 로직 도메인 레벨로 이동

Requirements for Reviewer

리뷰어가 특별히 봐주었으면 하는 부분이 있다면 작성해주세요
ex) 메서드 XXX의 이름을 더 잘 짓고 싶은데 혹시 좋은 명칭이 있을까요?

PR Log

PR 작업하면서 고민했던 내용, 해결한 내용, 고민 중인 내용 등

새롭게 배운 것

고민 중인 사항

첨부 자료

Requirements for Reviewer

리뷰어가 특별히 봐주었으면 하는 부분이 있다면 작성해주세요

✅ 체크리스트(Checklist)

  • PR 양식에 맞게 작성했습니다
  • 모든 테스트가 통과했습니다
  • 프로그램이 정상적으로 작동합니다
  • 적절한 PR 라벨을 설정했습니다
  • 불필요한 코드를 제거했습니다

🚪 이슈 번호(Issue numbers)

Closes #133

@joowojr joowojr added 🐛 bug 버그를 수정합니다 🧽 cleanup 코드를 더 깔끔하게 만들기만 하고, 코드 작동 방식이나 출력에 대한 부분을 변경하지 않습니다. labels Jan 29, 2025
@joowojr joowojr requested a review from starboxxxx January 29, 2025 01:25
@joowojr joowojr self-assigned this Jan 29, 2025
Copy link
Collaborator

@starboxxxx starboxxxx left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@joowojr build 에러 또 나는거 같습니다! test 폴더쪽에 있는 application.yml에도 환경 설정 추가해주셔야할거 같아요!

@joowojr
Copy link
Contributor Author

joowojr commented Jan 29, 2025

@joowojr build 에러 또 나는거 같습니다! test 폴더쪽에 있는 application.yml에도 환경 설정 추가해주셔야할거 같아요!

넵 이거 ci test 단계에서 시크릿으로 주입해야할거 같아 효성님께 전달드리겠습니다!

@joowojr joowojr added ✨ feature 구현·개선 사항에 관련된 내용입니다 HIGH 우선순위 상 labels Jan 29, 2025
@joowojr joowojr changed the title CLAP-150 알림 client 설정 환경변수화 및 email config 설정 CLAP-150 작업 보드 순서 변경 API 구현 및 알림 client 설정 환경변수화 Jan 29, 2025
@joowojr joowojr changed the title CLAP-150 작업 보드 순서 변경 API 구현 및 알림 client 설정 환경변수화 CLAP-155 작업 보드 순서 변경 API 구현 및 알림 client 설정 환경변수화 Jan 29, 2025
@joowojr joowojr removed the 🧽 cleanup 코드를 더 깔끔하게 만들기만 하고, 코드 작동 방식이나 출력에 대한 부분을 변경하지 않습니다. label Jan 29, 2025
<footer>
- 관련: #133
# Conflicts:
#	src/main/java/clap/server/application/Task/UpdateTaskService.java
<footer>
- 관련: #133
@joowojr joowojr merged commit e4c5d32 into develop Jan 29, 2025
1 check passed
@joowojr joowojr deleted the CLAP-155 branch February 3, 2025 06:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🐛 bug 버그를 수정합니다 ✨ feature 구현·개선 사항에 관련된 내용입니다 HIGH 우선순위 상

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CLAP-155 작업 보드 순서 및 상태 변경 API

4 participants