회원탈퇴시
계정의 정보만 사라지는 경우도 있지만
이번에는
메모장API를 만들고 있었고
회원 탈퇴시
작성한 메모도 모두 삭제되는 API를 만들도록 하겠다
우선은 API 설정부터 시작하겠다
API 설정
경로는 회원가입시와 동일하고
HTTP 메소드는
DELETE로 하겠다
그리고 회원의 정보를 받아와야 하니
헤더에서 토큰을 받아올 예정이다
그리고 app.py는 수정할 것이 없으니
user.py 설정
@jwt_required()
def delete(self) : # 회원탈퇴
JWT 인증이 필요하니
jwt_required를 적어주고
delete 함수를 적어준다
try :
connection = get_connection()
user_id = get_jwt_identity()
query = '''delete u, m
from user u
join memo m
on u.id = m.userId
where u.id = %s and
m.userId = %s ;'''
record = (user_id, user_id)
cursor = connection.cursor()
cursor.execute(query,record)
connection.commit()
cursor.close()
connection.close()
DB와 연결을 해주고
header에서의 인증토큰으로 유저 아이디를 가져온다
그리고 쿼리문에
유저 테이블과 메모 테이블에서 조인을 한뒤
유저아이디가 겹치는 모든 것들을 삭제한다
이는 유저테이블의 해당 유저 정보
메모테이블의 해당 유저의 메모를
모두 삭제함을 의미한다
그리고 아래는 늘 그랬듯이 커서를 불러내고 사용하고 저장하고 사용 종료한다
except Error as e:
if cursor is not None:
cursor.close()
if connection is not None:
connection.close()
return{"result" : "success","error" : str(e)}, 500
return{"result" : "success", "msg" : "deleted id"}
그리고 혹시 모를 에러의 경우를 위해 따로 적어주고
이상이 없을시에는 성공메세지와 함께
아이디가 삭제됐다는 문구를 내보내자
그럼 이제 유저아이디 8번인 홍끼리끼리끼리동과
유저아이디 8번이 작성한 메모를 확인후
삭제를 하면
회원 정보와 메모 모두 삭제되는 모습을 확인 할 수 있다
'API > MySQL API' 카테고리의 다른 글
Python으로 Mysql접속, 영화리스트 가져오는 API (0) | 2024.05.27 |
---|---|
Python으로 Mysql 접속, 회원 정보 수정 API (0) | 2024.05.24 |
Python으로 Mysql 접속, 로그아웃 API (0) | 2024.05.22 |
로그인 API (0) | 2024.05.22 |
회원가입 API (0) | 2024.05.22 |