diff --git a/data/src/main/java/com/nto/data/models/cards/VisitCardWrapper.kt b/data/src/main/java/com/nto/data/models/cards/VisitCardWrapper.kt index 1bdd8cf..88f0a84 100644 --- a/data/src/main/java/com/nto/data/models/cards/VisitCardWrapper.kt +++ b/data/src/main/java/com/nto/data/models/cards/VisitCardWrapper.kt @@ -2,5 +2,5 @@ package com.nto.data.models.cards data class VisitCardWrapper( val data: List?, - val isUnauthorized: Boolean = false + val isError: Boolean = false, ) diff --git a/data/src/main/java/com/nto/data/repository/DataRepository.kt b/data/src/main/java/com/nto/data/repository/DataRepository.kt index 7a504a5..28bf478 100644 --- a/data/src/main/java/com/nto/data/repository/DataRepository.kt +++ b/data/src/main/java/com/nto/data/repository/DataRepository.kt @@ -11,7 +11,7 @@ interface DataRepository { suspend fun getToken(): String suspend fun getLogin(): String suspend fun getInfo(): UserDTO - suspend fun getVisits(id: String?): VisitCardWrapper + suspend fun getVisits(id: String): VisitCardWrapper suspend fun open(): RequestResult suspend fun logout() suspend fun invertLock(login: String, status: Boolean): RequestResult diff --git a/data/src/main/java/com/nto/data/repository/DataRepositoryImpl.kt b/data/src/main/java/com/nto/data/repository/DataRepositoryImpl.kt index 5aa6ae8..4ae984a 100644 --- a/data/src/main/java/com/nto/data/repository/DataRepositoryImpl.kt +++ b/data/src/main/java/com/nto/data/repository/DataRepositoryImpl.kt @@ -41,8 +41,8 @@ class DataRepositoryImpl @Inject constructor(@ApplicationContext private val con else UserDTO(isError = true, isUnauthorized = result.code() == 403) } - override suspend fun getVisits(id: String?): VisitCardWrapper { - val result = Provider.provideRetrofit().getVisits(getToken()).execute() + override suspend fun getVisits(id: String): VisitCardWrapper { + val result = Provider.provideRetrofit().getVisits(getToken(), id.ifBlank { getLogin() }).execute() return if (result.isSuccessful) { VisitCardWrapper(result.body()!!) } else { diff --git a/data/src/main/java/com/nto/data/utils/RetrofitApi.kt b/data/src/main/java/com/nto/data/utils/RetrofitApi.kt index 40b8878..1d519ec 100644 --- a/data/src/main/java/com/nto/data/utils/RetrofitApi.kt +++ b/data/src/main/java/com/nto/data/utils/RetrofitApi.kt @@ -8,6 +8,7 @@ import retrofit2.http.Body import retrofit2.http.GET import retrofit2.http.Header import retrofit2.http.PUT +import retrofit2.http.Path import retrofit2.http.Query interface RetrofitApi { @@ -18,7 +19,7 @@ interface RetrofitApi { fun getInfo(@Header("Authorization") token: String): Call @GET("visits/{login}/visits") - fun getVisits(@Header("Authorization") token: String): Call> + fun getVisits(@Header("Authorization") token: String, @Path("login") login:String): Call> @GET("visit/open") fun open(@Header("Authorization") token: String): Call diff --git a/domain/src/main/java/com/nto/domain/repository/DomainRepositoryImpl.kt b/domain/src/main/java/com/nto/domain/repository/DomainRepositoryImpl.kt index d28e2d1..f91116f 100644 --- a/domain/src/main/java/com/nto/domain/repository/DomainRepositoryImpl.kt +++ b/domain/src/main/java/com/nto/domain/repository/DomainRepositoryImpl.kt @@ -36,7 +36,7 @@ class DomainRepositoryImpl @Inject constructor(private val dataRepositoryImpl: D return try { return dataRepositoryImpl.getInfo() } catch (e: IOException) { - UserDTO(isError = true, isUnauthorized = true) //TODO + UserDTO(isError = true, isUnauthorized = true) } } @@ -44,7 +44,7 @@ class DomainRepositoryImpl @Inject constructor(private val dataRepositoryImpl: D return try { dataRepositoryImpl.getVisits(id) } catch (e: IOException) { - VisitCardWrapper(null, isUnauthorized = true) //TODO + VisitCardWrapper(null, isError = true) } } diff --git a/domain/src/main/java/com/nto/domain/usecase/ProfileUseCase.kt b/domain/src/main/java/com/nto/domain/usecase/ProfileUseCase.kt index 62cdf1b..8ef3ae3 100644 --- a/domain/src/main/java/com/nto/domain/usecase/ProfileUseCase.kt +++ b/domain/src/main/java/com/nto/domain/usecase/ProfileUseCase.kt @@ -1,6 +1,7 @@ package com.nto.domain.usecase import com.nto.data.models.UserDTO +import com.nto.data.models.cards.VisitCardWrapper import com.nto.domain.repository.DomainRepositoryImpl import javax.inject.Inject @@ -11,4 +12,7 @@ class ProfileUseCase @Inject constructor(private val domainRepositoryImpl: Domai suspend fun logout(){ return domainRepositoryImpl.logout() } + suspend fun getVisits(): VisitCardWrapper { + return domainRepositoryImpl.getVisits("") + } } \ No newline at end of file diff --git a/presentation/src/main/java/com/nto/presentation/screens/profileScreen/ProfileViewModel.kt b/presentation/src/main/java/com/nto/presentation/screens/profileScreen/ProfileViewModel.kt index 12bc576..3a57e00 100644 --- a/presentation/src/main/java/com/nto/presentation/screens/profileScreen/ProfileViewModel.kt +++ b/presentation/src/main/java/com/nto/presentation/screens/profileScreen/ProfileViewModel.kt @@ -49,6 +49,7 @@ class ProfileViewModel @Inject constructor( fun updateInfo() { viewModelScope.launch(Dispatchers.IO) { val result = useCase.getInfo() + //val visits = useCase.get _state.tryEmit(ProfileState().apply { deserialize(result, context) }) } }