Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

경매 신고 등록 및 조회 api 추가 #238

Merged
merged 27 commits into from
Aug 10, 2023
Merged

경매 신고 등록 및 조회 api 추가 #238

merged 27 commits into from
Aug 10, 2023

Conversation

JJ503
Copy link
Member

@JJ503 JJ503 commented Aug 8, 2023

📄 작업 내용 요약

경매 신고 등록 및 조회 api 추가

🙋🏻 리뷰 시 주의 깊게 확인해야 하는 코드

flyway의 경우 추후 merge 순서에 따라 버전을 작성하기 위해 Vn으로 작성해 두었습니다. -> V6으로 수정

아래는 api 명세로 참고해 주시면 됩니다.
추후 안드로이드 측 분들과 api 명세에 대해 이야기해 본 후 수정될 수 있습니다.

신고 등록 api

request

POST /reports/auctions

Header
Authorization: User 정보 (일단 id로 -> 고정 값으로)

Body
{
	auctionid: Long (auction의 아이디),
	description: String
}

response

201(CREATED)

Header
Location: /auctions/{id}

실패 케이스

  • 존재하지 않는 사용자인 경우

    해당 사용자를 찾을 수 없습니다.

  • 존재하지 않는 경매인 경우

    해당 경매를 찾을 수 없습니다.

  • 본인 경매글인 경우

    본인 경매글입니다.

  • 삭제된 경매인 경우

    이미 삭제된 경매입니다.

  • 이미 신고한 경매인 경우

    이미 신고한 경매입니다.

  • 사용자 실수

    • 경매 아이디가 잘못된 경우

      경매 아이디가 입력되지 않았습니다.

      경매 아이디는 양수여야 합니다.

    • 신고 내용이 없는 경우

      신고 내용이 입력되지 않았습니다.

error response

{
	message: String
}

신고 등록 api

request

GET /reports/auctions

response

200(OK)

{
	reports: [
		{
			id: Long,
			reporter: {id: Long, name: String},
			createdTime: String, (yyyy-MM-ddTHH:mm:ss)
			auction: {id: Long, title: String},
			description: String
		},
		...
	]
}

📎 Issue 번호

@JJ503 JJ503 added backend 백엔드와 관련된 이슈나 PR에 사용 feature 기능 추가 시 labels Aug 8, 2023
@JJ503 JJ503 added this to the 4차 데모데이 milestone Aug 8, 2023
@JJ503 JJ503 self-assigned this Aug 8, 2023
@JJ503 JJ503 linked an issue Aug 8, 2023 that may be closed by this pull request
6 tasks
# Conflicts:
#	backend/ddang/src/main/java/com/ddang/ddang/exception/GlobalExceptionHandler.java
@ddang-sona-bot

This comment has been minimized.

Copy link
Collaborator

@apptie apptie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

고생하셨습니다
별만 빼면 문제될 것은 없는 것 같은데 별이 있어서 request changes를 드리겠습니다
추가로 제이미의 의견이 궁금한 부분도 있어서 답변해주시면 감사하겠읍니다..

