codestates / codestates/dalyuck-client-
[Dev Log] 이기범 / 2021-05-27
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
### 오늘은 어떻게 프로젝트에 기여했나요?
* PATCH /calendar/request 완성.
> - 구독자가 구독 요청이 수락 됐다는 이메일을 받은 후 url을 클릭하면 구독자의 other_calendar 테이블에 구독한 달력 반영.
> - 구독한 달력과 연관된 모든 이벤트들을 copy해서 other_calendar와 other_event 테이블에 paste 한다. Copy & paste 과정은 모두 query문으로 작성했다.
> - 달력 구독 이므로 구독한 달력에서 새로운 입력, 수정, 또는 삭제가 있을 경우 database에 event trigger를 작성하여 other_event에도 반영되게 구현하였다. Event trigger들은 모두 query문으로 작성했다.
> - 이러한 과정이 다 끝나면 request_table에 해당 요청이 저장된 record를 삭제하고 client에게 구독된 달력 정보를 return 한다.
* PATCH /calendar/subscribe 완성
> - 유저가 구독한 달력에 대해 달력 이름과 색깔을 수정할 수 있다.
> - 달력 이름을 수정할 경우 other_calendar 에서 이름을 수정한다.
> - 색깔을 수정할 경우 other_calendar에서 color column을 수정해주고 연관된 이벤트들을 other_event에서 colour column을 수정해준다. other_calendar에서 색깔이 수정될 경우 event trigger를 이용해 other_event에서도 color가 수정되도록 구현했다.
> - 수정이 완료되면 client에게 수정된 달력을 return 한다.
### 오늘의 프로젝트에서 힘든 점은 무엇인가요?
* 달력 구독을 코드로 구현하다 보니 중간에 API와 DB schema를 수정하는 일이 있었다.
* Event trigger는 typeOrm으로 구현할 수가 없어 query문으로 구현했으나 그 과정에서 많은 어려움을 겪었다.
### 내일은 프로젝트에 기여하기 위해 무엇을 해야 하나요?
- [x] DELETE /calendar/subscribe
- [x] 삭제되는 구독과 관련된 모든 trigger들 삭제
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.