📖 2022년 06월 14일 ~ 6월 15일
✔️ 오늘 내가 한 일
- (14일) 1주 차 코드 리뷰 반영 (refactoring)
- (14일) schedule 조회 API (weekly로 수정)
- (14일) daily supplement 생성 API
- (15일) refresh token + redis 구현
- (15일) error middleware 수정
- swagger 명세
💡 TIL ( Today I Learned )
[ 타입스크립트 Enums ]
TypeScript: Handbook - Enums (typescriptlang.org)
[ catch(error) 에서 error message 사용 ]
타입스크립트에서는 TypeScript는 error의 타입을 unknown을 기본값으로 갖는다.
catch 문에서 발생하는 에러가 Error 객체가 아닌 에러일 수도 있기 때문에 Error 타입을 지정해줄 수 없다.
따라서 따로 util 함수를 만들어서 해결했다!
👉 [Error: TS(2339)] TypeScript에서 catch(error) 에서 error message 사용하기
[ Refresh Token + Redis 연결 ]
지난 프로젝트에서는 redis 대신 mongoDB에 refresh token을 저장했지만 이번에는 redis를 연결했다.
지금은 localhost에 연결되어 있지만 나중에 배포되는 서버에 설치하여 띄울 예정이다.
재발급 로직에서 refresh token에 대한 유효성 검사는 총 두가지로 설계했다.
- redis내 존재 여부
- 전달받은 userId와 일치 여부
그리고 또한 사용자가 로그아웃을 할 때 refresh token은 더이상 필요가 없기 때문에 삭제하는 로직도 추가했다.
import * as redis from "redis";
import dotenv from "dotenv";
dotenv.config();
const redisClient = redis.createClient();
redisClient.connect();
redisClient.on("ready", () => {
console.log("redis is ready");
});
redisClient.on("error", (error) => {
console.error(error);
});
export default redisClient;
- Redis에 저장 (해당 코드는 로그인할 때 refresh token 발급하고 저장해야한다.)
- Redis에서 불러오기
💁♀️ 오늘 느낀 점
[ Team ]
우리 팀 디스코드 방엔 유연근무제를 하는 봇이 3마리(?) 있다.
자꾸 새벽에 야근하는 우리 팀을 두고 도망가는 벡세라를 견제하기 위한 직원 하리보다.
봇이 두 마리니깐 편하구먼? ㅋㅋㅋㅋ 아침에 잔잔하게 음악 듣고 있으니깐 팀원 분이 들어오셨다가 바로 나가셨다 🤣
찍먹 하고 나가면 어떡해요~~
📌 내일 할 일(계획)
- schedule, main MVP 계속 구현하기
- AI에 사용할 flask app 만들기
- 영양제 DB 모델 (테이블) 구축하기
- current/user 와 logout 구현하기
'프로젝트 회고 > Pill my rhythm 💊' 카테고리의 다른 글
[💊Pill my rhythm] 16~17일 차 회고 (0) | 2022.06.22 |
---|---|
[인공지능 웹 서비스 프로젝트] 13~15일 차 회고 (0) | 2022.06.18 |
[인공지능 웹 서비스 프로젝트] 8~10일 차 회고 ✔️ (0) | 2022.06.11 |
[인공지능 웹 서비스 프로젝트] 6~7일 차 회고 (0) | 2022.06.08 |
댓글