codestates / codestates/Bobpago

[πŸ“šDev Log] λ°•μ„±ν›ˆ / 2021.09.30

Open
#119 0 comments 0 reactions 1 assignee Claimed by @tjdgns5272 View on GitHub
dev log
Dominant language
TypeScript
Stars
5
Forks
3
PR merge metrics
No merged PRs in 30d

Description

### μ˜€λŠ˜μ€ μ–΄λ–»κ²Œ ν”„λ‘œμ νŠΈμ— κΈ°μ—¬ν–ˆλ‚˜μš”?

- λŒ“κΈ€ CRUD api μž‘μ„±
- λŒ“κΈ€ μ’‹μ•„μš” μΆ”κ°€ μ‚­μ œ api μž‘μ„±
- λ ˆμ‹œν”Ό μ‚­μ œμ‹œ ν•΄λ‹Ή κ²Œμ‹œκΈ€μ— μžˆλŠ” λŒ“κΈ€ S3 이미지 μ‚­μ œ

```js
// νŠΉμ • λ ˆμ‹œν”Ό μ‚­μ œμ‹œ μ•ˆμ— 있던 λŒ“κΈ€ S3 이미지 전체 μ‚­μ œ
async deleteComments(recipeId: number) {
const comments = await this.commentRepository.find({ recipeId });
await Promise.all(
comments.map(async (comment) => {
if (comment.imageUrl !== '') {
return await this.deleteById(comment.id, 'comment');
}
}),
);
}
```

### 였늘의 ν”„λ‘œμ νŠΈμ—μ„œ νž˜λ“  점은 λ¬΄μ—‡μΈκ°€μš”?
- λ ˆμ‹œν”Όλ₯Ό μ‚­μ œ ν• λ•Œ λ ˆμ‹œν”Ό idλ₯Ό μ°Έμ‘° ν•˜κ³ μžˆλŠ” ν…Œμ΄λΈ”κΉŒμ§€ 같이 μ‚­μ œλ₯Ό 일일히 μ–΄λ–»κ²Œ μ‚­μ œν•΄μ£ΌλŠ”μ§€μ— λŒ€ν•΄ 고민을 ν•˜λŠλΌ μ‹œκ°„μ΄ μ˜€λž˜κ±Έλ Έλ‹€.

- ν•­λͺ©λ³„λ‘œ μ μ–΄μ£Όμ„Έμš”.

```js
// 1. AWS S3μ—μ„œ 이미지 객체 μ‚­μ œ
await this.imageService.deleteById(recipeId, 'recipe');

// 2. λ ˆμ‹œν”Ό_재료 ν…Œμ΄λΈ”μ—μ„œ λ ˆμ‹œν”Ό 아이디 κΈ°μ€€μœΌλ‘œ μ‚­μ œ
await this.recipeIngredientRepository.delete({ recipeId });

// 3. λ ˆμ‹œν”Ό_이미지 ν…Œμ΄λΈ”μ—μ„œ λ ˆμ‹œν”Ό 아이디 κΈ°μ€€μœΌλ‘œ μ‚­μ œ
await this.recipeImageRepository.delete({ recipeId });

// 4. λ ˆμ‹œν”Ό ν…Œμ΄λΈ”μ—μ„œ μ‚­μ œ
await this.recipeRepository.delete({ id: recipeId });
```
μ΄λŸ°μ‹μœΌλ‘œ 순차적으둜 λ ˆμ‹œν”Ό idλ₯Ό μ°Έμ‘°ν•˜κ³  μžˆλŠ” ν…Œμ΄λΈ” μˆœμ„œλŒ€λ‘œ μ§€μ›Œλ‚˜κ°€λ©΄ 였λ₯˜μ—†μ΄ λ‹€ μ§€μ›Œμ§€λŠ”κ±Έ ν™•μΈν–ˆλ‹€.
더 쒋은 방법은 μ—λŸ¬ ν•Έλ“€λ§μ—μ„œ λ‹€λ£¨μ—ˆλ‹€. πŸ‘‰πŸ» [https://github.com/codestates/Bobpago/issues/120](https://github.com/codestates/Bobpago/issues/120)

### 내일은 ν”„λ‘œμ νŠΈμ— κΈ°μ—¬ν•˜κΈ° μœ„ν•΄ 무엇을 ν•΄μ•Ό ν•˜λ‚˜μš”?

- [x] λ ˆμ‹œν”Ό 더미데이터 생성
- [x] 각쒅 μ—λŸ¬ 및 버그 λ°œμƒμ‹œ μ½”λ“œ μˆ˜μ •
- [ ] 배포 μžλ™ν™” κ΅¬ν˜„

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.