From 8ca05723533823cb3ca8296a8673db4fa27cfa70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=8B=E1=85=B5=E1=84=8E=E1=85=A1=E1=86=AB=E1=84=8C?= =?UTF-8?q?=E1=85=B5=E1=86=AB?= Date: Sat, 6 Aug 2022 17:26:20 +0900 Subject: [PATCH] =?UTF-8?q?:hammer:=20fix(user)=20:=20user=20entity=20eage?= =?UTF-8?q?r=20false=20null=20=ED=83=80=EC=9E=85=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/database/entities/user.entity.ts | 6 +-- src/database/repositories/user.repository.ts | 17 ++++--- src/users/users.service.ts | 48 ++++++++++++-------- 3 files changed, 41 insertions(+), 30 deletions(-) diff --git a/src/database/entities/user.entity.ts b/src/database/entities/user.entity.ts index 1dcc874..f696bbf 100644 --- a/src/database/entities/user.entity.ts +++ b/src/database/entities/user.entity.ts @@ -53,7 +53,7 @@ export class User { public role: Role; @OneToMany(type => Comment, comment => comment.user, { eager: false }) - public comments: Comment[]; + public comments: Comment[] | null; @ApiProperty({ description: '유저의 주문목록', @@ -61,7 +61,7 @@ export class User { }) @Expose() @OneToMany(type => Order, order => order.user, { eager: false }) - public order: Order[]; + public order: Order[] | null; @ApiProperty({ description: '유저의 티켓목록', @@ -69,7 +69,7 @@ export class User { }) @Expose() @OneToMany(type => Ticket, ticket => ticket.user, { eager: false }) - public ticket: Ticket[]; + public ticket: Ticket[] | null; @ApiProperty({ description: '유저 생성 일자', diff --git a/src/database/repositories/user.repository.ts b/src/database/repositories/user.repository.ts index 04d369e..e106e43 100644 --- a/src/database/repositories/user.repository.ts +++ b/src/database/repositories/user.repository.ts @@ -18,7 +18,7 @@ export class UserRepository { ) {} async getMyInfo(user: User) { - return await this.userRepository.findOne({ where : {id: user.id}}); + return await this.userRepository.findOne({ where: { id: user.id } }); } async findByPhoneNumber(phoneNumber: string): Promise { @@ -57,7 +57,7 @@ export class UserRepository { // 유저 정보 조회(관리자용) 전체 정보 조회 async getAllUserInfo( - userFindDto: UserFindDto, + userFindDto: UserFindDto, pageOptionsDto: PageOptionsDto ) { const { searchName, phoneNumber } = userFindDto; @@ -82,18 +82,18 @@ export class UserRepository { .addSelect('ticket') .skip(pageOptionsDto.skip) .take(pageOptionsDto.take); - + const itemCount = await queryBuilder.getCount(); const { entities } = await queryBuilder.getRawAndEntities(); - const pageMetaDto = new PageMetaDto({ itemCount, pageOptionsDto }) - - return new PageDto(entities, pageMetaDto); + const pageMetaDto = new PageMetaDto({ itemCount, pageOptionsDto }); + + return new PageDto(entities, pageMetaDto); } // 입금자명 수정 async changeName(id: number, requestUserNameDto: RequestUserNameDto) { - const found = await this.userRepository.findOne({ where: {id: id}}); + const found = await this.userRepository.findOne({ where: { id: id } }); if (!found) { throw new NotFoundException('해당 유저가 존재하지 않습니다.'); @@ -105,5 +105,4 @@ export class UserRepository { await this.userRepository.save(found); return plainToInstance(UserProfileDto, found); } - -} \ No newline at end of file +} diff --git a/src/users/users.service.ts b/src/users/users.service.ts index 8e07627..3c3a9a1 100644 --- a/src/users/users.service.ts +++ b/src/users/users.service.ts @@ -35,25 +35,31 @@ export class UsersService { async findUserById(id: number): Promise { return await this.userRepository.findUserById(id); } - + // 유저 정보 조회(관리자용) 전체 정보 조회 - async getAllUserInfo(userFindDto: UserFindDto, pageOptionsDto: PageOptionsDto) { - const pageDto = await this.userRepository.getAllUserInfo(userFindDto, pageOptionsDto); + async getAllUserInfo( + userFindDto: UserFindDto, + pageOptionsDto: PageOptionsDto + ) { + const pageDto = await this.userRepository.getAllUserInfo( + userFindDto, + pageOptionsDto + ); const pageMetaData = pageDto.meta; const users = pageDto.data; - const ret_users = users.map(function(user) { + const ret_users = users.map(function (user) { const userProfile = { id: user.id, name: user.name, phoneNumber: user.phoneNumber, role: user.role, createAt: user.createdAt, - ticketNum: user.ticket.length - } + ticketNum: user.ticket?.length + }; return userProfile; - }) - const entities = plainToInstance(ResponseUserTicketNumDto, ret_users) - + }); + const entities = plainToInstance(ResponseUserTicketNumDto, ret_users); + return new PageDto(entities, pageMetaData); } @@ -69,28 +75,34 @@ export class UsersService { // 모든 댓글 조회 async getAllComment(userId: number, scrollOptionsDto: ScrollOptionsDto) { - const responseScrollCommentDto = await this.commentRepository.getAllComment(userId, scrollOptionsDto); + const responseScrollCommentDto = await this.commentRepository.getAllComment( + userId, + scrollOptionsDto + ); const comments = responseScrollCommentDto.list; - const ret_comments = comments.map(function(comment) { + const ret_comments = comments.map(function (comment) { const responseCommentDto = { ...comment, iUserId: userId - } - return responseCommentDto; - } - ) + }; + return responseCommentDto; + }); const final_comments = plainToInstance(ResponseCommentDto, ret_comments); - return new ResponseScrollCommentsDto(final_comments, responseScrollCommentDto.meta); + return new ResponseScrollCommentsDto( + final_comments, + responseScrollCommentDto.meta + ); } // 댓글 랜덤 조회 async getRandomComment(requestRandomCommentDto: RequestRandomCommentDto) { - return await this.commentRepository.getRandomComment(requestRandomCommentDto); + return await this.commentRepository.getRandomComment( + requestRandomCommentDto + ); } // 댓글 삭제 async deleteComment(id: number) { return await this.commentRepository.deleteComment(id); } - }