Fix: refactor project
This commit is contained in:
parent
6b41efd82e
commit
10b53b7f81
@ -2,10 +2,8 @@ package com.example.android_programming
|
|||||||
|
|
||||||
import com.example.android_programming.api.repository.RestSneakerRepository
|
import com.example.android_programming.api.repository.RestSneakerRepository
|
||||||
import com.example.android_programming.api.repository.RestUserRepository
|
import com.example.android_programming.api.repository.RestUserRepository
|
||||||
import com.example.android_programming.repository.BasketRepository
|
import com.example.android_programming.businessLogic.repo.BasketRepository
|
||||||
import com.example.android_programming.repository.OrderRepository
|
import com.example.android_programming.businessLogic.repo.OrderRepository
|
||||||
import com.example.android_programming.repository.SneakerRepository
|
|
||||||
import com.example.android_programming.repository.UserRepository
|
|
||||||
|
|
||||||
interface AppContainer {
|
interface AppContainer {
|
||||||
val sneakerRepo: RestSneakerRepository
|
val sneakerRepo: RestSneakerRepository
|
||||||
|
@ -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.RestSneakerRepository
|
||||||
import com.example.android_programming.api.repository.RestUserRepository
|
import com.example.android_programming.api.repository.RestUserRepository
|
||||||
import com.example.android_programming.database.AppDatabase
|
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.repository.BasketRepoImpl
|
import com.example.android_programming.database.repository.BasketRepoImpl
|
||||||
import com.example.android_programming.repository.BasketRepository
|
import com.example.android_programming.businessLogic.repo.BasketRepository
|
||||||
import com.example.android_programming.repository.OrderRepoImpl
|
import com.example.android_programming.database.repository.OrderRepoImpl
|
||||||
import com.example.android_programming.repository.OrderRepository
|
import com.example.android_programming.businessLogic.repo.OrderRepository
|
||||||
import com.example.android_programming.repository.SneakerRepoImpl
|
import com.example.android_programming.database.repository.SneakerRepoImpl
|
||||||
import com.example.android_programming.repository.SneakerRepository
|
|
||||||
import com.example.android_programming.repository.UserRepoImpl
|
|
||||||
import com.example.android_programming.repository.UserRepository
|
|
||||||
|
|
||||||
class AppDataContainer(private val context: Context) : AppContainer {
|
class AppDataContainer(private val context: Context) : AppContainer {
|
||||||
override val sneakerRepo: RestSneakerRepository by lazy {
|
override val sneakerRepo: RestSneakerRepository by lazy {
|
||||||
|
@ -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.SneakerRemote
|
||||||
import com.example.android_programming.api.model.UserRemote
|
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 com.jakewharton.retrofit2.converter.kotlinx.serialization.asConverterFactory
|
||||||
import kotlinx.serialization.json.Json
|
import kotlinx.serialization.json.Json
|
||||||
import okhttp3.MediaType.Companion.toMediaType
|
import okhttp3.MediaType.Companion.toMediaType
|
||||||
@ -34,6 +35,11 @@ interface BackendService {
|
|||||||
@Body user: UserRemote,
|
@Body user: UserRemote,
|
||||||
): UserRemote
|
): UserRemote
|
||||||
|
|
||||||
|
@POST("user/signin")
|
||||||
|
suspend fun SignIn(
|
||||||
|
@Body user: UserRemoteSignIn
|
||||||
|
): UserRemote
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
private const val BASE_URL = "https://59k4pfj3-8080.euw.devtunnels.ms/api/"
|
private const val BASE_URL = "https://59k4pfj3-8080.euw.devtunnels.ms/api/"
|
||||||
|
|
||||||
|
@ -6,15 +6,12 @@ import androidx.paging.PagingState
|
|||||||
import androidx.paging.RemoteMediator
|
import androidx.paging.RemoteMediator
|
||||||
import androidx.room.withTransaction
|
import androidx.room.withTransaction
|
||||||
import com.example.android_programming.api.model.toSneaker
|
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.AppDatabase
|
||||||
import com.example.android_programming.database.remotekeys.model.RemoteKeyType
|
import com.example.android_programming.model.RemoteKeyType
|
||||||
import com.example.android_programming.database.remotekeys.model.RemoteKeys
|
import com.example.android_programming.model.RemoteKeys
|
||||||
import com.example.android_programming.database.remotekeys.repository.RemoteKeyRepository
|
import com.example.android_programming.database.repository.RemoteKeysRepositoryImpl
|
||||||
import com.example.android_programming.database.remotekeys.repository.RemoteKeysRepositoryImpl
|
|
||||||
import com.example.android_programming.model.Sneaker
|
import com.example.android_programming.model.Sneaker
|
||||||
import com.example.android_programming.repository.SneakerRepoImpl
|
import com.example.android_programming.database.repository.SneakerRepoImpl
|
||||||
import com.example.android_programming.repository.SneakerRepository
|
|
||||||
import retrofit2.HttpException
|
import retrofit2.HttpException
|
||||||
import java.io.IOException
|
import java.io.IOException
|
||||||
|
|
||||||
@ -23,7 +20,7 @@ class SneakerRemoteMediator(
|
|||||||
private val service: BackendService,
|
private val service: BackendService,
|
||||||
private val sneakerRepository: SneakerRepoImpl,
|
private val sneakerRepository: SneakerRepoImpl,
|
||||||
private val database: AppDatabase,
|
private val database: AppDatabase,
|
||||||
private val dbRemoteKeyRepository:RemoteKeysRepositoryImpl
|
private val dbRemoteKeyRepository: RemoteKeysRepositoryImpl
|
||||||
) : RemoteMediator<Int, Sneaker>() {
|
) : RemoteMediator<Int, Sneaker>() {
|
||||||
override suspend fun initialize(): InitializeAction {
|
override suspend fun initialize(): InitializeAction {
|
||||||
return InitializeAction.LAUNCH_INITIAL_REFRESH
|
return InitializeAction.LAUNCH_INITIAL_REFRESH
|
||||||
|
@ -14,10 +14,11 @@ data class UserRemote (
|
|||||||
val surname: String = "",
|
val surname: String = "",
|
||||||
val email: String = "",
|
val email: String = "",
|
||||||
val password: String = "",
|
val password: String = "",
|
||||||
val role: RoleEnum = RoleEnum.User,
|
val role: String = "",
|
||||||
val photo: Int? = 0,
|
val photo: Int? = 0,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
fun UserRemote.toUser(): User = User(
|
fun UserRemote.toUser(): User = User(
|
||||||
id,
|
id,
|
||||||
name,
|
name,
|
||||||
|
@ -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 = "",
|
||||||
|
)
|
@ -1,20 +1,18 @@
|
|||||||
package com.example.android_programming.api.repository
|
package com.example.android_programming.api.repository
|
||||||
|
|
||||||
import android.util.Log
|
|
||||||
import androidx.paging.ExperimentalPagingApi
|
import androidx.paging.ExperimentalPagingApi
|
||||||
import androidx.paging.Pager
|
import androidx.paging.Pager
|
||||||
import androidx.paging.PagingConfig
|
import androidx.paging.PagingConfig
|
||||||
import androidx.paging.PagingData
|
import androidx.paging.PagingData
|
||||||
import androidx.paging.PagingSource
|
|
||||||
import com.example.android_programming.AppContainer
|
import com.example.android_programming.AppContainer
|
||||||
import com.example.android_programming.api.BackendService
|
import com.example.android_programming.api.BackendService
|
||||||
import com.example.android_programming.api.SneakerRemoteMediator
|
import com.example.android_programming.api.SneakerRemoteMediator
|
||||||
import com.example.android_programming.api.model.toSneaker
|
import com.example.android_programming.api.model.toSneaker
|
||||||
import com.example.android_programming.database.AppDatabase
|
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.model.Sneaker
|
||||||
import com.example.android_programming.repository.SneakerRepoImpl
|
import com.example.android_programming.database.repository.SneakerRepoImpl
|
||||||
import com.example.android_programming.repository.SneakerRepository
|
import com.example.android_programming.businessLogic.repo.SneakerRepository
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
|
|
||||||
class RestSneakerRepository(
|
class RestSneakerRepository(
|
||||||
|
@ -1,16 +1,17 @@
|
|||||||
package com.example.android_programming.api.repository
|
package com.example.android_programming.api.repository
|
||||||
|
|
||||||
import com.example.android_programming.api.BackendService
|
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.api.model.toUserRemote
|
||||||
import com.example.android_programming.model.User
|
import com.example.android_programming.model.User
|
||||||
import com.example.android_programming.repository.UserRepository
|
import com.example.android_programming.businessLogic.repo.UserRepository
|
||||||
|
|
||||||
class RestUserRepository(
|
class RestUserRepository(
|
||||||
private var service: BackendService
|
private var service: BackendService
|
||||||
): UserRepository {
|
): UserRepository {
|
||||||
override suspend fun createUser(user: User) {
|
override suspend fun createUser(user: User) {
|
||||||
val user1 = user.toUserRemote()
|
service.SignUp(user.toUserRemote())
|
||||||
service.SignUp(user1)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override suspend fun updateUser(user: User) {
|
override suspend fun updateUser(user: User) {
|
||||||
@ -20,5 +21,7 @@ class RestUserRepository(
|
|||||||
override suspend fun deleteUser(user: User) {
|
override suspend fun deleteUser(user: User) {
|
||||||
println()
|
println()
|
||||||
}
|
}
|
||||||
|
override suspend fun authUser(user: UserRemoteSignIn): User {
|
||||||
|
return service.SignIn(user).toUser()
|
||||||
|
}
|
||||||
}
|
}
|
@ -1,4 +1,4 @@
|
|||||||
package com.example.android_programming.repository
|
package com.example.android_programming.businessLogic.repo
|
||||||
|
|
||||||
import androidx.room.Delete
|
import androidx.room.Delete
|
||||||
import androidx.room.Insert
|
import androidx.room.Insert
|
@ -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.Order
|
||||||
import com.example.android_programming.model.OrderSneaker
|
import com.example.android_programming.model.OrderSneaker
|
@ -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<RemoteKeys>)
|
||||||
|
suspend fun deleteRemoteKey(type: RemoteKeyType)
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
package com.example.android_programming.repository
|
package com.example.android_programming.businessLogic.repo
|
||||||
|
|
||||||
import androidx.paging.PagingData
|
import androidx.paging.PagingData
|
||||||
import androidx.paging.PagingSource
|
import androidx.paging.PagingSource
|
@ -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.Basket
|
||||||
import com.example.android_programming.model.User
|
import com.example.android_programming.model.User
|
||||||
import com.example.android_programming.model.UserWithOrder
|
import com.example.android_programming.model.UserWithOrder
|
||||||
@ -9,6 +10,5 @@ interface UserRepository {
|
|||||||
suspend fun createUser(user: User)
|
suspend fun createUser(user: User)
|
||||||
suspend fun updateUser(user: User)
|
suspend fun updateUser(user: User)
|
||||||
suspend fun deleteUser(user: User)
|
suspend fun deleteUser(user: User)
|
||||||
// suspend fun getUserById(id: Int): User
|
suspend fun authUser(user: UserRemoteSignIn): User
|
||||||
// suspend fun getUserByEmail(email: String): User
|
|
||||||
}
|
}
|
@ -1,4 +1,4 @@
|
|||||||
package com.example.android_programming.vmodel
|
package com.example.android_programming.businessLogic.vmodel
|
||||||
|
|
||||||
import androidx.lifecycle.ViewModelProvider
|
import androidx.lifecycle.ViewModelProvider
|
||||||
import androidx.lifecycle.viewmodel.CreationExtras
|
import androidx.lifecycle.viewmodel.CreationExtras
|
@ -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.ViewModel
|
||||||
import androidx.lifecycle.viewModelScope
|
import androidx.lifecycle.viewModelScope
|
||||||
import com.example.android_programming.model.Basket
|
|
||||||
import com.example.android_programming.model.BasketSneakers
|
import com.example.android_programming.model.BasketSneakers
|
||||||
import com.example.android_programming.model.BasketWithSneakers
|
import com.example.android_programming.model.BasketWithSneakers
|
||||||
import com.example.android_programming.model.Sneaker
|
import com.example.android_programming.businessLogic.repo.BasketRepository
|
||||||
import com.example.android_programming.repository.BasketRepository
|
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
import kotlinx.coroutines.flow.MutableStateFlow
|
import kotlinx.coroutines.flow.MutableStateFlow
|
||||||
import kotlinx.coroutines.flow.StateFlow
|
import kotlinx.coroutines.flow.StateFlow
|
@ -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.State
|
||||||
import androidx.compose.runtime.mutableStateOf
|
import androidx.compose.runtime.mutableStateOf
|
||||||
import androidx.lifecycle.LiveData
|
import androidx.lifecycle.LiveData
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
import androidx.lifecycle.ViewModelProvider
|
|
||||||
import androidx.lifecycle.viewModelScope
|
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.GlobalUser
|
||||||
import com.example.android_programming.database.AppDatabase
|
|
||||||
import com.example.android_programming.model.Order
|
import com.example.android_programming.model.Order
|
||||||
import com.example.android_programming.model.OrderSneaker
|
import com.example.android_programming.model.OrderSneaker
|
||||||
import com.example.android_programming.model.OrderWithSneakers
|
import com.example.android_programming.model.OrderWithSneakers
|
||||||
import com.example.android_programming.model.Sneaker
|
import com.example.android_programming.model.Sneaker
|
||||||
import com.example.android_programming.model.UserWithOrder
|
import com.example.android_programming.model.UserWithOrder
|
||||||
import com.example.android_programming.repository.BasketRepository
|
import com.example.android_programming.businessLogic.repo.BasketRepository
|
||||||
import com.example.android_programming.repository.OrderRepository
|
import com.example.android_programming.businessLogic.repo.OrderRepository
|
||||||
import com.example.android_programming.repository.SneakerRepository
|
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
import kotlinx.coroutines.flow.map
|
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import java.util.Date
|
import java.util.Date
|
||||||
|
|
@ -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.mutableIntStateOf
|
||||||
import androidx.compose.runtime.mutableStateOf
|
import androidx.compose.runtime.mutableStateOf
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
import androidx.lifecycle.ViewModelProvider
|
|
||||||
import androidx.lifecycle.ViewModelProvider.AndroidViewModelFactory.Companion.APPLICATION_KEY
|
|
||||||
import androidx.lifecycle.viewModelScope
|
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.R
|
||||||
import com.example.android_programming.api.model.toSneakerRemote
|
|
||||||
import com.example.android_programming.api.repository.RestSneakerRepository
|
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.model.Sneaker
|
||||||
import com.example.android_programming.repository.SneakerRepository
|
|
||||||
import kotlinx.coroutines.flow.Flow
|
|
||||||
import kotlinx.coroutines.flow.MutableStateFlow
|
import kotlinx.coroutines.flow.MutableStateFlow
|
||||||
import kotlinx.coroutines.flow.StateFlow
|
import kotlinx.coroutines.flow.StateFlow
|
||||||
import kotlinx.coroutines.flow.map
|
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
|
||||||
class SneakerViewModel(private val sneakerRepository: RestSneakerRepository): ViewModel() {
|
class SneakerViewModel(private val sneakerRepository: RestSneakerRepository): ViewModel() {
|
@ -1,20 +1,13 @@
|
|||||||
package com.example.android_programming.vmodel
|
package com.example.android_programming.businessLogic.vmodel
|
||||||
|
|
||||||
import androidx.compose.runtime.mutableStateOf
|
import androidx.compose.runtime.mutableStateOf
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
import androidx.lifecycle.ViewModelProvider
|
|
||||||
import androidx.lifecycle.viewModelScope
|
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.GlobalUser
|
||||||
import com.example.android_programming.R
|
import com.example.android_programming.R
|
||||||
import com.example.android_programming.database.AppDatabase
|
import com.example.android_programming.api.model.UserRemoteSignIn
|
||||||
import com.example.android_programming.model.Basket
|
|
||||||
import com.example.android_programming.model.RoleEnum
|
|
||||||
import com.example.android_programming.model.User
|
import com.example.android_programming.model.User
|
||||||
import com.example.android_programming.repository.BasketRepository
|
import com.example.android_programming.businessLogic.repo.UserRepository
|
||||||
import com.example.android_programming.repository.SneakerRepository
|
|
||||||
import com.example.android_programming.repository.UserRepository
|
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
|
||||||
class UserViewModel(private val userRepository: UserRepository): ViewModel() {
|
class UserViewModel(private val userRepository: UserRepository): ViewModel() {
|
||||||
@ -29,17 +22,14 @@ class UserViewModel(private val userRepository: UserRepository): ViewModel() {
|
|||||||
surname = surname.value,
|
surname = surname.value,
|
||||||
email = email.value,
|
email = email.value,
|
||||||
password = password.value,
|
password = password.value,
|
||||||
role = RoleEnum.User,
|
role = "USER",
|
||||||
photo = R.drawable.shailushai
|
photo = R.drawable.shailushai
|
||||||
)
|
)
|
||||||
userRepository.createUser(user)
|
userRepository.createUser(user)
|
||||||
}
|
}
|
||||||
fun authUser() = viewModelScope.launch {
|
fun authUser() = viewModelScope.launch {
|
||||||
// val user = userRepository.getUserByEmail(email.value)
|
val user = userRepository.authUser(UserRemoteSignIn(email.value, password.value))
|
||||||
// if (password.value != "" && user.password == password.value) {
|
GlobalUser.getInstance().setUser(user)
|
||||||
// val globalUser = GlobalUser.getInstance()
|
|
||||||
// globalUser.setUser(user)
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fun isValidEmail(email: String): Boolean {
|
fun isValidEmail(email: String): Boolean {
|
@ -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.SignIn.LoginScreen
|
||||||
import com.example.android_programming.composeui.Screens.ProfileScreen.SignUp.SignUpScreen
|
import com.example.android_programming.composeui.Screens.ProfileScreen.SignUp.SignUpScreen
|
||||||
import com.example.android_programming.model.Sneaker
|
import com.example.android_programming.model.Sneaker
|
||||||
import com.example.android_programming.vmodel.AppViewModelProvider
|
import com.example.android_programming.businessLogic.vmodel.AppViewModelProvider
|
||||||
import com.example.android_programming.vmodel.OrderViewModel
|
import com.example.android_programming.businessLogic.vmodel.OrderViewModel
|
||||||
import com.google.gson.Gson
|
import com.google.gson.Gson
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
|
@ -35,8 +35,8 @@ import androidx.compose.ui.unit.sp
|
|||||||
import androidx.lifecycle.viewmodel.compose.viewModel
|
import androidx.lifecycle.viewmodel.compose.viewModel
|
||||||
import com.example.android_programming.R
|
import com.example.android_programming.R
|
||||||
import com.example.android_programming.model.PhotoManager
|
import com.example.android_programming.model.PhotoManager
|
||||||
import com.example.android_programming.vmodel.AppViewModelProvider
|
import com.example.android_programming.businessLogic.vmodel.AppViewModelProvider
|
||||||
import com.example.android_programming.vmodel.SneakerViewModel
|
import com.example.android_programming.businessLogic.vmodel.SneakerViewModel
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun AddPanel(sneakerViewModel: SneakerViewModel = viewModel(factory = AppViewModelProvider.Factory)){
|
fun AddPanel(sneakerViewModel: SneakerViewModel = viewModel(factory = AppViewModelProvider.Factory)){
|
||||||
|
@ -23,7 +23,7 @@ import com.example.android_programming.model.RoleEnum
|
|||||||
fun AdminPanel(navHostController: NavHostController) {
|
fun AdminPanel(navHostController: NavHostController) {
|
||||||
var isAddPanelVisible by remember { mutableStateOf(false) }
|
var isAddPanelVisible by remember { mutableStateOf(false) }
|
||||||
var isChangePanelVisible 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) {
|
if (!showDialog) {
|
||||||
Column(
|
Column(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
|
@ -30,8 +30,8 @@ import androidx.lifecycle.viewmodel.compose.viewModel
|
|||||||
import androidx.navigation.NavHostController
|
import androidx.navigation.NavHostController
|
||||||
import com.example.android_programming.R
|
import com.example.android_programming.R
|
||||||
import com.example.android_programming.model.Sneaker
|
import com.example.android_programming.model.Sneaker
|
||||||
import com.example.android_programming.vmodel.AppViewModelProvider
|
import com.example.android_programming.businessLogic.vmodel.AppViewModelProvider
|
||||||
import com.example.android_programming.vmodel.SneakerViewModel
|
import com.example.android_programming.businessLogic.vmodel.SneakerViewModel
|
||||||
import com.google.gson.Gson
|
import com.google.gson.Gson
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
|
@ -30,8 +30,8 @@ import androidx.paging.LoadState
|
|||||||
import androidx.paging.compose.collectAsLazyPagingItems
|
import androidx.paging.compose.collectAsLazyPagingItems
|
||||||
import androidx.paging.compose.itemKey
|
import androidx.paging.compose.itemKey
|
||||||
import com.example.android_programming.model.Sneaker
|
import com.example.android_programming.model.Sneaker
|
||||||
import com.example.android_programming.vmodel.AppViewModelProvider
|
import com.example.android_programming.businessLogic.vmodel.AppViewModelProvider
|
||||||
import com.example.android_programming.vmodel.SneakerViewModel
|
import com.example.android_programming.businessLogic.vmodel.SneakerViewModel
|
||||||
import kotlinx.coroutines.delay
|
import kotlinx.coroutines.delay
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
|
@ -43,8 +43,8 @@ import androidx.lifecycle.viewmodel.compose.viewModel
|
|||||||
import com.example.android_programming.R
|
import com.example.android_programming.R
|
||||||
import com.example.android_programming.model.PhotoManager
|
import com.example.android_programming.model.PhotoManager
|
||||||
import com.example.android_programming.model.Sneaker
|
import com.example.android_programming.model.Sneaker
|
||||||
import com.example.android_programming.vmodel.AppViewModelProvider
|
import com.example.android_programming.businessLogic.vmodel.AppViewModelProvider
|
||||||
import com.example.android_programming.vmodel.SneakerViewModel
|
import com.example.android_programming.businessLogic.vmodel.SneakerViewModel
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun ChangeSneaker(sneaker: Sneaker, onBackClick: () -> Unit, sneakerViewModel: SneakerViewModel = viewModel(factory = AppViewModelProvider.Factory)) {
|
fun ChangeSneaker(sneaker: Sneaker, onBackClick: () -> Unit, sneakerViewModel: SneakerViewModel = viewModel(factory = AppViewModelProvider.Factory)) {
|
||||||
|
@ -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.SearchField.SearchField
|
||||||
import com.example.android_programming.composeui.Screens.HomeScreen.SneakerRecyclerView.RecyclerView
|
import com.example.android_programming.composeui.Screens.HomeScreen.SneakerRecyclerView.RecyclerView
|
||||||
import com.example.android_programming.model.Sneaker
|
import com.example.android_programming.model.Sneaker
|
||||||
import com.example.android_programming.vmodel.AppViewModelProvider
|
import com.example.android_programming.businessLogic.vmodel.AppViewModelProvider
|
||||||
import com.example.android_programming.vmodel.OrderViewModel
|
import com.example.android_programming.businessLogic.vmodel.OrderViewModel
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun HomeScreen(navHostController: NavHostController) {
|
fun HomeScreen(navHostController: NavHostController) {
|
||||||
|
@ -33,9 +33,9 @@ import com.example.android_programming.GlobalUser
|
|||||||
import com.example.android_programming.R
|
import com.example.android_programming.R
|
||||||
import com.example.android_programming.model.BasketSneakers
|
import com.example.android_programming.model.BasketSneakers
|
||||||
import com.example.android_programming.model.Sneaker
|
import com.example.android_programming.model.Sneaker
|
||||||
import com.example.android_programming.vmodel.AppViewModelProvider
|
import com.example.android_programming.businessLogic.vmodel.AppViewModelProvider
|
||||||
import com.example.android_programming.vmodel.BasketViewModel
|
import com.example.android_programming.businessLogic.vmodel.BasketViewModel
|
||||||
import com.example.android_programming.vmodel.SneakerViewModel
|
import com.example.android_programming.businessLogic.vmodel.SneakerViewModel
|
||||||
import com.google.gson.Gson
|
import com.google.gson.Gson
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
|
@ -20,9 +20,9 @@ import androidx.paging.compose.collectAsLazyPagingItems
|
|||||||
import androidx.paging.compose.itemKey
|
import androidx.paging.compose.itemKey
|
||||||
import com.example.android_programming.R
|
import com.example.android_programming.R
|
||||||
import com.example.android_programming.model.Sneaker
|
import com.example.android_programming.model.Sneaker
|
||||||
import com.example.android_programming.vmodel.AppViewModelProvider
|
import com.example.android_programming.businessLogic.vmodel.AppViewModelProvider
|
||||||
import com.example.android_programming.vmodel.OrderViewModel
|
import com.example.android_programming.businessLogic.vmodel.OrderViewModel
|
||||||
import com.example.android_programming.vmodel.SneakerViewModel
|
import com.example.android_programming.businessLogic.vmodel.SneakerViewModel
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
@ -18,8 +18,8 @@ import androidx.compose.ui.unit.dp
|
|||||||
import androidx.lifecycle.viewmodel.compose.viewModel
|
import androidx.lifecycle.viewmodel.compose.viewModel
|
||||||
import com.example.android_programming.GlobalUser
|
import com.example.android_programming.GlobalUser
|
||||||
import com.example.android_programming.model.Order
|
import com.example.android_programming.model.Order
|
||||||
import com.example.android_programming.vmodel.AppViewModelProvider
|
import com.example.android_programming.businessLogic.vmodel.AppViewModelProvider
|
||||||
import com.example.android_programming.vmodel.OrderViewModel
|
import com.example.android_programming.businessLogic.vmodel.OrderViewModel
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.GlobalScope
|
import kotlinx.coroutines.GlobalScope
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
@ -34,8 +34,8 @@ import androidx.lifecycle.viewmodel.compose.viewModel
|
|||||||
import com.example.android_programming.R
|
import com.example.android_programming.R
|
||||||
import com.example.android_programming.model.Order
|
import com.example.android_programming.model.Order
|
||||||
import com.example.android_programming.model.Sneaker
|
import com.example.android_programming.model.Sneaker
|
||||||
import com.example.android_programming.vmodel.AppViewModelProvider
|
import com.example.android_programming.businessLogic.vmodel.AppViewModelProvider
|
||||||
import com.example.android_programming.vmodel.OrderViewModel
|
import com.example.android_programming.businessLogic.vmodel.OrderViewModel
|
||||||
import java.util.Date
|
import java.util.Date
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
|
@ -37,9 +37,9 @@ import androidx.lifecycle.viewmodel.compose.viewModel
|
|||||||
import com.example.android_programming.GlobalUser
|
import com.example.android_programming.GlobalUser
|
||||||
import com.example.android_programming.R
|
import com.example.android_programming.R
|
||||||
import com.example.android_programming.model.Sneaker
|
import com.example.android_programming.model.Sneaker
|
||||||
import com.example.android_programming.vmodel.AppViewModelProvider
|
import com.example.android_programming.businessLogic.vmodel.AppViewModelProvider
|
||||||
import com.example.android_programming.vmodel.BasketViewModel
|
import com.example.android_programming.businessLogic.vmodel.BasketViewModel
|
||||||
import com.example.android_programming.vmodel.OrderViewModel
|
import com.example.android_programming.businessLogic.vmodel.OrderViewModel
|
||||||
|
|
||||||
@SuppressLint("UnrememberedMutableState")
|
@SuppressLint("UnrememberedMutableState")
|
||||||
@Composable
|
@Composable
|
||||||
|
@ -27,7 +27,7 @@ import androidx.compose.ui.text.input.KeyboardType
|
|||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.compose.ui.unit.sp
|
import androidx.compose.ui.unit.sp
|
||||||
import com.example.android_programming.R
|
import com.example.android_programming.R
|
||||||
import com.example.android_programming.vmodel.OrderViewModel
|
import com.example.android_programming.businessLogic.vmodel.OrderViewModel
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun DeliveryAddress(orderViewModel: OrderViewModel) {
|
fun DeliveryAddress(orderViewModel: OrderViewModel) {
|
||||||
|
@ -23,9 +23,9 @@ import androidx.navigation.NavHostController
|
|||||||
import com.example.android_programming.GlobalUser
|
import com.example.android_programming.GlobalUser
|
||||||
import com.example.android_programming.R
|
import com.example.android_programming.R
|
||||||
import com.example.android_programming.model.Sneaker
|
import com.example.android_programming.model.Sneaker
|
||||||
import com.example.android_programming.vmodel.AppViewModelProvider
|
import com.example.android_programming.businessLogic.vmodel.AppViewModelProvider
|
||||||
import com.example.android_programming.vmodel.BasketViewModel
|
import com.example.android_programming.businessLogic.vmodel.BasketViewModel
|
||||||
import com.example.android_programming.vmodel.OrderViewModel
|
import com.example.android_programming.businessLogic.vmodel.OrderViewModel
|
||||||
|
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
|
@ -4,7 +4,7 @@ import androidx.compose.foundation.layout.Column
|
|||||||
import androidx.compose.foundation.layout.Row
|
import androidx.compose.foundation.layout.Row
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import com.example.android_programming.model.Sneaker
|
import com.example.android_programming.model.Sneaker
|
||||||
import com.example.android_programming.vmodel.OrderViewModel
|
import com.example.android_programming.businessLogic.vmodel.OrderViewModel
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun ShoppingList(list : List<Sneaker>) {
|
fun ShoppingList(list : List<Sneaker>) {
|
||||||
|
@ -17,7 +17,7 @@ import androidx.compose.ui.unit.dp
|
|||||||
import androidx.compose.ui.unit.sp
|
import androidx.compose.ui.unit.sp
|
||||||
import com.example.android_programming.GlobalUser
|
import com.example.android_programming.GlobalUser
|
||||||
import com.example.android_programming.R
|
import com.example.android_programming.R
|
||||||
import com.example.android_programming.vmodel.OrderViewModel
|
import com.example.android_programming.businessLogic.vmodel.OrderViewModel
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun SubTotal(orderViewModel: OrderViewModel) {
|
fun SubTotal(orderViewModel: OrderViewModel) {
|
||||||
|
@ -8,8 +8,8 @@ import androidx.navigation.compose.rememberNavController
|
|||||||
import com.example.android_programming.GlobalUser
|
import com.example.android_programming.GlobalUser
|
||||||
import com.example.android_programming.composeui.Screens.ProfileScreen.SignIn.LoginScreen
|
import com.example.android_programming.composeui.Screens.ProfileScreen.SignIn.LoginScreen
|
||||||
import com.example.android_programming.model.Basket
|
import com.example.android_programming.model.Basket
|
||||||
import com.example.android_programming.vmodel.AppViewModelProvider
|
import com.example.android_programming.businessLogic.vmodel.AppViewModelProvider
|
||||||
import com.example.android_programming.vmodel.BasketViewModel
|
import com.example.android_programming.businessLogic.vmodel.BasketViewModel
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun ProfileScreen(navController: NavHostController) {
|
fun ProfileScreen(navController: NavHostController) {
|
||||||
|
@ -40,9 +40,9 @@ import androidx.navigation.NavHostController
|
|||||||
import com.example.android_programming.GlobalUser
|
import com.example.android_programming.GlobalUser
|
||||||
import com.example.android_programming.R
|
import com.example.android_programming.R
|
||||||
import com.example.android_programming.model.Basket
|
import com.example.android_programming.model.Basket
|
||||||
import com.example.android_programming.vmodel.AppViewModelProvider
|
import com.example.android_programming.businessLogic.vmodel.AppViewModelProvider
|
||||||
import com.example.android_programming.vmodel.BasketViewModel
|
import com.example.android_programming.businessLogic.vmodel.BasketViewModel
|
||||||
import com.example.android_programming.vmodel.UserViewModel
|
import com.example.android_programming.businessLogic.vmodel.UserViewModel
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun SignInCard(navController: NavHostController, userViewModel: UserViewModel = viewModel(factory = AppViewModelProvider.Factory), basketViewModel: BasketViewModel = viewModel(factory = AppViewModelProvider.Factory)) {
|
fun SignInCard(navController: NavHostController, userViewModel: UserViewModel = viewModel(factory = AppViewModelProvider.Factory), basketViewModel: BasketViewModel = viewModel(factory = AppViewModelProvider.Factory)) {
|
||||||
|
@ -32,8 +32,8 @@ import androidx.compose.ui.unit.sp
|
|||||||
import androidx.lifecycle.viewmodel.compose.viewModel
|
import androidx.lifecycle.viewmodel.compose.viewModel
|
||||||
import androidx.navigation.NavHostController
|
import androidx.navigation.NavHostController
|
||||||
import com.example.android_programming.R
|
import com.example.android_programming.R
|
||||||
import com.example.android_programming.vmodel.AppViewModelProvider
|
import com.example.android_programming.businessLogic.vmodel.AppViewModelProvider
|
||||||
import com.example.android_programming.vmodel.UserViewModel
|
import com.example.android_programming.businessLogic.vmodel.UserViewModel
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun SignUpCard(navHostController: NavHostController, userViewModel: UserViewModel = viewModel(factory = AppViewModelProvider.Factory)) {
|
fun SignUpCard(navHostController: NavHostController, userViewModel: UserViewModel = viewModel(factory = AppViewModelProvider.Factory)) {
|
||||||
|
@ -6,17 +6,16 @@ import androidx.room.Room
|
|||||||
import androidx.room.RoomDatabase
|
import androidx.room.RoomDatabase
|
||||||
import androidx.sqlite.db.SupportSQLiteDatabase
|
import androidx.sqlite.db.SupportSQLiteDatabase
|
||||||
import com.example.android_programming.R
|
import com.example.android_programming.R
|
||||||
import com.example.android_programming.dao.BasketDao
|
import com.example.android_programming.database.dao.BasketDao
|
||||||
import com.example.android_programming.dao.OrderDao
|
import com.example.android_programming.database.dao.OrderDao
|
||||||
import com.example.android_programming.dao.SneakerDao
|
import com.example.android_programming.database.dao.SneakerDao
|
||||||
import com.example.android_programming.dao.UserDao
|
import com.example.android_programming.database.dao.UserDao
|
||||||
import com.example.android_programming.database.remotekeys.dao.RemoteKeysDao
|
import com.example.android_programming.database.dao.RemoteKeysDao
|
||||||
import com.example.android_programming.database.remotekeys.model.RemoteKeys
|
import com.example.android_programming.model.RemoteKeys
|
||||||
import com.example.android_programming.model.Basket
|
import com.example.android_programming.model.Basket
|
||||||
import com.example.android_programming.model.BasketSneakers
|
import com.example.android_programming.model.BasketSneakers
|
||||||
import com.example.android_programming.model.Order
|
import com.example.android_programming.model.Order
|
||||||
import com.example.android_programming.model.OrderSneaker
|
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.Sneaker
|
||||||
import com.example.android_programming.model.User
|
import com.example.android_programming.model.User
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
@ -41,9 +40,9 @@ abstract class AppDatabase : RoomDatabase() {
|
|||||||
INSTANCE?.let { database ->
|
INSTANCE?.let { database ->
|
||||||
// User
|
// User
|
||||||
val userDao = database.userDao()
|
val userDao = database.userDao()
|
||||||
val user1 = User(null, "Artem", "Emelyanov", "artem@mail.ru", "123", RoleEnum.Admin)
|
val user1 = User(null, "Artem", "Emelyanov", "artem@mail.ru", "123", "ADMIN")
|
||||||
val user2 = User(null, "Danil", "Markov", "danil@mail.ru", "123", RoleEnum.User)
|
val user2 = User(null, "Danil", "Markov", "danil@mail.ru", "123", "USER")
|
||||||
val user3 = User(null, "Viktoria", "Presnyakova", "vika@mail.ru", "123", RoleEnum.User)
|
val user3 = User(null, "Viktoria", "Presnyakova", "vika@mail.ru", "123", "USER")
|
||||||
userDao.createUser(user1)
|
userDao.createUser(user1)
|
||||||
userDao.createUser(user2)
|
userDao.createUser(user2)
|
||||||
userDao.createUser(user3)
|
userDao.createUser(user3)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package com.example.android_programming.dao
|
package com.example.android_programming.database.dao
|
||||||
|
|
||||||
import androidx.room.Dao
|
import androidx.room.Dao
|
||||||
import androidx.room.Delete
|
import androidx.room.Delete
|
@ -1,4 +1,4 @@
|
|||||||
package com.example.android_programming.dao
|
package com.example.android_programming.database.dao
|
||||||
|
|
||||||
import androidx.room.Dao
|
import androidx.room.Dao
|
||||||
import androidx.room.Delete
|
import androidx.room.Delete
|
@ -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.Dao
|
||||||
import androidx.room.Insert
|
import androidx.room.Insert
|
||||||
import androidx.room.OnConflictStrategy
|
import androidx.room.OnConflictStrategy
|
||||||
import androidx.room.Query
|
import androidx.room.Query
|
||||||
import com.example.android_programming.database.remotekeys.model.RemoteKeyType
|
import com.example.android_programming.model.RemoteKeyType
|
||||||
import com.example.android_programming.database.remotekeys.model.RemoteKeys
|
import com.example.android_programming.model.RemoteKeys
|
||||||
|
|
||||||
@Dao
|
@Dao
|
||||||
interface RemoteKeysDao {
|
interface RemoteKeysDao {
|
@ -1,4 +1,4 @@
|
|||||||
package com.example.android_programming.dao
|
package com.example.android_programming.database.dao
|
||||||
|
|
||||||
import androidx.paging.PagingSource
|
import androidx.paging.PagingSource
|
||||||
import androidx.room.Dao
|
import androidx.room.Dao
|
@ -1,4 +1,4 @@
|
|||||||
package com.example.android_programming.dao
|
package com.example.android_programming.database.dao
|
||||||
|
|
||||||
import androidx.room.Dao
|
import androidx.room.Dao
|
||||||
import androidx.room.Delete
|
import androidx.room.Delete
|
@ -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<RemoteKeys>)
|
|
||||||
suspend fun deleteRemoteKey(type: RemoteKeyType)
|
|
||||||
}
|
|
@ -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.Basket
|
||||||
import com.example.android_programming.model.BasketSneakers
|
import com.example.android_programming.model.BasketSneakers
|
||||||
import com.example.android_programming.model.BasketWithSneakers
|
import com.example.android_programming.model.BasketWithSneakers
|
@ -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.Order
|
||||||
import com.example.android_programming.model.OrderSneaker
|
import com.example.android_programming.model.OrderSneaker
|
||||||
import com.example.android_programming.model.OrderWithSneakers
|
import com.example.android_programming.model.OrderWithSneakers
|
@ -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.businessLogic.repo.RemoteKeyRepository
|
||||||
import com.example.android_programming.database.remotekeys.model.RemoteKeyType
|
import com.example.android_programming.database.dao.RemoteKeysDao
|
||||||
import com.example.android_programming.database.remotekeys.model.RemoteKeys
|
import com.example.android_programming.model.RemoteKeyType
|
||||||
|
import com.example.android_programming.model.RemoteKeys
|
||||||
|
|
||||||
class RemoteKeysRepositoryImpl(private val remoteKeysDao: RemoteKeysDao) : RemoteKeyRepository {
|
class RemoteKeysRepositoryImpl(private val remoteKeysDao: RemoteKeysDao) : RemoteKeyRepository {
|
||||||
override suspend fun getAllRemoteKeys(id: Int, type: RemoteKeyType) =
|
override suspend fun getAllRemoteKeys(id: Int, type: RemoteKeyType) =
|
@ -1,12 +1,12 @@
|
|||||||
package com.example.android_programming.repository
|
package com.example.android_programming.database.repository
|
||||||
|
|
||||||
import androidx.paging.Pager
|
import androidx.paging.Pager
|
||||||
import androidx.paging.PagingConfig
|
import androidx.paging.PagingConfig
|
||||||
import androidx.paging.PagingData
|
import androidx.paging.PagingData
|
||||||
import androidx.paging.PagingSource
|
import androidx.paging.PagingSource
|
||||||
import androidx.paging.cachedIn
|
|
||||||
import com.example.android_programming.AppContainer
|
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 com.example.android_programming.model.Sneaker
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
|
|
@ -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)
|
||||||
|
//}
|
@ -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.Entity
|
||||||
import androidx.room.PrimaryKey
|
import androidx.room.PrimaryKey
|
||||||
import androidx.room.TypeConverter
|
import androidx.room.TypeConverter
|
||||||
import androidx.room.TypeConverters
|
import androidx.room.TypeConverters
|
||||||
import com.example.android_programming.model.Sneaker
|
|
||||||
|
|
||||||
enum class RemoteKeyType(private val type: String) {
|
enum class RemoteKeyType(private val type: String) {
|
||||||
SNEAKER(Sneaker::class.simpleName ?: "Sneaker");
|
SNEAKER(Sneaker::class.simpleName ?: "Sneaker");
|
@ -17,7 +17,7 @@ data class User(
|
|||||||
@ColumnInfo(name = "Password")
|
@ColumnInfo(name = "Password")
|
||||||
val password: String,
|
val password: String,
|
||||||
@ColumnInfo(name = "Role")
|
@ColumnInfo(name = "Role")
|
||||||
val role: RoleEnum,
|
val role: String,
|
||||||
@ColumnInfo(name = "Photo")
|
@ColumnInfo(name = "Photo")
|
||||||
val photo: Int? = null,
|
val photo: Int? = 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)
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user