Курсовая: Вот теперь наверняка готова
This commit is contained in:
parent
50f3d5bf55
commit
40ca46846e
@ -1,4 +1,4 @@
|
|||||||
package com.example.dtf
|
package com.example.dtf.data
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.SharedPreferences
|
import android.content.SharedPreferences
|
@ -25,7 +25,6 @@ import com.example.dtf.data.models.User
|
|||||||
version = 4,
|
version = 4,
|
||||||
exportSchema = false
|
exportSchema = false
|
||||||
)
|
)
|
||||||
@TypeConverters(Converter::class)
|
|
||||||
abstract class AppDatabase : RoomDatabase() {
|
abstract class AppDatabase : RoomDatabase() {
|
||||||
abstract fun userDao() : UserDao
|
abstract fun userDao() : UserDao
|
||||||
abstract fun categoryDao() : CategoryDao
|
abstract fun categoryDao() : CategoryDao
|
||||||
|
@ -1,16 +0,0 @@
|
|||||||
package com.example.dtf.data.db
|
|
||||||
|
|
||||||
import androidx.room.TypeConverter
|
|
||||||
import java.util.Date
|
|
||||||
|
|
||||||
class Converter {
|
|
||||||
@TypeConverter
|
|
||||||
fun fromTimestamp(value: Long?): Date? {
|
|
||||||
return value?.let { Date(it) }
|
|
||||||
}
|
|
||||||
|
|
||||||
@TypeConverter
|
|
||||||
fun dateToTimestamp(date: Date?): Long? {
|
|
||||||
return date?.time?.toLong()
|
|
||||||
}
|
|
||||||
}
|
|
@ -5,59 +5,6 @@ import androidx.room.Entity
|
|||||||
import androidx.room.PrimaryKey
|
import androidx.room.PrimaryKey
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
//private val posts = listOf(
|
|
||||||
// Post(
|
|
||||||
// 1,
|
|
||||||
// "Что не так с half-life 2",
|
|
||||||
// "Да всё не так",
|
|
||||||
// 1,
|
|
||||||
// mutableVectorOf(
|
|
||||||
// Comment(1, 2, "Пост бред. Начнём с того, что вот эта твоя манера речи клоунская...", Date(2023, 10, 20)),
|
|
||||||
// Comment(2, 1, "Да какой бред, чел, я всё по факту сказал", Date(2023, 10, 20))
|
|
||||||
// ),
|
|
||||||
// Date(2023, 10, 22)
|
|
||||||
// ),
|
|
||||||
// Post(
|
|
||||||
// 2,
|
|
||||||
// "Я действительно ненавижу фильм про титаник",
|
|
||||||
// "Пруфов не будет",
|
|
||||||
// 2,
|
|
||||||
// mutableVectorOf(Comment(1, 2, "Очередной бред от автора", Date(2023, 9, 20))),
|
|
||||||
// Date(2023, 9, 22)
|
|
||||||
// ),
|
|
||||||
// Post(
|
|
||||||
// 3,
|
|
||||||
// "\"Госпожа Кагуя\" это переоценённый тайтл",
|
|
||||||
// "Я, конечно, не смотрел, но мне так кажется. А всё потому, что там происходит такое, что даже Аристотелю не снилось. А может даже Платону. Об этом можно рассуждать тысячи лет, но я смогу уложиться всего в пару слов. И первое слово - этот тайтл полное днище. Ладно, не слово",
|
|
||||||
// 3,
|
|
||||||
// mutableVectorOf(Comment(1, 2, "Автора на увольнение", Date(2023, 9, 20))),
|
|
||||||
// Date(2023, 9, 22)
|
|
||||||
// ),
|
|
||||||
// Post(
|
|
||||||
// 4,
|
|
||||||
// "\"Восхождение в тени\" это переоценённый тайтл",
|
|
||||||
// "Я, конечно, не смотрел, но мне так кажется. А всё потому, что там происходит такое, что даже Аристотелю не снилось. А может даже Платону. Об этом можно рассуждать тысячи лет, но я смогу уложиться всего в пару слов. И первое слово - этот тайтл полное днище. Ладно, не слово",
|
|
||||||
// 3,
|
|
||||||
// mutableVectorOf(Comment(1, 2, "Автора на увольнение", Date(2023, 9, 20))),
|
|
||||||
// Date(2023, 9, 22)
|
|
||||||
// ),
|
|
||||||
// Post(
|
|
||||||
// 5,
|
|
||||||
// "\"Тетрадь смерти\" это переоценённый тайтл",
|
|
||||||
// "Я, конечно, не смотрел, но мне так кажется. А всё потому, что там происходит такое, что даже Аристотелю не снилось. А может даже Платону. Об этом можно рассуждать тысячи лет, но я смогу уложиться всего в пару слов. И первое слово - этот тайтл полное днище. Ладно, не слово",
|
|
||||||
// 3,
|
|
||||||
// mutableVectorOf(Comment(1, 2, "Автора на увольнение", Date(2023, 9, 20))),
|
|
||||||
// Date(2023, 9, 22)
|
|
||||||
// ),
|
|
||||||
// Post(
|
|
||||||
// 6,
|
|
||||||
// "\"Бакуман\" это переоценённый тайтл",
|
|
||||||
// "Я, конечно, не смотрел, но мне так кажется. А всё потому, что там происходит такое, что даже Аристотелю не снилось. А может даже Платону. Об этом можно рассуждать тысячи лет, но я смогу уложиться всего в пару слов. И первое слово - этот тайтл полное днище. Ладно, не слово",
|
|
||||||
// 3,
|
|
||||||
// mutableVectorOf(Comment(1, 2, "Автора на увольнение", Date(2023, 9, 20))),
|
|
||||||
// Date(2023, 9, 22)
|
|
||||||
// )
|
|
||||||
//)
|
|
||||||
|
|
||||||
@Entity(
|
@Entity(
|
||||||
tableName = "post"
|
tableName = "post"
|
||||||
|
@ -31,7 +31,7 @@ import androidx.compose.ui.unit.dp
|
|||||||
import androidx.compose.ui.unit.sp
|
import androidx.compose.ui.unit.sp
|
||||||
import androidx.hilt.navigation.compose.hiltViewModel
|
import androidx.hilt.navigation.compose.hiltViewModel
|
||||||
import androidx.navigation.NavHostController
|
import androidx.navigation.NavHostController
|
||||||
import com.example.dtf.PreferencesManager
|
import com.example.dtf.data.PreferencesManager
|
||||||
import com.example.dtf.ui.utils.ScreenPaths
|
import com.example.dtf.ui.utils.ScreenPaths
|
||||||
import com.example.dtf.ui.viewmodels.EditPostViewModel
|
import com.example.dtf.ui.viewmodels.EditPostViewModel
|
||||||
import com.example.dtf.ui.widgets.MyTextField
|
import com.example.dtf.ui.widgets.MyTextField
|
||||||
|
@ -31,7 +31,7 @@ import androidx.compose.ui.unit.dp
|
|||||||
import androidx.compose.ui.unit.sp
|
import androidx.compose.ui.unit.sp
|
||||||
import androidx.hilt.navigation.compose.hiltViewModel
|
import androidx.hilt.navigation.compose.hiltViewModel
|
||||||
import androidx.navigation.NavHostController
|
import androidx.navigation.NavHostController
|
||||||
import com.example.dtf.PreferencesManager
|
import com.example.dtf.data.PreferencesManager
|
||||||
import com.example.dtf.ui.utils.ScreenPaths
|
import com.example.dtf.ui.utils.ScreenPaths
|
||||||
import com.example.dtf.ui.viewmodels.LoginViewModel
|
import com.example.dtf.ui.viewmodels.LoginViewModel
|
||||||
import com.example.dtf.ui.widgets.MyTextField
|
import com.example.dtf.ui.widgets.MyTextField
|
||||||
|
@ -35,7 +35,7 @@ import androidx.compose.ui.unit.dp
|
|||||||
import androidx.compose.ui.unit.sp
|
import androidx.compose.ui.unit.sp
|
||||||
import androidx.hilt.navigation.compose.hiltViewModel
|
import androidx.hilt.navigation.compose.hiltViewModel
|
||||||
import androidx.navigation.NavHostController
|
import androidx.navigation.NavHostController
|
||||||
import com.example.dtf.PreferencesManager
|
import com.example.dtf.data.PreferencesManager
|
||||||
import com.example.dtf.data.models.Category
|
import com.example.dtf.data.models.Category
|
||||||
import com.example.dtf.ui.utils.ScreenPaths
|
import com.example.dtf.ui.utils.ScreenPaths
|
||||||
import com.example.dtf.ui.viewmodels.NewPostViewModel
|
import com.example.dtf.ui.viewmodels.NewPostViewModel
|
||||||
|
@ -41,7 +41,7 @@ import androidx.hilt.navigation.compose.hiltViewModel
|
|||||||
import androidx.navigation.NavHostController
|
import androidx.navigation.NavHostController
|
||||||
import androidx.paging.compose.collectAsLazyPagingItems
|
import androidx.paging.compose.collectAsLazyPagingItems
|
||||||
import androidx.paging.compose.itemKey
|
import androidx.paging.compose.itemKey
|
||||||
import com.example.dtf.PreferencesManager
|
import com.example.dtf.data.PreferencesManager
|
||||||
import com.example.dtf.data.models.Comment
|
import com.example.dtf.data.models.Comment
|
||||||
import com.example.dtf.ui.utils.ScreenPaths
|
import com.example.dtf.ui.utils.ScreenPaths
|
||||||
import com.example.dtf.ui.viewmodels.PostViewModel
|
import com.example.dtf.ui.viewmodels.PostViewModel
|
||||||
|
@ -39,7 +39,7 @@ import androidx.navigation.NavHostController
|
|||||||
import androidx.paging.PagingData
|
import androidx.paging.PagingData
|
||||||
import androidx.paging.compose.collectAsLazyPagingItems
|
import androidx.paging.compose.collectAsLazyPagingItems
|
||||||
import androidx.paging.compose.itemKey
|
import androidx.paging.compose.itemKey
|
||||||
import com.example.dtf.PreferencesManager
|
import com.example.dtf.data.PreferencesManager
|
||||||
import com.example.dtf.data.models.Category
|
import com.example.dtf.data.models.Category
|
||||||
import com.example.dtf.data.models.Post
|
import com.example.dtf.data.models.Post
|
||||||
import com.example.dtf.ui.utils.ScreenPaths
|
import com.example.dtf.ui.utils.ScreenPaths
|
||||||
|
@ -25,7 +25,7 @@ import androidx.compose.ui.unit.dp
|
|||||||
import androidx.compose.ui.unit.sp
|
import androidx.compose.ui.unit.sp
|
||||||
import androidx.hilt.navigation.compose.hiltViewModel
|
import androidx.hilt.navigation.compose.hiltViewModel
|
||||||
import androidx.navigation.NavHostController
|
import androidx.navigation.NavHostController
|
||||||
import com.example.dtf.PreferencesManager
|
import com.example.dtf.data.PreferencesManager
|
||||||
import com.example.dtf.ui.utils.ScreenPaths
|
import com.example.dtf.ui.utils.ScreenPaths
|
||||||
import com.example.dtf.ui.viewmodels.ProfileViewModel
|
import com.example.dtf.ui.viewmodels.ProfileViewModel
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@ import androidx.navigation.NavHostController
|
|||||||
import androidx.paging.compose.LazyPagingItems
|
import androidx.paging.compose.LazyPagingItems
|
||||||
import androidx.paging.compose.collectAsLazyPagingItems
|
import androidx.paging.compose.collectAsLazyPagingItems
|
||||||
import androidx.paging.compose.itemKey
|
import androidx.paging.compose.itemKey
|
||||||
import com.example.dtf.PreferencesManager
|
import com.example.dtf.data.PreferencesManager
|
||||||
import com.example.dtf.data.models.Category
|
import com.example.dtf.data.models.Category
|
||||||
import com.example.dtf.data.models.Post
|
import com.example.dtf.data.models.Post
|
||||||
import com.example.dtf.ui.utils.ScreenPaths
|
import com.example.dtf.ui.utils.ScreenPaths
|
||||||
|
@ -4,7 +4,7 @@ import androidx.lifecycle.LiveData
|
|||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
import androidx.lifecycle.viewModelScope
|
import androidx.lifecycle.viewModelScope
|
||||||
import com.example.dtf.PreferencesManager
|
import com.example.dtf.data.PreferencesManager
|
||||||
import com.example.dtf.data.models.Post
|
import com.example.dtf.data.models.Post
|
||||||
import com.example.dtf.data.repositories.IPostRepository
|
import com.example.dtf.data.repositories.IPostRepository
|
||||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||||
|
@ -4,7 +4,7 @@ import androidx.lifecycle.LiveData
|
|||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
import androidx.lifecycle.viewModelScope
|
import androidx.lifecycle.viewModelScope
|
||||||
import com.example.dtf.PreferencesManager
|
import com.example.dtf.data.PreferencesManager
|
||||||
import com.example.dtf.data.api.ServerService
|
import com.example.dtf.data.api.ServerService
|
||||||
import com.example.dtf.data.dto.Credentials
|
import com.example.dtf.data.dto.Credentials
|
||||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||||
@ -24,6 +24,11 @@ class LoginViewModel @Inject constructor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun login(sharedPref: PreferencesManager, username: String, password: String) {
|
fun login(sharedPref: PreferencesManager, username: String, password: String) {
|
||||||
|
if (username.isEmpty() || password.isEmpty()) {
|
||||||
|
_successState.postValue(false)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
viewModelScope.launch {
|
viewModelScope.launch {
|
||||||
val token = serverService.login(Credentials(username, password))
|
val token = serverService.login(Credentials(username, password))
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ import androidx.lifecycle.LiveData
|
|||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
import androidx.lifecycle.viewModelScope
|
import androidx.lifecycle.viewModelScope
|
||||||
import com.example.dtf.PreferencesManager
|
import com.example.dtf.data.PreferencesManager
|
||||||
import com.example.dtf.data.models.Post
|
import com.example.dtf.data.models.Post
|
||||||
import com.example.dtf.data.repositories.ICategoryRepository
|
import com.example.dtf.data.repositories.ICategoryRepository
|
||||||
import com.example.dtf.data.repositories.IPostRepository
|
import com.example.dtf.data.repositories.IPostRepository
|
||||||
|
@ -5,7 +5,7 @@ import androidx.lifecycle.MutableLiveData
|
|||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
import androidx.lifecycle.viewModelScope
|
import androidx.lifecycle.viewModelScope
|
||||||
import androidx.paging.PagingData
|
import androidx.paging.PagingData
|
||||||
import com.example.dtf.PreferencesManager
|
import com.example.dtf.data.PreferencesManager
|
||||||
import com.example.dtf.data.models.Comment
|
import com.example.dtf.data.models.Comment
|
||||||
import com.example.dtf.data.models.Like
|
import com.example.dtf.data.models.Like
|
||||||
import com.example.dtf.data.models.Post
|
import com.example.dtf.data.models.Post
|
||||||
|
@ -2,7 +2,7 @@ package com.example.dtf.ui.viewmodels
|
|||||||
|
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
import androidx.lifecycle.viewModelScope
|
import androidx.lifecycle.viewModelScope
|
||||||
import com.example.dtf.PreferencesManager
|
import com.example.dtf.data.PreferencesManager
|
||||||
import com.example.dtf.data.models.Like
|
import com.example.dtf.data.models.Like
|
||||||
import com.example.dtf.data.repositories.ICategoryRepository
|
import com.example.dtf.data.repositories.ICategoryRepository
|
||||||
import com.example.dtf.data.repositories.ILikeRepository
|
import com.example.dtf.data.repositories.ILikeRepository
|
||||||
|
@ -3,7 +3,7 @@ package com.example.dtf.ui.viewmodels
|
|||||||
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 com.example.dtf.PreferencesManager
|
import com.example.dtf.data.PreferencesManager
|
||||||
import com.example.dtf.data.models.User
|
import com.example.dtf.data.models.User
|
||||||
import com.example.dtf.data.repositories.offline.OfflineUserRepository
|
import com.example.dtf.data.repositories.offline.OfflineUserRepository
|
||||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||||
|
@ -4,7 +4,7 @@ import androidx.lifecycle.LiveData
|
|||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
import androidx.lifecycle.viewModelScope
|
import androidx.lifecycle.viewModelScope
|
||||||
import com.example.dtf.PreferencesManager
|
import com.example.dtf.data.PreferencesManager
|
||||||
import com.example.dtf.data.models.Like
|
import com.example.dtf.data.models.Like
|
||||||
import com.example.dtf.data.models.Post
|
import com.example.dtf.data.models.Post
|
||||||
import com.example.dtf.data.repositories.ICategoryRepository
|
import com.example.dtf.data.repositories.ICategoryRepository
|
||||||
|
@ -19,7 +19,7 @@ import androidx.compose.ui.platform.LocalContext
|
|||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.navigation.NavController
|
import androidx.navigation.NavController
|
||||||
import androidx.navigation.compose.currentBackStackEntryAsState
|
import androidx.navigation.compose.currentBackStackEntryAsState
|
||||||
import com.example.dtf.PreferencesManager
|
import com.example.dtf.data.PreferencesManager
|
||||||
import com.example.dtf.ui.utils.ScreenPaths
|
import com.example.dtf.ui.utils.ScreenPaths
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
|
Loading…
Reference in New Issue
Block a user