From 4455ffe16a5c39c4a3c779efb67912b4e8965f93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=86=E1=85=B5=E1=86=AB=E1=84=83=E1=85=A2=E1=84=8B?= =?UTF-8?q?=E1=85=B5=E1=86=AB?= Date: Thu, 27 Jun 2024 05:59:36 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20FamilyApi=20=EA=B5=AC=ED=98=84=20#52?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../owori/android/core/di/NetworkModule.kt | 7 +++++ .../android/data/api/family/FamilyApi.kt | 31 +++++++++++++++++++ .../data/model/family/FamilyImageResponse.kt | 8 +++++ .../data/model/family/FamilyNameResponse.kt | 8 +++++ .../data/model/family/InviteCodeData.kt | 8 +++++ 5 files changed, 62 insertions(+) create mode 100644 app/src/main/java/com/owori/android/data/api/family/FamilyApi.kt create mode 100644 app/src/main/java/com/owori/android/data/model/family/FamilyImageResponse.kt create mode 100644 app/src/main/java/com/owori/android/data/model/family/FamilyNameResponse.kt create mode 100644 app/src/main/java/com/owori/android/data/model/family/InviteCodeData.kt diff --git a/app/src/main/java/com/owori/android/core/di/NetworkModule.kt b/app/src/main/java/com/owori/android/core/di/NetworkModule.kt index 9241d09..e7cb10c 100644 --- a/app/src/main/java/com/owori/android/core/di/NetworkModule.kt +++ b/app/src/main/java/com/owori/android/core/di/NetworkModule.kt @@ -4,6 +4,7 @@ import com.owori.android.R import com.owori.android.core.OworiApplication import com.owori.android.data.api.auth.AuthApi import com.owori.android.data.api.comment.CommentApi +import com.owori.android.data.api.family.FamilyApi import com.owori.android.data.api.member.MemberApi import com.owori.android.module.HttpRequestInterceptor import dagger.Module @@ -58,6 +59,12 @@ object NetworkModule { return retrofit.buildService() } + @Provides + @Singleton + fun provideFamilyApi(retrofit: Retrofit): FamilyApi { + return retrofit.buildService() + } + @Provides @Singleton fun provideMemberApi(retrofit: Retrofit): MemberApi { diff --git a/app/src/main/java/com/owori/android/data/api/family/FamilyApi.kt b/app/src/main/java/com/owori/android/data/api/family/FamilyApi.kt new file mode 100644 index 0000000..a65218f --- /dev/null +++ b/app/src/main/java/com/owori/android/data/api/family/FamilyApi.kt @@ -0,0 +1,31 @@ +package com.owori.android.data.api.family + +import com.owori.android.data.model.family.FamilyImageResponse +import com.owori.android.data.model.family.FamilyNameRequest +import com.owori.android.data.model.family.InviteCodeData +import com.owori.android.module.DataResult +import okhttp3.MultipartBody +import retrofit2.http.Body +import retrofit2.http.Multipart +import retrofit2.http.POST +import retrofit2.http.Part + +interface FamilyApi { + + // 가족 생성 + @POST("/families") + fun createFamily(@Body data: FamilyNameRequest) : DataResult + + // 가족 멤버 초대코드로 추가 + @POST("/families/members") + fun inviteMember(@Body data: InviteCodeData) : DataResult + + // 가족 그룹 이름 수정 + @POST("/families/group-name") + fun deleteComment(@Body data: FamilyNameRequest) : DataResult + + // 가족 이미지 저장 + @Multipart + @POST("/families/images") + fun editFamilyThumbnail(@Part image: MultipartBody.Part) : DataResult +} \ No newline at end of file diff --git a/app/src/main/java/com/owori/android/data/model/family/FamilyImageResponse.kt b/app/src/main/java/com/owori/android/data/model/family/FamilyImageResponse.kt new file mode 100644 index 0000000..01495a2 --- /dev/null +++ b/app/src/main/java/com/owori/android/data/model/family/FamilyImageResponse.kt @@ -0,0 +1,8 @@ +package com.owori.android.data.model.family + +import com.google.gson.annotations.SerializedName + +data class FamilyImageResponse( + @SerializedName("family_image") + val imageUrl: String, +) diff --git a/app/src/main/java/com/owori/android/data/model/family/FamilyNameResponse.kt b/app/src/main/java/com/owori/android/data/model/family/FamilyNameResponse.kt new file mode 100644 index 0000000..afb60fa --- /dev/null +++ b/app/src/main/java/com/owori/android/data/model/family/FamilyNameResponse.kt @@ -0,0 +1,8 @@ +package com.owori.android.data.model.family + +import com.google.gson.annotations.SerializedName + +data class FamilyNameRequest( + @SerializedName("familyGroupName") + val familyName: String, +) diff --git a/app/src/main/java/com/owori/android/data/model/family/InviteCodeData.kt b/app/src/main/java/com/owori/android/data/model/family/InviteCodeData.kt new file mode 100644 index 0000000..271af00 --- /dev/null +++ b/app/src/main/java/com/owori/android/data/model/family/InviteCodeData.kt @@ -0,0 +1,8 @@ +package com.owori.android.data.model.family + +import com.google.gson.annotations.SerializedName + +data class InviteCodeData( + @SerializedName("invite_code") + val inviteCode: String, +)