Start AdminUseCase
This commit is contained in:
parent
f9d31d4743
commit
931839da8d
@ -1,6 +1,6 @@
|
||||
package com.nto.data.models
|
||||
|
||||
enum class ScanResult {
|
||||
enum class RequestResult {
|
||||
OK,
|
||||
CANCELED,
|
||||
ERROR
|
@ -1,7 +1,7 @@
|
||||
package com.nto.data.repository
|
||||
|
||||
import com.nto.data.models.LoginResult
|
||||
import com.nto.data.models.ScanResult
|
||||
import com.nto.data.models.RequestResult
|
||||
import com.nto.data.models.UserDTO
|
||||
import com.nto.data.models.cards.VisitCardWrapper
|
||||
|
||||
@ -12,6 +12,7 @@ interface DataRepository {
|
||||
suspend fun getLogin(): String
|
||||
suspend fun getInfo(): UserDTO
|
||||
suspend fun getVisits(id: String?): VisitCardWrapper
|
||||
suspend fun open(): ScanResult
|
||||
suspend fun open(): RequestResult
|
||||
suspend fun logout()
|
||||
suspend fun invertLock(login: String, status: Boolean): RequestResult
|
||||
}
|
@ -2,9 +2,8 @@ package com.nto.data.repository
|
||||
|
||||
import android.content.Context
|
||||
import android.content.Context.MODE_PRIVATE
|
||||
import android.content.SharedPreferences
|
||||
import com.nto.data.models.LoginResult
|
||||
import com.nto.data.models.ScanResult
|
||||
import com.nto.data.models.RequestResult
|
||||
import com.nto.data.models.UserDTO
|
||||
import com.nto.data.models.cards.VisitCardWrapper
|
||||
import com.nto.data.utils.Provider
|
||||
@ -51,17 +50,27 @@ class DataRepositoryImpl @Inject constructor(@ApplicationContext private val con
|
||||
}
|
||||
}
|
||||
|
||||
override suspend fun open(): ScanResult {
|
||||
override suspend fun open(): RequestResult {
|
||||
val result = Provider.provideRetrofit().open(getToken()).execute()
|
||||
return when (result.code()) {
|
||||
200 -> ScanResult.OK
|
||||
400, 403 -> ScanResult.CANCELED
|
||||
else -> ScanResult.ERROR
|
||||
200 -> RequestResult.OK
|
||||
400, 403 -> RequestResult.CANCELED
|
||||
else -> RequestResult.ERROR
|
||||
}
|
||||
}
|
||||
|
||||
override suspend fun logout() {
|
||||
context.getSharedPreferences("auth", MODE_PRIVATE).edit().remove("token").remove("login").apply()
|
||||
context.getSharedPreferences("auth", MODE_PRIVATE).edit().remove("token").remove("login")
|
||||
.apply()
|
||||
}
|
||||
|
||||
override suspend fun invertLock(login: String, status: Boolean): RequestResult {
|
||||
return when (Provider.provideRetrofit().invertLock(getToken(), login, status).execute()
|
||||
.code()) {
|
||||
200 -> RequestResult.OK
|
||||
400, 403 -> RequestResult.CANCELED
|
||||
else -> RequestResult.ERROR
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -4,8 +4,11 @@ import com.nto.data.models.UserDTO
|
||||
import com.nto.data.models.cards.VisitCardDTO
|
||||
import okhttp3.ResponseBody
|
||||
import retrofit2.Call
|
||||
import retrofit2.http.Body
|
||||
import retrofit2.http.GET
|
||||
import retrofit2.http.Header
|
||||
import retrofit2.http.PUT
|
||||
import retrofit2.http.Query
|
||||
|
||||
interface RetrofitApi {
|
||||
@GET("employee/auth")
|
||||
@ -19,4 +22,9 @@ interface RetrofitApi {
|
||||
|
||||
@GET("visit/open")
|
||||
fun open(@Header("Authorization") token: String): Call<ResponseBody>
|
||||
|
||||
@PUT("employee/invertLock")
|
||||
fun invertLock(
|
||||
@Header("Authorization") token: String, @Query("login") login: String, @Body status: Boolean
|
||||
): Call<ResponseBody>
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
package com.nto.domain.repository
|
||||
|
||||
import com.nto.data.models.LoginResult
|
||||
import com.nto.data.models.ScanResult
|
||||
import com.nto.data.models.RequestResult
|
||||
import com.nto.data.models.UserDTO
|
||||
import com.nto.data.models.cards.VisitCardWrapper
|
||||
|
||||
@ -11,6 +11,7 @@ interface DomainRepository {
|
||||
suspend fun getToken(): String?
|
||||
suspend fun getInfo(): UserDTO
|
||||
suspend fun getVisits(id: String): VisitCardWrapper
|
||||
suspend fun open(): ScanResult
|
||||
suspend fun open(): RequestResult
|
||||
suspend fun logout()
|
||||
suspend fun invertLock(id: String, status: Boolean): RequestResult
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
package com.nto.domain.repository
|
||||
|
||||
import com.nto.data.models.LoginResult
|
||||
import com.nto.data.models.ScanResult
|
||||
import com.nto.data.models.RequestResult
|
||||
import com.nto.data.models.UserDTO
|
||||
import com.nto.data.models.cards.VisitCardWrapper
|
||||
import com.nto.data.repository.DataRepositoryImpl
|
||||
@ -48,7 +48,7 @@ class DomainRepositoryImpl @Inject constructor(private val dataRepositoryImpl: D
|
||||
}
|
||||
}
|
||||
|
||||
override suspend fun open(): ScanResult {
|
||||
override suspend fun open(): RequestResult {
|
||||
return dataRepositoryImpl.open()
|
||||
}
|
||||
|
||||
@ -56,4 +56,8 @@ class DomainRepositoryImpl @Inject constructor(private val dataRepositoryImpl: D
|
||||
dataRepositoryImpl.logout()
|
||||
}
|
||||
|
||||
override suspend fun invertLock(id: String, status: Boolean): RequestResult {
|
||||
return dataRepositoryImpl.invertLock(id, status)
|
||||
}
|
||||
|
||||
}
|
10
domain/src/main/java/com/nto/domain/usecase/AdminUseCase.kt
Normal file
10
domain/src/main/java/com/nto/domain/usecase/AdminUseCase.kt
Normal file
@ -0,0 +1,10 @@
|
||||
package com.nto.domain.usecase
|
||||
|
||||
import com.nto.domain.repository.DomainRepositoryImpl
|
||||
import javax.inject.Inject
|
||||
|
||||
class AdminUseCase @Inject constructor(private val domainRepositoryImpl: DomainRepositoryImpl) {
|
||||
suspend fun invertLock(id: String, status: Boolean){
|
||||
domainRepositoryImpl.invertLock(id, status)
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user