Skip to content

CommenetRepository의 반환값을 Flow에서 Result<Data>로 변경#308

Merged
hegunhee merged 13 commits into
composefrom
feature/307-comment-repository
Jul 25, 2025
Merged

CommenetRepository의 반환값을 Flow에서 Result<Data>로 변경#308
hegunhee merged 13 commits into
composefrom
feature/307-comment-repository

Conversation

@hegunhee
Copy link
Copy Markdown
Member

🔗 관련 이슈

📙 작업 설명
Flow에서 Result 타입으로 전환

🧪 테스트 내역 (선택)

📸 스크린샷 또는 시연 영상 (선택)

💬 추가 설명 or 리뷰 포인트 (선택)
This closes #307

@hegunhee hegunhee self-assigned this Jul 25, 2025
@hegunhee hegunhee added the ♻️ Refactor 리팩토링 label Jul 25, 2025
@hegunhee hegunhee merged commit 4b2c403 into compose Jul 25, 2025
3 checks passed
@hegunhee hegunhee deleted the feature/307-comment-repository branch July 25, 2025 11:52
hegunhee added a commit that referenced this pull request Aug 5, 2025
* 2.0.2 버전 배포 (#261)

* [docs] body.md 초기화

* [fix] 마이페이지 카카오 이메일 ui 삭제

* alias 체크용

* remove check-alias

* 테스트 코드에서 Ktlint 완화  (#227)

* #225 - lint : test 코드에서 린트 비활성화

테스트코드는 좀더 완화가 필요하므로 변경

* #225 - lint : 테스트코드에서 star-projection, 임포트 정렬 비활성화

테스트코드에서는 임포트하는 순서대로 사용하는게 좋을거같아서 비활성화

* #225 - test : androidTest에서 ktlint 테스트

* #225 - test : test/java에서 lint가 잘 작동하는지 테스트

* #225 - style : EOF 수정

* 네트워크 테스트 설정  (#231)

* #230 - build : mockWebServer 의존성 추가

기존의 okhttp3 버전과 동일하게 4.11.0을 사용함

* #230 - build : core:data 모듈에 mockwebserver 의존성 추가

해당 모듈에서만 api 테스트를 진행하므로 이 모듈에만 추가

* 정책 검색에서 선택한 필터 정보가 보이지 않게 수정 (#229)

* #228 - feat : 선택한 검색 필터들을 보여주던것 삭제

데이터가 너무 많아서 불필요하다하여 삭제함

* #228 - style : modifier 파라미터는 선택적 파라미터의 첫번째에 오게 변경

modifier 파라미터는 파라미터의 맨 상위가 아닌
선택적 파라미터의 첫번째로 와야함

* #228 - refactor : FilterType의 title을 만들어서 중복으로 title을 찾는 코드 삭제

* #228 - refactor : 실제 FilterType을 사용하는 코드에서 title 관련 when문 삭제

* #228 - refactor : 선택되어있는 정책 필터의 갯수를 구하는 함수를 만듦

직접 UI 코드에서 로직을 작성하는것보다
확장함수로 추출하는게 더 용이해보임

* #228 - style : github-actions의 추천에 따라 본문이 한줄일 경우 바로 리턴해주는것으로 변경

* readme 수정

* 탈퇴한 유저의 게시글에 들어가면 무한로딩이 걸리는 문제 (#235)

* #234 - fix : 글쓴이가 null일 수 있으므로 nullable하게 변

mapper 도 변경함

* #234 - feat : nickname이 null이 아닌 string으로 "null"로 들어왔을때도 탈퇴한 아이디로 설정

* #236 - fix : hostDep을 nullable하게 변경

없는 경우도 있을거같아서 nullable하게 변경
다음 배포에 리팩터링하면서 더 살펴보자

* 뒤로가기 버튼이 작동하지 않는 화면들 수정 (#239)

* #238 - feat : 정책상세보기 화면에서 뒤로가기 버튼이 작동되도록 수정

* #238 - feat : 커뮤니티 글쓰기 화면에서 뒤로가기 버튼이 작동되도록 수정

* #238 - feat : 정책 검색 화면에서 백버튼이 작동하지 않는 이슈 수정

modifier를 맨 마지막 파라미터로 변경시키고 Screen의 접근 제어자는 internal로 변경

* #238 - feat : 커뮤니티 검색 화면에서 뒤로가기 버튼이 작동하지 않는것 수정

* #238 - feat : 알람 화면에 뒤로가기 버튼 활성화

* #238 - feat : 약관 및 정책, 기타 관리 화면에서 뒤로가기 버튼이 작동되도록 수정

* taskmaster AI 설정 (#241)

* #240 - gitignore : taskmaster 설정 및 gitignore 설정

* #240 - docs : 이후 처음 할 작업에 대한 문서 정의

* LoginService 테스트 (#243)

* #242 - gitignore : 그냥 task 관련 다 무시하도록 설정

* #242 - feat : api 테스트에서 공통적으로 사용할것들 Utils로 정의

* #242 - test : 로그인에서 발생할 수 있는 케이스 테스트 작성

로그인 성공, 성공시 헤더 반환, 실패시 401코드 반환

* #242 - test : 회원가입 테스트

회원 가입중에 성공, 실패의 경우를 나눠서 각각 테스트를 작성하였다

* Auth 테스트 (#245)

* #244 - test : 테스트용 AuthInterceptor 작성

* #244 - test : AuthTest 작성

인터셉터에 헤더로 토큰을 넣어주는 경우와

헤더로 토큰을 넣어주지 않는 경우를 나눠서 테스트

* PolicyService 테스트 코드 (#247)

* #246 - feat : 테스트용 Retrofit 객체를 만드는 코드를 함수로 변경

baseUrl과 client 설정은 변경될 수 있으므로 파라미터로 받음

* #246 - test : 여러개 정책을 불러오는 테스트코드 작성

한개의 서비스더라도 테스트 코드를 분리하는것이 나을거같아서 분리했다

* #246 - test : 정책들을 불러오는 테스트 코드 작성

* #246 - test : 정책 단일조회 테스트케이스 작성

* #246 - test : 조건별 정책 검색 테스트 코드 작성

* #246 - test : 정책 스크랩 테스트

* #246 - style : github-actions 봇의 추천으로 함수가 한줄이므로 바로 반환하도록 설정

#247 (comment)

* UserService 테스트 (#249)

* #248 - test : 나의 정보들을 불러오는 테스트코드 작성

myComments와 likeComments의 경우
UserService로 분류되어있다.

고민 후에 CommentService로 분리하든 유지하든 결정하자

* #248 - test : 유저 업데이트,  삭제 관련 테스트코드 작성

* #248 - test : 프로필 이미지 관련 테스트 코드 작성

현재 주석 처리해놓은것은 Service 코드가 잘못되어있어서 주석 처리
다음 배포 후에 해당 이슈는 수정할 예정

* #248 - feat : UserService의 프로필사진 삭제가 정상작동하지않으므로 주석 처리

배포 후에 작업할 예정

* #232 - style : 상단바의 아이콘이 보이도록 설정

현재 다크모드일때 아이콘이 밝게 나오게 설정했지만
앱의 상단바 색상이 변경되지 않으므로 보이지 않던 문제였음

* #232 - style : 바텀시트 색상이 하얗게 나오지 않는점 수정

현재 0xFDFFFFFF로 설정
추후에 개선할 예정

* #232 - style : 드롭다운 좌우 패딩이 맞지 않는 이슈 수정

* #232 - style : 우측에 있는 정책 카드의 일부가 보이지 않는 이슈 수정

* #232 - style : dropdown 사이 간격 패딩 3dp로 일정하게 설정

* #232 - build : release 전용 signingConfigs 생성

* #232 - docs : 릴리즈노트 작성

* #232 - build : 2.0.2 버전으로 업데이트

---------

Co-authored-by: 윤찬 <vsvx13@naver.com>

* #264 - style :풀리퀘 탬플릿 변경

설명에 필요한것으로 변경했다

* 내가 달은 댓글 조회 기능 추가 (#266)

* #262 - refactor : MyComment 관련 내용은 UserService에서 담당

* #262 - refactor : 댓글들을 LazyList에 사용할 때 댓글의 갯수가 아닌 댓글들을 받음

딱히 index를 요구하는것도 없어서 items로 변경

* #262 - refactor : 댓글 화면에서 modifier를 파라미터의 맨 마지막으로 이동

modifier는 선택적 파라미터의 첫번째에 와야하기 때문에 맨 아래로 내림

* #262 - refactor : CommentScreen의 접근 제어자를 internal로 변경

* 곧 마감되는 정책의 정책간 패딩이 적용되지 않던 이슈 수정 (#269)

* #268 - style : 곧 마감되는 정책 padding을 다른것과 마찬가지로 12dp로 결정

최근 올라온 정책과 동일하게 12.dp

* #268 - style : modifier 파라미터를 맨 마지막으로 변경

* #270 - style : 상하 패딩이 맞지 않던 이슈 수정

* 첫 진입시 필터 전체가 선택되지 않게 변경 (#273)

* #267 - style : 정책 필터에서 전체지역을 전체 선택으로 수정

* #267 - feat : 검색 필터의 경우 emptyList를 넣어줌

* #267 - feat : 특화분야 필터링 조건 변경

* 상하좌우 패딩 없애기 (#274)

* #272 - style : 최근 올라온 정책 에서 패딩이 적용되지 않도록 설정

* #272 - style : 정책 모아보기의 패딩 삭제

* #272 - feat : 정책 검색 화면에서 뒤로가기 버튼이 작동하지 않던 문제 수정

* 첫 진입시 필터 전체가 선택되지 않게 변경 (#273)

* #267 - style : 정책 필터에서 전체지역을 전체 선택으로 수정

* #267 - feat : 검색 필터의 경우 emptyList를 넣어줌

* #267 - feat : 특화분야 필터링 조건 변경

* #272 - style : 최근 올라온 정책 에서 패딩이 적용되지 않도록 설정

* #272 - style : 정책 모아보기의 패딩 삭제

* #272 - feat : 정책 검색 화면에서 뒤로가기 버튼이 작동하지 않던 문제 수정

* 게시글, 댓글 차단 기능 (#281)

* 게시글, 댓글 신고하기 Service 코드 (#276)

* #275 - feat : 게시글 신고 service 코드작성

* #275 - feat : 댓글 차단하기 Service 코드

* #275 - test : 댓글 신고 관련 테스트 작성

* 게시글, 댓글 신고하기 Repository 코드 (#278)

* #277 - feat : ReportRepository 작성

* #277 - feat : Result 방식으로 예외를 감싸는 확장함수 작성

* #277 - feat : ReportRepositoryImpl 작성

* #277 - build : libs 파일에 mockito 의존성 추가

* #277 - build : core:data 모듈에 mockito 의존성 추가

* #277 - test : 레포지토리 테스트 코드 작성

* #277 - feat : 레포지토리의 인터페이스를 주입하는 Hilt 코드 작성

* 게시글, 댓글 차단 UI 코드 (#280)

* #279 - feat : 게시글 차단 UseCase 작성

* #279 - feat : 신고 타입을 설정

* #279 - feat : 신고용 dialog 작성

* #279 - feat : 댓글 추가 UiEvent 작성

* #279 - feat : 게시글 신고에 해당하는 UiEffect 작성

* #279 - feat : 게시글 신고에 관련된 ViewModel 로직 작성

* #279 - fix : reportService가 Hilt 컴포넌트에 등록되어있지 않던것 수정

* #279 - feat : 차단 dialog 마지막 파라미터에 modifier 추가

* #279 - feat : 커뮤니티 글 상세 화면에서 dialog가 나오고 차단이 가능하도록 설정

* #279 - feat : 댓글 신고 유즈케이스 작성

* #279 - feat : ReportType comment에서 commentId를 받도록 설정

commentId는 RootScreen단계에서 특정할 수 없기때문에 설정

* #279 - feat : 댓글 차단에 대한 UiEvent, UiEffect, UiScreen 변경

* #279 - feat : 댓글 신고 ViewModel, Screen 코드 작성

* #279 - feat : 댓글에서 댓글 차단 리스너 등록

* 릴리즈 v.2.0.3 (#284)

* #283 - docs : 릴리즈노트 수정

* #283 - build : 2.0.3 버전으로 변경

* 내 사진 추가, 삭제기능 삭제 (#288)

* #286 - feat : 프로필 사진 추가 버튼 제거

* #286 - feat : 사진을 첨부하지 않는것으로 변경해서 SettingUiEvent의 사진추가 변경

* #286 - feat : ViewModel에서 사진 저장 로직 삭제, 정보에 해당하는 로그를 Timber.i로 포함

* #286 - feat : 프로필 사진 저장 UseCase, Repository 코드 삭제

* #286 - feat : UserService에서 프로필 이미지 관련 코드 삭제, 해당하는 테스트코드도 삭제

* #286 - feat : 프로필 사진 삭제 UserService 코드 삭제

* #286 - feat : dev_server의 종료로 인해 key를 다 server_key로 변경

* 커뮤니티 글에 사진 첨부시 무한로딩되는 이슈 (#289)

* #287 - feat : 글쓰기 화면에서 사진 첨부하는 UI 삭제

* #287 - feat : 사진 추가하는 ViewModel, UiEvent 삭제

사진 삭제 관련 코드는 남겨둠

* #287 - feat : 커뮤니티 사진 업로드 UseCase, Repository 삭제

* #287 - feat : 게시글 사진 추가와 관련된 Service 코드 삭제 및 테스트코드 삭제

* #287 - feat : get 메서드인데 post로 시작하던것 수정

* Timber에 자동으로 클래스명이 나오도록 설정 (#291)

* #290 - feat : 클래스이름, 라인, 메서드를 출력하는 Timber.DebugTree 작성

* #290 - feat : 기존에 앱에서 사용하는 디폴트 디버그 트리가 아닌 커스텀 디버그 트리 사용

* #290 - style : 한줄로 표현 가능한 함수를 중괄호 대신 = 사용

* #292 - feat : 편집하기 버튼 눌렀을때 dialog가 삭제되도록 설정

* #294 - style : 글자를 차단하기에서 신고하기로 변경

* 신고한 게시글을 클릭했을때 무한 로딩이 걸리던 이슈 수정 (#298)

* #297 - feat : 데이터를 불러왔을때 에러 발생에 대한 UiEffect 작성

* #297 - feat : 게시글을 불러오지 못할때 뒤로가고 스낵바에 메시지를 출력하도록 설정

* 사용자 차단 (#299)

* #296 - feat : 차단 api 엔드포인트 작성

* #296 - feat : 유저 차단하는 Repository 코드 작성

* #296 - feat : 사용자를 블럭하는 유즈케이스 작성

* #296 - feat : 사용자 차단 Dialog 작성

* #296 - feat : 커뮤니티 화면에서 글의 작성자를 차단할 때 이벤트와 이펙트 작성

* #296 - feat : 사용자 차단 ViewModel 코드 작성

* #296 - feat : 커뮤니티 게시글 게시자 차단

* #296 - feat : UserComment의 댓글자 신고 이벤트 파라미터 변경

* #297 - feat : 커뮤니티 댓글 사용자 차단 기능 작성

* 릴리즈 v.2.1.0 (#301)

* #300 - docs : 릴리즈 노트 수정

* #300 - build : 2.1.0 버전으로 변경

* [2차 디자인] 알림 기능 구현 (#222)

* [feat]: 코드 변경

* [feat] sse 알림 기능 구현(테스트 x)

* [feat]: sse 알림 설정

* Revert "[feat] sse 알림 기능 구현(테스트 x)"

This reverts commit 66768b8.

---------

Co-authored-by: 이건희 <leech9876@naver.com>

* Readme : 앱 이미지 변경

* LoginRepository의 메서드 반환값을 Flow에서 one-show 방식으로 변경 (#304)

* #303 - fix : 로그인할때 하드코딩되어있는 값을 수정

* #303 - refactor : Flow<Data> 반환에서 Result<Data>로 반환

먼저 Repository부터 변경하고 테스트코드 만들고 작업해보자

* #303 - fix : CustomException을 다 RuntimeException으로 변경

mockito에서 테스트코드를 작성하기 위해서는 언체크드 예외로 변경해야함

* #303 - fix : 예외 처리에서 JsonElement?를 처리하도록 변경

deoodeFromString에서 받는것은 Json 값이므로 JsonElements?로 받아줘야함

* #303 - test : 로그인 repository 테스트코드 작성

* #303 - test : 회원가입 repository 테스트코드 작성

* #303 - feat : ViewModel과 UseCase단에서도 Result<Data>를 사용하도록 변경

* #303 - style : 깃헙 액션봇의  요청사항 수정

* ReportRepositoryTest 실패 케이스 작성, 사용하지 않는 Repository 삭제 (#306)

* #305 - refactor : 사용하지 않는 Hilt bind 코드 삭제

* #303 - refactor : MyPageRepository 삭제

* #305 - test : 테스트 검증에 결과값도 검증하도록 변경

* #305 - feat : 충돌 에러일때 알려주는 ConflictException 작성

* #305 - test : 실패 테스트 작성

* CommenetRepository의 반환값을 Flow에서 Result<Data>로 변경 (#308)

* #307 - feat : 게시글의 댓글을 조회하는 레포지토리 코드 반환타입을 Result로 변경

* #307 - test : 게시글의 댓글을 조회하는 레포지토리 코드 테스트 코드 작성

* #307 - feat : 정책의 댓글을 가져오는 코드를 flow에서 one-shot방식으로 수정

* #307 - feat : 게시글의 댓글을 가져오는 코드를 flow에서 Result 타입으로 수정

테스트 코드도 같이 작성

* #307 - feat : 게시글의 댓글을 가져오는 ViewModel 코드를 flow에서 one-shot 방식으로 변경

* #307 - feat : 게시글에 댓글을 추가하는 레포지토리 코드 반환 타입을 Result로 변경

테스트코드도 작성

* #307 - feat : 게시글의 댓글을 추가하는 코드를 viewModel에서 Result 타입으로 처리

* #307 - feat : 데이터가 메시지형태로 들어올경우 반환값으로 담아주기 위해 메시지응답 클래스 작성

* #307 - feat : 게시글에 댓글을 수정하는 레포지토리 코드 반환 타입을 Result로 작성

* #307 - feat : 게시글에 댓글을 수정하는 뷰모델 코드를 Result타입으로 작성

* #307 - feat : 댓글 좋아요 레포지토리 코드 반환 타입을 Result로 작성

* #307 - feat : 댓글 좋아요를 적용하는 뷰모델에서 Result 타입으로 작성

* #307 - style : 생성자 간소화

* AnnounceService, Repository 코드 삭제 (사용 안함) (#310)

* #309 - feat : AnnounceRepository 힐트 모듈 코드 삭제

* #309 - remove : AnnounceRepository 코드 삭제

* #309 - remove : AnnounceService 힐트 모듈 코드 삭제

* #309 - remove : AnnouncePaging 코드 삭제

* #309 - remove : announceService 테스트코드 삭제

* #309 - remove : AnnounceService 코드 삭제

* PolicyRepository의 반환값을 Flow에서 Result<Data>로 변경 (#314)

* #313 - refactor : PolicyRepository의 getPolicyDetail 함수의 반환값을 변경

* #313 - refactor : PolicyDetail을 받는 ViewModel에서 Result 데이터를 개별로 처리

* #313 - refactor : PolicyRepository의 최근에 본 정책 함수의 반환값을 flow에서 Result로 처리

* #313 - feat : 최근에 본 정책값을 받는 ViewModel, UseCase를  Result로 개별 처리

* SSeRepository 삭제 (#316)

* #315 - remove : SSe관련 Activity 코드, UseCase 코드 삭제

* #315 - remove : DataModule에서 SSeRepository 힐트 모듈 삭제

* #315 - remove : SSeRepository 삭제

* #315 - remove : SSe관련 ApiModule 코드 삭제

* HomeRepository의 반환값을 Flow에서 Result<data>로 변경 (#312)

* #311 - refactor : HomeRepository의 getHome 함수의 반환값을 flow에서 Result로 전환

* #311 - refactor : HomeData를 받는 ViewModel에서 Result 데이터를 개별로 처리

* #311 - refactor : HomeRepository의 newPolicies 함수의 반환값을 flow에서 Result로 변환

* #311 - refactor : NewPolicies를 받는 ViewModel에서 Result 데이터를 개별로 처리

* #313 - feat : 최근에 본 정책값을 받는 ViewModel, UseCase를  Result로 개별 처리

* #311 - feat : SSe 관련 코드 삭제

* CommunityRepository의 반환값을 Flow에서 Result<Data>로 변경 (#318)

* #317 - refactor : Post와 Review 둘 다 테스트

* #317 - refactor : ViewModel도 변경

* #317 - refactor : 자신의 이미지 내역들을 불러오는 코드 flow에서 변경

* #317 - refactor : 게시판 작성 코드 변경

* #317 - refactor : 게시판 조회 코드 변경

* #317 - refactor : 게시글 삭제 코드 변경

* #317 - refactor : 게시판 스크랩 설정 코드 변경

* #317 - refactor : 유명한 포스트 불러오기 코드 수정

* #317 - refactor: pager 수정

* #317 - feat : 게시글 갯수 코드 변경

* #317 - refactor : 게시글 수정 코드 변경

* SearchRepository의 반환값을 Flow에서 Result 타입으로 변경 (#320)

* #319 - refactor : KeywordPost 코드 변경

* #319 - refactor : 카운트 갯수 코드 변경

* SepcPolicyRepository의 반환값을 Flow에서 Result 타입으로 변경 (#322)

* #321 - refactor : 정책들 불러오는 코드 수정

* #321 - refactor : 이름별 불러오는 코드 수정

* #321 - refactor : 갯수 불러오는 코드 수정

* #321 - refactor : scrap 하는 코드 변경

* #321 - refactor : 코멘트 추가 코드 수정

* #321 - refactor : 코멘트 삭제 코드 수정

* #321 - refactor : 스크랩 정책 코드 변경

* #321 - refactor : 최근에 본 정책 코드 수정

* UserRepository의 메서드 반환값을 Flow에서 one-shot 방식으로 변경 (#324)

* #323 - refactor : getUser() 수정

* #323 - refactor : PostUser 변경

* #323 - refactor : DeleteUser() 수정

* #323 - refactor : getLikeComment() 변경

* #323 - feat : 에러 수정

* #326 - feat : 다크모드일때 하단 바가 투명색상이던것 수정

* #328 - build : agp 8.5.1 버전으로 업그레이드

그리고 ndk를 29버전으로 추가했다
그렇게 16kb 대응을 했다

* 릴리즈 v.2.2.0 (#331)

---------

Co-authored-by: 윤찬 <vsvx13@naver.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

♻️ Refactor 리팩토링

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CommenetRepository의 반환값을 Flow에서 Result<Data>로 변경

1 participant