# prisma 연결

```
npx prisma migrate dev

npx prisma generate

npx prisma db pull
npx prisma db push
```

generate 를 진행해야 로컬에 연결 파일들이 생성이되고 pull push 를 사용할 수 있게 됨.

# react query cache data 가져오기

```
const cache = useQueryClient()
const data = cache.getQueryData(['user', 'info']) as UserState
```

# 팝업 컨트롤러 제어

### open

```
const popupController = usePopupController()

onClick={() => popupController.setMemberInformationPopup(true)}
onClick={() => popupController.setZipCodePopup(true)}
```

### close

```
const popupController = usePopupController()

onClick={() => popupController.setMemberInformationPopup(false)}
onClick={() => popupController.setZipCodePopup(false)}
```

# useEffect 정리

- client url pathname 변경시 -> @/components/ui/Header.tsx

# User Role 구분

session에 있는 role 키로 구분한다

- T01 / T01 -> Super user\
  session.role === 'T01'
- A03 / 1234 -> T01을 제외한 1차점\
  session.role === 'Admin'
- 2A03 / 1234 -> 2차점\
  session.role === 'Admin_Sub'
- constA03_01 / 1234 -> 시공사\
  session.role === 'Builder'
- teshg44 / 1234 -> 시공사\
  session.role === 'Builder'
- partners -> Q.Partners 계정\
  session.role === 'Partner'
- 이외의 경우 -> 굳이 체크할 필요 없어보임\
  session.role === 'User'

# 지붕재 적합성 TODO

```
const suitableCheck = (value: string) => {
    if (value === '×') {
      return <i className="compliance-icon x" />
    } else if (value === 'ー') {
      return <i className="compliance-icon quest" />
    } else {
      return <i className="compliance-icon check" />
    }
  }
```

- 추후 지붕재 적합성 데이터 CUD 구현 시 ×, ー 데이터 관리 필요
