Skip to content

[✍️ Dev Log] 정송이 / 2021-06-02 #215

@lovelysi0113

Description

@lovelysi0113

오늘은 어떻게 프로젝트에 기여했나요?

  • workspace: chat 기능 보완
  • workspace: kanban 기능 보완
    • [server] [Workspace] - task edit Event logic #166 taskColor 데이터도 함께 저장하도록 수정
    • [server] [Workspace] - kanban board: 소켓통신화 / 마우스최적화 #136 structuringData 함수에서 comment 데이터에 writer 데이터가 있도록 SQL 구문 보완
      const projects = await getRepository(Projects)
          .createQueryBuilder('projects')
          .where('projects.id = :id', { id: projectId })
          .leftJoinAndSelect('projects.partsList', 'partsList', 'partsList.name = :name', { name: part })
          .leftJoinAndSelect('partsList.taskBoxesList', 'taskBoxesList')
          .leftJoinAndSelect('taskBoxesList.tasksList', 'tasksList')
          .leftJoinAndSelect('tasksList.checklistsList', 'checklistsList')
          .leftJoinAndSelect('tasksList.commentsList', 'commentsList')
          .leftJoinAndSelect('commentsList.writer', 'writer') // 이 부분 추가
          .orderBy('taskBoxesList.index', 'ASC')
          .addOrderBy('tasksList.index', 'ASC')
          .addOrderBy('checklistsList.createdAt', 'ASC')
          .getMany();
    • [server] [Workspace] - Edit Kanban Part API 구현 #174 post /workspace/:projectURL/kanban/:part 요청 로직 수정 (이하 editKanbanPart로 표기)
      • part 이름을 수정하면 자꾸 이미 존재하는 part라는 에러가 발생했다
        unknown
      • 알고보니 controllers/workspace/socketKanban.tsjoinPart 이벤트에서 DB에 존재하지 않는 part에 들어가게 되면 자동으로 그 이름을 DB에 추가해주는 로직이 있었고 클라이언트에서 part 이름을 수정할 때 editKanbanPart 요청과 joinPart를 동시에 실행시키고 있었다
        joinPart 이벤트가 먼저 실행(수정하는 이름으로 된 part로 입장-그 이름을 DB에 저장)된 이후에 editKanbanPart 요청이 실행되었는데(socket 통신이 express보다 빠름) 이때에는 수정하려는 이름이 이미 DB에 존재하고 있었기에 계속 'already existed error'가 발생한 것이었다
      • joinPart에서 DB에 저장하는 부분을 삭제했더니 part 이름 수정이 잘 되는 것을 확인할 수 있었다
      • 해당 부분을 삭제해도 되는 이유는 joinPart 이벤트가 발생할 때에는 이미 DB에 존재하는 part로 접속한다는 것이 보장되어 있기 때문에(처음에 part 목록을 내려주고 그 목록 내에서 버튼을 클릭하여 part 이동을 하도록 구현되어 있음) DB에 존재하지 않는 이름을 가진 part로 join하는 경우는 고려하지 않아도 된다
  • 프로젝트 문서화
    • README 작성 (updateReciperInfo 브랜치)
    • WIKI 작성
    • NOTION 작성 (기술 발표 문서)

오늘의 프로젝트에서 힘든 점은 무엇인가요?

내일은 프로젝트에 기여하기 위해 무엇을 해야 하나요?

  • 에러 수정 및 코드 보완
  • 프로젝트 문서화
  • 개인 기술 발표 준비(socket.io)

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions