Skip to content

Commit

Permalink
UPDATE: 오류 수정 #97
Browse files Browse the repository at this point in the history
  • Loading branch information
soyoung931014 committed May 31, 2022
1 parent 85ad8c2 commit eba2b73
Show file tree
Hide file tree
Showing 3 changed files with 63 additions and 6 deletions.
12 changes: 10 additions & 2 deletions server/src/module/mypage/mypage.controller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,16 @@ export class MypageController {
@Body() passwordDto: PasswordCheckDto,
): Promise<object> {
const { user } = req;
/* console.log(user, 'user');
console.log(passwordDto); */
console.log(user, 'user');
console.log(passwordDto);
return this.mypage.removeUserInfo(user, passwordDto);
}

//카카오 회원탈퇴
@Delete('/withdrawl/kakao')
kakaoDeleteUser(@Req() req: any): Promise<object> {
const { user } = req;
//console.log(user);
return this.mypage.removeKakaoUserInfo(req.user);
}
}
51 changes: 49 additions & 2 deletions server/src/module/mypage/mypage.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,27 @@ import { InjectRepository } from '@nestjs/typeorm';
import { UserRepository } from '../user/user.repository';
import { UpdateUserDto } from './dto/update-user.dto';
import { PasswordCheckDto } from './dto/passwordCheck.dto';
import { KakaoUserDto } from './dto/kakaoUser.dto';
import * as bcrypt from 'bcryptjs';
import { User } from '../user/user.entity';
import { FollowRepository } from '../follow/follow.repository';
import { HeartRepository } from '../heart/heart.repository';
import { BoardRepository } from '../board/board.repository';
import { CommentRepository } from '../comment/comment.repository';

@Injectable()
export class MypageService {
constructor(
@InjectRepository(UserRepository)
private userRepository: UserRepository,
@InjectRepository(BoardRepository)
private boardRepository: BoardRepository,
@InjectRepository(HeartRepository)
private heartRepository: HeartRepository,
@InjectRepository(FollowRepository)
private followRepository: FollowRepository,
@InjectRepository(CommentRepository)
private commentRepository: CommentRepository,
) {}

// 회원정보 수정
Expand All @@ -36,18 +50,51 @@ export class MypageService {
user: any,
passwordDto: PasswordCheckDto,
): Promise<object> {
const userInfo = await this.userRepository.findOne({ email: user.email });
const { id, email } = user;
const delHeart: any = await this.heartRepository.delete({ user_id: id });
console.log(delHeart, 'deleteHeart');
const delFollow: any = await this.followRepository.delete({ user_id: id });
console.log(delFollow, 'deletefollow');
const delBoard: any = await this.boardRepository.delete({ user_id: id });
console.log(delBoard, 'deleteBoard');
const userInfo = await this.userRepository.findOne({ email });
// console.log(userInfo);
//console.log(passwordDto)
const passwordComparison = await bcrypt.compare(
passwordDto.password,
userInfo.password,
);
if (passwordComparison) {
if (passwordComparison && userInfo) {
await this.userRepository.remove(userInfo);
return { message: 'withdrawal success', statusCode: 200 };
} else {
return { message: 'withdrawal fail', statusCode: 400 }; // 올바르지 않은 비밀번호입니다.
}
}
// 카카오 회원탈퇴
async removeKakaoUserInfo(user: User): Promise<object> {
console.log(user, 'user');
const { id, email } = user;
// 삭제해야하는것: follow, heart, comment, board
const delHeart: any = await this.heartRepository.delete({ user_id: id });
console.log(delHeart, 'deleteHeart');
const delFollow: any = await this.followRepository.delete({ user_id: id });
console.log(delFollow, 'deletefollow');
/* const delComment: any = await this.commentRepository.delete({
user_id: id,
});
console.log(delComment, 'deletecomment'); */
const delBoard: any = await this.boardRepository.delete({ user_id: id });
console.log(delBoard, 'deleteBoard');
const userInfo: any = await this.userRepository.findOne({
email,
});

if (userInfo) {
await this.userRepository.remove(userInfo);
return { message: 'kakao withdrawal success', statusCode: 200 };
} else {
return { message: 'withdrawal fail', statusCode: 400 };
}
}
}
6 changes: 4 additions & 2 deletions server/src/module/token/token.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import { ExtractJwt, Strategy } from 'passport-jwt';
import { User } from '../user/user.entity';
import { UserRepository } from '../user/user.repository';
import * as dotenv from 'dotenv';
import { constants } from 'buffer';
import axios from 'axios';
dotenv.config();

Expand Down Expand Up @@ -56,7 +55,10 @@ export class TokenService extends PassportStrategy(Strategy) {
return user;
}
} catch (error) {
console.log(error);
if (error.response.status === 401) {
return { message: '토큰 만료', data: error.response.status };
}
console.log(error.response.status);
}
// return 값은 @UseGuards(AuthGuard())를 이용한 모든 요청의 Request Object에 들어간다.
}
Expand Down

0 comments on commit eba2b73

Please sign in to comment.