카테고리 조회
아래 페이지가 유저가 가지고 있는 카테고리에 대한 조회임

- userId로 user_category 테이블 조회 & category 테이블에서 이름 join 해서 반환
- 이때 category가 null인 애들은 삭제된 애들이니 조회하면 안됨
- 이때 반환하는 id는 user_category_id임(category_id 아님)
카테고리 등록
아래 이미지에서 + 버튼을 눌러 카테고리 등록

|
Category 테이블 |
|
id |
name |
categoryType |
1 |
식비 |
지출 |
|
|
|
|
user_category |
|
id |
userId |
categoryId |
|
1 |
1 |
- 카테고리 등록 시, category 테이블에 카테고리 row 생성
- user_category 테이블에 row 생성
카테고리 삭제
아래 이미지에서 - 버튼을 눌러 카테고리 삭제

- user_category_id를 입력으로 받고 UserCategory 찾음,
- 가지고 있다면
- 해당 userCategory를 갖고 있는 Expenditure와 Income에서
UserCategory를 null로 수정 (안하면 삭제 불가능함. ForeignKey 물려 있어서)
- user_category테이블과 category 테이블 둘다에서 삭제
- category 테이블에서 삭제해도 통계 쪽에서는 문제가 없는게
어차피 지출이나 수입에서 category의 이름을 갖고 있기에 통계조회 시 구분이 가능함
- 통계 조회 로직은 아래 참고
- 가지고 있지 않다면 삭제 불가
UserCategory는 삭제 하지 말고 category만 삭제하고 userCategory의 category 를 null로 만들어버리기
그러면 Expenditure와 Income에서 UserCategoryId를 갖고 있으니까 통계낼 때 id로 구분이 가능함
그리고 Expenditure나 Income 삭제 시, 해당 UserCategory에 category가 null이라면 해당 UserCategory삭제하기
카테고리 이름 수정
관련해서, 지출이랑 수입에서 카테고리 수정에 대한 내용 논의 필요함
- 지출이랑 수입에서 유저가 가지고 있는 카테고리에서 이름을 수정하는 건 큰 문제 없음
- 그런데 유저가 가지고 있지 않는 카테고리(Expenditure와 Income의 UserCategory가 null인 상태)
에 대해서 이름을 변경할때에 대한 로직이 지금 빠져 있는 듯함