From 915e2ff863b665c3884f04d45b75c04a113bf444 Mon Sep 17 00:00:00 2001 From: Christophorus Dharma Winata <13521009@std.stei.itb.ac.id> Date: Thu, 4 Apr 2024 11:26:02 +0700 Subject: [PATCH] refactor: api service --- .../pbd/tubes/exe_android/data/api/ApiService.kt | 15 +++++++++++++++ .../data/{ => api}/login/LoginRequest.kt | 2 +- .../data/{ => api}/login/LoginResponse.kt | 2 +- .../exe_android/data/api/upload/UploadImage.kt | 7 +++++++ .../tubes/exe_android/data/login/ApiService.kt | 10 ---------- .../tubes/exe_android/ui/login/LoginActivity.kt | 4 ++-- 6 files changed, 26 insertions(+), 14 deletions(-) create mode 100644 app/src/main/java/pbd/tubes/exe_android/data/api/ApiService.kt rename app/src/main/java/pbd/tubes/exe_android/data/{ => api}/login/LoginRequest.kt (62%) rename app/src/main/java/pbd/tubes/exe_android/data/{ => api}/login/LoginResponse.kt (53%) create mode 100644 app/src/main/java/pbd/tubes/exe_android/data/api/upload/UploadImage.kt delete mode 100644 app/src/main/java/pbd/tubes/exe_android/data/login/ApiService.kt diff --git a/app/src/main/java/pbd/tubes/exe_android/data/api/ApiService.kt b/app/src/main/java/pbd/tubes/exe_android/data/api/ApiService.kt new file mode 100644 index 0000000..3302493 --- /dev/null +++ b/app/src/main/java/pbd/tubes/exe_android/data/api/ApiService.kt @@ -0,0 +1,15 @@ +package pbd.tubes.exe_android.data.api + +import pbd.tubes.exe_android.data.api.login.LoginRequest +import pbd.tubes.exe_android.data.api.login.LoginResponse +import pbd.tubes.exe_android.data.api.upload.UploadImage +import retrofit2.Response +import retrofit2.http.Body +import retrofit2.http.POST + +interface ApiService { + @POST("/api/auth/login") + suspend fun login(@Body credentials: LoginRequest): Response<LoginResponse> + @POST("/api/bill/upload") + suspend fun upload(@Body data: UploadImage): Response<LoginResponse> +} diff --git a/app/src/main/java/pbd/tubes/exe_android/data/login/LoginRequest.kt b/app/src/main/java/pbd/tubes/exe_android/data/api/login/LoginRequest.kt similarity index 62% rename from app/src/main/java/pbd/tubes/exe_android/data/login/LoginRequest.kt rename to app/src/main/java/pbd/tubes/exe_android/data/api/login/LoginRequest.kt index 2105e28..3f9fa94 100644 --- a/app/src/main/java/pbd/tubes/exe_android/data/login/LoginRequest.kt +++ b/app/src/main/java/pbd/tubes/exe_android/data/api/login/LoginRequest.kt @@ -1,4 +1,4 @@ -package pbd.tubes.exe_android.data.login +package pbd.tubes.exe_android.data.api.login data class LoginRequest( val email: String, diff --git a/app/src/main/java/pbd/tubes/exe_android/data/login/LoginResponse.kt b/app/src/main/java/pbd/tubes/exe_android/data/api/login/LoginResponse.kt similarity index 53% rename from app/src/main/java/pbd/tubes/exe_android/data/login/LoginResponse.kt rename to app/src/main/java/pbd/tubes/exe_android/data/api/login/LoginResponse.kt index 3affb82..71ee5e0 100644 --- a/app/src/main/java/pbd/tubes/exe_android/data/login/LoginResponse.kt +++ b/app/src/main/java/pbd/tubes/exe_android/data/api/login/LoginResponse.kt @@ -1,4 +1,4 @@ -package pbd.tubes.exe_android.data.login +package pbd.tubes.exe_android.data.api.login data class LoginResponse( val token: String diff --git a/app/src/main/java/pbd/tubes/exe_android/data/api/upload/UploadImage.kt b/app/src/main/java/pbd/tubes/exe_android/data/api/upload/UploadImage.kt new file mode 100644 index 0000000..e7e1018 --- /dev/null +++ b/app/src/main/java/pbd/tubes/exe_android/data/api/upload/UploadImage.kt @@ -0,0 +1,7 @@ +package pbd.tubes.exe_android.data.api.upload + +import android.media.Image + +data class UploadImage( + val image: Image //or file? FIXME(key: image or file) +) diff --git a/app/src/main/java/pbd/tubes/exe_android/data/login/ApiService.kt b/app/src/main/java/pbd/tubes/exe_android/data/login/ApiService.kt deleted file mode 100644 index e4ca829..0000000 --- a/app/src/main/java/pbd/tubes/exe_android/data/login/ApiService.kt +++ /dev/null @@ -1,10 +0,0 @@ -package pbd.tubes.exe_android.data.login - -import retrofit2.Response -import retrofit2.http.Body -import retrofit2.http.POST - -interface ApiService { - @POST("/api/auth/login") - suspend fun login(@Body credentials: LoginRequest): Response<LoginResponse> -} diff --git a/app/src/main/java/pbd/tubes/exe_android/ui/login/LoginActivity.kt b/app/src/main/java/pbd/tubes/exe_android/ui/login/LoginActivity.kt index d92719f..618369d 100644 --- a/app/src/main/java/pbd/tubes/exe_android/ui/login/LoginActivity.kt +++ b/app/src/main/java/pbd/tubes/exe_android/ui/login/LoginActivity.kt @@ -10,8 +10,8 @@ import androidx.appcompat.app.AppCompatActivity import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch -import pbd.tubes.exe_android.data.login.ApiService -import pbd.tubes.exe_android.data.login.LoginRequest +import pbd.tubes.exe_android.data.api.ApiService +import pbd.tubes.exe_android.data.api.login.LoginRequest import retrofit2.Retrofit import retrofit2.converter.gson.GsonConverterFactory -- GitLab