Closed sungyongcho closed 1 month ago
register, request-email 분리해놓았는데 다시 합치셨네요. 저 두개를 나눈 이유가 SoC(separation of concerns)관점에서 register는 account를 생성하는 로직만 담당하고 이후에 request-email은 account 생성되면 메일 보내는 걸 분리해 놓은 겁니다.
이후에 링크토큰이 만료되거나 이메일이 안오는 경우 유저가 이메일을 재요청할 수 있도록 하려면 분리하는게 맞는거 같습니다.
register, request-email 분리해놓았는데 다시 합치셨네요. 저 두개를 나눈 이유가 SoC(separation of concerns)관점에서 register는 account를 생성하는 로직만 담당하고 이후에 request-email은 account 생성되면 메일 보내는 걸 분리해 놓은 겁니다.
이후에 링크토큰이 만료되거나 이메일이 안오는 경우 유저가 이메일을 재요청할 수 있도록 하려면 분리하는게 맞는거 같습니다.
네 테스트 하려고 일단 다시 합쳐 놨는데 reset password 부분 완성되고 다시 합쳐주시면 될거같습니다
이것도 고려해서 결정해서 코드 수정 하시면 될거같습니다. (설계 테스트는 했는데 구현은 아직 안해놨었습니다)
reset-password랑 verify email은 전혀 다른 로직인데 이메일 확인 못하면 강제로 비번 변경하라는건 UX측면에서 불필요한 것 같네요 간단하게 기존 이 페이지에서 이메일확인이 안될 시 이메일 재요청 버튼만 추가하면 될거 같네요
reset-password랑 verify email은 전혀 다른 로직인데 이메일 확인 못하면 강제로 비번 변경하라는건 UX측면에서 불필요한 것 같네요 간단하게 기존 이 페이지에서 이메일확인이 안될 시 이메일 재요청 버튼만 추가하면 될거 같네요
네 따로 이슈 파거나 기존에 있는 이슈에서 관리해주세요
reset-password랑 verify email은 전혀 다른 로직인데 이메일 확인 못하면 강제로 비번 변경하라는건 UX측면에서 불필요한 것 같네요 간단하게 기존 이 페이지에서 이메일확인이 안될 시 이메일 재요청 버튼만 추가하면 될거 같네요
네 따로 이슈 파거나 기존에 있는 이슈에서 관리해주세요
네 그럼 테스트용 코드는 기존코드로 돌려놔주세요. 그리고 request-email 리턴때 dto, validator 적용도 필요할 것 같습니다.
네 그럼 테스트용 코드는 기존코드로 돌려놔주세요. 그리고 request-email 리턴때 dto, validator 적용도 필요할 것 같습니다.
request-email 부분은 정무님이 프론트엔드 버튼이라던가 코드를 완성 해야 작업 할수 있는것 아닌가요? 그리고 dto, validatior는 지금 만들어진 코드베이스에서 직접 구현 하시면 될거같습니다
네 그럼 테스트용 코드는 기존코드로 돌려놔주세요. 그리고 request-email 리턴때 dto, validator 적용도 필요할 것 같습니다.
request-email 부분은 정무님이 프론트엔드 버튼이라던가 코드를 완성 해야 작업 할수 있는것 아닌가요? 그리고 dto, validatior는 지금 만들어진 코드베이스에서 직접 구현 하시면 될거같습니다
원래 메인에 머지된 코드는 register후에 request-email요청하도록 되있는데 이부분을 말하는 겁니다. 그럼 나머지는 프론트 버튼 추가 및 validator는 따로 이슈파서 진행하면 될 거 같습니다.
코드 롤백 해놨습니다. 롤백한 코드에서 프론트에서 전달되는 store 보다 많은 정보가 전달되서 동작을 안 하고 있는데 이부분 한번 수정 해보시면 될거같네요
register 단계에서 사용할 DTO 클래스 RegisterAccountDTO 클래스를 만들었습니다
src/models/dto.py
코드에도 나와 있지만 우선 AccountDTO (express 코드에서 그대로 가져옴)을 만들어 놓았습니다validator.py 코드를 만들어 놓았습니다.
account_repository.check(data.username, data.email)
함수 때문에 service 단계에서 확인 하도록 처리 해놓았습니다. 그대로 놔둬도 되고 분리 해도 됩니다CredentialAccountDTO 는 상속을 사용 해봤습니다.
로그인 단계에서 AccountDTO 를 만들어 줄때 값이 지정되지 않은 attribute들은 .to_dict() 함수를 통해서 attribute들을 지워주는 식으로 지정 해봤습니다. 좋은 방법인지는 모르겠는데 auth_service.py 코드 한번 살펴봐주세요.
__post_init__
(repr는 프린트용) 단계에서 attribute를 지우는 방식 코드를 작성하긴 했는데 했는데 적용이 되는것 같진 않네요.로그인/로그아웃 단계에서 AccountStatus 중 LOGIN, LOGOUT으로 설정 되어 있던 부분을 DB 값이랑 동일하게 가져가도록 OFFLINE / ONLINE으로 수정 해놨습니다
account_service 에서 account_repository 로 접근해 받아오는 몇몇 코드들을 지웠습니다. 리포지토리 패턴을 쓸거면
get_account_Xxx
들은 필요 없어보입니다.OAuth 코드 진행하면서 dto, validation 구조가 필요한 상황이라 우선 이 코드를 베이스로 Oauth 작업을 진행 해야 될듯 하니, 이 코드를 최대한 빠르게 머지 하고 dto 코드를 참고 하셔서 작업 하셔야될듯 합니다
close #55, #39