맡은 기능을 구현을 하고 다른부분을 할 것이 있는지 물어봤는데 새로 해야 할 것이 생겼다. 그것은 바로
admin계정 즉 관리자가 가게 등록을 하였을때 model 쪽에 추가를 했던 컬럼이 있다.
이 role 이라는 컬럼인데 초기 값은 defaultValue : 0 으로 설정이 되어 있는데
관리자가 가게 등록을 하였을때 defaultValue의 값이 1로 바뀔수 있게 하는 것이였는데 , 처음에는 팀원분들의 요구사항을 이해하지 못하였지만 다시 한번묻고 또 묻고해서 내가 생각한대로 기능을 구현하였는데 결과적으로 잘된 것 같다고 하셨다. 우선 어떻게 진행을 하였냐면 가게를 등록하는 과정에서 defaultValue의 값이 증가해야하니깐 , storerouter.js 파일에 가서 가게등록을 하는 API에서 코드를 몇가지 추가하였다.
첫번째 ,
getMaxRole 이라는 변수에 비동기적으로 처리한뒤 아래 maxRoleUser변수를 또 만들어 findOne을 통해 찾기로 하였다. 그리고 정렬을 하는데 role 의 칼럼들을 정리하고 DESC를 통해 내림차순으로 하려고 했는데 지금 생각해보니 어차피
defaultValue는 1이 될것이기에 내림차순이 필요한가? 싶다. 그래서 삭제를 할 예정이다.
두번째,
위처럼 변수들을 만들고 getMaxRole에 담긴 데이터들을 maxRole 이라는 변수를 let을 통해 만들고 담았다.
그리고 create를 통해 DB에 데이터를 생성을 하는데 ,
이렇게 role이라는 칼럼에 위에 maxRole 변수에 담긴 데이터들을 가게등록을 할때 role 이 1이 될 수 있도록 ++를 통해 만들었다. 여기서 DB에 들어갈 것들을 storeName,storeAddress,storeUrl 이렇게 만들었는데 이것들은 사실 Stores의 모델에 있는것이다. 근데 role 이라는 컬럼은 Users에 있는 컬럼인데 이것을 왜 쓸수 있냐면 제약조건을 걸지 않았기 때문에 써도 무방하다는 것이다. 그래서 이렇게 조회를 할때 조회하는 부분에서 JOIN 즉 , include를 통해 조회할 목록들을 추가하였다.
이로써 팀원분들께서 추가로 요구하신 사항을 마무리 하였다.
'TIL > 내일배움캠프 10주차' 카테고리의 다른 글
[내배캠 TIL ] 10주차 금요일 ::node.js 와 ejs 의 차이 (0) | 2023.07.21 |
---|---|
[내배캠 TIL ] 10주차 수요일 :: Team Project (0) | 2023.07.21 |
[내배캠 TIL ] 10주차 화요일 :: Team Project (0) | 2023.07.21 |
[내배캠 TIL ] 10주차 월요일 :: Team Project (0) | 2023.07.21 |