diff --git a/app/src/main/java/com/example/android_programming/AppContainer.kt b/app/src/main/java/com/example/android_programming/AppContainer.kt index 3af5081..fb14c7c 100644 --- a/app/src/main/java/com/example/android_programming/AppContainer.kt +++ b/app/src/main/java/com/example/android_programming/AppContainer.kt @@ -2,10 +2,8 @@ package com.example.android_programming import com.example.android_programming.api.repository.RestSneakerRepository import com.example.android_programming.api.repository.RestUserRepository -import com.example.android_programming.repository.BasketRepository -import com.example.android_programming.repository.OrderRepository -import com.example.android_programming.repository.SneakerRepository -import com.example.android_programming.repository.UserRepository +import com.example.android_programming.businessLogic.repo.BasketRepository +import com.example.android_programming.businessLogic.repo.OrderRepository interface AppContainer { val sneakerRepo: RestSneakerRepository diff --git a/app/src/main/java/com/example/android_programming/AppDataContainer.kt b/app/src/main/java/com/example/android_programming/AppDataContainer.kt index 379b577..c1bd6d1 100644 --- a/app/src/main/java/com/example/android_programming/AppDataContainer.kt +++ b/app/src/main/java/com/example/android_programming/AppDataContainer.kt @@ -5,15 +5,12 @@ import com.example.android_programming.api.BackendService import com.example.android_programming.api.repository.RestSneakerRepository import com.example.android_programming.api.repository.RestUserRepository import com.example.android_programming.database.AppDatabase -import com.example.android_programming.database.remotekeys.repository.RemoteKeysRepositoryImpl -import com.example.android_programming.repository.BasketRepoImpl -import com.example.android_programming.repository.BasketRepository -import com.example.android_programming.repository.OrderRepoImpl -import com.example.android_programming.repository.OrderRepository -import com.example.android_programming.repository.SneakerRepoImpl -import com.example.android_programming.repository.SneakerRepository -import com.example.android_programming.repository.UserRepoImpl -import com.example.android_programming.repository.UserRepository +import com.example.android_programming.database.repository.RemoteKeysRepositoryImpl +import com.example.android_programming.database.repository.BasketRepoImpl +import com.example.android_programming.businessLogic.repo.BasketRepository +import com.example.android_programming.database.repository.OrderRepoImpl +import com.example.android_programming.businessLogic.repo.OrderRepository +import com.example.android_programming.database.repository.SneakerRepoImpl class AppDataContainer(private val context: Context) : AppContainer { override val sneakerRepo: RestSneakerRepository by lazy { diff --git a/app/src/main/java/com/example/android_programming/api/BackendService.kt b/app/src/main/java/com/example/android_programming/api/BackendService.kt index e3dd3af..72cd80c 100644 --- a/app/src/main/java/com/example/android_programming/api/BackendService.kt +++ b/app/src/main/java/com/example/android_programming/api/BackendService.kt @@ -2,6 +2,7 @@ package com.example.android_programming.api import com.example.android_programming.api.model.SneakerRemote import com.example.android_programming.api.model.UserRemote +import com.example.android_programming.api.model.UserRemoteSignIn import com.jakewharton.retrofit2.converter.kotlinx.serialization.asConverterFactory import kotlinx.serialization.json.Json import okhttp3.MediaType.Companion.toMediaType @@ -34,6 +35,11 @@ interface BackendService { @Body user: UserRemote, ): UserRemote + @POST("user/signin") + suspend fun SignIn( + @Body user: UserRemoteSignIn + ): UserRemote + companion object { private const val BASE_URL = "https://59k4pfj3-8080.euw.devtunnels.ms/api/" diff --git a/app/src/main/java/com/example/android_programming/api/SneakerRemoteMediator.kt b/app/src/main/java/com/example/android_programming/api/SneakerRemoteMediator.kt index 65af39e..dea1e0c 100644 --- a/app/src/main/java/com/example/android_programming/api/SneakerRemoteMediator.kt +++ b/app/src/main/java/com/example/android_programming/api/SneakerRemoteMediator.kt @@ -6,15 +6,12 @@ import androidx.paging.PagingState import androidx.paging.RemoteMediator import androidx.room.withTransaction import com.example.android_programming.api.model.toSneaker -import com.example.android_programming.api.repository.RestSneakerRepository import com.example.android_programming.database.AppDatabase -import com.example.android_programming.database.remotekeys.model.RemoteKeyType -import com.example.android_programming.database.remotekeys.model.RemoteKeys -import com.example.android_programming.database.remotekeys.repository.RemoteKeyRepository -import com.example.android_programming.database.remotekeys.repository.RemoteKeysRepositoryImpl +import com.example.android_programming.model.RemoteKeyType +import com.example.android_programming.model.RemoteKeys +import com.example.android_programming.database.repository.RemoteKeysRepositoryImpl import com.example.android_programming.model.Sneaker -import com.example.android_programming.repository.SneakerRepoImpl -import com.example.android_programming.repository.SneakerRepository +import com.example.android_programming.database.repository.SneakerRepoImpl import retrofit2.HttpException import java.io.IOException @@ -23,7 +20,7 @@ class SneakerRemoteMediator( private val service: BackendService, private val sneakerRepository: SneakerRepoImpl, private val database: AppDatabase, - private val dbRemoteKeyRepository:RemoteKeysRepositoryImpl + private val dbRemoteKeyRepository: RemoteKeysRepositoryImpl ) : RemoteMediator() { override suspend fun initialize(): InitializeAction { return InitializeAction.LAUNCH_INITIAL_REFRESH diff --git a/app/src/main/java/com/example/android_programming/api/model/UserRemote.kt b/app/src/main/java/com/example/android_programming/api/model/UserRemote.kt index dbbabcd..7c08fb6 100644 --- a/app/src/main/java/com/example/android_programming/api/model/UserRemote.kt +++ b/app/src/main/java/com/example/android_programming/api/model/UserRemote.kt @@ -14,10 +14,11 @@ data class UserRemote ( val surname: String = "", val email: String = "", val password: String = "", - val role: RoleEnum = RoleEnum.User, + val role: String = "", val photo: Int? = 0, ) + fun UserRemote.toUser(): User = User( id, name, diff --git a/app/src/main/java/com/example/android_programming/api/model/UserRemoteSignIn.kt b/app/src/main/java/com/example/android_programming/api/model/UserRemoteSignIn.kt new file mode 100644 index 0000000..f196d65 --- /dev/null +++ b/app/src/main/java/com/example/android_programming/api/model/UserRemoteSignIn.kt @@ -0,0 +1,9 @@ +package com.example.android_programming.api.model + +import kotlinx.serialization.Serializable + +@Serializable +data class UserRemoteSignIn( + val email: String = "", + val password: String = "", +) \ No newline at end of file diff --git a/app/src/main/java/com/example/android_programming/api/repository/RestSneakerRepository.kt b/app/src/main/java/com/example/android_programming/api/repository/RestSneakerRepository.kt index 8bf6a8d..d2a4f5f 100644 --- a/app/src/main/java/com/example/android_programming/api/repository/RestSneakerRepository.kt +++ b/app/src/main/java/com/example/android_programming/api/repository/RestSneakerRepository.kt @@ -1,20 +1,18 @@ package com.example.android_programming.api.repository -import android.util.Log import androidx.paging.ExperimentalPagingApi import androidx.paging.Pager import androidx.paging.PagingConfig import androidx.paging.PagingData -import androidx.paging.PagingSource import com.example.android_programming.AppContainer import com.example.android_programming.api.BackendService import com.example.android_programming.api.SneakerRemoteMediator import com.example.android_programming.api.model.toSneaker import com.example.android_programming.database.AppDatabase -import com.example.android_programming.database.remotekeys.repository.RemoteKeysRepositoryImpl +import com.example.android_programming.database.repository.RemoteKeysRepositoryImpl import com.example.android_programming.model.Sneaker -import com.example.android_programming.repository.SneakerRepoImpl -import com.example.android_programming.repository.SneakerRepository +import com.example.android_programming.database.repository.SneakerRepoImpl +import com.example.android_programming.businessLogic.repo.SneakerRepository import kotlinx.coroutines.flow.Flow class RestSneakerRepository( diff --git a/app/src/main/java/com/example/android_programming/api/repository/RestUserRepository.kt b/app/src/main/java/com/example/android_programming/api/repository/RestUserRepository.kt index be0dd3a..d0125a0 100644 --- a/app/src/main/java/com/example/android_programming/api/repository/RestUserRepository.kt +++ b/app/src/main/java/com/example/android_programming/api/repository/RestUserRepository.kt @@ -1,16 +1,17 @@ package com.example.android_programming.api.repository import com.example.android_programming.api.BackendService +import com.example.android_programming.api.model.UserRemoteSignIn +import com.example.android_programming.api.model.toUser import com.example.android_programming.api.model.toUserRemote import com.example.android_programming.model.User -import com.example.android_programming.repository.UserRepository +import com.example.android_programming.businessLogic.repo.UserRepository class RestUserRepository( private var service: BackendService ): UserRepository { override suspend fun createUser(user: User) { - val user1 = user.toUserRemote() - service.SignUp(user1) + service.SignUp(user.toUserRemote()) } override suspend fun updateUser(user: User) { @@ -20,5 +21,7 @@ class RestUserRepository( override suspend fun deleteUser(user: User) { println() } - + override suspend fun authUser(user: UserRemoteSignIn): User { + return service.SignIn(user).toUser() + } } \ No newline at end of file diff --git a/app/src/main/java/com/example/android_programming/repository/BasketRepository.kt b/app/src/main/java/com/example/android_programming/businessLogic/repo/BasketRepository.kt similarity index 94% rename from app/src/main/java/com/example/android_programming/repository/BasketRepository.kt rename to app/src/main/java/com/example/android_programming/businessLogic/repo/BasketRepository.kt index 692dda3..34f0e2e 100644 --- a/app/src/main/java/com/example/android_programming/repository/BasketRepository.kt +++ b/app/src/main/java/com/example/android_programming/businessLogic/repo/BasketRepository.kt @@ -1,4 +1,4 @@ -package com.example.android_programming.repository +package com.example.android_programming.businessLogic.repo import androidx.room.Delete import androidx.room.Insert diff --git a/app/src/main/java/com/example/android_programming/repository/OrderRepository.kt b/app/src/main/java/com/example/android_programming/businessLogic/repo/OrderRepository.kt similarity index 90% rename from app/src/main/java/com/example/android_programming/repository/OrderRepository.kt rename to app/src/main/java/com/example/android_programming/businessLogic/repo/OrderRepository.kt index f9c2f14..1ecffcf 100644 --- a/app/src/main/java/com/example/android_programming/repository/OrderRepository.kt +++ b/app/src/main/java/com/example/android_programming/businessLogic/repo/OrderRepository.kt @@ -1,4 +1,4 @@ -package com.example.android_programming.repository +package com.example.android_programming.businessLogic.repo import com.example.android_programming.model.Order import com.example.android_programming.model.OrderSneaker diff --git a/app/src/main/java/com/example/android_programming/businessLogic/repo/RemoteKeyRepository.kt b/app/src/main/java/com/example/android_programming/businessLogic/repo/RemoteKeyRepository.kt new file mode 100644 index 0000000..800d257 --- /dev/null +++ b/app/src/main/java/com/example/android_programming/businessLogic/repo/RemoteKeyRepository.kt @@ -0,0 +1,10 @@ +package com.example.android_programming.businessLogic.repo + +import com.example.android_programming.model.RemoteKeyType +import com.example.android_programming.model.RemoteKeys + +interface RemoteKeyRepository { + suspend fun getAllRemoteKeys(id: Int, type: RemoteKeyType): RemoteKeys? + suspend fun createRemoteKeys(remoteKeys: List) + suspend fun deleteRemoteKey(type: RemoteKeyType) +} \ No newline at end of file diff --git a/app/src/main/java/com/example/android_programming/repository/SneakerRepository.kt b/app/src/main/java/com/example/android_programming/businessLogic/repo/SneakerRepository.kt similarity index 87% rename from app/src/main/java/com/example/android_programming/repository/SneakerRepository.kt rename to app/src/main/java/com/example/android_programming/businessLogic/repo/SneakerRepository.kt index 3d8c140..e75aa64 100644 --- a/app/src/main/java/com/example/android_programming/repository/SneakerRepository.kt +++ b/app/src/main/java/com/example/android_programming/businessLogic/repo/SneakerRepository.kt @@ -1,4 +1,4 @@ -package com.example.android_programming.repository +package com.example.android_programming.businessLogic.repo import androidx.paging.PagingData import androidx.paging.PagingSource diff --git a/app/src/main/java/com/example/android_programming/repository/UserRepository.kt b/app/src/main/java/com/example/android_programming/businessLogic/repo/UserRepository.kt similarity index 65% rename from app/src/main/java/com/example/android_programming/repository/UserRepository.kt rename to app/src/main/java/com/example/android_programming/businessLogic/repo/UserRepository.kt index 0244aaf..bfbd2ba 100644 --- a/app/src/main/java/com/example/android_programming/repository/UserRepository.kt +++ b/app/src/main/java/com/example/android_programming/businessLogic/repo/UserRepository.kt @@ -1,5 +1,6 @@ -package com.example.android_programming.repository +package com.example.android_programming.businessLogic.repo +import com.example.android_programming.api.model.UserRemoteSignIn import com.example.android_programming.model.Basket import com.example.android_programming.model.User import com.example.android_programming.model.UserWithOrder @@ -9,6 +10,5 @@ interface UserRepository { suspend fun createUser(user: User) suspend fun updateUser(user: User) suspend fun deleteUser(user: User) -// suspend fun getUserById(id: Int): User -// suspend fun getUserByEmail(email: String): User + suspend fun authUser(user: UserRemoteSignIn): User } \ No newline at end of file diff --git a/app/src/main/java/com/example/android_programming/vmodel/AppViewModelProvider.kt b/app/src/main/java/com/example/android_programming/businessLogic/vmodel/AppViewModelProvider.kt similarity index 91% rename from app/src/main/java/com/example/android_programming/vmodel/AppViewModelProvider.kt rename to app/src/main/java/com/example/android_programming/businessLogic/vmodel/AppViewModelProvider.kt index 186ab7c..1822f93 100644 --- a/app/src/main/java/com/example/android_programming/vmodel/AppViewModelProvider.kt +++ b/app/src/main/java/com/example/android_programming/businessLogic/vmodel/AppViewModelProvider.kt @@ -1,4 +1,4 @@ -package com.example.android_programming.vmodel +package com.example.android_programming.businessLogic.vmodel import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.viewmodel.CreationExtras diff --git a/app/src/main/java/com/example/android_programming/vmodel/BasketViewModel.kt b/app/src/main/java/com/example/android_programming/businessLogic/vmodel/BasketViewModel.kt similarity index 87% rename from app/src/main/java/com/example/android_programming/vmodel/BasketViewModel.kt rename to app/src/main/java/com/example/android_programming/businessLogic/vmodel/BasketViewModel.kt index 181f165..8323dc4 100644 --- a/app/src/main/java/com/example/android_programming/vmodel/BasketViewModel.kt +++ b/app/src/main/java/com/example/android_programming/businessLogic/vmodel/BasketViewModel.kt @@ -1,15 +1,10 @@ -package com.example.android_programming.vmodel +package com.example.android_programming.businessLogic.vmodel -import androidx.compose.runtime.State -import androidx.compose.runtime.collectAsState -import androidx.compose.runtime.mutableStateOf import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.example.android_programming.model.Basket import com.example.android_programming.model.BasketSneakers import com.example.android_programming.model.BasketWithSneakers -import com.example.android_programming.model.Sneaker -import com.example.android_programming.repository.BasketRepository +import com.example.android_programming.businessLogic.repo.BasketRepository import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow diff --git a/app/src/main/java/com/example/android_programming/vmodel/OrderViewModel.kt b/app/src/main/java/com/example/android_programming/businessLogic/vmodel/OrderViewModel.kt similarity index 86% rename from app/src/main/java/com/example/android_programming/vmodel/OrderViewModel.kt rename to app/src/main/java/com/example/android_programming/businessLogic/vmodel/OrderViewModel.kt index e3010b8..21697a1 100644 --- a/app/src/main/java/com/example/android_programming/vmodel/OrderViewModel.kt +++ b/app/src/main/java/com/example/android_programming/businessLogic/vmodel/OrderViewModel.kt @@ -1,26 +1,20 @@ -package com.example.android_programming.vmodel +package com.example.android_programming.businessLogic.vmodel import androidx.compose.runtime.State import androidx.compose.runtime.mutableStateOf import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.viewModelScope -import androidx.lifecycle.viewmodel.CreationExtras -import com.example.android_programming.App import com.example.android_programming.GlobalUser -import com.example.android_programming.database.AppDatabase import com.example.android_programming.model.Order import com.example.android_programming.model.OrderSneaker import com.example.android_programming.model.OrderWithSneakers import com.example.android_programming.model.Sneaker import com.example.android_programming.model.UserWithOrder -import com.example.android_programming.repository.BasketRepository -import com.example.android_programming.repository.OrderRepository -import com.example.android_programming.repository.SneakerRepository +import com.example.android_programming.businessLogic.repo.BasketRepository +import com.example.android_programming.businessLogic.repo.OrderRepository import kotlinx.coroutines.flow.Flow -import kotlinx.coroutines.flow.map import kotlinx.coroutines.launch import java.util.Date diff --git a/app/src/main/java/com/example/android_programming/vmodel/SneakerViewModel.kt b/app/src/main/java/com/example/android_programming/businessLogic/vmodel/SneakerViewModel.kt similarity index 66% rename from app/src/main/java/com/example/android_programming/vmodel/SneakerViewModel.kt rename to app/src/main/java/com/example/android_programming/businessLogic/vmodel/SneakerViewModel.kt index f4fd4b3..573f93a 100644 --- a/app/src/main/java/com/example/android_programming/vmodel/SneakerViewModel.kt +++ b/app/src/main/java/com/example/android_programming/businessLogic/vmodel/SneakerViewModel.kt @@ -1,30 +1,14 @@ -package com.example.android_programming.vmodel +package com.example.android_programming.businessLogic.vmodel -import androidx.compose.runtime.MutableState -import androidx.compose.runtime.State import androidx.compose.runtime.mutableIntStateOf import androidx.compose.runtime.mutableStateOf import androidx.lifecycle.ViewModel -import androidx.lifecycle.ViewModelProvider -import androidx.lifecycle.ViewModelProvider.AndroidViewModelFactory.Companion.APPLICATION_KEY import androidx.lifecycle.viewModelScope -import androidx.lifecycle.viewmodel.CreationExtras -import androidx.paging.Pager -import androidx.paging.PagingConfig -import androidx.paging.PagingData -import androidx.paging.cachedIn -import androidx.paging.map -import com.example.android_programming.App import com.example.android_programming.R -import com.example.android_programming.api.model.toSneakerRemote import com.example.android_programming.api.repository.RestSneakerRepository -import com.example.android_programming.database.AppDatabase import com.example.android_programming.model.Sneaker -import com.example.android_programming.repository.SneakerRepository -import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow -import kotlinx.coroutines.flow.map import kotlinx.coroutines.launch class SneakerViewModel(private val sneakerRepository: RestSneakerRepository): ViewModel() { diff --git a/app/src/main/java/com/example/android_programming/vmodel/UserViewModel.kt b/app/src/main/java/com/example/android_programming/businessLogic/vmodel/UserViewModel.kt similarity index 55% rename from app/src/main/java/com/example/android_programming/vmodel/UserViewModel.kt rename to app/src/main/java/com/example/android_programming/businessLogic/vmodel/UserViewModel.kt index d866d16..a455495 100644 --- a/app/src/main/java/com/example/android_programming/vmodel/UserViewModel.kt +++ b/app/src/main/java/com/example/android_programming/businessLogic/vmodel/UserViewModel.kt @@ -1,20 +1,13 @@ -package com.example.android_programming.vmodel +package com.example.android_programming.businessLogic.vmodel import androidx.compose.runtime.mutableStateOf import androidx.lifecycle.ViewModel -import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.viewModelScope -import androidx.lifecycle.viewmodel.CreationExtras -import com.example.android_programming.App import com.example.android_programming.GlobalUser import com.example.android_programming.R -import com.example.android_programming.database.AppDatabase -import com.example.android_programming.model.Basket -import com.example.android_programming.model.RoleEnum +import com.example.android_programming.api.model.UserRemoteSignIn import com.example.android_programming.model.User -import com.example.android_programming.repository.BasketRepository -import com.example.android_programming.repository.SneakerRepository -import com.example.android_programming.repository.UserRepository +import com.example.android_programming.businessLogic.repo.UserRepository import kotlinx.coroutines.launch class UserViewModel(private val userRepository: UserRepository): ViewModel() { @@ -29,17 +22,14 @@ class UserViewModel(private val userRepository: UserRepository): ViewModel() { surname = surname.value, email = email.value, password = password.value, - role = RoleEnum.User, + role = "USER", photo = R.drawable.shailushai ) userRepository.createUser(user) } fun authUser() = viewModelScope.launch { -// val user = userRepository.getUserByEmail(email.value) -// if (password.value != "" && user.password == password.value) { -// val globalUser = GlobalUser.getInstance() -// globalUser.setUser(user) -// } + val user = userRepository.authUser(UserRemoteSignIn(email.value, password.value)) + GlobalUser.getInstance().setUser(user) } fun isValidEmail(email: String): Boolean { diff --git a/app/src/main/java/com/example/android_programming/composeui/Navigation/NavController.kt b/app/src/main/java/com/example/android_programming/composeui/Navigation/NavController.kt index f9397af..fe03e16 100644 --- a/app/src/main/java/com/example/android_programming/composeui/Navigation/NavController.kt +++ b/app/src/main/java/com/example/android_programming/composeui/Navigation/NavController.kt @@ -18,8 +18,8 @@ import com.example.android_programming.composeui.Screens.ProfileScreen.Profile.P import com.example.android_programming.composeui.Screens.ProfileScreen.SignIn.LoginScreen import com.example.android_programming.composeui.Screens.ProfileScreen.SignUp.SignUpScreen import com.example.android_programming.model.Sneaker -import com.example.android_programming.vmodel.AppViewModelProvider -import com.example.android_programming.vmodel.OrderViewModel +import com.example.android_programming.businessLogic.vmodel.AppViewModelProvider +import com.example.android_programming.businessLogic.vmodel.OrderViewModel import com.google.gson.Gson @Composable diff --git a/app/src/main/java/com/example/android_programming/composeui/Screens/AdminPanel/AddPanel.kt b/app/src/main/java/com/example/android_programming/composeui/Screens/AdminPanel/AddPanel.kt index 1c36490..631588d 100644 --- a/app/src/main/java/com/example/android_programming/composeui/Screens/AdminPanel/AddPanel.kt +++ b/app/src/main/java/com/example/android_programming/composeui/Screens/AdminPanel/AddPanel.kt @@ -35,8 +35,8 @@ import androidx.compose.ui.unit.sp import androidx.lifecycle.viewmodel.compose.viewModel import com.example.android_programming.R import com.example.android_programming.model.PhotoManager -import com.example.android_programming.vmodel.AppViewModelProvider -import com.example.android_programming.vmodel.SneakerViewModel +import com.example.android_programming.businessLogic.vmodel.AppViewModelProvider +import com.example.android_programming.businessLogic.vmodel.SneakerViewModel @Composable fun AddPanel(sneakerViewModel: SneakerViewModel = viewModel(factory = AppViewModelProvider.Factory)){ diff --git a/app/src/main/java/com/example/android_programming/composeui/Screens/AdminPanel/AdminPanel.kt b/app/src/main/java/com/example/android_programming/composeui/Screens/AdminPanel/AdminPanel.kt index 6dd90aa..0e52142 100644 --- a/app/src/main/java/com/example/android_programming/composeui/Screens/AdminPanel/AdminPanel.kt +++ b/app/src/main/java/com/example/android_programming/composeui/Screens/AdminPanel/AdminPanel.kt @@ -23,7 +23,7 @@ import com.example.android_programming.model.RoleEnum fun AdminPanel(navHostController: NavHostController) { var isAddPanelVisible by remember { mutableStateOf(false) } var isChangePanelVisible by remember { mutableStateOf(false) } - var showDialog by remember { mutableStateOf(GlobalUser.getInstance().getUser()?.role == RoleEnum.User || GlobalUser.getInstance().getUser()?.role == null) } + var showDialog by remember { mutableStateOf(GlobalUser.getInstance().getUser()?.role == "USER" || GlobalUser.getInstance().getUser()?.role == null) } if (!showDialog) { Column( modifier = Modifier diff --git a/app/src/main/java/com/example/android_programming/composeui/Screens/AdminPanel/CardSneakerForChange.kt b/app/src/main/java/com/example/android_programming/composeui/Screens/AdminPanel/CardSneakerForChange.kt index 8fe0db7..2516f5d 100644 --- a/app/src/main/java/com/example/android_programming/composeui/Screens/AdminPanel/CardSneakerForChange.kt +++ b/app/src/main/java/com/example/android_programming/composeui/Screens/AdminPanel/CardSneakerForChange.kt @@ -30,8 +30,8 @@ import androidx.lifecycle.viewmodel.compose.viewModel import androidx.navigation.NavHostController import com.example.android_programming.R import com.example.android_programming.model.Sneaker -import com.example.android_programming.vmodel.AppViewModelProvider -import com.example.android_programming.vmodel.SneakerViewModel +import com.example.android_programming.businessLogic.vmodel.AppViewModelProvider +import com.example.android_programming.businessLogic.vmodel.SneakerViewModel import com.google.gson.Gson @Composable diff --git a/app/src/main/java/com/example/android_programming/composeui/Screens/AdminPanel/ChangePanel.kt b/app/src/main/java/com/example/android_programming/composeui/Screens/AdminPanel/ChangePanel.kt index f2a0123..4ff998c 100644 --- a/app/src/main/java/com/example/android_programming/composeui/Screens/AdminPanel/ChangePanel.kt +++ b/app/src/main/java/com/example/android_programming/composeui/Screens/AdminPanel/ChangePanel.kt @@ -30,8 +30,8 @@ import androidx.paging.LoadState import androidx.paging.compose.collectAsLazyPagingItems import androidx.paging.compose.itemKey import com.example.android_programming.model.Sneaker -import com.example.android_programming.vmodel.AppViewModelProvider -import com.example.android_programming.vmodel.SneakerViewModel +import com.example.android_programming.businessLogic.vmodel.AppViewModelProvider +import com.example.android_programming.businessLogic.vmodel.SneakerViewModel import kotlinx.coroutines.delay @Composable diff --git a/app/src/main/java/com/example/android_programming/composeui/Screens/AdminPanel/ChangeSneaker.kt b/app/src/main/java/com/example/android_programming/composeui/Screens/AdminPanel/ChangeSneaker.kt index 0f8460f..1090870 100644 --- a/app/src/main/java/com/example/android_programming/composeui/Screens/AdminPanel/ChangeSneaker.kt +++ b/app/src/main/java/com/example/android_programming/composeui/Screens/AdminPanel/ChangeSneaker.kt @@ -43,8 +43,8 @@ import androidx.lifecycle.viewmodel.compose.viewModel import com.example.android_programming.R import com.example.android_programming.model.PhotoManager import com.example.android_programming.model.Sneaker -import com.example.android_programming.vmodel.AppViewModelProvider -import com.example.android_programming.vmodel.SneakerViewModel +import com.example.android_programming.businessLogic.vmodel.AppViewModelProvider +import com.example.android_programming.businessLogic.vmodel.SneakerViewModel @Composable fun ChangeSneaker(sneaker: Sneaker, onBackClick: () -> Unit, sneakerViewModel: SneakerViewModel = viewModel(factory = AppViewModelProvider.Factory)) { diff --git a/app/src/main/java/com/example/android_programming/composeui/Screens/HomeScreen/HomeScreen.kt b/app/src/main/java/com/example/android_programming/composeui/Screens/HomeScreen/HomeScreen.kt index e2b210f..97b9de4 100644 --- a/app/src/main/java/com/example/android_programming/composeui/Screens/HomeScreen/HomeScreen.kt +++ b/app/src/main/java/com/example/android_programming/composeui/Screens/HomeScreen/HomeScreen.kt @@ -23,8 +23,8 @@ import com.example.android_programming.composeui.Screens.HomeScreen.FilterByBran import com.example.android_programming.composeui.Screens.HomeScreen.SearchField.SearchField import com.example.android_programming.composeui.Screens.HomeScreen.SneakerRecyclerView.RecyclerView import com.example.android_programming.model.Sneaker -import com.example.android_programming.vmodel.AppViewModelProvider -import com.example.android_programming.vmodel.OrderViewModel +import com.example.android_programming.businessLogic.vmodel.AppViewModelProvider +import com.example.android_programming.businessLogic.vmodel.OrderViewModel @Composable fun HomeScreen(navHostController: NavHostController) { diff --git a/app/src/main/java/com/example/android_programming/composeui/Screens/HomeScreen/SneakerRecyclerView/CardSneaker.kt b/app/src/main/java/com/example/android_programming/composeui/Screens/HomeScreen/SneakerRecyclerView/CardSneaker.kt index d7fc986..c5c8d95 100644 --- a/app/src/main/java/com/example/android_programming/composeui/Screens/HomeScreen/SneakerRecyclerView/CardSneaker.kt +++ b/app/src/main/java/com/example/android_programming/composeui/Screens/HomeScreen/SneakerRecyclerView/CardSneaker.kt @@ -33,9 +33,9 @@ import com.example.android_programming.GlobalUser import com.example.android_programming.R import com.example.android_programming.model.BasketSneakers import com.example.android_programming.model.Sneaker -import com.example.android_programming.vmodel.AppViewModelProvider -import com.example.android_programming.vmodel.BasketViewModel -import com.example.android_programming.vmodel.SneakerViewModel +import com.example.android_programming.businessLogic.vmodel.AppViewModelProvider +import com.example.android_programming.businessLogic.vmodel.BasketViewModel +import com.example.android_programming.businessLogic.vmodel.SneakerViewModel import com.google.gson.Gson @Composable diff --git a/app/src/main/java/com/example/android_programming/composeui/Screens/HomeScreen/SneakerRecyclerView/RecyclerView.kt b/app/src/main/java/com/example/android_programming/composeui/Screens/HomeScreen/SneakerRecyclerView/RecyclerView.kt index c5a03d9..1a40e3e 100644 --- a/app/src/main/java/com/example/android_programming/composeui/Screens/HomeScreen/SneakerRecyclerView/RecyclerView.kt +++ b/app/src/main/java/com/example/android_programming/composeui/Screens/HomeScreen/SneakerRecyclerView/RecyclerView.kt @@ -20,9 +20,9 @@ import androidx.paging.compose.collectAsLazyPagingItems import androidx.paging.compose.itemKey import com.example.android_programming.R import com.example.android_programming.model.Sneaker -import com.example.android_programming.vmodel.AppViewModelProvider -import com.example.android_programming.vmodel.OrderViewModel -import com.example.android_programming.vmodel.SneakerViewModel +import com.example.android_programming.businessLogic.vmodel.AppViewModelProvider +import com.example.android_programming.businessLogic.vmodel.OrderViewModel +import com.example.android_programming.businessLogic.vmodel.SneakerViewModel import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch diff --git a/app/src/main/java/com/example/android_programming/composeui/Screens/MyOrderScreen/MyOrderScreen.kt b/app/src/main/java/com/example/android_programming/composeui/Screens/MyOrderScreen/MyOrderScreen.kt index 24f59e8..86e8512 100644 --- a/app/src/main/java/com/example/android_programming/composeui/Screens/MyOrderScreen/MyOrderScreen.kt +++ b/app/src/main/java/com/example/android_programming/composeui/Screens/MyOrderScreen/MyOrderScreen.kt @@ -18,8 +18,8 @@ import androidx.compose.ui.unit.dp import androidx.lifecycle.viewmodel.compose.viewModel import com.example.android_programming.GlobalUser import com.example.android_programming.model.Order -import com.example.android_programming.vmodel.AppViewModelProvider -import com.example.android_programming.vmodel.OrderViewModel +import com.example.android_programming.businessLogic.vmodel.AppViewModelProvider +import com.example.android_programming.businessLogic.vmodel.OrderViewModel import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.launch diff --git a/app/src/main/java/com/example/android_programming/composeui/Screens/MyOrderScreen/OrderCard.kt b/app/src/main/java/com/example/android_programming/composeui/Screens/MyOrderScreen/OrderCard.kt index 32aeaaf..693ff7e 100644 --- a/app/src/main/java/com/example/android_programming/composeui/Screens/MyOrderScreen/OrderCard.kt +++ b/app/src/main/java/com/example/android_programming/composeui/Screens/MyOrderScreen/OrderCard.kt @@ -34,8 +34,8 @@ import androidx.lifecycle.viewmodel.compose.viewModel import com.example.android_programming.R import com.example.android_programming.model.Order import com.example.android_programming.model.Sneaker -import com.example.android_programming.vmodel.AppViewModelProvider -import com.example.android_programming.vmodel.OrderViewModel +import com.example.android_programming.businessLogic.vmodel.AppViewModelProvider +import com.example.android_programming.businessLogic.vmodel.OrderViewModel import java.util.Date @Composable diff --git a/app/src/main/java/com/example/android_programming/composeui/Screens/OrderScreen/CardSneaker.kt b/app/src/main/java/com/example/android_programming/composeui/Screens/OrderScreen/CardSneaker.kt index 7bc971b..952bcbf 100644 --- a/app/src/main/java/com/example/android_programming/composeui/Screens/OrderScreen/CardSneaker.kt +++ b/app/src/main/java/com/example/android_programming/composeui/Screens/OrderScreen/CardSneaker.kt @@ -37,9 +37,9 @@ import androidx.lifecycle.viewmodel.compose.viewModel import com.example.android_programming.GlobalUser import com.example.android_programming.R import com.example.android_programming.model.Sneaker -import com.example.android_programming.vmodel.AppViewModelProvider -import com.example.android_programming.vmodel.BasketViewModel -import com.example.android_programming.vmodel.OrderViewModel +import com.example.android_programming.businessLogic.vmodel.AppViewModelProvider +import com.example.android_programming.businessLogic.vmodel.BasketViewModel +import com.example.android_programming.businessLogic.vmodel.OrderViewModel @SuppressLint("UnrememberedMutableState") @Composable diff --git a/app/src/main/java/com/example/android_programming/composeui/Screens/OrderScreen/DeliveryAddress.kt b/app/src/main/java/com/example/android_programming/composeui/Screens/OrderScreen/DeliveryAddress.kt index 4e85400..a5df912 100644 --- a/app/src/main/java/com/example/android_programming/composeui/Screens/OrderScreen/DeliveryAddress.kt +++ b/app/src/main/java/com/example/android_programming/composeui/Screens/OrderScreen/DeliveryAddress.kt @@ -27,7 +27,7 @@ import androidx.compose.ui.text.input.KeyboardType import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import com.example.android_programming.R -import com.example.android_programming.vmodel.OrderViewModel +import com.example.android_programming.businessLogic.vmodel.OrderViewModel @Composable fun DeliveryAddress(orderViewModel: OrderViewModel) { diff --git a/app/src/main/java/com/example/android_programming/composeui/Screens/OrderScreen/OrderScreen.kt b/app/src/main/java/com/example/android_programming/composeui/Screens/OrderScreen/OrderScreen.kt index a955c09..430e4cd 100644 --- a/app/src/main/java/com/example/android_programming/composeui/Screens/OrderScreen/OrderScreen.kt +++ b/app/src/main/java/com/example/android_programming/composeui/Screens/OrderScreen/OrderScreen.kt @@ -23,9 +23,9 @@ import androidx.navigation.NavHostController import com.example.android_programming.GlobalUser import com.example.android_programming.R import com.example.android_programming.model.Sneaker -import com.example.android_programming.vmodel.AppViewModelProvider -import com.example.android_programming.vmodel.BasketViewModel -import com.example.android_programming.vmodel.OrderViewModel +import com.example.android_programming.businessLogic.vmodel.AppViewModelProvider +import com.example.android_programming.businessLogic.vmodel.BasketViewModel +import com.example.android_programming.businessLogic.vmodel.OrderViewModel @Composable diff --git a/app/src/main/java/com/example/android_programming/composeui/Screens/OrderScreen/ShoppingList.kt b/app/src/main/java/com/example/android_programming/composeui/Screens/OrderScreen/ShoppingList.kt index e94d218..a8b2234 100644 --- a/app/src/main/java/com/example/android_programming/composeui/Screens/OrderScreen/ShoppingList.kt +++ b/app/src/main/java/com/example/android_programming/composeui/Screens/OrderScreen/ShoppingList.kt @@ -4,7 +4,7 @@ import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.runtime.Composable import com.example.android_programming.model.Sneaker -import com.example.android_programming.vmodel.OrderViewModel +import com.example.android_programming.businessLogic.vmodel.OrderViewModel @Composable fun ShoppingList(list : List) { diff --git a/app/src/main/java/com/example/android_programming/composeui/Screens/OrderScreen/SubTotal.kt b/app/src/main/java/com/example/android_programming/composeui/Screens/OrderScreen/SubTotal.kt index f86a7ca..50a7485 100644 --- a/app/src/main/java/com/example/android_programming/composeui/Screens/OrderScreen/SubTotal.kt +++ b/app/src/main/java/com/example/android_programming/composeui/Screens/OrderScreen/SubTotal.kt @@ -17,7 +17,7 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import com.example.android_programming.GlobalUser import com.example.android_programming.R -import com.example.android_programming.vmodel.OrderViewModel +import com.example.android_programming.businessLogic.vmodel.OrderViewModel @Composable fun SubTotal(orderViewModel: OrderViewModel) { diff --git a/app/src/main/java/com/example/android_programming/composeui/Screens/ProfileScreen/Profile/ProfileScreen.kt b/app/src/main/java/com/example/android_programming/composeui/Screens/ProfileScreen/Profile/ProfileScreen.kt index fbfe741..f34a30d 100644 --- a/app/src/main/java/com/example/android_programming/composeui/Screens/ProfileScreen/Profile/ProfileScreen.kt +++ b/app/src/main/java/com/example/android_programming/composeui/Screens/ProfileScreen/Profile/ProfileScreen.kt @@ -8,8 +8,8 @@ import androidx.navigation.compose.rememberNavController import com.example.android_programming.GlobalUser import com.example.android_programming.composeui.Screens.ProfileScreen.SignIn.LoginScreen import com.example.android_programming.model.Basket -import com.example.android_programming.vmodel.AppViewModelProvider -import com.example.android_programming.vmodel.BasketViewModel +import com.example.android_programming.businessLogic.vmodel.AppViewModelProvider +import com.example.android_programming.businessLogic.vmodel.BasketViewModel @Composable fun ProfileScreen(navController: NavHostController) { diff --git a/app/src/main/java/com/example/android_programming/composeui/Screens/ProfileScreen/SignIn/SignInCard.kt b/app/src/main/java/com/example/android_programming/composeui/Screens/ProfileScreen/SignIn/SignInCard.kt index db9b4c8..dae6979 100644 --- a/app/src/main/java/com/example/android_programming/composeui/Screens/ProfileScreen/SignIn/SignInCard.kt +++ b/app/src/main/java/com/example/android_programming/composeui/Screens/ProfileScreen/SignIn/SignInCard.kt @@ -40,9 +40,9 @@ import androidx.navigation.NavHostController import com.example.android_programming.GlobalUser import com.example.android_programming.R import com.example.android_programming.model.Basket -import com.example.android_programming.vmodel.AppViewModelProvider -import com.example.android_programming.vmodel.BasketViewModel -import com.example.android_programming.vmodel.UserViewModel +import com.example.android_programming.businessLogic.vmodel.AppViewModelProvider +import com.example.android_programming.businessLogic.vmodel.BasketViewModel +import com.example.android_programming.businessLogic.vmodel.UserViewModel @Composable fun SignInCard(navController: NavHostController, userViewModel: UserViewModel = viewModel(factory = AppViewModelProvider.Factory), basketViewModel: BasketViewModel = viewModel(factory = AppViewModelProvider.Factory)) { diff --git a/app/src/main/java/com/example/android_programming/composeui/Screens/ProfileScreen/SignUp/SignUpCard.kt b/app/src/main/java/com/example/android_programming/composeui/Screens/ProfileScreen/SignUp/SignUpCard.kt index eca7d8b..60214f1 100644 --- a/app/src/main/java/com/example/android_programming/composeui/Screens/ProfileScreen/SignUp/SignUpCard.kt +++ b/app/src/main/java/com/example/android_programming/composeui/Screens/ProfileScreen/SignUp/SignUpCard.kt @@ -32,8 +32,8 @@ import androidx.compose.ui.unit.sp import androidx.lifecycle.viewmodel.compose.viewModel import androidx.navigation.NavHostController import com.example.android_programming.R -import com.example.android_programming.vmodel.AppViewModelProvider -import com.example.android_programming.vmodel.UserViewModel +import com.example.android_programming.businessLogic.vmodel.AppViewModelProvider +import com.example.android_programming.businessLogic.vmodel.UserViewModel @Composable fun SignUpCard(navHostController: NavHostController, userViewModel: UserViewModel = viewModel(factory = AppViewModelProvider.Factory)) { diff --git a/app/src/main/java/com/example/android_programming/database/AppDatabase.kt b/app/src/main/java/com/example/android_programming/database/AppDatabase.kt index 9aa91dc..4a32b34 100644 --- a/app/src/main/java/com/example/android_programming/database/AppDatabase.kt +++ b/app/src/main/java/com/example/android_programming/database/AppDatabase.kt @@ -6,17 +6,16 @@ import androidx.room.Room import androidx.room.RoomDatabase import androidx.sqlite.db.SupportSQLiteDatabase import com.example.android_programming.R -import com.example.android_programming.dao.BasketDao -import com.example.android_programming.dao.OrderDao -import com.example.android_programming.dao.SneakerDao -import com.example.android_programming.dao.UserDao -import com.example.android_programming.database.remotekeys.dao.RemoteKeysDao -import com.example.android_programming.database.remotekeys.model.RemoteKeys +import com.example.android_programming.database.dao.BasketDao +import com.example.android_programming.database.dao.OrderDao +import com.example.android_programming.database.dao.SneakerDao +import com.example.android_programming.database.dao.UserDao +import com.example.android_programming.database.dao.RemoteKeysDao +import com.example.android_programming.model.RemoteKeys import com.example.android_programming.model.Basket import com.example.android_programming.model.BasketSneakers import com.example.android_programming.model.Order import com.example.android_programming.model.OrderSneaker -import com.example.android_programming.model.RoleEnum import com.example.android_programming.model.Sneaker import com.example.android_programming.model.User import kotlinx.coroutines.CoroutineScope @@ -41,9 +40,9 @@ abstract class AppDatabase : RoomDatabase() { INSTANCE?.let { database -> // User val userDao = database.userDao() - val user1 = User(null, "Artem", "Emelyanov", "artem@mail.ru", "123", RoleEnum.Admin) - val user2 = User(null, "Danil", "Markov", "danil@mail.ru", "123", RoleEnum.User) - val user3 = User(null, "Viktoria", "Presnyakova", "vika@mail.ru", "123", RoleEnum.User) + val user1 = User(null, "Artem", "Emelyanov", "artem@mail.ru", "123", "ADMIN") + val user2 = User(null, "Danil", "Markov", "danil@mail.ru", "123", "USER") + val user3 = User(null, "Viktoria", "Presnyakova", "vika@mail.ru", "123", "USER") userDao.createUser(user1) userDao.createUser(user2) userDao.createUser(user3) diff --git a/app/src/main/java/com/example/android_programming/dao/BasketDao.kt b/app/src/main/java/com/example/android_programming/database/dao/BasketDao.kt similarity index 97% rename from app/src/main/java/com/example/android_programming/dao/BasketDao.kt rename to app/src/main/java/com/example/android_programming/database/dao/BasketDao.kt index 94f36e6..9f46127 100644 --- a/app/src/main/java/com/example/android_programming/dao/BasketDao.kt +++ b/app/src/main/java/com/example/android_programming/database/dao/BasketDao.kt @@ -1,4 +1,4 @@ -package com.example.android_programming.dao +package com.example.android_programming.database.dao import androidx.room.Dao import androidx.room.Delete diff --git a/app/src/main/java/com/example/android_programming/dao/OrderDao.kt b/app/src/main/java/com/example/android_programming/database/dao/OrderDao.kt similarity index 94% rename from app/src/main/java/com/example/android_programming/dao/OrderDao.kt rename to app/src/main/java/com/example/android_programming/database/dao/OrderDao.kt index 69c7c35..56c81cb 100644 --- a/app/src/main/java/com/example/android_programming/dao/OrderDao.kt +++ b/app/src/main/java/com/example/android_programming/database/dao/OrderDao.kt @@ -1,4 +1,4 @@ -package com.example.android_programming.dao +package com.example.android_programming.database.dao import androidx.room.Dao import androidx.room.Delete diff --git a/app/src/main/java/com/example/android_programming/database/remotekeys/dao/RemoteKeysDao.kt b/app/src/main/java/com/example/android_programming/database/dao/RemoteKeysDao.kt similarity index 70% rename from app/src/main/java/com/example/android_programming/database/remotekeys/dao/RemoteKeysDao.kt rename to app/src/main/java/com/example/android_programming/database/dao/RemoteKeysDao.kt index 02d7fb8..fc7137d 100644 --- a/app/src/main/java/com/example/android_programming/database/remotekeys/dao/RemoteKeysDao.kt +++ b/app/src/main/java/com/example/android_programming/database/dao/RemoteKeysDao.kt @@ -1,11 +1,11 @@ -package com.example.android_programming.database.remotekeys.dao +package com.example.android_programming.database.dao import androidx.room.Dao import androidx.room.Insert import androidx.room.OnConflictStrategy import androidx.room.Query -import com.example.android_programming.database.remotekeys.model.RemoteKeyType -import com.example.android_programming.database.remotekeys.model.RemoteKeys +import com.example.android_programming.model.RemoteKeyType +import com.example.android_programming.model.RemoteKeys @Dao interface RemoteKeysDao { diff --git a/app/src/main/java/com/example/android_programming/dao/SneakerDao.kt b/app/src/main/java/com/example/android_programming/database/dao/SneakerDao.kt similarity index 93% rename from app/src/main/java/com/example/android_programming/dao/SneakerDao.kt rename to app/src/main/java/com/example/android_programming/database/dao/SneakerDao.kt index ab8406f..a4b9df3 100644 --- a/app/src/main/java/com/example/android_programming/dao/SneakerDao.kt +++ b/app/src/main/java/com/example/android_programming/database/dao/SneakerDao.kt @@ -1,4 +1,4 @@ -package com.example.android_programming.dao +package com.example.android_programming.database.dao import androidx.paging.PagingSource import androidx.room.Dao diff --git a/app/src/main/java/com/example/android_programming/dao/UserDao.kt b/app/src/main/java/com/example/android_programming/database/dao/UserDao.kt similarity index 92% rename from app/src/main/java/com/example/android_programming/dao/UserDao.kt rename to app/src/main/java/com/example/android_programming/database/dao/UserDao.kt index 526385e..2df07c6 100644 --- a/app/src/main/java/com/example/android_programming/dao/UserDao.kt +++ b/app/src/main/java/com/example/android_programming/database/dao/UserDao.kt @@ -1,4 +1,4 @@ -package com.example.android_programming.dao +package com.example.android_programming.database.dao import androidx.room.Dao import androidx.room.Delete diff --git a/app/src/main/java/com/example/android_programming/database/remotekeys/repository/RemoteKeyRepository.kt b/app/src/main/java/com/example/android_programming/database/remotekeys/repository/RemoteKeyRepository.kt deleted file mode 100644 index 76f4cbd..0000000 --- a/app/src/main/java/com/example/android_programming/database/remotekeys/repository/RemoteKeyRepository.kt +++ /dev/null @@ -1,10 +0,0 @@ -package com.example.android_programming.database.remotekeys.repository - -import com.example.android_programming.database.remotekeys.model.RemoteKeyType -import com.example.android_programming.database.remotekeys.model.RemoteKeys - -interface RemoteKeyRepository { - suspend fun getAllRemoteKeys(id: Int, type: RemoteKeyType): RemoteKeys? - suspend fun createRemoteKeys(remoteKeys: List) - suspend fun deleteRemoteKey(type: RemoteKeyType) -} \ No newline at end of file diff --git a/app/src/main/java/com/example/android_programming/repository/BasketRepoImpl.kt b/app/src/main/java/com/example/android_programming/database/repository/BasketRepoImpl.kt similarity index 89% rename from app/src/main/java/com/example/android_programming/repository/BasketRepoImpl.kt rename to app/src/main/java/com/example/android_programming/database/repository/BasketRepoImpl.kt index 761984d..a43cf2a 100644 --- a/app/src/main/java/com/example/android_programming/repository/BasketRepoImpl.kt +++ b/app/src/main/java/com/example/android_programming/database/repository/BasketRepoImpl.kt @@ -1,6 +1,7 @@ -package com.example.android_programming.repository +package com.example.android_programming.database.repository -import com.example.android_programming.dao.BasketDao +import com.example.android_programming.businessLogic.repo.BasketRepository +import com.example.android_programming.database.dao.BasketDao import com.example.android_programming.model.Basket import com.example.android_programming.model.BasketSneakers import com.example.android_programming.model.BasketWithSneakers diff --git a/app/src/main/java/com/example/android_programming/repository/OrderRepoImpl.kt b/app/src/main/java/com/example/android_programming/database/repository/OrderRepoImpl.kt similarity index 82% rename from app/src/main/java/com/example/android_programming/repository/OrderRepoImpl.kt rename to app/src/main/java/com/example/android_programming/database/repository/OrderRepoImpl.kt index 9b5b49d..92e18e7 100644 --- a/app/src/main/java/com/example/android_programming/repository/OrderRepoImpl.kt +++ b/app/src/main/java/com/example/android_programming/database/repository/OrderRepoImpl.kt @@ -1,6 +1,7 @@ -package com.example.android_programming.repository +package com.example.android_programming.database.repository -import com.example.android_programming.dao.OrderDao +import com.example.android_programming.businessLogic.repo.OrderRepository +import com.example.android_programming.database.dao.OrderDao import com.example.android_programming.model.Order import com.example.android_programming.model.OrderSneaker import com.example.android_programming.model.OrderWithSneakers diff --git a/app/src/main/java/com/example/android_programming/database/remotekeys/repository/RemoteKeysRepositoryImpl.kt b/app/src/main/java/com/example/android_programming/database/repository/RemoteKeysRepositoryImpl.kt similarity index 58% rename from app/src/main/java/com/example/android_programming/database/remotekeys/repository/RemoteKeysRepositoryImpl.kt rename to app/src/main/java/com/example/android_programming/database/repository/RemoteKeysRepositoryImpl.kt index 39a8134..59fa327 100644 --- a/app/src/main/java/com/example/android_programming/database/remotekeys/repository/RemoteKeysRepositoryImpl.kt +++ b/app/src/main/java/com/example/android_programming/database/repository/RemoteKeysRepositoryImpl.kt @@ -1,8 +1,9 @@ -package com.example.android_programming.database.remotekeys.repository +package com.example.android_programming.database.repository -import com.example.android_programming.database.remotekeys.dao.RemoteKeysDao -import com.example.android_programming.database.remotekeys.model.RemoteKeyType -import com.example.android_programming.database.remotekeys.model.RemoteKeys +import com.example.android_programming.businessLogic.repo.RemoteKeyRepository +import com.example.android_programming.database.dao.RemoteKeysDao +import com.example.android_programming.model.RemoteKeyType +import com.example.android_programming.model.RemoteKeys class RemoteKeysRepositoryImpl(private val remoteKeysDao: RemoteKeysDao) : RemoteKeyRepository { override suspend fun getAllRemoteKeys(id: Int, type: RemoteKeyType) = diff --git a/app/src/main/java/com/example/android_programming/repository/SneakerRepoImpl.kt b/app/src/main/java/com/example/android_programming/database/repository/SneakerRepoImpl.kt similarity index 88% rename from app/src/main/java/com/example/android_programming/repository/SneakerRepoImpl.kt rename to app/src/main/java/com/example/android_programming/database/repository/SneakerRepoImpl.kt index 12d356a..b87451d 100644 --- a/app/src/main/java/com/example/android_programming/repository/SneakerRepoImpl.kt +++ b/app/src/main/java/com/example/android_programming/database/repository/SneakerRepoImpl.kt @@ -1,12 +1,12 @@ -package com.example.android_programming.repository +package com.example.android_programming.database.repository import androidx.paging.Pager import androidx.paging.PagingConfig import androidx.paging.PagingData import androidx.paging.PagingSource -import androidx.paging.cachedIn import com.example.android_programming.AppContainer -import com.example.android_programming.dao.SneakerDao +import com.example.android_programming.businessLogic.repo.SneakerRepository +import com.example.android_programming.database.dao.SneakerDao import com.example.android_programming.model.Sneaker import kotlinx.coroutines.flow.Flow diff --git a/app/src/main/java/com/example/android_programming/database/repository/UserRepoImpl.kt b/app/src/main/java/com/example/android_programming/database/repository/UserRepoImpl.kt new file mode 100644 index 0000000..d9af4a0 --- /dev/null +++ b/app/src/main/java/com/example/android_programming/database/repository/UserRepoImpl.kt @@ -0,0 +1,17 @@ +package com.example.android_programming.database.repository + +//class UserRepoImpl(private val userDao: UserDao) : UserRepository { +// +// override suspend fun createUser(user: User) = userDao.createUser(user) +// +// override suspend fun updateUser(user: User) = userDao.updateUser(user) +// +// override suspend fun deleteUser(user: User) = userDao.deleteUser(user) +//// override suspend fun authUser(user: UserRemoteSignIn): User { +//// println() +//// } +// +//// override suspend fun getUserById(id: Int): User = userDao.getUserById(id) +//// +//// override suspend fun getUserByEmail(email: String): User = userDao.getUserByEmail(email) +//} \ No newline at end of file diff --git a/app/src/main/java/com/example/android_programming/database/remotekeys/model/RemoteKeys.kt b/app/src/main/java/com/example/android_programming/model/RemoteKeys.kt similarity index 84% rename from app/src/main/java/com/example/android_programming/database/remotekeys/model/RemoteKeys.kt rename to app/src/main/java/com/example/android_programming/model/RemoteKeys.kt index 395a6be..2cd447a 100644 --- a/app/src/main/java/com/example/android_programming/database/remotekeys/model/RemoteKeys.kt +++ b/app/src/main/java/com/example/android_programming/model/RemoteKeys.kt @@ -1,10 +1,9 @@ -package com.example.android_programming.database.remotekeys.model +package com.example.android_programming.model import androidx.room.Entity import androidx.room.PrimaryKey import androidx.room.TypeConverter import androidx.room.TypeConverters -import com.example.android_programming.model.Sneaker enum class RemoteKeyType(private val type: String) { SNEAKER(Sneaker::class.simpleName ?: "Sneaker"); diff --git a/app/src/main/java/com/example/android_programming/model/User.kt b/app/src/main/java/com/example/android_programming/model/User.kt index 5cdcacd..f190adf 100644 --- a/app/src/main/java/com/example/android_programming/model/User.kt +++ b/app/src/main/java/com/example/android_programming/model/User.kt @@ -17,7 +17,7 @@ data class User( @ColumnInfo(name = "Password") val password: String, @ColumnInfo(name = "Role") - val role: RoleEnum, + val role: String, @ColumnInfo(name = "Photo") val photo: Int? = null, ) diff --git a/app/src/main/java/com/example/android_programming/repository/UserRepoImpl.kt b/app/src/main/java/com/example/android_programming/repository/UserRepoImpl.kt deleted file mode 100644 index 6d761bf..0000000 --- a/app/src/main/java/com/example/android_programming/repository/UserRepoImpl.kt +++ /dev/null @@ -1,19 +0,0 @@ -package com.example.android_programming.repository - -import com.example.android_programming.dao.UserDao -import com.example.android_programming.model.User -import com.example.android_programming.model.UserWithOrder -import kotlinx.coroutines.flow.Flow - -class UserRepoImpl(private val userDao: UserDao) : UserRepository { - - override suspend fun createUser(user: User) = userDao.createUser(user) - - override suspend fun updateUser(user: User) = userDao.updateUser(user) - - override suspend fun deleteUser(user: User) = userDao.deleteUser(user) - -// override suspend fun getUserById(id: Int): User = userDao.getUserById(id) -// -// override suspend fun getUserByEmail(email: String): User = userDao.getUserByEmail(email) -} \ No newline at end of file