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

feat: 그룹(ARCH-11) #506

Closed
wants to merge 159 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
159 commits
Select commit Hold shift + click to select a range
1573dfc
feat: NotificationActivity 아래로 스크롤 시 최신 알람 데이터
comst19 May 15, 2024
cdb5839
refact: NotificationRVA의 DiffUtil에서 areItemsTheSame ==(동등성) 대신 ===(동일…
comst19 May 15, 2024
393ed6d
fix: getSkinList()의 결과로 스킨이 비어있을 때 getSkinList() 호출이 안되는 현상 해결
comst19 May 15, 2024
7a9b72e
feat: SkinFragment 아래로 스크롤 시 최신 스킨 데이터
comst19 May 15, 2024
e66941f
refac: Last -> Latest
comst19 May 15, 2024
5723dc9
refact: 현재 데이터의 유무에 따라 페이징 분기
comst19 May 15, 2024
59936cf
refact: SocialFragment Group, Friend 다음 데이터, 최신 데이터 로직 분리
comst19 May 15, 2024
dff6931
refact: MyPageFragment 다음 데이터, 최신 데이터 로직 분리
comst19 May 15, 2024
a17ef79
fix: MyPage 재갱신 오류
comst19 May 15, 2024
8898ae6
feat: 단일 이미지 s3 usecase
hangunhee39 May 16, 2024
1e4eaa8
feat : group service repository di 등록
hangunhee39 May 16, 2024
5d1ea14
feat: 그룹 생성 usecase
hangunhee39 May 16, 2024
5d9a6a4
feat: 그룹 페이지dto/model
hangunhee39 May 16, 2024
64a871c
feat: 그룹 페이징 usecase
hangunhee39 May 16, 2024
0016510
feat: 그룹 요청 승인 usecase
hangunhee39 May 16, 2024
e9c3dfd
feat: 그룹 요청 거절 usecase
hangunhee39 May 16, 2024
f6c913b
perf: 고정된 width, heigh로 AR 이미리 로딩 및 렌더링 최적화
comst19 May 16, 2024
7349b50
Merge branch 'ARCH-12-F-feat/social_group' of https://github.com/tukc…
comst19 May 16, 2024
a5e033e
fix : ar show/hide
hangunhee39 May 16, 2024
09487fe
chore :
hangunhee39 May 16, 2024
255b99b
fix : my page 생명주기 이슈
hangunhee39 May 16, 2024
af13683
design : 그룹 생성
hangunhee39 May 16, 2024
61cd92e
chore : my fragment 생명주기
hangunhee39 May 16, 2024
3d4615f
refact : main bottom로 재갱신 불가능
hangunhee39 May 16, 2024
fa144c7
refact : main bottom로 재갱신 불가능 하게
hangunhee39 May 16, 2024
8afc7a8
fix: 바텀네비게이션 아이템 중복 선택 문제
comst19 May 16, 2024
a792014
feat: 바텀네비게이션에서 현재 페이지 아이콘을 누르면 스크롤 up
comst19 May 17, 2024
6a21fa7
design: 친구 상세 UI
comst19 May 20, 2024
4cc6d38
feat : 그룹추가용 친구 리스트 model 추가
hangunhee39 May 20, 2024
d40f2da
feat: 그룹 생성의 친구 초대 init
hangunhee39 May 20, 2024
0507cd7
design : 그룹 생성 ui
hangunhee39 May 20, 2024
2f27377
feat: 그룹 기본 정보 입력
hangunhee39 May 20, 2024
ba49cae
design: GroupDetail
comst19 May 20, 2024
e7c97f1
refact: FriendDetail 패키지 이동
comst19 May 20, 2024
6859a31
feat: 친구 관련 데이터 매핑 변경 & 그룹 추가 친구 리스트
hangunhee39 May 21, 2024
4720dbc
feat: tag 길게 터치하면 복사
comst19 May 21, 2024
7caa291
Merge branch 'ARCH-12-F-feat/social_group' of https://github.com/tukc…
comst19 May 21, 2024
e77720f
feat: 그룹 생성
hangunhee39 May 22, 2024
be20a20
chore: 그룹 설명 없을때 예외처리
hangunhee39 May 22, 2024
dbd950a
chore: group target id 예외처리
hangunhee39 May 22, 2024
b7e9759
chore: 그룹 생성 파라미터 오류 수정
hangunhee39 May 22, 2024
230d11c
feat: GroupDetail Api 연결
comst19 May 22, 2024
7384d20
fix: swipeRefreshLayout의 새로 고침과 ViewPager2 내의 RecyclerView 스크롤 충돌 해결
comst19 May 22, 2024
4172acf
feat: GroupMemberFragment RVA 연결
comst19 May 22, 2024
c491108
fix: fix: swipeRefreshLayout의 새로고침 안되는 문제 해결
comst19 May 23, 2024
6aebe30
feat: 그룹 리스트 받기
hangunhee39 May 23, 2024
225bf17
feat: 탭바, groupCapsuleNumLayout, groupMemberNumLayout Click시 스크롤 이동 -…
comst19 May 24, 2024
5841e11
feat: SkinDetail
comst19 May 25, 2024
28ba5d4
design: PopupMenu 위치 조정
comst19 May 25, 2024
d45d17a
feat: 그룹 생성 chip 추가
hangunhee39 May 26, 2024
27d651a
feat: 이미지 완전히 로딩 전 썸네일 추가하여 UX 개선
comst19 May 26, 2024
0a65b05
feat : checkedlist 방식 변경
hangunhee39 May 26, 2024
b027b2e
feat: 그룹 캡슐 서비스 & DI
hangunhee39 May 26, 2024
bec0110
feat: 그룹 캡슐 생성 usecase
hangunhee39 May 26, 2024
f09555e
feat : 그룹 캡슐 생성 적용
hangunhee39 May 26, 2024
f4f1e9b
feat: 캡술 생성에서 그룹 선택
hangunhee39 May 26, 2024
e61a8da
feat: 그룹 캡슐 생성 request 파라미터 변경
hangunhee39 May 27, 2024
ef9e354
refact: API Response 수정사항 반영
comst19 May 28, 2024
7e9273a
feat: 그룹원의 친구 유무, 그룹장 유무에 따른 로직 변경
comst19 May 28, 2024
0923361
chore: LinearLayout 크기 wrap -> match
comst19 May 28, 2024
8c3517b
feat: 해당 그룹에 초대할 수 있는 친구 리스트 API 셋팅
comst19 May 29, 2024
6b253e0
feat: 그룹원 관리 액티비티, 프래그먼트 생성
comst19 May 29, 2024
0f097a1
feat: 그룹 초대 요청 리스트 usecase
hangunhee39 May 30, 2024
0524e86
design : 그룹 요청 리스트
hangunhee39 May 30, 2024
169ca98
design: ManagementGroupMemberActivity
comst19 May 30, 2024
1f42874
Merge branch 'ARCH-12-F-feat/social_group' of https://github.com/tukc…
hangunhee39 May 30, 2024
c920b2e
feat: 친구 요청 refresh
hangunhee39 May 30, 2024
ad56dd2
refact: xml 구조 수정
comst19 May 30, 2024
30a9315
feat: 그룹 요청 리스트 받기 , 수락, 거절 기능
hangunhee39 May 30, 2024
aea1e28
Feat: 리스트 비어있을때
hangunhee39 May 30, 2024
7c0c6de
Feat: 리스트 비어있을때
hangunhee39 May 30, 2024
b1fec42
chore: 오타
hangunhee39 May 30, 2024
0d4c873
Merge branches 'ARCH-12-F-feat/social_group' and 'ARCH-12-F-feat/soci…
comst19 May 30, 2024
1634da6
chore: vm -> viewModel
comst19 May 30, 2024
c52ea2f
feat: 그룹 초대 가능한 친구 리스트 API 연결
comst19 May 30, 2024
7f36c06
feat: 그룹 생성 후 멤버 초대 API
comst19 May 30, 2024
deacb9f
chore: scaleType을 fitXY로 통일
comst19 Jun 2, 2024
8d4d4f0
feat: Management Group Member RVA
comst19 Jun 3, 2024
b46c98a
feat: 그룹원 정보 API 연결
comst19 Jun 4, 2024
88d4535
feat: 그룹 캡슐 개봉 api 연결
comst19 Jun 4, 2024
c4328c6
feat: 그룹 캡슐 요약 api 연결
comst19 Jun 4, 2024
fb04969
feat: 그룹리스트 get
hangunhee39 Jun 4, 2024
adae980
Merge branch 'ARCH-12-F-feat/social_group' of https://github.com/tukc…
hangunhee39 Jun 4, 2024
1016882
feat: 사용자가 만든 그룹 캡슐 목록 조회 API 연결
comst19 Jun 4, 2024
15fc2b2
refact: 그룹 상세 정보 조회 엔드포인트 수정
comst19 Jun 4, 2024
92ef9b5
feat : 그룹 수락 post
hangunhee39 Jun 4, 2024
0b74ac0
design: 리사이클러뷰 아이템 높이 통일
comst19 Jun 5, 2024
2c945d7
faet: fcm 토픽 (그룹)
hangunhee39 Jun 5, 2024
2cca0a6
Merge branch 'ARCH-12-F-feat/social_group' of https://github.com/tukc…
comst19 Jun 5, 2024
bc1bd1e
refact: 어댑터 이름 통일
comst19 Jun 5, 2024
a0d5003
design: 그룹 초대 받은 유저 리스트
comst19 Jun 5, 2024
91046b2
feat: 그룹 탈퇴, 해당 그룹이 초대를 보낸 유저 목록 API 연결
comst19 Jun 5, 2024
2e85565
refact : api 주소 변경
hangunhee39 Jun 5, 2024
59a8f3c
chore : 알림 카테고리
hangunhee39 Jun 5, 2024
b6ec83d
chore : 그룹 요청 리스트 파라미터변경
hangunhee39 Jun 5, 2024
787b739
chore: 오타수정
hangunhee39 Jun 5, 2024
8deb081
feat: FCM Topic Default
comst19 Jun 5, 2024
315e2a9
Merge branch 'ARCH-12-F-feat/social_group' of https://github.com/tukc…
comst19 Jun 5, 2024
90ad7b5
faet: 내가 보낸 친구요청 리스트 usecase
hangunhee39 Jun 5, 2024
6d05d1d
Merge branch 'ARCH-12-F-feat/social_group' of https://github.com/tukc…
hangunhee39 Jun 5, 2024
2b81b53
feat: 보낸 요청 rv
hangunhee39 Jun 5, 2024
a832793
faet: 보낸 요청 page 추가
hangunhee39 Jun 5, 2024
3fb9cc3
feat : 보낸 요청 fragment vm에 추가
hangunhee39 Jun 5, 2024
f2bc277
chore:
hangunhee39 Jun 5, 2024
b30134c
faet: 보낸 요청에 리플레쉬 끄기
hangunhee39 Jun 5, 2024
190d9b4
fix: gif 움직이지 않아서 롤백
comst19 Jun 5, 2024
ef9f838
feat: CapsuleType에 TREASURE 추가
comst19 Jun 6, 2024
11bcc6d
fix: 오타 수정
comst19 Jun 6, 2024
e47976b
design: 필터에 TREASURE 추가
comst19 Jun 6, 2024
c5df590
feat: 보물 캡슐 로직 분리
comst19 Jun 6, 2024
7b28c24
feat: GroupDetail Toolbar Click Event
comst19 Jun 6, 2024
fcfda7a
chore: 팝업메뉴 위치 조정
comst19 Jun 7, 2024
55d2af6
faet: 지도에 보물캡슐 띄우기
hangunhee39 Jun 7, 2024
5f020aa
feat: 지도에서 보물 못 열게
hangunhee39 Jun 7, 2024
57ffd0b
feat: 주변 보물 캡슐 찾기 - AR
comst19 Jun 7, 2024
30e5de4
feat: 해당 그룹에서 초대 요청 보낸 목록 API 연결
comst19 Jun 8, 2024
48ee48a
feat: 그룹 초대 취소 API 연결
comst19 Jun 8, 2024
86c0111
feat: 그룹 캡슐 요약 API 연결
comst19 Jun 8, 2024
3913fb6
feat: 캡슐 오픈 여부에 따라 alpha 값
comst19 Jun 8, 2024
6757333
refact: 그룹 캡슐 개봉 API 수정사항 반영
comst19 Jun 8, 2024
676672c
feat: 친구 요청 취소 usecase
hangunhee39 Jun 8, 2024
617a2d8
feat: 친구요청 추ㅣ소
hangunhee39 Jun 8, 2024
7810268
chore: 그룹 선택 화면에서 리사이클러뷰에 padding와 clipToPadding
comst19 Jun 9, 2024
69bfd6b
feat: 그룹 삭제 API 연결
comst19 Jun 9, 2024
07f7cd1
feat: 그룹 폐쇄, 탈퇴시 loading
comst19 Jun 10, 2024
a3cde20
refact: secret, public, group 내 캡슐 조회 응답 공통 필드
comst19 Jun 10, 2024
fd99b7e
feat: 그룹 캡슐 개봉 요청 로직 추가
comst19 Jun 12, 2024
ca80a2d
refact: 캡슐 오픈 로직 분리
comst19 Jun 12, 2024
36e1ac1
feat: 보물 캡슐 오픈 api
comst19 Jun 12, 2024
4b5f0cb
refact: capsuleId 변수 선언해서 통일
comst19 Jun 12, 2024
2109183
feat: 보물캡슐 오픈 API
comst19 Jun 12, 2024
062870a
rename: dialog -> capsulepreview, /ui/home -> /ui
comst19 Jun 12, 2024
f2b1f71
feat: 그룹 캡슐 디테일 usecase
hangunhee39 Jun 13, 2024
fc279bd
fix: 페이징 값 수정 오류, 중복된 viewModelScope.launch 블록 제거
comst19 Jun 13, 2024
a57dd42
feat: 특정 그룹의 그룹 캡슐 api
comst19 Jun 13, 2024
c5416bb
feat : preview 타입에 다른 색
hangunhee39 Jun 13, 2024
8a9fca7
chore : 스킨 비율 이상한거 고침
hangunhee39 Jun 13, 2024
fc725fc
feat: 그룹 디테일 적용
hangunhee39 Jun 13, 2024
48e9886
feat : detail 타입에 다른 색
hangunhee39 Jun 13, 2024
7ba2a6e
feat: 그룹 디테일에서 그룹 캐슐 클릭 이벤트
comst19 Jun 14, 2024
e7d37bf
refact: 그룹 캡슐 요약조회 api 수정사항 반영
comst19 Jun 16, 2024
9b8abc5
feat: 보물 캡슐 요약 조회 API
comst19 Jun 16, 2024
9849fa2
feat: 보물 캡슐 오픈 API 수정사항 반영
comst19 Jun 16, 2024
52d46c4
feat: 보물 결과 dialog
hangunhee39 Jun 17, 2024
4c5de45
feat: 그룹 프로필이미지 확대보기
hangunhee39 Jun 17, 2024
57bb6a1
refact: 그룹 캡슐 멤버별 상태 확인 api 수정사항 반영
comst19 Jun 18, 2024
c885a78
feat: 그룹 캡슐 개봉
comst19 Jun 18, 2024
5333a34
refact: 캡슐 개봉 로직 중복 코드 함수화
comst19 Jun 18, 2024
bef025f
chore: 캡슐 미리 보기 다이얼로그 닫기 버튼 주석
comst19 Jun 18, 2024
852bbb9
feat: 그룹생성하고 그룹 리스트 갱신
hangunhee39 Jun 19, 2024
f7cf405
Revert "feat: 그룹생성하고 그룹 리스트 갱신"
hangunhee39 Jun 19, 2024
b83b846
Revert "Revert "feat: 그룹생성하고 그룹 리스트 갱신""
hangunhee39 Jun 19, 2024
f41ab8e
refact : 그룹 생성시간차로 인하여 리플레쉬 레이아웃으로 대체
hangunhee39 Jun 19, 2024
10a7386
chore: 스크롤 위로가게
hangunhee39 Jun 19, 2024
db7194c
feat: GroupDetail에서 그룹 캡슐 변화 적용
comst19 Jun 19, 2024
64005b7
feat: 발견된 보물 캡슐 지도에서 마커 제거
comst19 Jun 19, 2024
7405dbd
feat: 발견된 보물 캡슐 AR에서 앵커 제거
comst19 Jun 19, 2024
91f9168
fix: 리프래쉬 버튼 스택 순서 변경
comst19 Jun 19, 2024
a055241
fix: 이미 발견된 보물 캡슐일 때 예외처리
comst19 Jun 19, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions frontend/ARchive/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ render.experimental.xml
*.keystore

# Google Services (e.g. APIs or Firebase)
app/google-services.json
google-services.json

# Android Profiling
Expand Down
1 change: 1 addition & 0 deletions frontend/ARchive/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ plugins {
id 'com.google.gms.google-services'
id 'com.google.firebase.crashlytics'
id 'com.google.android.gms.oss-licenses-plugin'
id 'kotlin-parcelize'
}

Properties properties = new Properties()
Expand Down
39 changes: 25 additions & 14 deletions frontend/ARchive/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -34,33 +34,44 @@
android:usesCleartextTraffic="true"
tools:targetApi="31">
<activity
android:name=".presentation.ui.mypage.friend.addgroup.AddGroupActivity"
android:screenOrientation="portrait"
android:name=".presentation.ui.mypage.friend.detail.group.management.ManagementGroupMemberActivity"
android:exported="false" />
<activity
android:name=".presentation.ui.mypage.friendaccept.FriendAcceptActivity"
android:screenOrientation="portrait"
android:name=".presentation.ui.mypage.friend.detail.group.GroupDetailActivity"
android:exported="false" />
<activity
android:name=".presentation.ui.mypage.friend.detail.friend.FriendDetailActivity"
android:exported="false"
android:parentActivityName=".presentation.ui.mypage.friend.FriendActivity"
android:screenOrientation="portrait" />
<activity
android:name=".presentation.ui.mypage.friend.addgroup.AddGroupActivity"
android:exported="false"
android:screenOrientation="portrait" />
<activity
android:name=".presentation.ui.mypage.friendaccept.FriendAcceptActivity"
android:exported="false"
android:screenOrientation="portrait" />
<activity
android:name=".presentation.ui.mypage.friend.addfriend.AddFriendActivity"
android:screenOrientation="portrait"
android:exported="false" />
android:exported="false"
android:screenOrientation="portrait" />
<activity
android:name=".presentation.ui.mypage.friend.FriendActivity"
android:screenOrientation="portrait"
android:exported="false" />
android:exported="false"
android:screenOrientation="portrait" />
<activity
android:name=".presentation.ui.home.notification.NotificationActivity"
android:screenOrientation="portrait"
android:exported="false" />
android:exported="false"
android:screenOrientation="portrait" />
<activity
android:name=".presentation.ui.mypage.setting.SettingActivity"
android:screenOrientation="portrait"
android:exported="false" />
android:exported="false"
android:screenOrientation="portrait" />
<activity
android:name=".presentation.ui.ErrorActivity"
android:screenOrientation="portrait"
android:exported="false" />
android:exported="false"
android:screenOrientation="portrait" />
<activity
android:name=".presentation.ui.permission.PermissionActivity"
android:exported="false" />
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package com.droidblossom.archive.data.dto.open.response
package com.droidblossom.archive.data.dto.common

import com.droidblossom.archive.presentation.model.mypage.CapsuleData

data class MyPublicCapsuleResponseDto(
data class CapsuleBasicInfoResponseDto (
val capsuleId : Long,
val skinUrl : String,
val dueDate : String?,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ data class CapsuleSummaryResponseDto(
val createdAt: String
){
fun toModel() = CapsuleSummaryResponse(
nickname = this.nickname,
profileUrl = this.profileUrl,
nicknameOrGroupName = this.nickname,
profileOrGroupProfileUrl = this.profileUrl,
skinUrl = this.skinUrl,
title = this.title,
dueDate = this.dueDate ?: "",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package com.droidblossom.archive.data.dto.common

data class IdBasedPagingRequestDto(
val size : Int,
val pagingId: Long?
)
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package com.droidblossom.archive.data.dto.friend.response

import com.droidblossom.archive.domain.model.friend.Friend
import com.droidblossom.archive.domain.model.friend.FriendsSearchResponse
import com.droidblossom.archive.presentation.model.mypage.detail.FriendForGroupInvite

data class FriendResponseDto(
val createdAt: String,
Expand All @@ -15,4 +17,24 @@ data class FriendResponseDto(
profileUrl = this.profileUrl,
isOpenDelete = false
)

fun toFriendsSearchModel() = FriendsSearchResponse(
createdAt = "",
id = this.id,
profileUrl = this.profileUrl,
nickname = this.nickname,
isFriend = false,
isFriendInviteToFriend = false,
isFriendInviteToMe = false,
name = "",
isChecked = false
)

fun toFriendsForGroupInvite() = FriendForGroupInvite(
id = this.id,
nickname = this.nickname,
profileUrl = this.profileUrl,
createdAt = this.createdAt,
isChecked = false
)
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,14 @@ data class FriendsPageResponseDto(
friends = this.friends.map { it.toModel() },
hasNext = this.hasNext
)

fun toModelForAddGroup() = FriendsPage(
friends = this.friends.map { it.toFriendsSearchModel() },
hasNext = this.hasNext
)

fun toModelForGroupInvite() = FriendsPage(
friends = this.friends.map { it.toFriendsForGroupInvite() },
hasNext = this.hasNext
)
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ data class FriendsSearchResponseDto(
) : Serializable {

fun toModel() = FriendsSearchResponse(
createdAt = "",
id = this.id,
profileUrl = this.profileUrl,
nickname = this.nickname,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package com.droidblossom.archive.data.dto.group.request

data class CreateGroupRequestDto(
val description: String,
val groupDirectory: String,
val groupImage: String,
val groupName: String,
val targetIds: List<Long>
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package com.droidblossom.archive.data.dto.group.request

data class InviteGroupRequestDto (
val groupId : Long,
val targetIds : List<Long>
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package com.droidblossom.archive.data.dto.group.response

import com.droidblossom.archive.domain.model.group.GroupDetail

data class GroupDetailResponseDto(
val groupName: String,
val groupProfileUrl: String,
val groupDescription: String,
val createdAt: String,
val groupCapsuleTotalCount: Int,
val canGroupEdit: Boolean,
val members: List<GroupMemberResponseDto>,
){
fun toModel() = GroupDetail(
groupName = this.groupName,
groupProfileUrl = this.groupProfileUrl,
groupDescription = this.groupDescription,
createdAt = this.createdAt,
groupCapsuleTotalCount = this.groupCapsuleTotalCount,
canGroupEdit = this.canGroupEdit,
members = this.members.map { it.toGroupDetailModel() }
)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package com.droidblossom.archive.data.dto.group.response

import com.droidblossom.archive.domain.model.group.GroupInviteSummary
import com.droidblossom.archive.domain.model.group.GroupPage

data class GroupInviteResponseDto(
val groupReceivingInviteTime: String,
val description: String,
val groupId: Long,
val groupName: String,
val groupOwnerName: String,
val groupProfileUrl: String
) {
fun toModel() = GroupInviteSummary(
createdAt = this.groupReceivingInviteTime,
description = this.description,
groupId = this.groupId,
groupName = this.groupName,
groupOwnerName = this.groupOwnerName,
groupProfileUrl = this.groupProfileUrl,
)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package com.droidblossom.archive.data.dto.group.response

import com.droidblossom.archive.domain.model.group.GroupInvitedUser

data class GroupInvitedUserResponseDto (
val groupInviteId: Long,
val memberId: Long,
val nickname: String,
val profileUrl: String,
val sendingInvitesCreatedAt: String,
){
fun toModel() = GroupInvitedUser(
groupInviteId = this.groupInviteId,
memberId = this.memberId,
nickname = this.nickname,
profileUrl = this.profileUrl,
sendingInvitesCreatedAt = this.sendingInvitesCreatedAt
)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package com.droidblossom.archive.data.dto.group.response

import com.droidblossom.archive.domain.model.group.GroupInvitedUsersPage

data class GroupInvitedUsersPageResponseDto (
val groupSendingInviteMembers: List<GroupInvitedUserResponseDto>,
val hasNext: Boolean
){
fun toModel() = GroupInvitedUsersPage(
groupSendingInviteMembers = this.groupSendingInviteMembers.map { it.toModel() },
hasNext = this.hasNext
)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package com.droidblossom.archive.data.dto.group.response

import com.droidblossom.archive.domain.model.group.GroupPage

data class GroupInvitesPageResponseDto(
val hasNext: Boolean,
val responses: List<GroupInviteResponseDto>
) {
fun toModel() = GroupPage(
groups = this.responses.map { it.toModel() },
hasNext = this.hasNext
)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package com.droidblossom.archive.data.dto.group.response

import com.droidblossom.archive.domain.model.group.GroupMember

data class GroupMemberResponseDto(
val memberId: Long,
val profileUrl: String,
val nickname: String,
val tag: String,
val isOwner: Boolean,
val isFriend: Boolean
){
fun toGroupDetailModel() = GroupMember(
memberId = this.memberId,
profileUrl = this.profileUrl,
nickname = this.nickname,
tag = this.tag,
isOwner = this.isOwner,
isFriend = this.isFriend
)

fun toGroupMemberListModel() = GroupMember(
memberId = this.memberId,
profileUrl = this.profileUrl,
nickname = this.nickname,
tag = this.tag,
isOwner = this.isOwner,
isFriend = false
)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package com.droidblossom.archive.data.dto.group.response

import com.droidblossom.archive.domain.model.group.GroupMembersInfo

data class GroupMembersInfoResponseDto (
val groupMemberResponses : List<GroupMemberResponseDto>
){
fun toModel() = GroupMembersInfo(
groupMemberResponses = this.groupMemberResponses.map { it.toGroupMemberListModel() }
)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package com.droidblossom.archive.data.dto.group.response

import com.droidblossom.archive.domain.model.group.GroupPage

data class GroupPageResponseDto(
val groups: List<GroupSummaryResponseDto>,
val hasNext: Boolean
) {
fun toModel() = GroupPage (
groups = this.groups.map { it.toModel() },
hasNext = this.hasNext,
)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package com.droidblossom.archive.data.dto.group.response

import com.droidblossom.archive.domain.model.group.GroupSummary

data class GroupSummaryResponseDto(
val createdAt: String,
val groupOwnerProfileUrl: String,
val totalGroupMemberCount : Int,
val id: Long,
val isOwner: Boolean,
val name: String,
val profileUrl: String
) {
fun toModel() = GroupSummary(
createdAt = this.createdAt,
totalGroupMemberCount = this.totalGroupMemberCount,
groupOwnerProfileUrl = this.groupOwnerProfileUrl,
id = this.id,
isOwner = this.isOwner,
name = this.name,
profileUrl = this.profileUrl
)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package com.droidblossom.archive.data.dto.group.response

import com.droidblossom.archive.data.dto.common.CapsuleBasicInfoResponseDto
import com.droidblossom.archive.domain.model.secret.CapsulePageList

data class MyGroupCapsulePageResponseDto(
val groupCapsules: List<CapsuleBasicInfoResponseDto>,
val hasNext: Boolean,
) {
fun toModel() = CapsulePageList(
capsules = this.groupCapsules.map { it.toUIModel() },
hasNext = this.hasNext,
)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package com.droidblossom.archive.data.dto.group_capsule

import com.droidblossom.archive.data.dto.common.CapsuleBasicInfoResponseDto
import com.droidblossom.archive.domain.model.secret.CapsulePageList

data class CapsulesOfGroupResponseDto(
val capsuleBasicInfos : List<CapsuleBasicInfoResponseDto>,
val hasNext: Boolean
){
fun toModel() = CapsulePageList(
capsules = this.capsuleBasicInfos.map { it.toUIModel() },
hasNext = this.hasNext,
)
}
Loading
Loading