Курсовая: Вот теперь наверняка готова

This commit is contained in:
Amon 2023-12-28 05:16:32 +04:00
parent 50f3d5bf55
commit 40ca46846e
19 changed files with 21 additions and 86 deletions

View File

@ -1,4 +1,4 @@
package com.example.dtf
package com.example.dtf.data
import android.content.Context
import android.content.SharedPreferences

View File

@ -25,7 +25,6 @@ import com.example.dtf.data.models.User
version = 4,
exportSchema = false
)
@TypeConverters(Converter::class)
abstract class AppDatabase : RoomDatabase() {
abstract fun userDao() : UserDao
abstract fun categoryDao() : CategoryDao

View File

@ -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()
}
}

View File

@ -5,59 +5,6 @@ import androidx.room.Entity
import androidx.room.PrimaryKey
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(
tableName = "post"

View File

@ -31,7 +31,7 @@ import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.hilt.navigation.compose.hiltViewModel
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.viewmodels.EditPostViewModel
import com.example.dtf.ui.widgets.MyTextField

View File

@ -31,7 +31,7 @@ import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.hilt.navigation.compose.hiltViewModel
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.viewmodels.LoginViewModel
import com.example.dtf.ui.widgets.MyTextField

View File

@ -35,7 +35,7 @@ import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.hilt.navigation.compose.hiltViewModel
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.ui.utils.ScreenPaths
import com.example.dtf.ui.viewmodels.NewPostViewModel

View File

@ -41,7 +41,7 @@ import androidx.hilt.navigation.compose.hiltViewModel
import androidx.navigation.NavHostController
import androidx.paging.compose.collectAsLazyPagingItems
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.ui.utils.ScreenPaths
import com.example.dtf.ui.viewmodels.PostViewModel

View File

@ -39,7 +39,7 @@ import androidx.navigation.NavHostController
import androidx.paging.PagingData
import androidx.paging.compose.collectAsLazyPagingItems
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.Post
import com.example.dtf.ui.utils.ScreenPaths

View File

@ -25,7 +25,7 @@ import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.hilt.navigation.compose.hiltViewModel
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.viewmodels.ProfileViewModel

View File

@ -42,7 +42,7 @@ import androidx.navigation.NavHostController
import androidx.paging.compose.LazyPagingItems
import androidx.paging.compose.collectAsLazyPagingItems
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.Post
import com.example.dtf.ui.utils.ScreenPaths

View File

@ -4,7 +4,7 @@ import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
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.repositories.IPostRepository
import dagger.hilt.android.lifecycle.HiltViewModel

View File

@ -4,7 +4,7 @@ import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
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.dto.Credentials
import dagger.hilt.android.lifecycle.HiltViewModel
@ -24,6 +24,11 @@ class LoginViewModel @Inject constructor(
}
fun login(sharedPref: PreferencesManager, username: String, password: String) {
if (username.isEmpty() || password.isEmpty()) {
_successState.postValue(false)
return
}
viewModelScope.launch {
val token = serverService.login(Credentials(username, password))

View File

@ -4,7 +4,7 @@ import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
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.repositories.ICategoryRepository
import com.example.dtf.data.repositories.IPostRepository

View File

@ -5,7 +5,7 @@ import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
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.Like
import com.example.dtf.data.models.Post

View File

@ -2,7 +2,7 @@ package com.example.dtf.ui.viewmodels
import androidx.lifecycle.ViewModel
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.repositories.ICategoryRepository
import com.example.dtf.data.repositories.ILikeRepository

View File

@ -3,7 +3,7 @@ package com.example.dtf.ui.viewmodels
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
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.repositories.offline.OfflineUserRepository
import dagger.hilt.android.lifecycle.HiltViewModel

View File

@ -4,7 +4,7 @@ import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
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.Post
import com.example.dtf.data.repositories.ICategoryRepository

View File

@ -19,7 +19,7 @@ import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.unit.dp
import androidx.navigation.NavController
import androidx.navigation.compose.currentBackStackEntryAsState
import com.example.dtf.PreferencesManager
import com.example.dtf.data.PreferencesManager
import com.example.dtf.ui.utils.ScreenPaths
@Composable