String description
) {

// TODO: 2023/08/08 [고민] ReadAuctionDto 클래스가 같은 이름으로 여러 패키지에 존재함. 이때, import를 할 때 헷갈리거나 실수하지는 않을까요?
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

해당 부분은 충분히 혼동될 수 있을 것 같습니다
특정 패키지 내부에 있는 ReadAuctionDto는 좀 특화해서 네이밍을 짓던가 해야겠네요

Comment on lines 18 to 24
@Override
public List<AuctionReport> findAll() {
return queryFactory.selectFrom(auctionReport)
.leftJoin(auctionReport.reporter).fetchJoin()
.leftJoin(auctionReport.auction).fetchJoin()
.fetch();
}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

해당 메서드는 그렇게 복잡하지 않아 EntityGraph나 JPQL로도 처리할 수 있을 것 같은데 Querydsl로 하신 의도가 무엇인지 궁금합니다

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

저도 궁금합니다!

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

개인적으로 JPQL은 join이 두 개이상부 터는 보기 싫더라고요...
그래서 JPQL은 사용하지 않았습니다.
그리고 EntityGraph의 경우 아직 사용해 본 적이 없어 고려하지 못했네요.
해당 부분은 EntityGraph로 수정했습니다.
좋은 의견 감사합니다!

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

보기 싫은건 공감이 되기는 하네요..

@@ -0,0 +1,11 @@
create table auction_report (
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

flyway...이거 위험하네요 버전 명시하기가 애매하네요

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이번엔 merge 순서가 명확했기에 다음 번호로 수정했습니다.
그런데 앞으로 flyway를 수정하는 사람이 누가 있는지 알기가 어려울 수도 있고 여러 명일 수도 있기에 flyway를 수정했다는 것을 다른 사람들이 잘 알 수 있도록 표시해 두면 좋지 않을까 싶습니다.
그리고 다 같이 머지 순서 정하기 ㅎㅎ

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

좋은 방향성인 것 같습니다
한 번 해보고 추후 문제 생기면 그 때 따로 대응하는걸로 하면 될 것 같습니다

import com.ddang.ddang.user.domain.User;
import com.ddang.ddang.user.infrastructure.persistence.JpaUserRepository;
import jakarta.persistence.EntityManager;
import org.assertj.core.api.*;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

별이 있습니다

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

*로 만드는 기준 개수를 10000로 해놨는데 대체 왜 *이 될까요...? 🥲

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

그러게요..?

Copy link
Collaborator

@swonny swonny left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

건의사항 몇 가지와 간단한 리뷰 남겼습니다!
중요한 내용은 없고, 제이미의 판단에 맡기는거라 approve하겠습니다
고생하셨습니다 쩨이미!

// TODO: 2023/07/28 추후 User 패키지 내에 UserNotFoundException이 생긴다면 해당 예외를 사용하도록 수정 하겠습니다.
final User bidder = userRepository.findById(userDto.usedId())
.orElseThrow(() -> new UserNotFoundException("해당 사용자를 찾을 수 없습니다."));
final Auction auction = auctionRepository.findById(bidDto.auctionId())
.orElseThrow(() -> new AuctionNotFoundException("해당 경매를 찾을 수 없습니다."));
checkInvalidAuction(auction);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

해당 로직과 동일한 로직이 chatRoomService에도 존재합니다!
이 메서드를 Auction으로 옮기면 어떤지에 대해 엔초 PR에 코멘트를 남겼었는데,
Auction에 해당 메서드를 옮기고 bidService와 chatRoomService에서 Auction의 메서드를 사용하는 것은 어떤지 건의드려봅니다~!

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

도메인으로 넣자는 이야기가 맞을까요?
맞다면 개인적으로 도메인에서 예외를 관리하는 게 좋을지 아직은 잘 판단이 되지 않습니다.
또한, 항상 검증에 대한 로직이 동일할 것이라 생각하지 않습니다.
예를 들어 AuctionReportService에서는 삭제된 경매에 대해서만 예외를 발생시키고 종료된 경매에 대해서는 정상 처리하게 됩니다. (물론 종료에 대해서도 예외가 필요하단 의견이 있다면 수정되겠지만요!)
그러면 어떤 건 auction에서 어떤 건 각 서비스에서 검증을 하게 되는데 그때의 기준이 모호해지지 않을까 하는 걱정이 있습니다.
이에 대한 메리 혹은 다른 분들의 의견이 궁금합니다!

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

저는 해당 분기문이 경매에 대한 상태를 조회한다고 생각했습니다
그리고 언제 경매의 상태가 변경되는지는 도메인 로직이라고 생각해서 도메인에 들어가면 자연스러울 것 같다고 생각했어요
그런데 말씀해주신 것처럼 서비스와 도메인으로 예외 검증 위치가 분산된다는 점이 가독성을 해칠 수도 있을 것 같다는 의견에 동의합니다!
다른 분들의 의견도 궁금합니당

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

서비스마다 검증 내부 로직이 다를 수 있기 때문에 검증에 대한 처리를 auction에 넣는 것에 대해서는 지금처럼 서비스에서 하는 것이 좋다고 생각합니다.
메리가 저한테 리뷰 남겨주신 것은 경매의 상태를 판단해서 enum으로 반환하는 메서드를 경매 엔티티에 넣자는 의견이었던 것 같은데 그 부분에 대해서 다른 분들(@apptie @JJ503)은 어떻게 생각하시나요?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kwonyj1022 그거 관련 이슈..가 있기는 했는데 까먹고...방치한지 오래되기는 했네요..
enum으로 반환해주기는 해야하는데...

// TODO: 2023/08/08 추후 User 패키지 내에 UserNotFoundException이 생긴다면 해당 예외를 사용하도록 수정 하겠습니다.
final User reporter = userRepository.findById(userDto.usedId())
.orElseThrow(() -> new UserNotFoundException("해당 사용자를 찾을 수 없습니다."));
final Auction auction = auctionRepository.findById(auctionReportDto.auctionId())
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

지토, 엔초 코드에서는 레포지토리 조회 로직을 findXX()와 같은 형태로 분리해주었는데, 이 부분도 고려해보시면 좋을 것 같습니다!
이 부분은 제이미 판단에 맡기겠습니다~!

Copy link
Member Author

@JJ503 JJ503 Aug 9, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

find~()의 경우 코드가 중복되면 메서드로 분리하는 것으로 이해해 저는 굳이 분리하지 않았습니다.
아마 신고 관련 코드가 추가되어 repoterauctionfind()해야 하는 경우가 늘어나면 분리할 것 같습니다.

}
if (auction.isDeleted()) {
throw new InvalidReportAuctionException("이미 삭제된 경매입니다.");
}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

위에서 건의드린 내용과 비슷한 맥락으로 위의 두 분기문을 Auction으로 옮겨서
isAbailableToCreateReportAuction()으로 하면 어떤지 의견 남겨봅니다!
이것도 제이미의 판단에 맡기고싶고, 제이미의 의견도 궁금합니다~!

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

해당 의견에 대해 위 코멘트에 댓글 달아두었습니다!

) {

// TODO: 2023/08/08 [고민] ReadAuctionDto 클래스가 같은 이름으로 여러 패키지에 존재함. 이때, import를 할 때 헷갈리거나 실수하지는 않을까요?
public static ReadAuctionReportDto from(AuctionReport auctionReport) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ㅍ..파이널을 발견해버렸습니다..

Copy link
Member Author

@JJ503 JJ503 Aug 9, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

으아니...! final 실수가 있었을 줄이야... (이마짚)
메리짱👍

package com.ddang.ddang.report.application.exception;

public class InvalidReportAuctionException extends IllegalArgumentException {
public InvalidReportAuctionException(final String message) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

클래스와 생성자 사이 개행 추가 부탁드립니당

package com.ddang.ddang.report.application.exception;

public class InvalidReporterToAuctionException extends IllegalArgumentException {
public InvalidReporterToAuctionException(final String message) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

클래스와 생성자 사이 개행 추가 부탁드립니당 22

import java.time.LocalDateTime;

public record ReadAuctionReportResponse(
Long id,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

저희 여기에서 개행이 추가되면 모든 필드에 개행을 추가하기로 했었던 것 같은데 맞나요?!
맞다면 수정 부탁드립니당
아니라면 죄송...

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

메리가 말씀해주신 내용이 맞습니다..!
개행을 깜빡했네요. 감사합니다!

import java.util.List;

public record ReadAuctionReportsResponse(List<ReadAuctionReportResponse> reports) {
public static ReadAuctionReportsResponse from(final List<ReadAuctionReportDto> auctionReportDtos) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

여기 메서드와 클래스 사이에도 개행을 추가해주세요오

final LoginUserDto loginUserDto = new LoginUserDto(invalidUserId);
final CreateAuctionReportDto createAuctionReportDto = new CreateAuctionReportDto(auction.getId(), "신고합니다");

// when && then
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

소소한 .. &가 두 개 들어가있는 이슈가.. 있슴다
아래에도 있습니당

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

으아닛... 복붙을 잘못했군요.. (이마짚)
메리짱 👍

# Conflicts:
#	backend/ddang/src/main/java/com/ddang/ddang/exception/GlobalExceptionHandler.java
Copy link
Collaborator

@kwonyj1022 kwonyj1022 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

제이미 수고하셨습니다!

.orElseThrow(() -> new UserNotFoundException("해당 사용자를 찾을 수 없습니다."));
final Auction auction = auctionRepository.findById(auctionReportDto.auctionId())
.orElseThrow(() -> new AuctionNotFoundException("해당 경매를 찾을 수 없습니다."));
invalidReportAuction(reporter, auction);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

entity 이름이 AuctionReport이니까 메서드 이름도 invalidAuctionReport로 하는건 어떤가요?
또 예외 케이스를 체크하는 것이므로 "check" 를 앞에 붙여주는 것도 좋을 것 같습니다. checkInvalidAuctionReport 이런 식으로요.
메서드가 길어서 별로라면 validateAuctionReport 같은 것도 제안드립니다.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

통일성을 위해 checkInvalid~로 수정하도록 하겠습니다!

Comment on lines 18 to 24
@Override
public List<AuctionReport> findAll() {
return queryFactory.selectFrom(auctionReport)
.leftJoin(auctionReport.reporter).fetchJoin()
.leftJoin(auctionReport.auction).fetchJoin()
.fetch();
}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

저도 궁금합니다!

@ddang-sona-bot

This comment has been minimized.

@ddang-sona-bot

This comment has been minimized.

Copy link
Collaborator

@apptie apptie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

고생하셨습니다
제이미의 의도가 충분히 이해가 되었습니다
approve를 드리도록 하겠습니다

@ddang-sona-bot

This comment has been minimized.

@ddang-sona-bot

This comment has been minimized.

@ddang-sona-bot

This comment has been minimized.

# Conflicts:
#	backend/ddang/src/main/java/com/ddang/ddang/exception/GlobalExceptionHandler.java
@ddang-sona-bot
Copy link

Passed

Analysis Details

14 Issues

  • Bug 0 Bugs
  • Vulnerability 0 Vulnerabilities
  • Code Smell 14 Code Smells

Coverage and Duplications

  • Coverage 15.30% Coverage (15.30% Estimated after merge)
  • Duplications 7.23% Duplicated Code (7.20% Estimated after merge)

Project ID: develop-be-project

View in SonarQube

@JJ503 JJ503 merged commit 53671e1 into develop-be Aug 10, 2023
1 check passed
@JJ503 JJ503 deleted the feature/226 branch August 10, 2023 02:16
JJ503 added a commit that referenced this pull request Aug 31, 2023
* feat: 안드로이드 프로젝트 생성

* chore: #7 프로젝트 세팅 (#8)

* chore: gradle 설정

* chore: #7 프로젝트 기초 세팅 추가 (#10)

* feat: 전역 예외 처리 핸들러 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* refactor: 불필요한 어노테이션 제거

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* chore: jacoco 기초 설정 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* chore: rest docs 기초 설정 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* chore: log 기초 설정 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: 에러로그 발생 시 슬랙에 메세지를 전송하는 기능 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

---------

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: 권한 설정

* feat: 기본 리소스 설정

* feat: 데이터 모듈 분리

* feat: 패키지 구조 설계

* feat: 공통 feature 관련 코드 작성

* rename: 패키지 이동

* feat: 유틸 코드 작성

* feat: 바인딩 어댑터 코드 작성

* feat: Bottom Navigation 레이아웃 작성

* feat: 프래그먼트 이동 로직 추가

* feat: #11 카테고리 엔티티 및 레포지토리 추가 (#19)

* feat: 카테고리 엔티티 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* fix: DB 설정 문제 해결

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* refactor: 필요 없는 클래스 제거

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: Equals&HashCode 재정의 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: 카테고리 레포지토리 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* refactor: 카테고리 연관관계 메서드 이름 변경

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* style: 컨벤션 적용

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* test: 유틸리티 어노테이션 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

---------

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: #12 카테고리 api 추가 (#23)

* feat: 카테고리 서비스 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: 카테고리 api 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: 카테고리 조회 예외 처리 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: 카테고리 api 예외 처리 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* docs: 카테고리 api 문서화

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* style: final 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* style: final 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

---------

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: #13 지역 엔티티 및 레포지토리 추가 (#24)

* refactor: 외래키 제약조건 이름 수정

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: 지역 엔티티 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: 지역 레포지토리 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

---------

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: #14 지역 api 추가 (#32)

* style: 예외 메시지 수정

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: 지역 서비스 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: 지역 api 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

---------

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: #17 경매 상품 등록 페이지 그리고 MVVM 구조 설계 (#33)

* Feat: MVVM 구조 생성

* Feat: 레이아웃 작성

* refactor: 중복 함수 호출 삭제

* refactor: 런처 액티비티 수정

* refactor: 들여쓰기 추가

* refactor: string name 수정

* feat: #26 경매 엔티티 및 레포지토리(등록) 추가 (#37)

* feat: auditing 기능 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: 가격 객체 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: 경매 엔티티 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: 경매 레포지토리 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* style: 불필요한 개행 제거

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

---------

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: #20 경매 상품 등록 페이지 날짜, 시간 Picker 추가 (#38)

* feat: 클릭 시 날짜, 시간 선택창 띄우기 구현

* feat: 함수 분리 및 정리, 뷰가 선택한 시간을 반영하도록 수정

* refactor: 함수명 수정

* feat: #27 경매 api(등록) 추가 (#41)

* rename: 패키지명 변경

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: 읽기 전용 트랜젝션 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* style: 숫자 가독성 개선

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: 입찰 단위 객체 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: 경매 등록 Service 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: 경매 등록 api 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* style: 코드 가독성 개선

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

---------

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: #28 경매 레포지토리(상세 조회) 테스트 추가 (#42)

* feat: equals & hashcode 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* test: 경매 단일 조회 테스트 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* test: import 와일드카드 제거

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

---------

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: #30 경매 api(상세 조회) 추가 (#43)

* feat: 경매 상세 조회 서비스 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: 경매 상세 조회 api 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* style: 불필요한 개행 제거

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

---------

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: #29 경매 도메인 엔티티 삭제 비즈니스 로직 추가 (#45)

* refactor: 변수명 변경

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: 경매 삭제 도메인 비즈니스 로직 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

---------

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: #31 경매 api(삭제) 추가 (#46)

* feat: 경매 삭제 서비스 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: 경매 삭제 api 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* test: 불필요한 개행 제거

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

---------

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* 경매 상품 상세 페이지 UI 추가 (#39)

* feat: 상단 앱 바 UI 추가

* feat: 경매 입찰 버튼 UI 추가

* feat: 상품 이미지 뷰페이저 추가

* feat: 상품 정보 UI 추가

* feat: 판매자 정보 UI 추가

* refactor: 등록된 상품의 임시 이미지 url 데이터의 위치를 뷰모델로 수정

* refactor: 함수 분리

* rename: Event를 AuctionDetailEvent로 이름 변경

* refactor: root element를 shape로 수정

* refactor: 상세 화면에서만 사용하는 색상을 colors.xml에서 제거

* refactor: 스트링 리소스 정리

* chore: #47 queryDsl 설정 추가 (#52)

* chore: queryDsl 의존성 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: queryDsl 설정 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

---------

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* refactor: 이미지, 카테고리, 지역 필드 임시 추가 (#53)

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: #22 경매 상품 목록 레이아웃 작성 (#54)

* feat: 경매 상품 목록 페이지 레이아웃 작성

* feat: 경매 상품 목록 필터 아이템 레이아웃 작성

* rename: 파일명 및 속성명 변경

* feat: 경매 상품 목록 경매 아이템 레이아웃 작성

* refactor: selector 에서 true 조건 먼저 확인하도록 수정 및 디폴트 조건 제거

* refactor: 조건문 코드 한 줄로 수정

* refactor: 상태값을 string resource로 분리

* refactor: 불필요한 로그 삭제

* chore: #60 gradle 설정 변경 (#61)

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: #48 경매 api(목록) 추가 (#58)

* test: 필드 임시 추가로 인한 테스트 코드 수정

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: 경매 목록 조회 레포지토리 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: 경매 목록 조회 서비스 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* rename: 경매 상세 조회 dto 이름 변경

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: 경매 상세 조회 api 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

---------

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: #18 경매 상품 등록 페이지 이미지 URL 업로드와 서버 전송 준비, Picker 스타일 변경 (#55)

* design: 이미지 업로드 url 입력으로 변경

* feat: 뒤로가기 작성

* feat: 서버 통신에 쓰일 클래스 생성

* feat: 제출 기능 틀 설계

* style: 시간 선택창 디자인

* refactor: 양방향 데이터 바인딩 추가

* style: 가이드라인 추가

* feat: 인텐트 넘기는 함수 추가

* rename: 함수명 변경

* rename: 클래스 이름 변경

* feat: #59 경매 상품 선택 시 경매 상세를 보여주는 기능 구현 (#62)

* refactor: 프로퍼티명 변경

* feat: 경매 상품 선택 시 경매 상세를 보여주는 기능 구현

* refactor: #65 API 명세 변경 (#67)

* rename: request, response 패키지 변경

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* refactor: 경매 등록, 상세 조회 api 명세 변경

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* refactor: 경매 상태 및 가격 로직 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

---------

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* chore: #35 git submodule 적용 (#64)

Co-authored-by: swonny <[email protected]>
Co-authored-by: jj503 <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* chore: #68 테스트 환경 설정 추가 (#69)

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: #63 경매 상품 목록에서 경매 등록 페이지로 이동하는 기능 구현 (#66)

* feat: 경매 상품 목록에서 경매 등록 페이지로 이동하는 기능 구현

* feat: 디폴트 필터 선택 적용

* rename: 패키지 이동

* chore: gradle 변경

* feat: retrofit service 및 DTO 작성

* feat: repository 작성

* chore: #35 build script 추가 (#71)

* ci: #35 jenkins pipeline script 추가 (#72)

* chore: build script 추가

* chore: jenkins pipeline script 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: jj503 <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

---------

Co-authored-by: swonny <[email protected]>
Co-authored-by: jj503 <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: #76 경매 dummy 데이터 추가 (#77)

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* chore: dev설정에 console-log 추가 (#78)

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* !hotfix: 젠킨스 권한 설정 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* !hotfix: 젠킨스 권한 설정 변경

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* fix: #79 API 명세 수정 (#80)

* fix: 경매 목록에서 삭제된 경매글까지 보이는 현상 수정

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* refactor: api 명세에 따른 필드명 변경

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* style: 와일드카드 제거

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

---------

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: 경매 상품 목록 조회 api 연동

* !hotfix: 경매 상세 api 변경

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* !hotfix: 경매 상세 api 변경

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* !hotfix: log 설정 변경

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* !hotfix: 경매 api 변경

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* test: #83 경매 상품 목록 조회 테스트 추가 (#85)

* feat: #50 경매 상세 페이지 UI 모델 작성 및 데이터바인딩 연결 (#84)

* feat: 경매 상세 조회 Dto 추가

* feat: 경매 상세 조회 Ui 모델 추가

* feat: 직거래 가능 지역 리사이클러뷰 어댑터 추가

* feat: 뷰모델과 xml 데이터 바인딩 로직 작성

* remove: Dto클래스 파일 삭제

* ci: #73 jenkins slack notification 설정 추가 (#89)

* feat: #82 경매 상품 등록 서버 연동 (#86)

* feat: 서버 연동

* feat: 서버 연동

* refactor: 토스트를 스낵바로 수정

* refactor: Submit 이벤트 삭제 및 처리

* test: #57 AuctionService 예외 케이스 테스트 추가 (#90)

* chore: Logback Appender 테스트 커버리지 검사 대상 제외

* test: 경매 서비스 예외 테스트 케이스 추가

* test: #91 Repository 테스트 작성 - 경매 상품 등록, 상세 정보 (#93)

* test: 경매 등록 테스트 코드 작성

* test: 경매 상품 상세 정보 테스트 코드 작성

* refactor: 상수 수정

* test: #92 경매 상품 목록 페이지 ViewModel 테스트 추가 (#95)

* feat: #87 경매 상세 페이지 서버 연동 작업 추가 (#96)

* feat: Dto와 UiModel 매핑 로직 작성

* feat: 뷰모델에 레포지토리 추가

* feat: 경매 상세 페이지 서버 연동 로직 추가

* ci: #75 sonarqube와 github actions 설정 (#94)

* ci: pr 분석 기능 추가

* ci: pr 분석 github actions yml 수정

* ci: pr 분석 github actions yml 수정

* ci: pr 분석 github actions yml 수정

* ci: pr 분석 github actions yml 수정

* ci: pr 분석 github actions yml 수정

* ci: pr 분석 github actions yml 수정

* ci: pr 분석 github actions yml 수정

* test: 경매 조회 테스트 시 테스트 시간 변경

* ci: pr 분석 github actions yml 수정

* ci: pr 분석 github actions yml 수정

* ci: pr 분석 github actions yml 수정

* ci: pr 분석 github actions yml 수정

* ci: pr 분석 github actions yml 수정

* ci: #75 sonarqube 관련 pr decorator yml 변경 (#102)

* ci: sonarqube 관련 pr decorator yml 변경

* ci: sonarqube 검증 제외 옵션 추가

* ci: sonarqube 검증 제외 옵션 추가

* feat: #105 사용자 엔티티 생성 (#112)

* feat: 사용자 엔티티 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: 사용자 더미 데이터 추가

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

---------

Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>

* feat: #117 경매 데이터 캐싱 전략 적용 (#123)

* refactor: 레포지토리에 싱글톤 패턴 적용

* feat: 경매 데이터 캐싱 전략 적용

* refactor: 홈 뷰모델 테스트 수정

* feat: #124 CallAdapter 적용 (#125)

* feat: CallAdapter 구현

* feat: CallAdapter 적용

* test: #108 통합 테스트, 인수 테스트 격리 설정  (#110)

* test: 테스트 데이터베이스 격리 기능 추가

* test: 테스트 데이터베이스 격리 어노테이션 추가

* style: 메서드 개행 방식 통일

* feat: #111 지역 초기 데이터 저장 기능 추가 (#115)

* feat: 지역 API 요청 기능 추가

* feat: 대한민국 전국 지역 저장 기능 추가

* feat: 애플리케이션 실행 시 지역 초기화 기능 추가

* test: 가독성을 위한 개행 추가

* style: final 키워드 추가

* chore: 로컬 환경에서 지역 초기화 로직이 수행되지 않도록 설정 변경

* test: 불필요한 private 메서드 제거

* style: try-catch final 추가 및 변수명 통일

* style: for문 final 추가

* style: for문 final 추가

* feat: #113 입찰 엔티티 및 레포지토리 추가 (#119)

* feat: 입찰 엔티티 추가

* feat: 입찰 레포지토리 추가

* style: import 와일드카드 제거

* refactor: 변수명 및 테이블 컬럼 이름 수정

* chore: mysql 의존성 추가 (#132)

* feat: #101 경매 상품 등록 페이지 DatePicker month -1 버그 (#133)

* fix: 날짜 월이 안맞는 버그 수정

* refactor: 로그 삭제

* refactor: 주석 오타 수정

* feat: #126 경매 목록 무한 스크롤 구현 (#127)

* refactor: #130 BaseTimeEntity 생성, 수정 시간 분리 (#135)

* refactor: 생성 시간과 수정 시간에 대한 엔티티 분리

* refactor: 생성 시간에 대한 엔티티를 상속받도록 수정

* feat: #128 경매 등록 사진 업로드 레이아웃 작성 및 사진 삭제 기능 구현 (#138)

* feat: 경매 등록 이미지 레이아웃 작성

* feat: 경매 등록 이미지 삭제 기능 구현

* test: #99 경매 상세 ViewModel 테스트 코드 작성 (#129)

* feat: #118 채팅 기능 구현에 필요한 엔티티 생성 (#122)

* feat: 채팅 기능 구현에 필요한 엔티티 생성

Co-authored-by: swonny <[email protected]>

* refactor: 채팅 가능 여부 체크 메서드 파라미터 추가

Co-authored-by: swonny <[email protected]>

* feat: 채팅방 레포지토리 추가

Co-authored-by: swonny <[email protected]>

* feat: 메시지 레포지토리 추가

Co-authored-by: swonny <[email protected]>

* refactor: `@ToString` 메서드 옵션 추가

Co-authored-by: swonny <[email protected]>

* style: 마지막 줄 개행 추가

Co-authored-by: swonny <[email protected]>

* test: 불필요한 테스트 삭제

Co-authored-by: swonny <[email protected]>

* refactor: column 옵션 추가

Co-authored-by: swonny <[email protected]>

* refactor: Builder 추가

Co-authored-by: swonny <[email protected]>

* test: 테스트 어노테이션 변경

Co-authored-by: swonny <[email protected]>

* feat: 메시지 읽음 필드 추가

Co-authored-by: swonny <[email protected]>

* refactor: 메시지 읽음 필드 삭제

Co-authored-by: swonny <[email protected]>

* refactor: 수정 시간 미포함된 엔티티 상속으로 변경

Co-authored-by: swonny <[email protected]>

* refactor: 중복 필드 삭제

Co-authored-by: swonny <[email protected]>

* refactor: 불필요한 어노테이션 옵션 삭제

Co-authored-by: swonny <[email protected]>

---------

Co-authored-by: swonny <[email protected]>

* feat: #131 경매 입찰 요청 팝업창 UI 추가 (#141)

* feat: 스트링 리소스 추가

* feat: 입찰하기 버튼 클릭시 경매 입찰 팝업창을 띄우는 기능 추가

* feat: 경매 입찰 팝업창 UI 추가

* refactor: 경매 입찰 팝업창 가로 너비 동적 계산 로직 제거

* refactor: binding 객체 접근 제어자 수정

* rename: string 리소스 where절 수정

* feat: #116 지역 엔티티, 경매 엔티티 연동 (#137)

* feat: Auction 초기 데이터 제어 설정 추가

* feat: Auction과 AuctionRegion 연동

* feat: Auction과 AuctionRegion을 fetch join하는 기능 추가

* refactor: Auction과 AuctionRegion을 fetch join하는 기능 추가

* test: 경매 삭제 테스트 케이스 수정

* fix: 경매 등록 시 직거래 지역이 추가되지 않는 문제 수정

* feat: AuctionRegion의 테이블 명을 명시적으로 지정

* test: 경매 생성 시 존재하지 않는 지역을 선택한 경우의 테스트 케이스 추가

* style: @Table 위치 변경

* refactor: Auction에서 모든 AuctionRegions를 받아 연관 관계를 세팅하도록 변경

* remove: 불필요한 Response 삭제

* rename: 불필요한 복수형 이름 단수형으로 변경

* style: 개행 추가

* test: 통합 테스트 설정 변경

* feat: 세 번째 지역을 조회하는 기능 추가

* feat: 경매 등록 시 세 번째 지역이 아닌 경우에 대한 예외 처리 기능 추가

* feat: #142 경매 등록 시 갤러리에서 사진 선택하는 기능 구현 (#148)

* feat: #136 카테고리 선택 Activity UI, 구조 작성 (#153)

* feat: 레이아웃, 구조 틀 작성

* design: 배경색 흰색 추가

* feat: 카테고리 모델 추가

* feat: MVVM 구조 작성

* feat: ListAdapter, DiffUtil 적용하여 상태에 따른 Item 디자인 변경 구현

* feat: ListAdapter, DiffUtil 적용하여 상태에 따른 Item 디자인 변경 구현

* refactor: 카테고리 DiffUtil 분리

* feat: 서브 카테고리 UI 작성

* feat: mock 레포지토리 구현

* refactor: 카테고리 모델 구조 변경

* feat: mock 레포지토리 연결 및 메인-서브 카테고리 연결

* refactor: 로그 삭제

* refactor: strings 아이템들 순서 변경

* refactor: 뷰 홀더 바인딩 숨김

* refactor: 오버라이딩 안해도 되는 함수 삭제

* refactor: 함수 분리

* refactor: 서브 카테고리 variable로 변경

* refactor: selector item 순서 변경

* refactor: xmlns 속성 위치 변경

* refactor: event로 리스트 넘겨주도록 수정

* refactor: selector 이름 변경

* refactor: 메인 카테고리 LiveData로 변경

* feat : #140 경매 이미지 엔티티, 카테고리 엔티티, 경매 엔티티 연동 (#149)

* feat: 하위 카테고리 조회 기능 추가

* feat: 카테고리 엔티티와 경매 엔티티 연동 및 연동으로 인한 dto, 테스트 변경

* refactor: api 명세 변경으로 인한 dto와 테스트 변경

* feat: 경매 이미지 엔티티 추가

* feat: 로컬 이미지 저장 기능 추가

* feat: 경매 이미지 레포지토리 추가

* feat: 이미지 조회 기능 추가

* feat: 이미지 조회 api 추가

* feat: 경매 엔티티, 경매 이미지 엔티티 연동 및 연동으로 인한 dto, api, 테스트 변경

* feat: 경매 등록 시 이미지 업로드 기능 추가

* feat: 경매 등록 api 명세 변경에 의한 dto 및 로직 변경

* refactor: 경매 목록 조회 시 지정한 페이지 크기보다 하나 더 많은 목록을 조회하도록 변경

* feat: 경매 등록 시 경매 이미지 제약조건 추가

* feat: 경매 목록 조회 api 현재 페이지가 마지막 페이지인지 판단하는 기능 추가

* feat: 경매 등록 조회 api 응답 변경으로 인한 dto, 기능 추가

* test: mocking을 통해 불필요한 이미지 파일 저장 비활성화

* feat: No-Offset 조회 결과를 Slice로 변환하는 기능 추가

* refactor: 경매 목록 조회 시 List 대신 Slice를 반환하도록 변경

* remove: QuerydslSliceHelper 패키지 변경

* refactor: 경매 목록 조회 시 fetch join을 하도록 변경

* feat: MultipartFile 설정 추가

* refactor: 단일 이미지 파일 최대 용량과 요청 시 파일 전체 합계 용량 제한 값 변경

* refactor: Auction 단일 조회 메서드 이름 변경

* refactor: AuctionImage 변환 메서드 이름 수정 및 메서드 순서 변경

* refactor: 불필요한 @Table 삭제

* refactor: new 키워드를 통해 엔티티를 생성하지 않고 dto에 정의한 메서드를 호출해 생성하도록 변경

* refactor: 중복되는 코드를 별도의 메서드로 분리

* feat: #143 입찰 가격 입력 뷰 수정 및 비지니스 로직 뷰모델로 분리 (#154)

* feat: 가격 입력 뷰 작성

* feat: 뷰모델로 비지니스 로직 분리

* refactor: 경매 입찰 다이얼로그 함수 분리

* refactor: 스트링 리소스 네임스페이스 수정

* !hotfix: flyway mysql 의존성 추가 (#160)

* !hotfix: flyway 적용 (#163)

* !hotfix: 외래키 제약조건 설정 추가

* !hotfix: flyway V1 스크립트 작성

* !hotfix: auction DB 데이터타입 변경 (#165)

* !hotfix: 외래키 제약조건 설정 추가

* !hotfix: flyway V1 스크립트 작성

* !hotfix: 엔티티 옵션 변경

* ci: #166 운영 서버 빌드 스크립트 작성 (#167)

* feat: 운영 서버 profile 설정 추가

* rename: 개발 서버 스크립트명 변경

* ci: 운영 서버 스크립트 추가

* !hotfix: prod-pipeline.jenkinsfile 오타 수정 (#171)

* feat: #159 이미지 Uri를 MultipartBody로 변환 (#162)

* feat: 이미지 Uri를 MultipartBody로 변환

* feat: 이미지 uri에서 절대 경로를 가져오는 로직 구현

* feat: #176 경매 등록 api 변경 (#177)

* refactor: 경매 등록 api 변경

* style: 불필요한 주석 제거

* !hotfix: 개발 환경 jenkins pipeline script 수정 (#178)

* refactor: #173 카테고리 조회, 직거래 지역 조회 api 수정 (#174)

* refactor: 카테고리 조회 api 반환 타입 수정

* refactor: 직거래 지역 조회 api 반환 타입 수정

* feat: #120 입찰 api(등록) 추가 (#156)

* feat: 경매 아이디로 마지막 입찰 정보 조회 기능 추가

* feat: 입찰 등록 서비스 추가

* feat: 첫 입찰자의 입찰 규칙 기능 추가

* feat: 임시 argument resolver 추가

* feat: 입찰 등록 api 추가

* test: 입찰 서비스 테스트 추가

* feat: 요청에 대한 예외 처리 추가

* refactor: 특정 서비스 메서드를 도메인 메서드로 이동

* test: 필요 없는 코드 제거

* refactor: 요청 dto 검증 조건 추가

* refactor: 요청 dto 데이터 타입 변경

* refactor: 도메인 네이밍을 명확하게 수정

* refactor: 변수 분리

* refactor: 메서드 네이밍 변경

* refactor: 메서드 네이밍을 컨벤션에 맞도록 변경

* rename: 로그인 사용자에 해당하는 dto 클래스 네이밍 변경

* refactore: 메서드 접근 제어자 변경

* refactore: 완료한 todo 제거

* feat: 입찰 시 경매의 마지막 입찰액 업데이트 기능 추가

* refactor: toString에 대해 exclude 대신 of로 수정

* refactor: 모호한 메서드 네이밍 수정 및 위치 수정

* fix: 누락된 대괄호 추가

* refactor: auction 엔티티 수정

* test: 변수 네이밍을 명확하게 수정

* test: 부족한 테스트 추가

* refactor: 시간을 주입받도록 수정

* refactor: querydsl 형식을 jpql로 변환

* refactor: 입찰 생성 요청에 대한 검증 예외 메시지 추가

* test: 메서드명을 명확하게 수정

* feat: #175 경매 등록 시 갤러리에 있는 이미지를 서버로 전송하는 기능 구현 (#182)

* feat: 경매 등록 시 이미지 파일을 서버로 전송하는 기능 구현

* feat: 마지막 경매 아이템까지 로드한 경우 더 이상 로드하지 않는 코드 추가

* feat: #157 입찰 api(조회) 추가 (#183)

* feat: 경매 아이디로 마지막 입찰 정보 조회 기능 추가

* feat: 입찰 등록 서비스 추가

* feat: 임시 argument resolver 추가

* feat: 입찰 등록 api 추가

* refactor: 특정 서비스 메서드를 도메인 메서드로 이동

* feat: 입찰 조회 서비스 추가

* feat: 입찰 조회 컨트롤러 추가

* fix: cherry-pick 머지로 인한 오류 해결

* style: 개행 추가

* remove: 사용하지 않는 파일 삭제

* rename: 요청과 응답에 대한 패키지 분리

* remove: 사용하지 않는 파일 삭제

* refactor: 경매 존재 검증에 대한 사용 메서드 변경

* test: 특수한 값을 지역 변수로 추출

* test: 경매 존재 테스트 추가

* test: 값의 타입 수정

* !hotfix: 경매 이미지 설정 제거 (#184)

* feat: #151 채팅 전송 기능 추가 (#155)

* feat: 메시지 생성 서비스 추가

* style: 메소드 체이닝 정렬

* feat: 메시지 전송 api 추가

* refactor: 채팅방 id를 pathVariable로 받도록 수정

* style: 메소드 순서 재정렬

* feat: 채팅방, 사용자 글로벌 예외 핸들러 추가

* style: 와일드카드 제거

* style: 메소드 체이닝 개행 추가

* style: 개행 추가

* test: 채팅방, 수신자 또는 발신자가 없는 경우 예외 테스트 추가

* style: 필드 사이 개행 추가

* refactor: 테스트 내 private 메소드 삭제

* fix: 경매 엔티티 변경에 따른 코드 수정

* feat: #157 입찰 api(조회) 추가 (#183)

* feat: 경매 아이디로 마지막 입찰 정보 조회 기능 추가

* feat: 입찰 등록 서비스 추가

* feat: 임시 argument resolver 추가

* feat: 입찰 등록 api 추가

* refactor: 특정 서비스 메서드를 도메인 메서드로 이동

* feat: 입찰 조회 서비스 추가

* feat: 입찰 조회 컨트롤러 추가

* fix: cherry-pick 머지로 인한 오류 해결

* style: 개행 추가

* remove: 사용하지 않는 파일 삭제

* rename: 요청과 응답에 대한 패키지 분리

* remove: 사용하지 않는 파일 삭제

* refactor: 경매 존재 검증에 대한 사용 메서드 변경

* test: 특수한 값을 지역 변수로 추출

* test: 경매 존재 테스트 추가

* test: 값의 타입 수정

* !hotfix: 경매 이미지 설정 제거 (#184)

* fix: 충돌 해결

* fix: 충돌 해결

* fix: 충돌 해결

---------

Co-authored-by: 제이미 <[email protected]>
Co-authored-by: 지토 <[email protected]>

* feat: #161 지역 선택 페이지 UI 추가, 구조 설계 (#179)

* feat: 액티비티 추가

* feat: 페이지 레이아웃 작성

* feat: Mock Repository 작성

* feat: 첫번째 지역 리사이클러뷰 어댑터 생성

* feat: 뷰홀더 어댑터 액티비티 뷰모델 연결

* feat: 첫 지역 리사이클러뷰 구현

* feat: 두번째 지역 리사이클러뷰 구현

* feat: 세번째 지역 리사이클러뷰 구현

* feat: Chips 추가 구현

* refactor: Chips 부분 리팩터링

* refactor: 확장함수 선언

* refactor: 쓸데없는 괄호 삭제

* design: divider view 수정

* feat: 인텐트에 담아 종료하는 함수 틀 작성

* refactor: 변수명 변경

* refactor: ChipGroup을 RecyclerView로 리팩터링

* design: Decoration 추가

* feat: BindingAdapter를 활용한 onCloseClick 적용

* refactor: 필요없는 import 삭제

* refactor: 불필요한 함수 실행 삭제

* fix: 첫번째 지역 클릭 시 세번째 지역이 초기화되지 않는 버그 수정

* feat: #185 경매 엔티티에 판매자 필드 추가 (#187)

* feat: 경매 엔티티에 회원 엔티티 연관관계 추가

* feat: 경매 등록 시 판매자를 등록하는 로직 추가

* feat: 경매 조회 시 판매자 fetch join 기능 추가

* feat: 경매 등록 및 조회 api 판매자 연동

* feat: 경매 하위 카테고리 연관관계 세팅 기능 추가

* refactor: 하위 카테고리를 생성자로 초기화하지 않고 연관관계 세팅 메서드를 통해 초기화하도록 변경

* refactor: 판매자, 하위 카테고리 연관관계 세팅 로직 메서드 분리

* chore: 경매 엔티티 변경에 따른 flyway 스크립트 추가

* test: 경매 엔티티 관련 컴파일 에러 해결

* test: 테스트 어노테이션 변경

* feat: 특정 회원과 경매 판매자가 일치하는지 여부를 판단하는 기능 추가

* feat: 경매 삭제 시 판매자임을 검증하는 기능 추가

* !hotfix: 이미지 업로드 용량 설정 추가 (#190)

* refactor: #191 경매 엔티티에 카테고리 엔티티, 직거래 지역 엔티티 연관관계 세팅 방식 변경 (#192)

* refactor: 경매 엔티티에 카테고리 엔티티, 직거래 지역 엔티티 연관관계 세팅 방식 변경

* refactor: 정적 팩토리 메서드 이름 변경 및 초기화 대상 변경

* feat: #193 이미지를 압축하여 캐시에 저장하는 기능 구현 (#195)

* chore: 파이어베이스 analytics 추가

* design: 아이콘 변경

* feat: #180 카테고리 선택 페이지 서버 연동 (#188)

* feat: 레포지토리와 데이터소스 생성

* feat: 메인 카테고리 연결

* design: 텍스트 정렬 변경

* feat: 서브 카테고리 연결

* feat: 선택 완료 이벤트 연결

* refactor: 코드 리팩터링

* refactor: 필요없는 코드 삭제

* refactor: 함수 내부 리팩터링

* refactor: typealias 적용

* feat: #181 지역 선택 페이지 서버 연동 (#194)

* feat: Remote DataSource, Repository 구현

* feat: 변경된 Repository와 연결

* refactor: 캐싱 적용

* refactor: 함수 내부 리팩터링

* refactor: 함수 분리

* refactor: typealias 적용

* docs: #189 예외 핸들링, 테스트 케이스, 문서 추가 (#198)

* rename: 이미지 저장 실패 커스텀 예외 이름 변경

* feat: 경매 관련 예외 핸들러 추가

* test: AuctionController 예외 핸들링 테스트 추가

* refactor: GlobalExceptionHandler UserNotFoundException 종류에 따른 예외 핸들러 분리

* test: AuctionController api 명세 테스트 추가

* test: RegionController api 명세 테스트 추가

* test: 누락된 api 명세 테스트 추가

* test: 문서화 설정 변경

* docs: 경매, 직거래 지역 api 문서화

* feat: 이미지 조회 실패 예외 핸들러 추가

* test: 이미지 조회 실패 컨트롤러 단위 테스트 추가

* remove: 더 이상 사용하지 않는 이미지 조회 실패 커스텀 삭제

* feat: #186 입찰 시 판매자 검증 로직 추가 (#199)

* feat: 입찰 시 판매자 검증 로직 추가

* feat: 입찰액 값 객체 생성

* refactor: 중복된 코드 통합

* feat: 경매에 입찰자 수 필드 추가

입찰 시 마지막 입찰액과 함께 업데이트

* test: 와일드카드 제거

* feat: flyway 스크립트 추가

* feat: #144 채팅방 목록 조회 api 추가 (#197)

* rename: 채팅 api presentation 패키지의 request dto를 request 패키지로 이동 및 테스트 static import 추가

* feat: 채팅방 목록 조회 서비스 추가

* feat: 채팅방 조회 시 사용할 ArgumentResolver 추가

* feat: 채팅방 목록 조회 api 추가

* fix: merge로 인한 충돌 해결

* style: 불필요한 개행 제거

* refactor: 채팅방 목록 조회 시 최종 가격도 반환하도록 response dto에 필드 추가

* style: 120자 넘는 경우 개행 적용

* refactor: 파라미터에 final 키워드 추가

* refactor: 파라미터에 final 키워드 추가

* style: 클래스명과 메서드 사이에 개행 추가

* test: 도메인 테스트 시 영속성 부여

* style: 불필요한 패키지 명시 삭제

* rename: 참여하는 채팅방을 조회하는 데 사용하는 레포지토리 메서드와 서비스 메서드명 변경

* style: 개행 및 불필요한 패키지 경로 제거

* rename: 정적 팩토리 메서드 컨벤션에 맞지 않는 이름 변경

* test: 채팅 관련 서비스 테스트 시 테스트 격리 메서드 적용

* test: merge로 인한 오류 해결

* !hotfix: flyway로 인해 기존 데이터의 입찰자 수가 null이 되는 문제 해결 (#202)

* !hotfix: flyway 스크립트에서 기존 데이터 값을 업데이트하도록 수정

* !hotfix: flyway 업데이트 쿼리 where절 추가

* feat: #196 경매 입찰 기능 서버 연동 (#200)

* feat: 경매 입찰 서버 연동

* feat: 경매 입찰 응답 예외 클래스 설계 및 처리 로직 추가

* feat: 상세 경매 조회시 캐시 데이터 업데이트 하는 기능 추가

* refactor: 경매 입찰 최소 금액 계산 로직 AuctionDetailViewModel로 이동

* refactor: Toaster 추가 및 적용

* refactor: SubmitBidFailureResponse find 메소드 로직 수정

* refactor: AuctionResponse에서 AuctionPreviewResponse로 변환하는 메소드 추가

* rename: 입찰 성공 이벤트 클래스명 동사가 앞에 오도록 수정

* !hotfix: 두 가지 예외 통합 (#204)

* feat: Analytics Screen View 로그 이벤트 추가

* feat: #201 등록 페이지와 카테고리, 지역 선택 페이지 연결 (#203)

* feat: 카테고리 페이지 연결

* feat: 카테고리 페이지 연결

* feat: 지역 페이지 연결

* refactor: 코드 리팩터링

* design: 가격 0 디폴트값 수정

* refactor: 로그 삭제

* refactor: 함수 순서 변경

* refactor: 함수 순서 변경

* refactor: xml 닫는 태그 수정

* refactor: #205 경매 입찰 응답 메시지 수정 (#206)

* chore: 파이어베이스 crashlytics 추가

* fix: #208 상세 정보에서는 입찰자 수가 0으로 전달되는 문제 해결 (#209)

* fix: 상세 정보에서는 입찰자 수가 0으로 전달되는 문제 해결

* test: 개행 수정

* docs: #158 입찰 관련 테스트 추가 및 api 문서 (#213)

* test: 입찰 등록 및 조회에 대한 예외 테스트 추가

* docs: 입찰 등록 및 조회 api 문서화

* refactor: 컨트롤러 메서드 접근 제어자 수정

* feat: #145 채팅방 상세 정보 조회 api 추가 (#212)

* feat: 채팅방 상세 조회 서비스 추가

* feat: 채팅방 상세 조회 api 추가

* test: 테스트에서 객체 생성 시 필드가 무엇을 의미하는지 알 수 있도록 명시

* style: return문 앞에 개행 추가

* feat: 채팅방 접근 권한에 대한 커스텀 예외 추가

* refactor: 불필요한 static 키워드 제거 및 일부 메서드 객체지향적으로 수정

* refactor: 채팅 관련 컨트롤러의 메서드명을 명확하게 변경

* feat: 채팅 가능 여부를 응답하도록 추가

* feat: 채팅 패키지에 경매 정보를 나타내는 dto 추가

* fix: 잘못된 import로 인한 오류 해결

* feat: #227 카카오 소셜로그인 기능 구현 (#229)

* feat: kakao sdk 추가

* feat: 로그인 페이지 레이아웃 작성

* feat: 카카오 소셜로그인 코드 작성

* feat: #225 회원 가입, 로그인 기능 구현 (#231)

* rename: 초기 데이터 초기화 클래스 패키지 변경

* chore: jwt 의존성 추가

* chore: 스프링 부트 설정 처리 의존성 추가

* feat: jwt 관련 설정 추가

* test: 실패하는 경매 관련 테스트 수정

* feat: 토큰화 기능 추가

* feat: 토큰 분석 기능 추가

* feat: 소셜 로그인 지원 관리 기능 추가

* feat: 카카오 회원 정보 조회 기능 추가

* feat: 회원 엔티티 필드 추가

* feat: OauthId를 통해 회원을 조회하는 기능 추가

* feat: 소셜 로그인, acceeToken 갱신 기능 추가

* feat: 소셜 로그인, acceeToken 갱신 api 추가

* feat: 소셜 로그인, acceeToken 갱신 api 예외 핸들러 추가

* chore: 회원 엔티티 변경으로 인한 flyway 스크립트 추가

* refactor: 유효하지 않은 토큰 예외를 하나로 통일

* refactor: 회원 엔티티의 oauthId를 String으로 변경

* refactor: PrivateClaims의 타입을 Long으로 변경

* style: 정렬 변경, final 키워드 추가

* test: 불필요한 주석 제거

* test: 닉네임 검증 값 변경

* refactor: 회원 더미 데이터 닉네임 변경

* refactor: 토큰 발급시간 변수명 변경

* !hotfix: flyway script 오타 수정 (#243)

* feat: #230 카카오 소셜로그인 서버 연동 (#241)

* feat: 카카오 소셜로그인 Service api, data model 추가

* feat: AuthRepository, AuthDataSource 생성 및 뷰와 연결

* feat: 보안 SharedPreference에 서버로부터 전달받은 토큰 저장 및 가져오기

* flyway version 5 script 누락된 컬럼 변경 사항 추가 (#245)

* !hotfix: flyway script 누락된 컬럼 수정사항 추가

* feat: 회원 초기 더미 데이터 기능 추가

* test: 테스트 시 회원 oauthId 더미 데이터 변경

* test: 테스트 시 회원 oauthId 더미 데이터 변경

* feat: 회원 초기 더미 데이터 저장 로직 추가

* feat: #232 경매 상세 화면에서 쪽지방 생성 버튼 기능 추가 (#240)

* feat: AuctionDetailResponse에 chat 속성 추가

* feat: AuctionDetailBottomButtonStatus 추가

* feat: 하단 버튼에 뷰모델 핸들링 함수 연결

* feat: 쪽지 기능 관련 Dto 추가

* feat: 쪽지 기능 서비스 메소드 추가

* feat: ChatRemoteDataSource 추가

* feat: ChatRepository 및 구현체 추가

* refactor: 채팅방ID 얻어오는 api 수정

* refactor: AuctionDetailBottomButtonStatus enum 클래스로 수정

* rename: exitEvent에서 setExitEvent로 수정

* refactor: 경매 상세 하단 버튼 텍스트를 가져오는 formatter 함수 추가

* feat: #246 자동 로그인 기능 구현 (#248)

* feat: 스플래시 페이지 레이아웃 작성

* feat: 토큰 유효성 검사 기능 구현

* feat: 스플래시 액티비티에서 다음 액티비티로 이동하는 기능 구현

* feat: 로그인 액티비티에서 다음 액티비티로 넘어가는 기능 구현

* feat: 기본 스플래시 화면 투명하게 조정

* feat: 토큰 리프레시하는 api 추가

* feat: 헤더에 토큰 추가 및 토큰 갱신 인터셉터 구현

* feat: #233 api 인증 및 인가 기능 연동 (#249)

* feat: 인증 회원 정보 저장 기능 추가

* feat: 인증 인터셉터 기능 추가

* feat: 인증 ArgumentResolver 기능 추가

* rename: Oauth2 관련 설정 클래스 이름 변경

* feat: Oauth2 설정 추가

* fix: ArugmentResolver에서 Forbidden이 아닌 Unauthorized 예외가 발생하도록 변경

* rename: 예외 이름을 상황에 맞게 변경

* feat: api 요청 시 인증 및 인가 기능 추가

* chore: 인터셉터를 테스트 커버리지 검증 대상에서 제외

* fix: 경매 목록 조회 시 자신이 작성한 경매는 보이지 않도록 변경

* refactor: oauth2 관련 api의 경우 인터셉터가 적용되지 않도록 변경

* !hotfix: 노출된 api 키 제거

* test: 누락된 개행 추가

* rename: privateClaims 패키지 이동

* style: 개행 및 조건을 소괄호로 묶어서 표현

* fix: 경매 목록 조회 시 자신이 작성한 글도 조회가 가능하도록 변경

* feat: #226 경매 신고 등록 및 조회 api 추가 (#238)

* feat: 경매 신고 엔티티 추가

* feat: 경매 신고 레포지토리 추가

* feat: 경매 신고 등록 서비스 추가

* feat: 경매 신고 등록 api 추가

* feat: 경매 신고 중복 등록 검증 추가

* refactor: 메서드 호출 순서로 변경

* feat: 경매 신고 전체 조회 레포지토리 추가

* feat: 경매 신고 전체 조회 서비스 추가

* feat: 경매 신고 전체 조회 api 추가

* feat: 경매 신고 테이블 생성에 대한 flyway 스크립트 추가

* refator: toString 항목 추가

* rename: flyway 스크립트 네이밍 수정

* test: merge에 따른 테스트 코드 수정

* refactor: querydsl을 EntityGraph로 수정

* test: import 와일드카드 제거

* refactor: final 추가

* style: 개행 추가

* test: given-when-then 주석 수정

* refactor: 메서드명 수정

* refactor: transactional 어노테이션 추가

* rename: 동일 클래스가 존재해 헷갈리는 dto 네이밍 수정

* rename: dto 패키지 분리

* refactor: 머지에 따른 인증 관련 코드 수정

* feat: #252 토큰 유효성 검증 api 추가 (#255)

* feat: accessToken 검증 기능 추가

* feat: accessToken 검증 api 추가

* style: final 추가

* test: 변수 네이밍 변경

* refactor: 토큰 타입 상수 네이밍 변경

* refactor: try-catch 변수 네이밍 수정

* style: 메서드 순서 변경

* feat: #250 쪽지 목록 페이지 기능 구현 (#254)

* feat: 쪽지 프래그먼트 UI 작성

* feat: 쪽지 목록 아이템 UI 작성

* feat: 쪽지 목록 아이템 뷰홀더 작성

* feat: 쪽지 목록 리사이클러뷰 어댑터 작성

* feat: 쪽지 목록 페이지 서버 연동

* feat: 탭 이동으로 보여질 때 목록 다시 불러오도록 수정

* refactor: if문 중괄호 제거

* refactor: 클릭 리스너 이름 변경 및 id만 전달받도록 수정

* refactor: Iso8601 포맷을 LocalDateTime으로 변환하는데 사용하던 DateTimeFormatter 제거

* feat: #247 사용자 정보 조회 api 추가 (#256)

* feat: 사용자 정보 조회 서비스 추가

* refactor: 사용자 정보를 찾지 못했을 때 예외 통합

* feat: 사용자 정보 조회 api 추가

* refactor: 머지로 인한 수정 사항 반영

* refactor: resolver argument 수정 및 서비스 메서드 파라미터 수정

* test: 사용자 정보 조회 api 추가

* refactor: 파라미터에 final 추가

* test: 파일 끝 개행 추가

* test: 개행 수정

* test: 개행 수정

* refactor: #235 채팅방 목록 조회 api 명세 수정에 따른 변경 (#236)

* refactor: 채팅방 목록 조회 시 List를 그대로 반환하도록 변경

* remove: 사용하지 않는 클래스 제거

* feat: #228 채팅방 생성 api 추가 (#234)

* feat: 경매 아이디를 포함하는 채팅방 조회하는 레포지토리 메서드 추가

* feat: 낙찰자를 판단하는 메서드와 인자로 받은 사용자가 낙찰자인지 판단하는 메서드 추가

* feat: 채팅방 생성 서비스 추가

* feat: 채팅방 생성 컨트롤러 추가

* feat: 커스텀 예외 핸들러 추가

* feat: 서비스레이어에서 데이터 삽입 시 `@Transactional`의 readOnly 옵션을 false로 지정

* refactor: 낙찰자를 판단할 때 도메인에서 예외처리하지 않고 Optional로 반환하도록 변경

* refactor: if문 안에 여러개의 조건 메서드 분리

* refactor: db에 존재하는지 파악할 때 find 대신 exists 쓰도록 변경

* refactor: service에 있던 domain -> dto로 변환하는 메서드 대신 dto의 정적 팩토리 메서드를 사용하도록 변경

* test: 누락된 final 추가 및 double임을 표현할 수 있도록 소수 뒤에 d 추가

* test: id만 비교할 시 id를 통한 비교 대신 equals 사용하도록 수정

* feat: 채팅방 생성 요청시 채팅방이 이미 있는 경우 그 채팅방을 반환하도록 기능 추가

* test: 낙찰자를 찾을 수 없을 때 발생하는 예외 핸들링 테스트 추가

* refactor: 채팅방이 이미 존재하는 경우에 대한 불필요한 로직 및 예외 제거

* test: 누락된 테스트 추가

* refactor: 복잡하게 작성된 코드 간결하게 수정

* refactor: 메서드명 수정 및 불필요한 개행 삭제

* feat: querydsl을 사용해 채팅방 조회시 성능 개선 및 최신순 정렬 기능 추가

* feat: 사용자 조회와 동시에 예외처리하도록 변경

* fix: merge로 인한 충돌 해결

* refactor: 사용하지 않는 메서드 삭제

* feat: #253 마이페이지 추가 (#261)

* fix: 헤더로 보내는 토큰에 prefix 추가

* feat: 마이페이지 레이아웃 작성

* feat: 유저 정보 불러오는 api 연동

* feat: 로그아웃 api 연동

* refactor: 로그아웃 시 로그인 페이지로 이동하는 intent에 flag 추가하는 방식으로 수정

* refactor: string 리소스 name 수정

* 채팅방 신고 등록 및 조회 api 추가 (#262)

* feat: 채팅방 신고 엔티티 추가

* feat: 채팅방 신고 등록 레파지토리 추가

* style: 개행 추가

* feat: 채팅방 신고 등록 서비스 추가

* test: 채팅룸 신고 등록과 관련한 예외 테스트 추가

* feat: 채팅방 신고 권한 검증 로직 추가

* refactor: 메서드 네이밍을 명확하게 수정

* test: 잘못된 네이밍 수정

* style: 개행 추가

* feat: 채팅방 신고 등록 api 추가

* refactor: 신고 컨트롤러 클래스명 변경

* refactor: 경매 신고 조회 시 판매자 정보도 가져오도록 수정

* feat: 채팅방 신고 전체 목록 조회 서비스 추가

* feat: 채팅방 신고 전체 목록 조회 api 추가

* refactor: 메서드 명이 명확하도록 수정

* test: 채팅방 신고 전체 목록 조회 테스트 추가

* test: 경매 신과 관련 테스트 메서드명 명확하게 수정

* feat: 이미 신고한 채팅방을 신고하는 경우에 대한 검증 로직 추가

* feat: 채팅방 신고 엔티티 추가에 따른 flyway 스크립트 추가

* style: final 누락 추가

* style: 개행 추가

* feat: #242 신고 페이지 UI/구조 작성, 삭제 버튼 UI추가 (#267)

* feat: 신고 페이지 UI 작성

* refactor: BindingActivity 사용하는 것으로 수정

* feat: ViewModel 코드 작성

* feat: 경매 상세 페이지 신고버튼 영역 잡아두기

* refactor: 함수명 변경

* refactor: 충돌 해결

* refactor: #271 경매와 인증/인가 기능 연동 (#273)

* feat: #258 로그아웃 api 추가 (#269)

* feat: 블랙리스트 토큰 엔티티 기능 추가

* feat: 블랙리스트 토큰 등록 및 조회 레포지토리 기능 추가

* test: 테스트 이름 변경

* feat: 블랙리스트 토큰 등록 및 조회 기능 추가

* feat: 인터셉터에서 블랙리스트에 등록한 AccessToken인지 검증하는 기능 추가

* feat: 로그아웃 api 기능 추가

* chore: BlackListToken 엔티티 관련 flyway script 추가

* refactor: 메서드 이름을 명확하게 변경

* style: 개행 추가

* chore: flyway script 버전 변경

* test: 인터셉터 설정 추가

* test: 누락된 인터셉터 설정 추가

* feat: #263 경매 목록 새로고침 기능 추가 (#264)

* feat: #266 삭제된 경매 상세 조회 시 데이터를 삭제하고 경매 목록으로 돌아오는 기능 추가 (#268)

* feat: 삭제된 경매 상세 조회 시 데이터를 삭제하고 경매 목록으로 돌아오는 기능 추가

* refactor: 로컬에서 경매 데이터를 삭제하는 기능을 Repository 내부적으로 처리하도록 수정

* feat: #274 신고 기능 서버 연동 및 액티비티 연결 (#275)

* feat: 아이콘 추가

* feat: 레포지토리에 신고 API 추가

* feat: ViewModel 코드 작성

* feat: onClick 함수 연결

* feat: 경매 상세 페이지와 신고 페이지 연결

* feat: 액티비티 코드 작성

* feat: 통신에 필요한 기본 정보 세팅과 신고 접수, 예외 처리들 작성

* refactor: 빈 스트링 검사

* feat: 신고 접수 후 종료

* refactor: 값 중복 확인 삭제

* refactor: 코드 길이 줄이기

* fix: 잘못된 Service 코드 수정

* refactor: 상수 밖으로 빼기

* refactor: 예외 처리

---------

Co-authored-by: Mendel <[email protected]>

* feat: #257 쪽지방 페이지 기능 구현 (#270)

* feat: 쪽지방 페이지 UI 상단바 작성

* feat: 쪽지방 페이지 UI 하단 메시지 입력 부분 작성

* feat: 쪽지방 페이지 액티비티 추가

* feat: 쪽지방 페이지로 이동하는 로직을 다른 화면에 추가

* feat: 뷰모델 클릭 리스너 함수들을 데이터바인딩으로 연결

* feat: 메시지 UI 모델 추가

* feat: 메시지 로딩 함수 구현

* feat: 채팅 메시지 뷰타입 레이아웃 작성

* feat: 메시지 어댑터 작성

* feat: 쪽지방 생성 알림 어댑터 작성

* feat: 바인딩 어댑터 setTextOrEmpty 유틸 함수 추가

* feat: 메시지 전송 기능 추가

* refactor: 신고하기 아이콘 변경

* feat: 채팅 입력시 액티비티 따라 올라가는 기능 추가

* refactor: 빈 스트링 전송되지 않도록 수정

* refactor: MessageAdapter DiffUtil 수정

* refactor: 중복 리턴 수정

* refactor: loadMessageRoom으로 함수명 수정

* feat: #152 채팅 메시지 조회 API 추가 (#272)

* fix: 브랜치 최신화

* style: 메소드 체이닝 개행 추가

* style: 필드 사이 개행 추가

* fix: 브랜치 최신화

* feat: 특정 아이디 이후에 추가된 메시지 조회 기능 추가

* test: 실패하는 테스트 수정

* refactor: 엔티티 조회 로직 메서드 분리

* refactor: null 아이디 검사 분기문 메서드 분리

* style: 메서드 체이닝 개행 추가

* style: 불필요한 주석 제거

* fix: 브랜치 최신화

* style: 불필요한 주석 제거

* style: 메소드 체이닝 개행 추가

* style: 필드 사이 개행 추가

* feat: 특정 아이디 이후에 추가된 메시지 조회 기능 추가

* feat: 메시지 조회 기능 추가

* feat: 메시지 조회 API 추가

* style: 테스트 주석 추가

* test: 실패하는 테스트 수정

* test: 메시지 조회 시 잘못된 사용자에 대한 예외 테스트 추가

* refactor: 엔티티 조회 로직 메서드 분리

* refactor: null 아이디 검사 분기문 메서드 분리

* style: 메서드 체이닝 개행 추가

* fix: API 명세에 맞춰 API 수정

* feat: 채팅 가능한 시간이 초과한 경우 예외 처리 추가

* fix: 패키지 이동 반영 안되는 오류 수정

* !hotfix: 버그 리포팅을 위한 이슈 템플릿 추가

* !hotfix: 버그 리포팅용 이슈 템플릿의 설명을 조금 더 명확하게 변경

* !hotfix: 개발 도중 버그가 발생했을 때의 이슈 템플릿의 설명을 명확하게 변경

* feat: 특정 아이디 이후에 추가된 메시지 조회 기능 추가

* feat: 메시지 조회 API 추가

* style: 테스트 주석 추가

* test: 실패하는 테스트 수정

* test: 메시지 조회 시 잘못된 사용자에 대한 예외 테스트 추가

* refactor: 엔티티 조회 로직 메서드 분리

* refactor: null 아이디 검사 분기문 메서드 분리

* style: 불필요한 주석 제거

* feat: 특정 아이디 이후에 추가된 메시지 조회 기능 추가

* feat: 메시지 조회 API 추가

* style: 테스트 주석 추가

* test: 실패하는 테스트 수정

* test: 메시지 조회 시 잘못된 사용자에 대한 예외 테스트 추가

* refactor: 엔티티 조회 로직 메서드 분리

* refactor: null 아이디 검사 분기문 메서드 분리

* style: 메서드 체이닝 개행 추가

* style: 개행 추가

* refactor: 수신자가 메시지를 조회할 수 있도록 변경

* refactor: find 메서드 대신 repository 직접 조회하도록 변경

* refactor: 불변 리스트 반환하도록 수정

* 채팅방 신고 등록 및 조회 api 추가 (#262)

* feat: 채팅방 신고 엔티티 추가

* feat: 채팅방 신고 등록 레파지토리 추가

* style: 개행 추가

* feat: 채팅방 신고 등록 서비스 추가

* test: 채팅룸 신고 등록과 관련한 예외 테스트 추가

* feat: 채팅방 신고 권한 검증 로직 추가

* refactor: 메서드 네이밍을 명확하게 수정

* test: 잘못된 네이밍 수정

* style: 개행 추가

* feat: 채팅방 신고 등록 api 추가

* refactor: 신고 컨트롤러 클래스명 변경

* refactor: 경매 신고 조회 시 판매자 정보도 가져오도록 수정

* feat: 채팅방 신고 전체 목록 조회 서비스 추가

* feat: 채팅방 신고 전체 목록 조회 api 추가

* refactor: 메서드 명이 명확하도록 수정

* test: 채팅방 신고 전체 목록 조회 테스트 추가

* test: 경매 신과 관련 테스트 메서드명 명확하게 수정

* feat: 이미 신고한 채팅방을 신고하는 경우에 대한 검증 로직 추가

* feat: 채팅방 신고 엔티티 추가에 따른 flyway 스크립트 추가

* style: final 누락 추가

* style: 개행 추가

* feat: 특정 아이디 이후에 추가된 메시지 조회 기능 추가

* feat: 메시지 조회 API 추가

* style: 테스트 주석 추가

* test: 실패하는 테스트 수정

* test: 메시지 조회 시 잘못된 사용자에 대한 예외 테스트 추가

* refactor: 엔티티 조회 로직 메서드 분리

* refactor: null 아이디 검사 분기문 메서드 분리

* style: 메서드 체이닝 개행 추가

* feat: 특정 아이디 이후에 추가된 메시지 조회 기능 추가

* feat: 메시지 조회 API 추가

* style: 테스트 주석 추가

* test: 실패하는 테스트 수정

* test: 메시지 조회 시 잘못된 사용자에 대한 예외 테스트 추가

* refactor: 엔티티 조회 로직 메서드 분리

* feat: 특정 아이디 이후에 추가된 메시지 조회 기능 추가

* feat: 메시지 조회 API 추가

* style: 테스트 주석 추가

* test: 실패하는 테스트 수정

* test: 메시지 조회 시 잘못된 사용자에 대한 예외 테스트 추가

* refactor: 엔티티 조회 로직 메서드 분리

* refactor: null 아이디 검사 분기문 메서드 분리

* feat: 특정 아이디 이후에 추가된 메시지 조회 기능 추가

* feat: 메시지 조회 API 추가

* style: 테스트 주석 추가

* test: 실패하는 테스트 수정

* test: 메시지 조회 시 잘못된 사용자에 대한 예외 테스트 추가

* refactor: 엔티티 조회 로직 메서드 분리

* refactor: null 아이디 검사 분기문 메서드 분리

* style: 메서드 체이닝 개행 추가

* feat: 특정 아이디 이후에 추가된 메시지 조회 기능 추가

* feat: 메시지 조회 API 추가

* style: 테스트 주석 추가

* test: 실패하는 테스트 수정

* test: 메시지 조회 시 잘못된 사용자에 대한 예외 테스트 추가

* refactor: 엔티티 조회 로직 메서드 분리

* feat: 특정 아이디 이후에 추가된 메시지 조회 기능 추가

* feat: 메시지 조회 API 추가

* style: 테스트 주석 추가

* test: 실패하는 테스트 수정

* test: 메시지 조회 시 잘못된 사용자에 대한 예외 테스트 추가

* refactor: 엔티티 조회 로직 메서드 분리

* refactor: null 아이디 검사 분기문 메서드 분리

* refactor: lastMessageId 계산 로직 삭제

* style: 잘못된 개행 수정

* style: 잘못된 개행 수정

* feat: #258 로그아웃 api 추가 (#269)

* feat: 블랙리스트 토큰 엔티티 기능 추가

* feat: 블랙리스트 토큰 등록 및 조회 레포지토리 기능 추가

* test: 테스트 이름 변경

* feat: 블랙리스트 토큰 등록 및 조회 기능 추가

* feat: 인터셉터에서 블랙리스트에 등록한 AccessToken인지 검증하는 기능 추가

* feat: 로그아웃 api 기능 추가

* chore: BlackListToken 엔티티 관련 flyway script 추가

* refactor: 메서드 이름을 명확하게 변경

* style: 개행 추가

* chore: flyway script 버전 변경

* test: 인터셉터 설정 추가

* test: 누락된 인터셉터 설정 추가

* feat: 특정 아이디 이후에 추가된 메시지 조회 기능 추가

* feat: 메시지 조회 API 추가

* style: 테스트 주석 추가

* test: 실패하는 테스트 수정

* test: 메시지 조회 시 잘못된 사용자에 대한 예외 테스트 추가

* refactor: 엔티티 조회 로직 메서드 분리

* refactor: null 아이디 검사 분기문 메서드 분리

* style: 메서드 체이닝 개행 추가

* feat: 특정 아이디 이후에 추가된 메시지 조회 기능 추가

* feat: 메시지 조회 API 추가

* style: 테스트 주석 추가

* test: 실패하는 테스트 수정

* test: 메시지 조회 시 잘못된 사용자에 대한 예외 테스트 추가

* feat: 특정 아이디 이후에 추가된 메시지 조회 기능 추가

* feat: 메시지 조회 API 추가

* style: 테스트 주석 추가

* test: 실패하는 테스트 수정

* test: 메시지 조회 시 잘못된 사용자에 대한 예외 테스트 추가

* refactor: 엔티티 조회 로직 메서드 분리

* refactor: null 아이디 검사 분기문 메서드 분리

* feat: 특정 아이디 이후에 추가된 메시지 조회 기능 추가

* feat: 메시지 조회 API 추가

* style: 테스트 주석 추가

* test: 실패하는 테스트 수정

* test: 메시지 조회 시 잘못된 사용자에 대한 예외 테스트 추가

* refactor: 엔티티 조회 로직 메서드 분리

* refactor: null 아이디 검사 분기문 메서드 분리

* style: 메서드 체이닝 개행 추가

* feat: 특정 아이디 이후에 추가된 메시지 조회 기능 추가

* feat: 메시지 조회 API 추가

* style: 테스트 주석 추가

* test: 실패하는 테스트 수정

* test: 메시지 조회 시 잘못된 사용자에 대한 예외 테스트 추가

* refactor: 엔티티 조회 로직 메서드 분리

* feat: 특정 아이디 이후에 추가된 메시지 조회 기능 추가

* feat: 메시지 조회 API 추가

* style: 테스트 주석 추가

* test: 실패하는 테스트 수정

* test: 메시지 조회 시 잘못된 사용자에 대한 예외 테스트 추가

* refactor: 엔티티 조회 로직 메서드 분리

* refactor: null 아이디 검사 분기문 메서드 분리

* feat: 특정 아이디 이후에 추가된 메시지 조회 기능 추가

* feat: 메시지 조회 API 추가

* style: 테스트 주석 추가

* test: 실패하는 테스트 수정

* test: 메시지 조회 시 잘못된 사용자에 대한 예외 테스트 추가

* refactor: 엔티티 조회 로직 메서드 분리

* refactor: null 아이디 검사 분기문 메서드 분리

* style: 메서드 체이닝 개행 추가

* feat: 특정 아이디 이후에 추가된 메시지 조회 기능 추가

* feat: 메시지 조회 API 추가

* style: 테스트 주석 추가

* test: 실패하는 테스트 수정

* test: 메시지 조회 시 잘못된 사용자에 대한 예외 테스트 추가

* refactor: 엔티티 조회 로직 메서드 분리

* feat: 특정 아이디 이후에 추가된 메시지 조회 기능 추가

* feat: 메시지 조회 API 추가

* style: 테스트 주석 추가

* test: 실패하는 테스트 수정

* test: 메시지 조회 시 잘못된 사용자에 대한 예외 테스트 추가

* refactor: 엔티티 조회 로직 메서드 분리

* refactor: null 아이디 검사 분기문 메서드 분리

* test: lastMessageId null인 경우 빈 배열이 담겨서 전달되는지 확인하는 코드 추가

* test: 적절한 변수를 사용하도록 수정

* fix: API 명세에 맞춰 예외 처리 추가

* fix: API 명세에 맞춰 응답값 변경

* refactor: 메서드 분리

* refactor: 빌더 삭제

* refactor: 메서드 분리 제거

* refactor: 메서드명 수정

* refactor: 메시지 조회 시 chatRoom fetch join하도록 수정

* style: 잘못된 개행 수정

* refactor: 인증/인가 연동

* test: 불필요한 주석 제거

* style: 개행 변경

---------

Co-authored-by: 지토 <[email protected]>
Co-authored-by: 제이미 <[email protected]>

* feat: #278 자동로그인 기능 서버 연동 (#279)

* fix: 충돌 해결 시 발생한 문제 해결

* feat: 자동로그인 기능 서버 연동

* refactor: #259 채팅방 목록 조회시 마지막 메세지 함께 반환 및 마지막 메시지가 최근인 순으로 정렬하도록 수정 (#276)

* rename: 중복된 dto 이름 변경

* refactor: 채팅방 dto에 담을 정보 수정

* perf: 채팅방 조회 시 querydsl 사용 및 쿼리 성능 개선

* feat: 채팅방 목록 조회시 마지막 메시지도 함께 보내는 기능 추가

* feat: 주어진 채팅방 아이디에 해당하는 채팅방에 있는 마지막 메시지를 조회하는 레포지토리 메서드에 queryDsl 적용

* feat: 채팅방 목록 조회 시 마지막 메시지가 최근인 순으로 정렬되도록 기능 추가

* refactor: 길이가 긴 메서드의 가독성 증진을 위한 메서드 분리

* style: 개행 수정

* fix: 충돌 해결 및 개행 추가

* refactor: #260 경매 상세 조회 시 채팅방 아이디와 채팅 가능 유저 여부 함께 전송하도록 수정 (#265)

* feat: 경매 상세 조회 시 채팅방 아이디와 채팅 가능 유저 여부 함께 전송하는 기능 추가

* refactor: 사용자와 경매 조회 시 예외를 한 번에 처리하도록 수정

* test: 경매 상세 조회 시 경매 정보와 사용자 정보를 찾을 수 없는 경우에 대한 누락된 테스트 추가

* style: 개행 추가 및 불필요한 개행 제거

* refactor: 메서드 파라미터에 Optional 사용하지 않도록 변경

* fix: merge로 인한 충돌 해결

* refactor: 판매자 또는 낙찰자인자 판단할 때 현재시간을 주입받도록 수정

* style: 개행 추가

* rename: dto 이름 명확하게 수정

* style: 개행 수정

* !hotfix: 채팅방 생성 시 채팅방 아이디 바디로 넘기도록 수정 (#283)

* fix: 앱에서 나갔다가 돌아왔을 때 경매 목록 캐시가 남아있는 문제 해결

* feat: #282 회원 탈퇴 api 추가 (#284)

* feat: 회원 엔티티에 회원탈퇴 기능 추가

* feat: 회원탈퇴하지 않은 회원을 조회하는 기능 추가

* feat: 회원 탈퇴 기능 추가

* feat: 회원 탈퇴 api 추가

* feat: 회원 탈퇴 여부 확인 기능 추가

* feat: 회원 탈퇴 여부 확인 기능 추가

* chore: 회원 탈퇴 관련 flyway script 추가

* feat: 인증 & 인가 작업 시 탈퇴된 회원인지 검증하는 로직 추가

* feat: #285 개인정보처리방침 추가 (#288)

* feat: 개인정보처리방침 버튼 레이아웃 추가

* feat: 개인정보처리방침 노션 링크 웹페이지로 이동하는 기능 추가

* feat: #286 신고하기 및 쪽지방 정보 Dto 서버랑 안맞는 버그 수정 (#289)

* fix: 신고하기 레트로핏 메소드에 바디 어노테이션 추가

* fix: 쪽지방 정보 dto 추가

* refactor: 쪽지방에서 경매id로 신고하기 기능 추가

* !hotfix: flyway script 수정 (#291)

* docs: #277 신고 api 문서화 (#281)

* test: restdocs 적용

* docs: 신고 관련 문서화 추가

* ci: 머지로 인한 충돌 해결

* feat: #292 모니터링 설정 (#292)

* chore: 모니터링 의존성 추가

* feat: 모니터링 설정 추가

* refactor: 개인정보처리방침 url 코드에서 숨김

* docs: #280 경매 api 문서 최신화, 인증 & 인가 api 문서화 (#295)

* docs: 인증 & 인가 관련 api 문서화

* docs: 경매 관련 api 문서 최신화

* docs: #298 경매 상세 조회 api 응답 필드 추가 (#299)

* feat: 경매 상세 조회 시 자신이 등록한 경매인지 판단하는 로직 추가

* docs: 경매 상세 조회 api 문서 최신화

* chore: #301 운영 서버 관련 script 변경 (#302)

* chore: 운영 서버 script 수정

* chore: flyway version 5 script 수정

* feat: #297 경매 상세 페이지 경매 삭제 기능 추가 (#300)

* feat: 삭제 버튼과 뷰모델 연결

* feat: 나의 경매인지 확인하는 변수 추가

* feat: 나의 경매 여부에 따른 visibility 조정

* feat: 경매 삭제 레포지토리 함수 작성

* feat: 뷰모델과 레포지토리 함수 연결

* refactor: 함수명 변경

* refactor: 삭제 확인 다이얼로그에 negative String Id 추가

* refactor: 글자가 길어졌을 때 아이콘과 겹치지 않도록 수정

* refactor: 글자가 길어졌을 때 아이콘과 겹치지 않도록 수정

* refactor: 글자가 길어졌을 때 아이콘과 겹치지 않도록 수정

* refactor: 로딩 실패 예외처리

* refactor: remove에서 delete로 네이밍 변경

* refactor: remove에서 delete로 네이밍 변경

* refactor: remove에서 delete로 네이밍 변경

* feat: #304 마지막 메시지 위치로 리사이클러뷰 위치 이동되는 기능 및 메시지 입력 소프트 키보드 올라올 때 툴바 보이도록 수정 (#306)

* refactor: 소프트 키보드 올라올 때, 리사이클러뷰 스크롤 상태 유지된 상태로 액티비티 조정되도록 수정

* refactor: 메시지 목록 업데이트 될 때, 스크롤 상태 마지막 위치로 이동하는 콜백 추가

* refactor: 툴바 적용

* deploy: 시맨틱 버저닝 적용

* refactor: 사용하지 않는 기능 버튼 숨김 처리

* deploy: 시맨틱 버저닝 적용

* docs: #293 채팅 api 문서화 (#296)

* 채팅 api 문서화

* docs: 채팅 api 문서화 request-headers 추가 및 항목 순서 변경

* docs: merge로 인한 충돌 해결

* fix: 빌드 후 변경사항 적용

* refactor: #303 경매가 종료되지 않았다면 판매자이더라도 채팅 가능한 유저인지 정보에 false를 반환하도록 수정 (#305)

* deploy: 난독화 적용

* feat: #309 서버로부터 가져온 프로필 정보 화면에 띄워주는 기능 추가 (#312)

* refactor: #325 입찰 예외처리 리팩토링 (#326)

* refactor: 판매자 입찰 불가 에러 처리 추가

* refactor: 첫 입찰자의 시작금액을 시작금액이상으로 가능하게 수정

* refactor: 내 경매면 경매 하단 버튼 상세 문구 수정

* fix: #327 토큰 자동 갱신 시 응답 안 닫고 다음 요청을 보내던 버그 수정 (#328)

* fix: 입찰 금액 입력 최댓값 수정

* fix: 경매 등록 여러번 되는 문제 방지

* feat: 경매 등록 실패 시 스낵바 메시지 노출

* feat: 경매 입찰 시 일정 단위를 벗어날 경우 서버에서 받는 메시지를 출력하는 기능 추가

* design: 마감기한 텍스트 뷰 위치를 시작 가격 옆으로 조정

* design: 프로필 이미지 뷰에 디폴트 이미지 적용

* fix: 경매 상세 페이지가 한 번에 여러개 생성되지 않도록 수정

* design: 경매 상세 화면 판매자 프로필 외곽을 둥글게 수정

* feat: 활성화된 쪽지방이 없으면 쪽지방 프래그먼트에 보여줄 문구 추가

* fix: 경매 상세와 쪽지방이 무한히 중첩되는 버그 수정

* refactor: 버전 수정

---------

Co-authored-by: mendel <[email protected]>
Co-authored-by: swonny <[email protected]>
Co-authored-by: apptie <[email protected]>
Co-authored-by: kwonyj1022 <[email protected]>
Co-authored-by: Gloria <[email protected]>
Co-authored-by: Song Hyemin <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend 백엔드와 관련된 이슈나 PR에 사용 feature 기능 추가 시
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

경매 신고 등록 및 조회 api 추가
4 participants