diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 6aab706..c0e7942 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -68,6 +68,7 @@ dependencies { implementation(libs.androidx.camera.mlkit.vision) implementation(libs.androidx.paging.runtime.ktx) defaultLibrary() + implementation(libs.hilt.android) kapt(libs.hilt.android.compiler) } diff --git a/app/src/main/java/ru/myitschool/work/data/deleteEmployee/DeleteEmployeeNetworkDataSource.kt b/app/src/main/java/ru/myitschool/work/data/deleteEmployee/DeleteEmployeeNetworkDataSource.kt new file mode 100644 index 0000000..38e18bd --- /dev/null +++ b/app/src/main/java/ru/myitschool/work/data/deleteEmployee/DeleteEmployeeNetworkDataSource.kt @@ -0,0 +1,36 @@ +package ru.myitschool.work.data.deleteEmployee + +import android.content.Context +import io.ktor.client.call.body +import io.ktor.client.request.basicAuth +import io.ktor.client.request.patch +import io.ktor.http.HttpStatusCode +import io.ktor.http.headers +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.first +import kotlinx.coroutines.withContext +import ru.myitschool.work.core.Constants +import ru.myitschool.work.data.UserDataStoreManager +import ru.myitschool.work.utils.NetworkModule + +class DeleteEmployeeNetworkDataSource( + context: Context +) { + private val client = NetworkModule.httpClient + private val userDataStoreManager = UserDataStoreManager.getInstance(context) + suspend fun deleteEmployee(login: String):Result = withContext(Dispatchers.IO){ + runCatching { + val username = userDataStoreManager.usernameFlow.first() + val password = userDataStoreManager.passwordFlow.first() + val result = client.patch("${Constants.SERVER_ADDRESS}/api/employee/$login/delete"){ + headers{ + basicAuth(username, password) + } + } + if (result.status != HttpStatusCode.OK) { + error("Status ${result.status}") + } + result.body() + } + } +} \ No newline at end of file diff --git a/app/src/main/java/ru/myitschool/work/data/deleteEmployee/DeleteEmployeeRepoImpl.kt b/app/src/main/java/ru/myitschool/work/data/deleteEmployee/DeleteEmployeeRepoImpl.kt new file mode 100644 index 0000000..3d633c8 --- /dev/null +++ b/app/src/main/java/ru/myitschool/work/data/deleteEmployee/DeleteEmployeeRepoImpl.kt @@ -0,0 +1,9 @@ +package ru.myitschool.work.data.deleteEmployee + +import ru.myitschool.work.domain.deleteEmployee.DeleteEmployeeRepo + +class DeleteEmployeeRepoImpl : DeleteEmployeeRepo { + override suspend fun deleteEmployee(login: String): Result { + TODO("Not yet implemented") + } +} \ No newline at end of file diff --git a/app/src/main/java/ru/myitschool/work/data/door/DoorNetworkDataSource.kt b/app/src/main/java/ru/myitschool/work/data/door/open/DoorNetworkDataSource.kt similarity index 96% rename from app/src/main/java/ru/myitschool/work/data/door/DoorNetworkDataSource.kt rename to app/src/main/java/ru/myitschool/work/data/door/open/DoorNetworkDataSource.kt index 4384151..26ddbc5 100644 --- a/app/src/main/java/ru/myitschool/work/data/door/DoorNetworkDataSource.kt +++ b/app/src/main/java/ru/myitschool/work/data/door/open/DoorNetworkDataSource.kt @@ -1,4 +1,4 @@ -package ru.myitschool.work.data.door +package ru.myitschool.work.data.door.open import android.content.Context import io.ktor.client.call.body diff --git a/app/src/main/java/ru/myitschool/work/data/door/DoorRepoImpl.kt b/app/src/main/java/ru/myitschool/work/data/door/open/DoorRepoImpl.kt similarity index 69% rename from app/src/main/java/ru/myitschool/work/data/door/DoorRepoImpl.kt rename to app/src/main/java/ru/myitschool/work/data/door/open/DoorRepoImpl.kt index 9b627df..72638f3 100644 --- a/app/src/main/java/ru/myitschool/work/data/door/DoorRepoImpl.kt +++ b/app/src/main/java/ru/myitschool/work/data/door/open/DoorRepoImpl.kt @@ -1,6 +1,6 @@ -package ru.myitschool.work.data.door +package ru.myitschool.work.data.door.open -import ru.myitschool.work.domain.door.DoorRepo +import ru.myitschool.work.domain.door.open.DoorRepo class DoorRepoImpl( private val networkDataSource: DoorNetworkDataSource diff --git a/app/src/main/java/ru/myitschool/work/data/employeeList/EmployeeListNetworkDataSource.kt b/app/src/main/java/ru/myitschool/work/data/employeeList/EmployeeListNetworkDataSource.kt new file mode 100644 index 0000000..8d00f6e --- /dev/null +++ b/app/src/main/java/ru/myitschool/work/data/employeeList/EmployeeListNetworkDataSource.kt @@ -0,0 +1,40 @@ +package ru.myitschool.work.data.employeeList + +import android.content.Context +import io.ktor.client.call.body +import io.ktor.client.request.basicAuth +import io.ktor.client.request.get +import io.ktor.client.statement.bodyAsText +import io.ktor.http.HttpStatusCode +import io.ktor.http.headers +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.first +import kotlinx.coroutines.withContext +import ru.myitschool.work.core.Constants +import ru.myitschool.work.data.UserDataStoreManager +import ru.myitschool.work.dto.EmployeePagingDTO +import ru.myitschool.work.utils.NetworkModule + +class EmployeeListNetworkDataSource( + context: Context +) { + private val client = NetworkModule.httpClient + + private val userDataStoreManager = UserDataStoreManager.getInstance(context) + suspend fun getInfo():Result = withContext(Dispatchers.IO){ + runCatching { + val username = userDataStoreManager.usernameFlow.first() + val password = userDataStoreManager.passwordFlow.first() + val result = client.get("${Constants.SERVER_ADDRESS}/api/employee/all"){ + headers{ + basicAuth(username, password) + } + } + if (result.status != HttpStatusCode.OK) { + error("Status ${result.status}") + } + println(result.bodyAsText()) + result.body() + } + } +} \ No newline at end of file diff --git a/app/src/main/java/ru/myitschool/work/data/employeeList/EmployeeListRepoImpl.kt b/app/src/main/java/ru/myitschool/work/data/employeeList/EmployeeListRepoImpl.kt new file mode 100644 index 0000000..e2c5460 --- /dev/null +++ b/app/src/main/java/ru/myitschool/work/data/employeeList/EmployeeListRepoImpl.kt @@ -0,0 +1,10 @@ +package ru.myitschool.work.data.employeeList + +import ru.myitschool.work.domain.employeeList.EmployeeListRepo +import ru.myitschool.work.entities.EmployeeEntity + +class EmployeeListRepoImpl : EmployeeListRepo { + override suspend fun getList(): Result> { + TODO("Not yet implemented") + } +} \ No newline at end of file diff --git a/app/src/main/java/ru/myitschool/work/data/entrance/allEntrances/AllEntranceListNetworkDataSource.kt b/app/src/main/java/ru/myitschool/work/data/entrance/allEntrances/AllEntranceListNetworkDataSource.kt index 84469f7..ecbef85 100644 --- a/app/src/main/java/ru/myitschool/work/data/entrance/allEntrances/AllEntranceListNetworkDataSource.kt +++ b/app/src/main/java/ru/myitschool/work/data/entrance/allEntrances/AllEntranceListNetworkDataSource.kt @@ -11,7 +11,7 @@ import kotlinx.coroutines.flow.first import kotlinx.coroutines.withContext import ru.myitschool.work.core.Constants import ru.myitschool.work.data.UserDataStoreManager -import ru.myitschool.work.data.dto.EmployeeEntranceListPagingDTO +import ru.myitschool.work.dto.EmployeeEntranceListPagingDTO import ru.myitschool.work.utils.NetworkModule class AllEntranceListNetworkDataSource( diff --git a/app/src/main/java/ru/myitschool/work/data/entrance/allEntrances/AllEntranceListRepoImpl.kt b/app/src/main/java/ru/myitschool/work/data/entrance/allEntrances/AllEntranceListRepoImpl.kt index 1a7db28..0e6b65d 100644 --- a/app/src/main/java/ru/myitschool/work/data/entrance/allEntrances/AllEntranceListRepoImpl.kt +++ b/app/src/main/java/ru/myitschool/work/data/entrance/allEntrances/AllEntranceListRepoImpl.kt @@ -1,7 +1,7 @@ package ru.myitschool.work.data.entrance.allEntrances import ru.myitschool.work.domain.employeeEntrance.allEntrances.AllEntranceListRepo -import ru.myitschool.work.domain.entities.EmployeeEntranceEntity +import ru.myitschool.work.entities.EmployeeEntranceEntity class AllEntranceListRepoImpl( private val networkDataSource: AllEntranceListNetworkDataSource diff --git a/app/src/main/java/ru/myitschool/work/data/entrance/employeeEntrances/EmployeeEntranceListNetworkDataSource.kt b/app/src/main/java/ru/myitschool/work/data/entrance/employeeEntrances/EmployeeEntranceListNetworkDataSource.kt index 1ce9725..95a8d22 100644 --- a/app/src/main/java/ru/myitschool/work/data/entrance/employeeEntrances/EmployeeEntranceListNetworkDataSource.kt +++ b/app/src/main/java/ru/myitschool/work/data/entrance/employeeEntrances/EmployeeEntranceListNetworkDataSource.kt @@ -12,7 +12,7 @@ import kotlinx.coroutines.flow.first import kotlinx.coroutines.withContext import ru.myitschool.work.core.Constants import ru.myitschool.work.data.UserDataStoreManager -import ru.myitschool.work.data.dto.EmployeeEntranceListPagingDTO +import ru.myitschool.work.dto.EmployeeEntranceListPagingDTO import ru.myitschool.work.utils.NetworkModule class EmployeeEntranceListNetworkDataSource( diff --git a/app/src/main/java/ru/myitschool/work/data/entrance/employeeEntrances/EmployeeEntranceListRepoImpl.kt b/app/src/main/java/ru/myitschool/work/data/entrance/employeeEntrances/EmployeeEntranceListRepoImpl.kt index 4761046..f6aa7fc 100644 --- a/app/src/main/java/ru/myitschool/work/data/entrance/employeeEntrances/EmployeeEntranceListRepoImpl.kt +++ b/app/src/main/java/ru/myitschool/work/data/entrance/employeeEntrances/EmployeeEntranceListRepoImpl.kt @@ -1,6 +1,6 @@ package ru.myitschool.work.data.entrance.employeeEntrances -import ru.myitschool.work.domain.entities.EmployeeEntranceEntity +import ru.myitschool.work.entities.EmployeeEntranceEntity import ru.myitschool.work.domain.employeeEntrance.employeeEntrances.EmployeeEntranceListRepo class EmployeeEntranceListRepoImpl( diff --git a/app/src/main/java/ru/myitschool/work/data/entrance/lastEntrance/LastEntranceNetworkDataSource.kt b/app/src/main/java/ru/myitschool/work/data/entrance/lastEntrance/LastEntranceNetworkDataSource.kt new file mode 100644 index 0000000..ebedb68 --- /dev/null +++ b/app/src/main/java/ru/myitschool/work/data/entrance/lastEntrance/LastEntranceNetworkDataSource.kt @@ -0,0 +1,39 @@ +package ru.myitschool.work.data.entrance.lastEntrance + +import android.content.Context +import io.ktor.client.call.body +import io.ktor.client.request.basicAuth +import io.ktor.client.request.post +import io.ktor.client.statement.bodyAsText +import io.ktor.http.HttpStatusCode +import io.ktor.http.headers +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.first +import kotlinx.coroutines.withContext +import ru.myitschool.work.core.Constants +import ru.myitschool.work.data.UserDataStoreManager +import ru.myitschool.work.dto.EmployeeEntranceDTO +import ru.myitschool.work.utils.NetworkModule + +class LastEntranceNetworkDataSource( + context: Context +) { + private val client = NetworkModule.httpClient + private val userDataStoreManager = UserDataStoreManager.getInstance(context) + suspend fun getLastEntrance():Result = withContext(Dispatchers.IO){ + runCatching { + val username = userDataStoreManager.usernameFlow.first() + val password = userDataStoreManager.passwordFlow.first() + val result = client.post("${Constants.SERVER_ADDRESS}/api/entrance/last"){ + headers{ + basicAuth(username, password) + } + } + if (result.status != HttpStatusCode.OK) { + error("Status ${result.status}") + } + println(result.bodyAsText()) + result.body() + } + } +} \ No newline at end of file diff --git a/app/src/main/java/ru/myitschool/work/data/entrance/lastEntrance/LastEntranceRepoImpl.kt b/app/src/main/java/ru/myitschool/work/data/entrance/lastEntrance/LastEntranceRepoImpl.kt new file mode 100644 index 0000000..451bd79 --- /dev/null +++ b/app/src/main/java/ru/myitschool/work/data/entrance/lastEntrance/LastEntranceRepoImpl.kt @@ -0,0 +1,19 @@ +package ru.myitschool.work.data.entrance.lastEntrance + +import ru.myitschool.work.domain.employeeEntrance.lastEntrance.LastEntranceRepo +import ru.myitschool.work.entities.EmployeeEntranceEntity + +class LastEntranceRepoImpl( + private val networkDataSource: LastEntranceNetworkDataSource +) : LastEntranceRepo { + override suspend fun getLastEntrance(): Result { + return networkDataSource.getLastEntrance().map { dto -> + EmployeeEntranceEntity( + id = dto.id ?: 0, + scanTime = dto.scanTime, + readerName = dto.readerName ?: "", + type = dto.type ?: "" + ) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/ru/myitschool/work/data/info/InfoRepoImpl.kt b/app/src/main/java/ru/myitschool/work/data/info/InfoRepoImpl.kt deleted file mode 100644 index d6e3f94..0000000 --- a/app/src/main/java/ru/myitschool/work/data/info/InfoRepoImpl.kt +++ /dev/null @@ -1,22 +0,0 @@ -package ru.myitschool.work.data.info - -import ru.myitschool.work.domain.entities.UserEntity -import ru.myitschool.work.domain.info.InfoRepo - -class InfoRepoImpl( - private val networkDataSource: InfoNetworkDataSource -): InfoRepo { - override suspend fun getInfo(): Result { - return networkDataSource.getInfo().map { dto-> - UserEntity( - id = dto.id ?: 0, - login = dto.login ?: "", - name = dto.name ?: "", - authority = dto.authority ?: "", - photoUrl = dto.photoUrl, - position = dto.position ?: "" - ) - } - - } -} \ No newline at end of file diff --git a/app/src/main/java/ru/myitschool/work/data/info/InfoNetworkDataSource.kt b/app/src/main/java/ru/myitschool/work/data/profile/ProfileNetworkDataSource.kt similarity index 86% rename from app/src/main/java/ru/myitschool/work/data/info/InfoNetworkDataSource.kt rename to app/src/main/java/ru/myitschool/work/data/profile/ProfileNetworkDataSource.kt index d8ffa2d..9dcd9c6 100644 --- a/app/src/main/java/ru/myitschool/work/data/info/InfoNetworkDataSource.kt +++ b/app/src/main/java/ru/myitschool/work/data/profile/ProfileNetworkDataSource.kt @@ -1,4 +1,4 @@ -package ru.myitschool.work.data.info +package ru.myitschool.work.data.profile import android.content.Context import io.ktor.client.call.body @@ -12,16 +12,16 @@ import kotlinx.coroutines.flow.first import kotlinx.coroutines.withContext import ru.myitschool.work.core.Constants import ru.myitschool.work.data.UserDataStoreManager -import ru.myitschool.work.data.dto.UserDTO +import ru.myitschool.work.dto.EmployeeDTO import ru.myitschool.work.utils.NetworkModule -class InfoNetworkDataSource( +class ProfileNetworkDataSource( context: Context ) { private val client = NetworkModule.httpClient private val userDataStoreManager = UserDataStoreManager.getInstance(context) - suspend fun getInfo():Result = withContext(Dispatchers.IO){ + suspend fun getInfo():Result = withContext(Dispatchers.IO){ runCatching { val username = userDataStoreManager.usernameFlow.first() val password = userDataStoreManager.passwordFlow.first() diff --git a/app/src/main/java/ru/myitschool/work/data/profile/ProfileRepoImpl.kt b/app/src/main/java/ru/myitschool/work/data/profile/ProfileRepoImpl.kt new file mode 100644 index 0000000..dee269c --- /dev/null +++ b/app/src/main/java/ru/myitschool/work/data/profile/ProfileRepoImpl.kt @@ -0,0 +1,23 @@ +package ru.myitschool.work.data.profile + +import ru.myitschool.work.entities.EmployeeEntity +import ru.myitschool.work.domain.profile.ProfileRepo + +class ProfileRepoImpl( + private val networkDataSource: ProfileNetworkDataSource +): ProfileRepo { + override suspend fun getInfo(): Result { + return networkDataSource.getInfo().map { dto-> + EmployeeEntity( + id = dto.id ?: 0, + login = dto.login ?: "", + name = dto.name ?: "Не указано", + authority = dto.authority ?: "EMPLOYEE", + photoUrl = dto.photoUrl, + position = dto.position ?: "Отсутствует", + qrEnabled = dto.qrEnabled ?: false + ) + } + + } +} \ No newline at end of file diff --git a/app/src/main/java/ru/myitschool/work/data/profile/admin/EmployeeNetworkDataSource.kt b/app/src/main/java/ru/myitschool/work/data/profile/admin/EmployeeNetworkDataSource.kt new file mode 100644 index 0000000..0c13576 --- /dev/null +++ b/app/src/main/java/ru/myitschool/work/data/profile/admin/EmployeeNetworkDataSource.kt @@ -0,0 +1,39 @@ +package ru.myitschool.work.data.profile.admin + +import android.content.Context +import io.ktor.client.call.body +import io.ktor.client.request.basicAuth +import io.ktor.client.request.post +import io.ktor.client.statement.bodyAsText +import io.ktor.http.HttpStatusCode +import io.ktor.http.headers +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.first +import kotlinx.coroutines.withContext +import ru.myitschool.work.core.Constants +import ru.myitschool.work.data.UserDataStoreManager +import ru.myitschool.work.dto.EmployeeDTO +import ru.myitschool.work.utils.NetworkModule + +class EmployeeNetworkDataSource( + context: Context +) { + private val client = NetworkModule.httpClient + private val userDataStoreManager = UserDataStoreManager.getInstance(context) + suspend fun getProfile(login : String):Result = withContext(Dispatchers.IO){ + runCatching { + val username = userDataStoreManager.usernameFlow.first() + val password = userDataStoreManager.passwordFlow.first() + val result = client.post("${Constants.SERVER_ADDRESS}/api/employee/$login"){ + headers{ + basicAuth(username, password) + } + } + if (result.status != HttpStatusCode.OK) { + error("Status ${result.status}") + } + println(result.bodyAsText()) + result.body() + } + } +} \ No newline at end of file diff --git a/app/src/main/java/ru/myitschool/work/data/profile/admin/EmployeeProfileRepoImpl.kt b/app/src/main/java/ru/myitschool/work/data/profile/admin/EmployeeProfileRepoImpl.kt new file mode 100644 index 0000000..ee9c8de --- /dev/null +++ b/app/src/main/java/ru/myitschool/work/data/profile/admin/EmployeeProfileRepoImpl.kt @@ -0,0 +1,22 @@ +package ru.myitschool.work.data.profile.admin + +import ru.myitschool.work.entities.EmployeeEntity +import ru.myitschool.work.domain.profile.admin.EmployeeProfileRepo + +class EmployeeProfileRepoImpl( + private val networkDataSource: EmployeeNetworkDataSource +) : EmployeeProfileRepo { + override suspend fun getInfo(login : String): Result { + return networkDataSource.getProfile(login).map { dto -> + EmployeeEntity( + id = dto.id ?: 0, + login = dto.login ?: "", + name = dto.name ?: "Не указано", + authority = dto.authority ?: "EMPLOYEE", + photoUrl = dto.photoUrl, + position = dto.position ?: "Отсутствует", + qrEnabled = dto.qrEnabled ?: false + ) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/ru/myitschool/work/data/scannerState/ScannerStateNetworkDataSource.kt b/app/src/main/java/ru/myitschool/work/data/scannerState/ScannerStateNetworkDataSource.kt new file mode 100644 index 0000000..06edff0 --- /dev/null +++ b/app/src/main/java/ru/myitschool/work/data/scannerState/ScannerStateNetworkDataSource.kt @@ -0,0 +1,36 @@ +package ru.myitschool.work.data.scannerState + +import android.content.Context +import io.ktor.client.call.body +import io.ktor.client.request.basicAuth +import io.ktor.client.request.patch +import io.ktor.http.HttpStatusCode +import io.ktor.http.headers +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.first +import kotlinx.coroutines.withContext +import ru.myitschool.work.core.Constants +import ru.myitschool.work.data.UserDataStoreManager +import ru.myitschool.work.utils.NetworkModule + +class ScannerStateNetworkDataSource( + context: Context +) { + private val client = NetworkModule.httpClient + private val userDataStoreManager = UserDataStoreManager.getInstance(context) + suspend fun setScannerState(state: String, login: String):Result = withContext(Dispatchers.IO){ + runCatching { + val username = userDataStoreManager.usernameFlow.first() + val password = userDataStoreManager.passwordFlow.first() + val result = client.patch("${Constants.SERVER_ADDRESS}/api/employee/$login/$state"){ + headers{ + basicAuth(username, password) + } + } + if (result.status != HttpStatusCode.OK) { + error("Status ${result.status}") + } + result.body() + } + } +} \ No newline at end of file diff --git a/app/src/main/java/ru/myitschool/work/data/scannerState/ScannerStateRepoImpl.kt b/app/src/main/java/ru/myitschool/work/data/scannerState/ScannerStateRepoImpl.kt new file mode 100644 index 0000000..c24b4fa --- /dev/null +++ b/app/src/main/java/ru/myitschool/work/data/scannerState/ScannerStateRepoImpl.kt @@ -0,0 +1,11 @@ +package ru.myitschool.work.data.scannerState + +import ru.myitschool.work.domain.scannerBlockState.ScannerStateRepo + +class ScannerStateRepoImpl( + private val networkDataSource: ScannerStateNetworkDataSource +) : ScannerStateRepo { + override suspend fun changeState(state: String, login: String) : Result { + return networkDataSource.setScannerState(state, login) + } +} \ No newline at end of file diff --git a/app/src/main/java/ru/myitschool/work/domain/deleteEmployee/DeleteEmployeeRepo.kt b/app/src/main/java/ru/myitschool/work/domain/deleteEmployee/DeleteEmployeeRepo.kt new file mode 100644 index 0000000..c62db86 --- /dev/null +++ b/app/src/main/java/ru/myitschool/work/domain/deleteEmployee/DeleteEmployeeRepo.kt @@ -0,0 +1,5 @@ +package ru.myitschool.work.domain.deleteEmployee + +interface DeleteEmployeeRepo { + suspend fun deleteEmployee(login : String): Result +} \ No newline at end of file diff --git a/app/src/main/java/ru/myitschool/work/domain/deleteEmployee/DeleteEmployeeUseCase.kt b/app/src/main/java/ru/myitschool/work/domain/deleteEmployee/DeleteEmployeeUseCase.kt new file mode 100644 index 0000000..d2d6611 --- /dev/null +++ b/app/src/main/java/ru/myitschool/work/domain/deleteEmployee/DeleteEmployeeUseCase.kt @@ -0,0 +1,7 @@ +package ru.myitschool.work.domain.deleteEmployee + +class DeleteEmployeeUseCase( + private val repo: DeleteEmployeeRepo +) { + suspend operator fun invoke(login : String) = repo.deleteEmployee(login) +} \ No newline at end of file diff --git a/app/src/main/java/ru/myitschool/work/domain/door/DoorRepo.kt b/app/src/main/java/ru/myitschool/work/domain/door/open/DoorRepo.kt similarity index 63% rename from app/src/main/java/ru/myitschool/work/domain/door/DoorRepo.kt rename to app/src/main/java/ru/myitschool/work/domain/door/open/DoorRepo.kt index 8b5223e..1632e8f 100644 --- a/app/src/main/java/ru/myitschool/work/domain/door/DoorRepo.kt +++ b/app/src/main/java/ru/myitschool/work/domain/door/open/DoorRepo.kt @@ -1,4 +1,4 @@ -package ru.myitschool.work.domain.door +package ru.myitschool.work.domain.door.open interface DoorRepo { suspend fun openDoor(code: String) : Result diff --git a/app/src/main/java/ru/myitschool/work/domain/door/OpenDoorUseCase.kt b/app/src/main/java/ru/myitschool/work/domain/door/open/OpenDoorUseCase.kt similarity index 74% rename from app/src/main/java/ru/myitschool/work/domain/door/OpenDoorUseCase.kt rename to app/src/main/java/ru/myitschool/work/domain/door/open/OpenDoorUseCase.kt index 98c39c0..6a36730 100644 --- a/app/src/main/java/ru/myitschool/work/domain/door/OpenDoorUseCase.kt +++ b/app/src/main/java/ru/myitschool/work/domain/door/open/OpenDoorUseCase.kt @@ -1,4 +1,4 @@ -package ru.myitschool.work.domain.door +package ru.myitschool.work.domain.door.open class OpenDoorUseCase( private val repo: DoorRepo diff --git a/app/src/main/java/ru/myitschool/work/domain/employeeEntrance/allEntrances/AllEntranceListRepo.kt b/app/src/main/java/ru/myitschool/work/domain/employeeEntrance/allEntrances/AllEntranceListRepo.kt index 8192537..030e458 100644 --- a/app/src/main/java/ru/myitschool/work/domain/employeeEntrance/allEntrances/AllEntranceListRepo.kt +++ b/app/src/main/java/ru/myitschool/work/domain/employeeEntrance/allEntrances/AllEntranceListRepo.kt @@ -1,6 +1,6 @@ package ru.myitschool.work.domain.employeeEntrance.allEntrances -import ru.myitschool.work.domain.entities.EmployeeEntranceEntity +import ru.myitschool.work.entities.EmployeeEntranceEntity interface AllEntranceListRepo { suspend fun getList(pageNum : Int, pageSize: Int) : Result> diff --git a/app/src/main/java/ru/myitschool/work/domain/employeeEntrance/allEntrances/GetAllEmployeesEntranceList.kt b/app/src/main/java/ru/myitschool/work/domain/employeeEntrance/allEntrances/GetAllEmployeesEntranceListUseCase.kt similarity index 83% rename from app/src/main/java/ru/myitschool/work/domain/employeeEntrance/allEntrances/GetAllEmployeesEntranceList.kt rename to app/src/main/java/ru/myitschool/work/domain/employeeEntrance/allEntrances/GetAllEmployeesEntranceListUseCase.kt index 48351d2..6c407b6 100644 --- a/app/src/main/java/ru/myitschool/work/domain/employeeEntrance/allEntrances/GetAllEmployeesEntranceList.kt +++ b/app/src/main/java/ru/myitschool/work/domain/employeeEntrance/allEntrances/GetAllEmployeesEntranceListUseCase.kt @@ -1,6 +1,6 @@ package ru.myitschool.work.domain.employeeEntrance.allEntrances -class GetAllEmployeesEntranceList( +class GetAllEmployeesEntranceListUseCase( private val repo: AllEntranceListRepo ) { suspend operator fun invoke(pageNum : Int, pageSize: Int) = repo.getList(pageNum, pageSize) diff --git a/app/src/main/java/ru/myitschool/work/domain/employeeEntrance/employeeEntrances/EmployeeEntranceListRepo.kt b/app/src/main/java/ru/myitschool/work/domain/employeeEntrance/employeeEntrances/EmployeeEntranceListRepo.kt index 5e33695..d15bb4c 100644 --- a/app/src/main/java/ru/myitschool/work/domain/employeeEntrance/employeeEntrances/EmployeeEntranceListRepo.kt +++ b/app/src/main/java/ru/myitschool/work/domain/employeeEntrance/employeeEntrances/EmployeeEntranceListRepo.kt @@ -1,6 +1,6 @@ package ru.myitschool.work.domain.employeeEntrance.employeeEntrances -import ru.myitschool.work.domain.entities.EmployeeEntranceEntity +import ru.myitschool.work.entities.EmployeeEntranceEntity interface EmployeeEntranceListRepo { suspend fun getList(pageNum : Int, pageSize: Int) : Result> diff --git a/app/src/main/java/ru/myitschool/work/domain/employeeEntrance/lastEntrance/GetLastEntranceUseCase.kt b/app/src/main/java/ru/myitschool/work/domain/employeeEntrance/lastEntrance/GetLastEntranceUseCase.kt new file mode 100644 index 0000000..ea18dd0 --- /dev/null +++ b/app/src/main/java/ru/myitschool/work/domain/employeeEntrance/lastEntrance/GetLastEntranceUseCase.kt @@ -0,0 +1,7 @@ +package ru.myitschool.work.domain.employeeEntrance.lastEntrance + +class GetLastEntranceUseCase( + private val repo : LastEntranceRepo +) { + suspend operator fun invoke() = repo.getLastEntrance() +} \ No newline at end of file diff --git a/app/src/main/java/ru/myitschool/work/domain/employeeEntrance/lastEntrance/LastEntranceRepo.kt b/app/src/main/java/ru/myitschool/work/domain/employeeEntrance/lastEntrance/LastEntranceRepo.kt new file mode 100644 index 0000000..63468f5 --- /dev/null +++ b/app/src/main/java/ru/myitschool/work/domain/employeeEntrance/lastEntrance/LastEntranceRepo.kt @@ -0,0 +1,7 @@ +package ru.myitschool.work.domain.employeeEntrance.lastEntrance + +import ru.myitschool.work.entities.EmployeeEntranceEntity + +interface LastEntranceRepo { + suspend fun getLastEntrance() : Result +} \ No newline at end of file diff --git a/app/src/main/java/ru/myitschool/work/domain/employeeList/EmployeeListRepo.kt b/app/src/main/java/ru/myitschool/work/domain/employeeList/EmployeeListRepo.kt new file mode 100644 index 0000000..b9f114e --- /dev/null +++ b/app/src/main/java/ru/myitschool/work/domain/employeeList/EmployeeListRepo.kt @@ -0,0 +1,7 @@ +package ru.myitschool.work.domain.employeeList + +import ru.myitschool.work.entities.EmployeeEntity + +interface EmployeeListRepo { + suspend fun getList() : Result> +} \ No newline at end of file diff --git a/app/src/main/java/ru/myitschool/work/domain/employeeList/GetEmployeeListUseCase.kt b/app/src/main/java/ru/myitschool/work/domain/employeeList/GetEmployeeListUseCase.kt new file mode 100644 index 0000000..35bd974 --- /dev/null +++ b/app/src/main/java/ru/myitschool/work/domain/employeeList/GetEmployeeListUseCase.kt @@ -0,0 +1,7 @@ +package ru.myitschool.work.domain.employeeList + +class GetEmployeeListUseCase( + private val repo: EmployeeListRepo +) { + suspend operator fun invoke() = repo.getList() +} \ No newline at end of file diff --git a/app/src/main/java/ru/myitschool/work/domain/entities/EmployeeEntranceEntity.kt b/app/src/main/java/ru/myitschool/work/domain/entities/EmployeeEntranceEntity.kt deleted file mode 100644 index c131462..0000000 --- a/app/src/main/java/ru/myitschool/work/domain/entities/EmployeeEntranceEntity.kt +++ /dev/null @@ -1,9 +0,0 @@ -package ru.myitschool.work.domain.entities -import java.util.Date - -data class EmployeeEntranceEntity( - val id : Int?, - val scanTime : Date?, - val readerName: String?, - val type: String? -) diff --git a/app/src/main/java/ru/myitschool/work/domain/info/GetInfoUseCase.kt b/app/src/main/java/ru/myitschool/work/domain/info/GetInfoUseCase.kt deleted file mode 100644 index 72760f7..0000000 --- a/app/src/main/java/ru/myitschool/work/domain/info/GetInfoUseCase.kt +++ /dev/null @@ -1,7 +0,0 @@ -package ru.myitschool.work.domain.info - -class GetInfoUseCase( - private val repo: InfoRepo -) { - suspend operator fun invoke() = repo.getInfo() -} \ No newline at end of file diff --git a/app/src/main/java/ru/myitschool/work/domain/info/InfoRepo.kt b/app/src/main/java/ru/myitschool/work/domain/info/InfoRepo.kt deleted file mode 100644 index 39b68c6..0000000 --- a/app/src/main/java/ru/myitschool/work/domain/info/InfoRepo.kt +++ /dev/null @@ -1,7 +0,0 @@ -package ru.myitschool.work.domain.info - -import ru.myitschool.work.domain.entities.UserEntity - -interface InfoRepo { - suspend fun getInfo(): Result -} \ No newline at end of file diff --git a/app/src/main/java/ru/myitschool/work/domain/profile/GetProfileUseCase.kt b/app/src/main/java/ru/myitschool/work/domain/profile/GetProfileUseCase.kt new file mode 100644 index 0000000..9589ca6 --- /dev/null +++ b/app/src/main/java/ru/myitschool/work/domain/profile/GetProfileUseCase.kt @@ -0,0 +1,7 @@ +package ru.myitschool.work.domain.profile + +class GetProfileUseCase( + private val repo: ProfileRepo +) { + suspend operator fun invoke() = repo.getInfo() +} \ No newline at end of file diff --git a/app/src/main/java/ru/myitschool/work/domain/profile/ProfileRepo.kt b/app/src/main/java/ru/myitschool/work/domain/profile/ProfileRepo.kt new file mode 100644 index 0000000..324b7e9 --- /dev/null +++ b/app/src/main/java/ru/myitschool/work/domain/profile/ProfileRepo.kt @@ -0,0 +1,7 @@ +package ru.myitschool.work.domain.profile + +import ru.myitschool.work.entities.EmployeeEntity + +interface ProfileRepo { + suspend fun getInfo(): Result +} \ No newline at end of file diff --git a/app/src/main/java/ru/myitschool/work/domain/profile/admin/EmployeeProfileRepo.kt b/app/src/main/java/ru/myitschool/work/domain/profile/admin/EmployeeProfileRepo.kt new file mode 100644 index 0000000..a15a9b0 --- /dev/null +++ b/app/src/main/java/ru/myitschool/work/domain/profile/admin/EmployeeProfileRepo.kt @@ -0,0 +1,7 @@ +package ru.myitschool.work.domain.profile.admin + +import ru.myitschool.work.entities.EmployeeEntity + +interface EmployeeProfileRepo { + suspend fun getInfo(login : String): Result +} \ No newline at end of file diff --git a/app/src/main/java/ru/myitschool/work/domain/profile/admin/GetEmployeeProfileUseCase.kt b/app/src/main/java/ru/myitschool/work/domain/profile/admin/GetEmployeeProfileUseCase.kt new file mode 100644 index 0000000..bd4d478 --- /dev/null +++ b/app/src/main/java/ru/myitschool/work/domain/profile/admin/GetEmployeeProfileUseCase.kt @@ -0,0 +1,7 @@ +package ru.myitschool.work.domain.profile.admin + +class GetEmployeeProfileUseCase( + private val repo : EmployeeProfileRepo +) { + suspend operator fun invoke(login : String) = repo.getInfo(login) +} \ No newline at end of file diff --git a/app/src/main/java/ru/myitschool/work/domain/scannerBlockState/ScannerStateRepo.kt b/app/src/main/java/ru/myitschool/work/domain/scannerBlockState/ScannerStateRepo.kt new file mode 100644 index 0000000..8be93e8 --- /dev/null +++ b/app/src/main/java/ru/myitschool/work/domain/scannerBlockState/ScannerStateRepo.kt @@ -0,0 +1,5 @@ +package ru.myitschool.work.domain.scannerBlockState + +interface ScannerStateRepo { + suspend fun changeState(state: String, login: String) : Result +} \ No newline at end of file diff --git a/app/src/main/java/ru/myitschool/work/domain/scannerBlockState/SetScannerStateUseCase.kt b/app/src/main/java/ru/myitschool/work/domain/scannerBlockState/SetScannerStateUseCase.kt new file mode 100644 index 0000000..24719f8 --- /dev/null +++ b/app/src/main/java/ru/myitschool/work/domain/scannerBlockState/SetScannerStateUseCase.kt @@ -0,0 +1,7 @@ +package ru.myitschool.work.domain.scannerBlockState + +class SetScannerStateUseCase( + private val repo: ScannerStateRepo +) { + suspend operator fun invoke(state: String, login: String) = repo.changeState(state, login) +} \ No newline at end of file diff --git a/app/src/main/java/ru/myitschool/work/data/dto/UserDTO.kt b/app/src/main/java/ru/myitschool/work/dto/EmployeeDTO.kt similarity index 67% rename from app/src/main/java/ru/myitschool/work/data/dto/UserDTO.kt rename to app/src/main/java/ru/myitschool/work/dto/EmployeeDTO.kt index 844d6f1..5787f3d 100644 --- a/app/src/main/java/ru/myitschool/work/data/dto/UserDTO.kt +++ b/app/src/main/java/ru/myitschool/work/dto/EmployeeDTO.kt @@ -1,15 +1,16 @@ -package ru.myitschool.work.data.dto +package ru.myitschool.work.dto import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable @Serializable -data class UserDTO( +data class EmployeeDTO( @SerialName("id") val id: Long?, @SerialName("login") val login: String?, @SerialName("name") val name: String?, @SerialName("authority") val authority : String?, @SerialName("photoUrl") val photoUrl: String?, - @SerialName("position") val position: String? + @SerialName("position") val position: String?, + @SerialName("qrEnabled") val qrEnabled: Boolean? ) diff --git a/app/src/main/java/ru/myitschool/work/data/dto/EmployeeEntranceDTO.kt b/app/src/main/java/ru/myitschool/work/dto/EmployeeEntranceDTO.kt similarity index 92% rename from app/src/main/java/ru/myitschool/work/data/dto/EmployeeEntranceDTO.kt rename to app/src/main/java/ru/myitschool/work/dto/EmployeeEntranceDTO.kt index c0bcfc1..53376ac 100644 --- a/app/src/main/java/ru/myitschool/work/data/dto/EmployeeEntranceDTO.kt +++ b/app/src/main/java/ru/myitschool/work/dto/EmployeeEntranceDTO.kt @@ -1,4 +1,4 @@ -package ru.myitschool.work.data.dto +package ru.myitschool.work.dto import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/app/src/main/java/ru/myitschool/work/data/dto/EmployeeEntranceListPagingDTO.kt b/app/src/main/java/ru/myitschool/work/dto/EmployeeEntranceListPagingDTO.kt similarity index 85% rename from app/src/main/java/ru/myitschool/work/data/dto/EmployeeEntranceListPagingDTO.kt rename to app/src/main/java/ru/myitschool/work/dto/EmployeeEntranceListPagingDTO.kt index 26edbc1..3429c11 100644 --- a/app/src/main/java/ru/myitschool/work/data/dto/EmployeeEntranceListPagingDTO.kt +++ b/app/src/main/java/ru/myitschool/work/dto/EmployeeEntranceListPagingDTO.kt @@ -1,4 +1,4 @@ -package ru.myitschool.work.data.dto +package ru.myitschool.work.dto import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/app/src/main/java/ru/myitschool/work/dto/EmployeePagingDTO.kt b/app/src/main/java/ru/myitschool/work/dto/EmployeePagingDTO.kt new file mode 100644 index 0000000..d4639bf --- /dev/null +++ b/app/src/main/java/ru/myitschool/work/dto/EmployeePagingDTO.kt @@ -0,0 +1,7 @@ +package ru.myitschool.work.dto + +import kotlinx.serialization.SerialName + +data class EmployeePagingDTO ( + @SerialName("content") val content : List? +) \ No newline at end of file diff --git a/app/src/main/java/ru/myitschool/work/domain/entities/UserEntity.kt b/app/src/main/java/ru/myitschool/work/entities/EmployeeEntity.kt similarity index 50% rename from app/src/main/java/ru/myitschool/work/domain/entities/UserEntity.kt rename to app/src/main/java/ru/myitschool/work/entities/EmployeeEntity.kt index 1e99a45..ec4877c 100644 --- a/app/src/main/java/ru/myitschool/work/domain/entities/UserEntity.kt +++ b/app/src/main/java/ru/myitschool/work/entities/EmployeeEntity.kt @@ -1,10 +1,11 @@ -package ru.myitschool.work.domain.entities +package ru.myitschool.work.entities -data class UserEntity( +data class EmployeeEntity( val id: Long, val login: String, val name: String, val authority: String, val photoUrl: String?, - val position: String + val position: String, + val qrEnabled: Boolean ) \ No newline at end of file diff --git a/app/src/main/java/ru/myitschool/work/entities/EmployeeEntranceEntity.kt b/app/src/main/java/ru/myitschool/work/entities/EmployeeEntranceEntity.kt new file mode 100644 index 0000000..6231944 --- /dev/null +++ b/app/src/main/java/ru/myitschool/work/entities/EmployeeEntranceEntity.kt @@ -0,0 +1,9 @@ +package ru.myitschool.work.entities +import java.util.Date + +data class EmployeeEntranceEntity( + val id : Int, + val scanTime : Date?, + val readerName: String, + val type: String +) diff --git a/app/src/main/java/ru/myitschool/work/ui/main/EmployeeEntranceListAdapter.kt b/app/src/main/java/ru/myitschool/work/ui/main/EmployeeEntranceListAdapter.kt index 8d0cbf3..0f1e3c5 100644 --- a/app/src/main/java/ru/myitschool/work/ui/main/EmployeeEntranceListAdapter.kt +++ b/app/src/main/java/ru/myitschool/work/ui/main/EmployeeEntranceListAdapter.kt @@ -5,7 +5,7 @@ import android.view.ViewGroup import androidx.paging.PagingDataAdapter import androidx.recyclerview.widget.RecyclerView import ru.myitschool.work.databinding.ItemVisitBinding -import ru.myitschool.work.domain.entities.EmployeeEntranceEntity +import ru.myitschool.work.entities.EmployeeEntranceEntity import ru.myitschool.work.utils.dateConverter class EmployeeEntranceListAdapter : PagingDataAdapter(DiffUtil) { diff --git a/app/src/main/java/ru/myitschool/work/ui/main/EmployeeEntranceListPagingSource.kt b/app/src/main/java/ru/myitschool/work/ui/main/EmployeeEntranceListPagingSource.kt index feaa7cd..454f5c8 100644 --- a/app/src/main/java/ru/myitschool/work/ui/main/EmployeeEntranceListPagingSource.kt +++ b/app/src/main/java/ru/myitschool/work/ui/main/EmployeeEntranceListPagingSource.kt @@ -2,7 +2,7 @@ package ru.myitschool.work.ui.main import androidx.paging.PagingSource import androidx.paging.PagingState -import ru.myitschool.work.domain.entities.EmployeeEntranceEntity +import ru.myitschool.work.entities.EmployeeEntranceEntity class EmployeeEntranceListPagingSource( private val request: suspend(pageNum: Int, pageSize: Int) ->Result> diff --git a/app/src/main/java/ru/myitschool/work/ui/main/MainFragment.kt b/app/src/main/java/ru/myitschool/work/ui/main/MainFragment.kt index 204e074..80ed4c3 100644 --- a/app/src/main/java/ru/myitschool/work/ui/main/MainFragment.kt +++ b/app/src/main/java/ru/myitschool/work/ui/main/MainFragment.kt @@ -15,7 +15,7 @@ import kotlinx.coroutines.delay import kotlinx.coroutines.launch import ru.myitschool.work.R import ru.myitschool.work.databinding.FragmentMainBinding -import ru.myitschool.work.domain.entities.UserEntity +import ru.myitschool.work.entities.EmployeeEntity import ru.myitschool.work.ui.qr.scan.QrScanDestination import ru.myitschool.work.utils.UserState import ru.myitschool.work.utils.collectWhenStarted @@ -55,7 +55,7 @@ class MainFragment : Fragment(R.layout.fragment_main) { binding.refresh.visibility = View.VISIBLE binding.loading.visibility = View.GONE binding.error.visibility = View.GONE - showUserData(state.userEntity) + showUserData(state.employeeEntity) } } @@ -102,12 +102,12 @@ class MainFragment : Fragment(R.layout.fragment_main) { } - private fun showUserData(userEntity: UserEntity) { + private fun showUserData(employeeEntity: EmployeeEntity) { binding.apply { - fullname.text = userEntity.name - println(userEntity.name) - position.text = userEntity.position - Picasso.get().load(userEntity.photoUrl).into(photo) + fullname.text = employeeEntity.name + println(employeeEntity.name) + position.text = employeeEntity.position + Picasso.get().load(employeeEntity.photoUrl).into(photo) error.visibility = View.GONE setViewsVisibility(View.VISIBLE) diff --git a/app/src/main/java/ru/myitschool/work/ui/main/MainViewModel.kt b/app/src/main/java/ru/myitschool/work/ui/main/MainViewModel.kt index 7cd1e3e..ababcb0 100644 --- a/app/src/main/java/ru/myitschool/work/ui/main/MainViewModel.kt +++ b/app/src/main/java/ru/myitschool/work/ui/main/MainViewModel.kt @@ -15,16 +15,16 @@ import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.launch import kotlinx.coroutines.withContext import ru.myitschool.work.data.UserDataStoreManager -import ru.myitschool.work.data.info.InfoNetworkDataSource -import ru.myitschool.work.data.info.InfoRepoImpl +import ru.myitschool.work.data.profile.ProfileNetworkDataSource +import ru.myitschool.work.data.profile.ProfileRepoImpl import ru.myitschool.work.data.entrance.employeeEntrances.EmployeeEntranceListNetworkDataSource import ru.myitschool.work.data.entrance.employeeEntrances.EmployeeEntranceListRepoImpl -import ru.myitschool.work.domain.info.GetInfoUseCase +import ru.myitschool.work.domain.profile.GetProfileUseCase import ru.myitschool.work.domain.employeeEntrance.employeeEntrances.GetEmployeeEntranceListUseCase import ru.myitschool.work.utils.UserState class MainViewModel( - private val infoUseCase: GetInfoUseCase, + private val infoUseCase: GetProfileUseCase, private val listUseCase: GetEmployeeEntranceListUseCase, application: Application ) : AndroidViewModel(application) { @@ -79,8 +79,8 @@ class MainViewModel( @Suppress("UNCHECKED_CAST") val Factory: ViewModelProvider.Factory = object : ViewModelProvider.Factory { override fun create(modelClass: Class, extras: CreationExtras): T { - val infoRepoImpl = InfoRepoImpl( - networkDataSource = InfoNetworkDataSource( + val profileRepoImpl = ProfileRepoImpl( + networkDataSource = ProfileNetworkDataSource( context = extras[ViewModelProvider.AndroidViewModelFactory.APPLICATION_KEY] as Application ) ) @@ -90,7 +90,7 @@ class MainViewModel( ) ) - val infoUseCase = GetInfoUseCase(infoRepoImpl) + val infoUseCase = GetProfileUseCase(profileRepoImpl) val listUseCase = GetEmployeeEntranceListUseCase(listInfoImpl) return MainViewModel( diff --git a/app/src/main/java/ru/myitschool/work/ui/qr/result/QrResultViewModel.kt b/app/src/main/java/ru/myitschool/work/ui/qr/result/QrResultViewModel.kt index a21a426..7f35edc 100644 --- a/app/src/main/java/ru/myitschool/work/ui/qr/result/QrResultViewModel.kt +++ b/app/src/main/java/ru/myitschool/work/ui/qr/result/QrResultViewModel.kt @@ -10,9 +10,9 @@ import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.launch -import ru.myitschool.work.data.door.DoorNetworkDataSource -import ru.myitschool.work.data.door.DoorRepoImpl -import ru.myitschool.work.domain.door.OpenDoorUseCase +import ru.myitschool.work.data.door.open.DoorNetworkDataSource +import ru.myitschool.work.data.door.open.DoorRepoImpl +import ru.myitschool.work.domain.door.open.OpenDoorUseCase class QrResultViewModel( private val useCase: OpenDoorUseCase, diff --git a/app/src/main/java/ru/myitschool/work/utils/UserState.kt b/app/src/main/java/ru/myitschool/work/utils/UserState.kt index 81d83c3..78e6bef 100644 --- a/app/src/main/java/ru/myitschool/work/utils/UserState.kt +++ b/app/src/main/java/ru/myitschool/work/utils/UserState.kt @@ -1,9 +1,9 @@ package ru.myitschool.work.utils -import ru.myitschool.work.domain.entities.UserEntity +import ru.myitschool.work.entities.EmployeeEntity sealed class UserState { object Loading : UserState() - data class Success(val userEntity: UserEntity) : UserState() + data class Success(val employeeEntity: EmployeeEntity) : UserState() object Error : UserState() } \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_qr_scan.xml b/app/src/main/res/layout/fragment_qr_scan.xml index a52eb71..0630a30 100644 --- a/app/src/main/res/layout/fragment_qr_scan.xml +++ b/app/src/main/res/layout/fragment_qr_scan.xml @@ -27,7 +27,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="16dp" - android:contentDescription="@string/close_button" + android:contentDescription="@string/close_btn" android:src="@drawable/ic_close" app:elevation="0dp" app:layout_constraintStart_toStartOf="parent"