-
Notifications
You must be signed in to change notification settings - Fork 3
[API] 특정 사용자 피드 조회 및 기타 api 연결 #92
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
Changes from all commits
ec8878c
24549b3
cc52a80
5a5e2a0
8381d6e
2e051eb
c877cce
a31ce32
600c53d
0634669
10adad1
5ed4e68
8e63804
ffce475
b7ff248
94e3aeb
2fa6bfb
e84f0ba
27e9774
2756b8e
8eb8a35
ac6c77a
42742de
e984dbd
488d76c
e546719
b563be3
feaa81f
b4a7639
c0de2aa
789a505
f8e5a8a
e19c792
0ffce8b
2554e08
8372dfb
940b89d
55b30b2
172b43c
401426c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| package com.texthip.thip.data.model.comments.response | ||
|
|
||
| import kotlinx.serialization.Serializable | ||
|
|
||
| @Serializable | ||
| data class CommentsDeleteResponse( | ||
| val postId: Long | ||
| ) |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,16 @@ | ||
| package com.texthip.thip.data.model.feed.response | ||
|
|
||
| import kotlinx.serialization.Serializable | ||
|
|
||
| @Serializable | ||
| data class FeedUsersInfoResponse( | ||
| val creatorId: Int, | ||
| val profileImageUrl: String, | ||
| val nickname: String, | ||
| val aliasName: String, | ||
| val aliasColor: String, | ||
| val followerCount: Int, | ||
| val totalFeedCount: Int, | ||
| val isFollowing: Boolean, | ||
| val latestFollowerProfileImageUrls: List<String> | ||
| ) |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,27 @@ | ||
| package com.texthip.thip.data.model.feed.response | ||
|
|
||
| import kotlinx.serialization.Serializable | ||
|
|
||
| @Serializable | ||
| data class FeedUsersResponse ( | ||
| val feedList: List<FeedList>, | ||
| val nextCursor: String? = null, | ||
| val isLast: Boolean = false, | ||
| ) | ||
|
|
||
| @Serializable | ||
| data class FeedList( | ||
| val feedId: Long, | ||
| val postDate: String, | ||
| val isbn: String, | ||
| val bookTitle: String, | ||
| val bookAuthor: String, | ||
| val contentBody: String, | ||
| val contentUrls: List<String>, | ||
| val likeCount: Int, | ||
| val commentCount: Int, | ||
| val isPublic: Boolean, | ||
| val isSaved: Boolean, | ||
| val isLiked: Boolean, | ||
| val isWriter: Boolean, | ||
| ) |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| package com.texthip.thip.data.model.rooms.request | ||
|
|
||
| import kotlinx.serialization.Serializable | ||
|
|
||
| @Serializable | ||
| data class RoomsDailyGreetingRequest( | ||
| val content: String, | ||
| ) |
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,10 @@ | ||||||||||||||||||||
| package com.texthip.thip.data.model.rooms.response | ||||||||||||||||||||
|
|
||||||||||||||||||||
| import kotlinx.serialization.Serializable | ||||||||||||||||||||
|
|
||||||||||||||||||||
| @Serializable | ||||||||||||||||||||
| data class RoomsDailyGreetingResponse( | ||||||||||||||||||||
| val attendanceCheckId: Long, | ||||||||||||||||||||
| val roomId: Long, | ||||||||||||||||||||
| val isFirstWrite: Boolean, | ||||||||||||||||||||
| ) | ||||||||||||||||||||
|
Comment on lines
+7
to
+10
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 💡 Verification agent 🧩 Analysis chainID 타입 일관성 확인 필요 (Int vs Long)
Int로 맞출 경우 예시: data class RoomsDailyGreetingResponse(
val attendanceCheckId: Long,
- val roomId: Long,
+ val roomId: Int,
val isFirstWrite: Boolean,
)검증 스크립트: 🏁 Script executed: #!/bin/bash
# RoomsDailyGreeting 관련 타입/시그니처 일관성 확인
rg -n -C2 'postRoomsDailyGreeting\s*\('
rg -n -C2 'RoomsDailyGreetingResponse'
rg -n -C2 'roomId:\s*(Int|Long)'Length of output: 48247 roomId 타입 일관성 수정 필요 (Long → Int)
제안 변경안: data class RoomsDailyGreetingResponse(
val attendanceCheckId: Long,
- val roomId: Long,
+ val roomId: Int,
val isFirstWrite: Boolean,
)📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| package com.texthip.thip.data.model.rooms.response | ||
|
|
||
| import kotlinx.serialization.Serializable | ||
|
|
||
| @Serializable | ||
| data class RoomsDeleteVoteResponse( | ||
| val roomId: Int | ||
| ) | ||
|
Comment on lines
+1
to
+8
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 💡 Verification agent 🧩 Analysis chain서버 필드명(roomId)과 직렬화 규칙 확인 필요 서버가 snake_case( 다음 스크립트로 직렬화 관례와 사용처를 빠르게 점검할 수 있습니다. 🏁 Script executed: #!/bin/bash
# 1) @SerialName 사용 관례 파악
rg -n --type=kt -C2 '@SerialName\('
# 2) RoomsDeleteVoteResponse 사용처와 필드 접근 패턴 확인
rg -n --type=kt -C3 '\bRoomsDeleteVoteResponse\b'
rg -n --type=kt -C3 '\bdeleteRoomsVote\s*\('Length of output: 217 rg에서 🏁 Script executed: #!/bin/bash
# 1) @SerialName 어노테이션 사용 관례 파악
rg -n --glob '*.kt' -C2 '@SerialName\('
# 2) RoomsDeleteVoteResponse 사용처와 필드 접근 패턴 확인
rg -n --glob '*.kt' -C3 'RoomsDeleteVoteResponse'
rg -n --glob '*.kt' -C3 'deleteRoomsVote\s*\('Length of output: 37652 @SerialName 어노테이션 추가 및 스펙 확인 필요 다른 응답 모델들과 일관된 직렬화 매핑을 위해, 아래 사항을 반영해 주세요: • app/src/main/java/com/texthip/thip/data/model/rooms/response/RoomsDeleteVoteResponse.kt 🤖 Prompt for AI Agents |
||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -24,6 +24,7 @@ data class PostList( | |||||
| val content: String, | ||||||
| val likeCount: Int, | ||||||
| val commentCount: Int, | ||||||
| val isOverview: Boolean, | ||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🛠️ Refactor suggestion 신규 필드(isOverview) 역직렬화 하위호환성 — 기본값 권장 서버가 즉시 해당 필드를 내려주지 않는 상황을 대비해 기본값을 넣어 두면 안전합니다. - val isOverview: Boolean,
+ val isOverview: Boolean = false,📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||
| val isLiked: Boolean, | ||||||
| val isWriter: Boolean, | ||||||
| val isLocked: Boolean, | ||||||
|
|
||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| package com.texthip.thip.data.model.rooms.response | ||
|
|
||
| import kotlinx.serialization.Serializable | ||
|
|
||
| @Serializable | ||
| data class RoomsRecordsPinResponse( | ||
| val bookTitle: String, | ||
| val authorName: String, | ||
| val bookImageUrl: String, | ||
| val isbn: String, | ||
| ) | ||
|
Comment on lines
+6
to
+11
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 💡 Verification agent 🧩 Analysis chain서버 필드 네이밍과 직렬화 키 일치 여부 확인 kotlinx.serialization에서 글로벌 네이밍 전략을 쓰지 않는다면 서버의 스네이크 케이스 필드와 매칭 문제가 생길 수 있습니다. 서버가 camelCase를 준수하지 않으면 @SerialName이 필요합니다. 다음 스크립트로 프로젝트의 Json 설정(네이밍 전략)과 SerialName 사용 관례를 확인할 수 있습니다: 🏁 Script executed: #!/bin/bash
# Json 설정에서 namingStrategy 사용 여부 확인
rg -n -C2 'Json\s*\{' -g '!**/build/**' | rg -n -C1 'namingStrategy|JsonNamingStrategy|ignoreUnknownKeys|serializersModule'
# 프로젝트 내 @SerialName 사용 현황 확인
rg -n '@SerialName\(' -g '!**/build/**'
# RoomsRecordsPinResponse 사용처와 응답 파싱 경로 확인
rg -n -C2 'RoomsRecordsPinResponse|getRoomsRecordsPin\(' -g '!**/build/**'Length of output: 26098
현재 • app/src/main/java/com/texthip/thip/data/model/rooms/response/RoomsRecordsPinResponse.kt 수정 @Serializable
data class RoomsRecordsPinResponse(
- val bookTitle: String,
- val authorName: String,
- val bookImageUrl: String,
- val isbn: String,
+ @SerialName("bookTitle") val bookTitle: String,
+ @SerialName("authorName") val authorName: String,
+ @SerialName("bookImageUrl") val bookImageUrl: String,
+ @SerialName("isbn") val isbn: String,
)• 또는 서버 스펙과 응답 키 명칭이 정확히 일치하는지 백엔드 문서도 함께 확인해주세요.
🤖 Prompt for AI Agents |
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| package com.texthip.thip.data.model.users.response | ||
|
|
||
| import kotlinx.serialization.Serializable | ||
|
|
||
| @Serializable | ||
| data class UsersMyFollowingsRecentFeedsResponse( | ||
| val recentWriters: List<RecentWriterList> | ||
| ) | ||
|
|
||
| @Serializable | ||
| data class RecentWriterList( | ||
| val userId: Long, | ||
| val nickname: String, | ||
| val profileImageUrl: String | ||
| ) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
새 불리언 필드(isWriter) 디코딩 안정성 — 기본값 추가 권장
백엔드 배포 타이밍 차이로 isWriter가 누락된 응답이 올 경우, 현재는 역직렬화 실패합니다. 기본값을 추가해 하위호환성을 확보하세요.
Also applies to: 42-43
🤖 Prompt for AI Agents