소프트 딜리트 적용

admin BFF 패턴?

1. Info record 명

 
  
public class AuctionInfo {  
  
    public record AuctionDetailResponse(  
       
    ) {  
    }  
    public record AuctionListResponse(  
       
 
  • Info 클래스 뒤의 Response 는 빼도 되지않을까?

    • Info 에서 이미 반환 하는 객체라는 것을 알기 때문에
    • Controller 단에서 사용하는 Response 와 혼동 할 수도 있어서
  • AuctionInfo 에서 Auction 서비스에서의 반환 객체라는 것을 알 수 있음

    • Record 에서는 Auction , Bid 명칭 제외 하는게 어떨지
    • 사용 목적만
  • 최종 결과 예시 ex ) AuctionInfo.Detail AuctionInfo.List

public class AuctionDto {  
  
    public record CreateAuctionRequest(  
       
    ) {  
    }  
    public record CreateAuctionResponse(  
    ) {  
    }  
    public record AuctionSearchCondition(  
    ) {  
    }
  • 최종 결과 예시 ex ) AuctionDto.CreateRequest AuctionDto.CreateResponse

2. Soft Delete 회의

  • boolean 타입으로 결정 할지? false
  • LocalDateTime 으로 결정 할지?

3. DateTime 변경

@Getter  
@MappedSuperclass  
@EntityListeners(AuditingEntityListener.class)  
public abstract class BaseEntity {  
  
    @CreationTimestamp  
    private ZonedDateTime createdAt;  
  
    @UpdateTimestamp  
    private ZonedDateTime updatedAt;  
  
}
  • LocalDateTime ZonedDateTime 으로 변경 되었음
  • 기존 대로 유지 할 지 ? ZonedDateTime 로 변경 할지 정해야 됨

Mypage 서비스 논의

Api 단과 Application 단에만 만들고

Member Service , Auction Service 에 요청을 해서 받을지?

Api Layer에서 데이터 전달

  • Api Layer

    • Input : XXDto.request
    • Output : XXDto.response
  • Domain Layer

    • Input : Command 객체
    • Output : Info 객체

Api 에서도 Dto를 Request , response 분리를 해야할까 라고 생각됩니다.

ImageService 만들어야 되는 거 아닌지?

비밀번호

public void modifyPassword(Long memberId, MemberCommand.PasswordModifyCommand passwordModifyCommand) {  
  
    passwordModifyCommand = new MemberCommand.PasswordModifyCommand(  
       passwordEncoder.encode(passwordModifyCommand.currentPassword()),  
       passwordEncoder.encode(passwordModifyCommand.newPassword())  
    );  
  
    memberService.modifyPassword(memberId, passwordModifyCommand);  
  
}

10$0RPvm.s5xlbll7jeM17P8.idYM6TJQQ.MpW7GBuNwh7wQ585HSYMG

10$0RPvm.s5xlbll7jeM17P8.idYM6TJQQ.MpW7GBuNwh7wQ585HSYMG

10$RY0l/GO2TZYVc38JyFD9EOqwHgyuR49n/8XpwgiJw2EQljPzA7eEi

10$lviAC1jIYiIsyYmhCG77keRA/FztayMiDxsggbYsrnS9IwwtOj4LC


QnA 리팩토링

  • Question
    • Create
    • Read
    • Update
    • Delete
  • Answer
    • Create
    • Read
    • Update
    • Delete