본문 바로가기

nestJS14

Nest.js : Session 로그인을 위한 Redis 연동, 그리고 Ports and Adapters Architecture에 적용하기 처음으로 nest.js에 Redis라는 것을 사용해보기 위해 이리저리 구글링을 해보았다. 캐시용으로 말고, 세션용으로! 진짜 굉장히 삽질 많이했다. 그냥 쓰라고하면 쓰겠는데, Ports and Adapters 아키텍쳐에 맞게 무언가 만들려고 하니까... 머리가 더욱 복잡했다. 결국 최적의 방법은 찾지 못한듯 하다 ㅠㅠ 나는 CacheModule의 인터셉터와 데코레이터를 사용하지 않고, cacheManager 만을 이용해서 redis를 이용한 세션 로그인을 구현하고 싶었다. (그리고 저걸로 해도 아마 안될 것이다. 딥하게 건드리지 않는 이상) 그래서 생각한 첫 번째 방법이 RedisModule과 RedisService를 만들어서 필요한 모듈마다 import하는 것이다. // redis.module.ts i.. 2023. 2. 16.
Nest.js : Test시 Controller의 Decorator정보를 얻는 법 Controller의 테스트 코드를 작성 중에 문득, @UseGuards(LocalAuthGuard) 데코레이터를 검증하고 싶었다. 그래서 방법을 찾아본 결과 다음 방법을 사용해서 검증을 해볼 수 있었다. 하지만, 쓸모가 있는지는 아직 잘 모르겠다. 혹시 참고하실 분들은 참고하시길 바랍니다. // 컨트롤러의 logIn 함수로 부터 Decorator들의 key값들을 얻는다. const keys = Reflect.getMetadataKeys(AuthController.prototype.logIn); // key값을 이용해서 Decorator data를 뽑아낸다. // 아직 어떤식으로 활용해야할지는 잘 모르겠다. keys.forEach((el) => { const value = Reflect.getMetada.. 2023. 2. 7.