This commit is contained in:
2024-08-13 22:32:27 +08:00
parent c99e168c53
commit d5067ca05b
9 changed files with 212 additions and 8 deletions

View File

@@ -2,6 +2,7 @@ package com.aiosman.riderpro.data
import com.aiosman.riderpro.AppStore
import com.aiosman.riderpro.data.api.ApiClient
import com.aiosman.riderpro.data.api.ChangePasswordRequestBody
import com.aiosman.riderpro.data.api.LoginUserRequestBody
import com.aiosman.riderpro.data.api.RegisterRequestBody
import com.aiosman.riderpro.test.TestDatabase
@@ -63,6 +64,7 @@ interface AccountService {
suspend fun updateAvatar(uri: String)
suspend fun updateProfile(avatar: UploadImage?, nickName: String?, bio: String?)
suspend fun registerUserWithPassword(loginName: String, password: String)
suspend fun changeAccountPassword(oldPassword: String, newPassword: String)
}
class TestAccountServiceImpl : AccountService {
@@ -104,7 +106,7 @@ class TestAccountServiceImpl : AccountService {
}
}
fun createMultipartBody(file: File, filename:String,name: String): MultipartBody.Part {
fun createMultipartBody(file: File, filename: String, name: String): MultipartBody.Part {
val requestFile = file.asRequestBody("image/*".toMediaTypeOrNull())
return MultipartBody.Part.createFormData(name, filename, requestFile)
}
@@ -112,7 +114,7 @@ class TestAccountServiceImpl : AccountService {
override suspend fun updateProfile(avatar: UploadImage?, nickName: String?, bio: String?) {
val nicknameField: RequestBody? = nickName?.toRequestBody("text/plain".toMediaTypeOrNull())
val avatarField: MultipartBody.Part? = avatar?.let {
createMultipartBody(it.file,it.filename, "avatar")
createMultipartBody(it.file, it.filename, "avatar")
}
ApiClient.api.updateProfile(avatarField, nicknameField)
}
@@ -120,4 +122,8 @@ class TestAccountServiceImpl : AccountService {
override suspend fun registerUserWithPassword(loginName: String, password: String) {
ApiClient.api.register(RegisterRequestBody(loginName, password))
}
override suspend fun changeAccountPassword(oldPassword: String, newPassword: String) {
ApiClient.api.changePassword(ChangePasswordRequestBody(oldPassword, newPassword))
}
}