Bizm(비즈엠)을 활용한 알림톡 구현

개발/NestJS 2021. 10. 1. 08:20

알림톡을 추가할 때, 카카오 비즈니스를 통해 직접하는 것보다 Bizm이라는 알림톡 대행 서비스를 사용하는 것이 편리하다. 비즈엠 - 카카오톡 비즈메시지 공식딜러사 알림톡 친구톡 싸고 편하게 전송 www.bizmsg.kr Bizm 가이드를 따라면, 프로필과 userid 값을 받을 수 있다. // bizm.service.ts @Injectable() export class BizmService { async sendMessage(phone: string, templateId: string, message: string) { return axios.post( 'https://alimtalk-api.bizmsg.kr/v2/sender/send', [ { message_type: 'at', phn: '82' + ..

@Query와 TypeORM으로 GET method API Pagination 하기

개발/NestJS 2021. 9. 30. 08:20

GET 메소드를 활용하는 Restful 방식의 API를 구성할 때, 해당 테이블 내의 모든 정보를 가져오는 findAll( ) 방식의 API는 테이블에 데이터가 많아질 경우, 성능 이슈와 서버 메모리 사용량 증가로 인한 비용 이슈가 발생할 수 있다. Page 단위로 데이터를 분할하여 전달하는 방식으로 TypeORM의 createQueryBuilder( )를 활용하여 구성하였다. // user.service.ts async findCollectors(page, limit) { return await this.repository .createQueryBuilder('user') // user 테이블로 전달할 쿼리문임을 정의합니다. .where('user.role = COLLECTOR') // user 테이블..

[ERR_REQUIRE_ESM]: Must use import to load ES Module 발생 시

개발/NestJS 2021. 9. 29. 08:20

필요한 npm 패키지들을 설치하고, npm run start:dev를 하니 아래와 같이 error가 발생하였다. Error [ERR_REQUIRE_ESM]: Must use import to load ES Module: /node_modules/~ 이유는 현재 사용하고 있던 node 버전과 호환되지 않는 npm 패키지를 설치해서였다. 해결 방법은 두 가지가 있다. node 버전을 올린다. 에러를 발생시킨 npm 패키지의 버전을 호환가능한 버전으로 재설치한다. 대부분 node 버전을 올리기도 하지만, 다른 사람들과 node 버전을 맞춰야하는 경우에는 1번의 방법을 사용하기 힘들다. 내 경우에는 crypto-random-string이 버전 호환 문제로 이슈가 발생하였다. 현재 최신 버전은 4.0인데 pack..

NestJS Test 실행 시, jest가 module을 못 찾는 경우

개발/NestJS 2021. 9. 24. 08:20

NestJS에서 test 코드를 작성하고, npm test로 유닛 테스트를 진행하였는데 다음과 같이 "Cannot find module 'src/common/typeorm.entity' from 'user/user.entity.ts'"에러가 뜨면서 Failed가 발생하였다. 원인은 package.json에 jest 관련 moduleNameMapper가 빠져있어서 test를 할 때 import의 from의 위치를 프로젝트 디렉토리인 root로 지정되어 발생된 일이었다. "jest": { // ... "moduleNameMapper": { "^src/(.*)$": "/$1" } } 위와 같이 package.json의 "jest" 부분에 moduleNameMapper 설정을 src 디렉토리로 설정해주면 된다...

Article Thumbnail