fixed warnings
This commit is contained in:
parent
acd37136b0
commit
d3fde20a0a
@ -3,7 +3,6 @@ package com.zyzf.coffeepreorder
|
||||
import android.app.Application
|
||||
import com.zyzf.coffeepreorder.database.AppContainer
|
||||
import com.zyzf.coffeepreorder.database.AppDataContainer
|
||||
import com.zyzf.coffeepreorder.database.model.Coffee
|
||||
import com.zyzf.coffeepreorder.database.model.User
|
||||
|
||||
class CoffeeApplication : Application() {
|
||||
|
@ -1,15 +1,12 @@
|
||||
package com.zyzf.coffeepreorder
|
||||
|
||||
import android.content.res.Configuration
|
||||
import android.os.Bundle
|
||||
import androidx.activity.ComponentActivity
|
||||
import androidx.activity.compose.setContent
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.Surface
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import com.zyzf.coffeepreorder.ui.navigation.MainNavbar
|
||||
import com.zyzf.coffeepreorder.ui.theme.CoffeePreorderTheme
|
||||
|
||||
|
@ -6,18 +6,11 @@ import androidx.paging.Pager
|
||||
import androidx.paging.PagingConfig
|
||||
import androidx.paging.PagingData
|
||||
import com.zyzf.coffeepreorder.api.MyServerService
|
||||
import com.zyzf.coffeepreorder.api.coffee.CoffeeRemoteMediator
|
||||
import com.zyzf.coffeepreorder.api.model.UserRemote
|
||||
import com.zyzf.coffeepreorder.api.model.toCoffee
|
||||
import com.zyzf.coffeepreorder.api.model.toCoffeeRemote
|
||||
import com.zyzf.coffeepreorder.api.model.toUser
|
||||
import com.zyzf.coffeepreorder.api.model.toUserRemote
|
||||
import com.zyzf.coffeepreorder.database.AppContainer
|
||||
import com.zyzf.coffeepreorder.database.AppDatabase
|
||||
import com.zyzf.coffeepreorder.database.model.Coffee
|
||||
import com.zyzf.coffeepreorder.database.model.User
|
||||
import com.zyzf.coffeepreorder.database.repository.CoffeeRepository
|
||||
import com.zyzf.coffeepreorder.database.repository.OfflineCoffeeRepository
|
||||
import com.zyzf.coffeepreorder.database.repository.OfflineRemoteKeyRepository
|
||||
import com.zyzf.coffeepreorder.database.repository.OfflineUserRepository
|
||||
import com.zyzf.coffeepreorder.database.repository.UserRepository
|
||||
|
@ -6,14 +6,11 @@ import androidx.paging.PagingState
|
||||
import androidx.paging.RemoteMediator
|
||||
import androidx.room.withTransaction
|
||||
import com.zyzf.coffeepreorder.api.MyServerService
|
||||
import com.zyzf.coffeepreorder.api.model.toCoffee
|
||||
import com.zyzf.coffeepreorder.api.model.toUser
|
||||
import com.zyzf.coffeepreorder.database.AppDatabase
|
||||
import com.zyzf.coffeepreorder.database.model.Coffee
|
||||
import com.zyzf.coffeepreorder.database.model.RemoteKeyType
|
||||
import com.zyzf.coffeepreorder.database.model.RemoteKeys
|
||||
import com.zyzf.coffeepreorder.database.model.User
|
||||
import com.zyzf.coffeepreorder.database.repository.OfflineCoffeeRepository
|
||||
import com.zyzf.coffeepreorder.database.repository.OfflineRemoteKeyRepository
|
||||
import com.zyzf.coffeepreorder.database.repository.OfflineUserRepository
|
||||
import retrofit2.HttpException
|
||||
|
@ -6,10 +6,7 @@ import androidx.room.Delete
|
||||
import androidx.room.Insert
|
||||
import androidx.room.Query
|
||||
import androidx.room.Update
|
||||
import com.zyzf.coffeepreorder.api.user.RestUserRepository
|
||||
import com.zyzf.coffeepreorder.database.model.Coffee
|
||||
import com.zyzf.coffeepreorder.database.model.User
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
@Dao
|
||||
interface UserDao {
|
||||
|
@ -35,8 +35,7 @@ data class Cart(
|
||||
other as Cart
|
||||
if (uid != other.uid) return false
|
||||
if (coffeeId != other.coffeeId) return false
|
||||
if (count != other.count) return false
|
||||
return true
|
||||
return count == other.count
|
||||
}
|
||||
|
||||
override fun hashCode(): Int {
|
||||
|
@ -41,8 +41,7 @@ data class Coffee(
|
||||
if (uid != other.uid) return false
|
||||
if (name != other.name) return false
|
||||
if (cost != other.cost) return false
|
||||
if (ingredients != other.ingredients) return false
|
||||
return true
|
||||
return ingredients == other.ingredients
|
||||
}
|
||||
|
||||
override fun hashCode(): Int {
|
||||
|
@ -51,8 +51,7 @@ data class User(
|
||||
if (fio != other.fio) return false
|
||||
if (phone != other.phone) return false
|
||||
if (password != other.password) return false
|
||||
if (role != other.role) return false
|
||||
return true
|
||||
return role == other.role
|
||||
}
|
||||
|
||||
override fun hashCode(): Int {
|
||||
|
@ -6,7 +6,6 @@ import androidx.paging.PagingData
|
||||
import androidx.paging.PagingSource
|
||||
import com.zyzf.coffeepreorder.database.AppContainer
|
||||
import com.zyzf.coffeepreorder.database.dao.UserDao
|
||||
import com.zyzf.coffeepreorder.database.model.Coffee
|
||||
import com.zyzf.coffeepreorder.database.model.User
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
|
@ -6,7 +6,6 @@ import androidx.compose.foundation.layout.Box
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.Spacer
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.heightIn
|
||||
import androidx.compose.foundation.layout.padding
|
||||
@ -96,7 +95,7 @@ fun Cart(
|
||||
}
|
||||
) { innerPadding ->
|
||||
Box (modifier = Modifier
|
||||
.padding(0.dp)
|
||||
.padding(innerPadding)
|
||||
.pullRefresh(state)) {
|
||||
PullRefreshIndicator(refreshing = refreshing, state = state,
|
||||
modifier = Modifier
|
||||
@ -104,34 +103,27 @@ fun Cart(
|
||||
.align(Alignment.TopCenter)
|
||||
)
|
||||
CartList(
|
||||
modifier = Modifier
|
||||
.padding(innerPadding)
|
||||
.pullRefresh(state)
|
||||
.fillMaxSize(),
|
||||
coffeeList = coffeeListUiState,
|
||||
onDeleteFromCartClick = {currentCoffee: Coffee ->
|
||||
coffee.value = currentCoffee
|
||||
openDialog.value = true
|
||||
},
|
||||
getCoffeeCount = {coffeeId: Int ->
|
||||
}
|
||||
) { coffeeId: Int ->
|
||||
viewModel.getCountForCoffee(coffeeId)
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
DeleteFromCartAlertDialog(
|
||||
openDialog = openDialog,
|
||||
onConfirmClick = {
|
||||
openDialog = openDialog
|
||||
) {
|
||||
coroutineScope.launch {
|
||||
viewModel.deleteCoffeeFromCart(coffee.value)
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun CartList(
|
||||
modifier: Modifier = Modifier,
|
||||
coffeeList: LazyPagingItems<Coffee>,
|
||||
onDeleteFromCartClick: (coffee: Coffee) -> Unit,
|
||||
getCoffeeCount: (coffeeId: Int) -> Double
|
||||
@ -158,7 +150,6 @@ private fun CartList(
|
||||
@Composable
|
||||
private fun CartListItem (
|
||||
coffee: Coffee,
|
||||
modifier: Modifier = Modifier,
|
||||
onDeleteFromCartClick: (coffee: Coffee) -> Unit,
|
||||
getCoffeeCount: (coffeeId: Int) -> Double
|
||||
) {
|
||||
@ -219,7 +210,6 @@ private fun CartListItem (
|
||||
|
||||
@Composable
|
||||
private fun DeleteFromCartAlertDialog(
|
||||
modifier: Modifier = Modifier,
|
||||
openDialog: MutableState<Boolean>,
|
||||
onConfirmClick: () -> Unit
|
||||
) {
|
||||
|
@ -15,7 +15,6 @@ import androidx.compose.foundation.layout.Box
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.Spacer
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.heightIn
|
||||
import androidx.compose.foundation.layout.padding
|
||||
@ -131,27 +130,23 @@ fun CoffeeList(
|
||||
}
|
||||
}
|
||||
) { innerPadding ->
|
||||
Box (modifier = Modifier.padding(0.dp).pullRefresh(state)) {
|
||||
Box (modifier = Modifier.padding(innerPadding).pullRefresh(state)) {
|
||||
PullRefreshIndicator(refreshing = refreshing, state = state,
|
||||
modifier = Modifier.zIndex(100f).align(Alignment.TopCenter)
|
||||
)
|
||||
CoffeeList(
|
||||
modifier = Modifier
|
||||
.padding(innerPadding)
|
||||
.fillMaxSize(),
|
||||
coffeeList = coffeeListUiState,
|
||||
onAddToCartClick = { coffeeUid: Int ->
|
||||
coroutineScope.launch {
|
||||
viewModel.addCoffeeToCart(coffeeUid = coffeeUid)
|
||||
}
|
||||
},
|
||||
onEditClick = { currentCoffee: Coffee ->
|
||||
}
|
||||
) { currentCoffee: Coffee ->
|
||||
coroutineScope.launch {
|
||||
coffee.value = currentCoffee
|
||||
openDialog.value = true
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
AddEditModalBottomSheet(
|
||||
@ -290,7 +285,6 @@ private fun AddEditModalBottomSheet(
|
||||
|
||||
@Composable
|
||||
private fun CoffeeList(
|
||||
modifier: Modifier = Modifier,
|
||||
coffeeList: LazyPagingItems<Coffee>,
|
||||
onAddToCartClick: (coffeeUid: Int) -> Unit,
|
||||
onEditClick: (coffee: Coffee) -> Unit
|
||||
@ -304,7 +298,11 @@ private fun CoffeeList(
|
||||
) {index ->
|
||||
val coffee = coffeeList[index]
|
||||
coffee?.let {
|
||||
CoffeeListItem(coffee = coffee, onAddToCartClick = onAddToCartClick, onEditClick = onEditClick)
|
||||
CoffeeListItem(
|
||||
coffee = coffee,
|
||||
onAddToCartClick = onAddToCartClick,
|
||||
onEditClick = onEditClick
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -313,7 +311,6 @@ private fun CoffeeList(
|
||||
@Composable
|
||||
private fun CoffeeListItem(
|
||||
coffee: Coffee,
|
||||
modifier: Modifier = Modifier,
|
||||
onAddToCartClick: (coffeeUid: Int) -> Unit,
|
||||
onEditClick: (coffee: Coffee) -> Unit
|
||||
) {
|
||||
@ -395,9 +392,8 @@ fun CoffeeListPreview() {
|
||||
coffeeList = MutableStateFlow(
|
||||
PagingData.from((1..20).map { i -> Coffee.getCoffee(i) })
|
||||
).collectAsLazyPagingItems(),
|
||||
onAddToCartClick = {},
|
||||
onEditClick = {}
|
||||
)
|
||||
onAddToCartClick = {}
|
||||
) {}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -415,9 +411,8 @@ fun CoffeeEmptyListPreview() {
|
||||
coffeeList = MutableStateFlow(
|
||||
PagingData.empty<Coffee>()
|
||||
).collectAsLazyPagingItems(),
|
||||
onAddToCartClick = {},
|
||||
onEditClick = {}
|
||||
)
|
||||
onAddToCartClick = {}
|
||||
) {}
|
||||
}
|
||||
}
|
||||
}
|
@ -44,17 +44,13 @@ import com.zyzf.coffeepreorder.R
|
||||
import com.zyzf.coffeepreorder.database.AppDatabase
|
||||
import com.zyzf.coffeepreorder.database.model.User
|
||||
import com.zyzf.coffeepreorder.ui.AppViewModelProvider
|
||||
import com.zyzf.coffeepreorder.ui.coffee.CoffeeListViewModel
|
||||
import com.zyzf.coffeepreorder.ui.navigation.Screen
|
||||
import com.zyzf.coffeepreorder.ui.theme.CoffeePreorderTheme
|
||||
import kotlinx.coroutines.DelicateCoroutinesApi
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.GlobalScope
|
||||
import kotlinx.coroutines.coroutineScope
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.withContext
|
||||
|
||||
@OptIn(DelicateCoroutinesApi::class)
|
||||
@Composable
|
||||
fun Login(
|
||||
navController: NavController?,
|
||||
|
@ -1,7 +1,6 @@
|
||||
package com.zyzf.coffeepreorder.ui.login
|
||||
|
||||
import androidx.lifecycle.ViewModel
|
||||
import com.zyzf.coffeepreorder.api.user.RestUserRepository
|
||||
import com.zyzf.coffeepreorder.database.model.User
|
||||
import com.zyzf.coffeepreorder.database.repository.UserRepository
|
||||
|
||||
|
@ -195,7 +195,8 @@ fun Profile(navController: NavController?) {
|
||||
onClick = {
|
||||
GlobalScope.launch (Dispatchers.Main) {
|
||||
if (userOldPsswd.value == user.password && userNewPsswd.value == userNewPsswdConf.value) {
|
||||
val userUid: Int? = AppDatabase.getInstance(context).userDao().update(User(user.uid!!, userLogin, userFIO, userPhone, userNewPsswd.value, user.role))
|
||||
val userUid: Int? = AppDatabase.getInstance(context).userDao().update(User(
|
||||
user.uid, userLogin, userFIO, userPhone, userNewPsswd.value, user.role))
|
||||
user = AppDatabase.getInstance(context).userDao().getByUid(userUid!!)!!
|
||||
CoffeeApplication.currentUser = user
|
||||
}
|
||||
|
@ -40,25 +40,19 @@ import coil.compose.AsyncImage
|
||||
import coil.request.ImageRequest
|
||||
import com.zyzf.coffeepreorder.CoffeeApplication
|
||||
import com.zyzf.coffeepreorder.R
|
||||
import com.zyzf.coffeepreorder.database.AppDatabase
|
||||
import com.zyzf.coffeepreorder.database.model.User
|
||||
import com.zyzf.coffeepreorder.ui.AppViewModelProvider
|
||||
import com.zyzf.coffeepreorder.ui.login.LoginViewModel
|
||||
import com.zyzf.coffeepreorder.ui.navigation.Screen
|
||||
import com.zyzf.coffeepreorder.ui.theme.CoffeePreorderTheme
|
||||
import kotlinx.coroutines.DelicateCoroutinesApi
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.GlobalScope
|
||||
import kotlinx.coroutines.coroutineScope
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
@OptIn(DelicateCoroutinesApi::class)
|
||||
@Composable
|
||||
fun Register(
|
||||
navController: NavController?,
|
||||
viewModel: RegisterViewModel = viewModel(factory = AppViewModelProvider.Factory)
|
||||
) {
|
||||
val context = LocalContext.current
|
||||
val coroutineScope = rememberCoroutineScope()
|
||||
var login: String by remember { mutableStateOf("") }
|
||||
var fio: String by remember { mutableStateOf("") }
|
||||
|
@ -1,7 +1,6 @@
|
||||
package com.zyzf.coffeepreorder.ui.register
|
||||
|
||||
import androidx.lifecycle.ViewModel
|
||||
import com.zyzf.coffeepreorder.database.AppDatabase
|
||||
import com.zyzf.coffeepreorder.database.model.User
|
||||
import com.zyzf.coffeepreorder.database.repository.UserRepository
|
||||
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 30 KiB |
@ -1,25 +0,0 @@
|
||||
<!--
|
||||
~ Copyright (C) 2023 The Android Open Source Project
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ https://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="100dp"
|
||||
android:height="100dp"
|
||||
android:tint="#A9A9AC"
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="#A9A9AC"
|
||||
android:pathData="M19.35,10.04C18.67,6.59 15.64,4 12,4c-1.48,0 -2.85,0.43 -4.01,1.17l1.46,1.46C10.21,6.23 11.08,6 12,6c3.04,0 5.5,2.46 5.5,5.5v0.5H19c1.66,0 3,1.34 3,3 0,1.13 -0.64,2.11 -1.56,2.62l1.45,1.45C23.16,18.16 24,16.68 24,15c0,-2.64 -2.05,-4.78 -4.65,-4.96zM3,5.27l2.75,2.74C2.56,8.15 0,10.77 0,14c0,3.31 2.69,6 6,6h11.73l2,2L21,20.73 4.27,4 3,5.27zM7.73,10l8,8H6c-2.21,0 -4,-1.79 -4,-4s1.79,-4 4,-4h1.73z" />
|
||||
</vector>
|
@ -1,10 +1,2 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="purple_200">#FFBB86FC</color>
|
||||
<color name="purple_500">#FF6200EE</color>
|
||||
<color name="purple_700">#FF3700B3</color>
|
||||
<color name="teal_200">#FF03DAC5</color>
|
||||
<color name="teal_700">#FF018786</color>
|
||||
<color name="black">#FF000000</color>
|
||||
<color name="white">#FFFFFFFF</color>
|
||||
</resources>
|
||||
<resources></resources>
|
@ -8,7 +8,6 @@
|
||||
<string name="coffee_name">Название</string>
|
||||
<string name="coffee_cost">Стоимость</string>
|
||||
<string name="coffee_ingredients">Ингредиенты</string>
|
||||
<string name="coffee_view_title">Изменить кофе</string>
|
||||
|
||||
<string name="profile_title">Профиль</string>
|
||||
<string name="profile_login_label">Логин</string>
|
||||
@ -19,17 +18,4 @@
|
||||
<string name="profile_newpassw_label">Новый пароль</string>
|
||||
<string name="profile_confpassw_label">Подтверждение пароля</string>
|
||||
|
||||
<string name="student_firstname">Имя</string>
|
||||
<string name="student_lastname">Фамилия</string>
|
||||
<string name="student_group">Группа</string>
|
||||
<string name="student_phone">Телефон</string>
|
||||
<string name="student_email">e-mail</string>
|
||||
<string name="student_main_title">Список студентов</string>
|
||||
<string name="student_view_title">Профиль студента</string>
|
||||
<string name="about_title">О нас</string>
|
||||
<string name="about_text">
|
||||
<p>Это текст <b>о нас</b>!</p>\n\n
|
||||
<p>Здесь могла быть Ваша реклама!</p>\n\n
|
||||
<p>Наш сайт <a href="https://ulstu.ru">ulstu.ru</a></p>
|
||||
</string>
|
||||
</resources>
|
@ -6,7 +6,6 @@ plugins {
|
||||
|
||||
group = 'com.kalyshev'
|
||||
version = '0.0.1-SNAPSHOT'
|
||||
sourceCompatibility = '17'
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
@ -28,3 +27,5 @@ dependencies {
|
||||
tasks.named('test') {
|
||||
useJUnitPlatform()
|
||||
}
|
||||
|
||||
java.targetCompatibility = JavaVersion.VERSION_17
|
@ -2,7 +2,6 @@ package com.kalyshev.yan.coffee.controller;
|
||||
|
||||
import com.kalyshev.yan.WebConfiguration;
|
||||
import com.kalyshev.yan.coffee.service.CoffeeService;
|
||||
import com.kalyshev.yan.user.model.User;
|
||||
import jakarta.validation.Valid;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
|
@ -1,8 +1,6 @@
|
||||
package com.kalyshev.yan.coffee.controller;
|
||||
|
||||
import com.kalyshev.yan.coffee.model.Coffee;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
public class CoffeeDto {
|
||||
private Long id;
|
||||
|
@ -4,8 +4,6 @@ import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
|
@ -3,7 +3,6 @@ package com.kalyshev.yan.coffee.service;
|
||||
import com.kalyshev.yan.coffee.controller.CoffeeDto;
|
||||
import com.kalyshev.yan.coffee.model.Coffee;
|
||||
import com.kalyshev.yan.coffee.repository.CoffeeRepository;
|
||||
import com.kalyshev.yan.user.model.User;
|
||||
import com.kalyshev.yan.user.repository.UserNotFoundException;
|
||||
import com.kalyshev.yan.util.validation.ValidatorUtil;
|
||||
import org.springframework.data.domain.Page;
|
||||
|
@ -1,8 +1,6 @@
|
||||
package com.kalyshev.yan.user.controller;
|
||||
|
||||
import com.kalyshev.yan.user.model.User;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
public class UserDto {
|
||||
private Long id;
|
||||
|
@ -4,8 +4,6 @@ import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
|
@ -53,8 +53,7 @@ public class UserService {
|
||||
}
|
||||
@Transactional(readOnly = true)
|
||||
public Optional<User> tryLogin(String login, String password) {
|
||||
final Optional<User> user = userRepository.tryLogin(login, password);
|
||||
return user;
|
||||
return userRepository.tryLogin(login, password);
|
||||
}
|
||||
@Transactional(readOnly = true)
|
||||
public List<UserDto> findAllUsers(int pageNo, int pageSize, String sortBy, String sortDir) {
|
||||
@ -69,11 +68,9 @@ public class UserService {
|
||||
// get content for page object
|
||||
List<User> listOfUsers = users.getContent();
|
||||
|
||||
List<UserDto> content = listOfUsers.stream()
|
||||
return listOfUsers.stream()
|
||||
.map(UserDto::new)
|
||||
.toList();
|
||||
|
||||
return content;
|
||||
}
|
||||
@Transactional
|
||||
public User updateUser(Long id, String login, String fio, String phone, String password, String role) {
|
||||
|
@ -1,64 +0,0 @@
|
||||
package com.kalyshev.yan;
|
||||
|
||||
import com.kalyshev.yan.cabinet.model.Cabinet;
|
||||
import com.kalyshev.yan.cabinet.repository.CabinetNotFoundException;
|
||||
import com.kalyshev.yan.cabinet.service.CabinetService;
|
||||
import com.kalyshev.yan.computer.service.ComputerService;
|
||||
import com.kalyshev.yan.monitor.service.MonitorService;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@SpringBootTest
|
||||
public class JpaCabinetTests {
|
||||
private static final Logger log = LoggerFactory.getLogger(JpaCabinetTests.class);
|
||||
@Autowired
|
||||
private ComputerService computerService;
|
||||
@Autowired
|
||||
private MonitorService monitorService;
|
||||
@Autowired
|
||||
private CabinetService cabinetService;
|
||||
|
||||
@Test
|
||||
void testCabinetCreate() {
|
||||
cabinetService.deleteAllCabinets();
|
||||
final Cabinet cabinet = cabinetService.addCabinet("18");
|
||||
log.info(cabinet.toString());
|
||||
Assertions.assertNotNull(cabinet.getId());
|
||||
}
|
||||
@Test
|
||||
void testCabinetRead() {
|
||||
cabinetService.deleteAllCabinets();
|
||||
final Cabinet cabinet = cabinetService.addCabinet("18");
|
||||
log.info(cabinet.toString());
|
||||
final Cabinet findCabinet = cabinetService.findCabinet(cabinet.getId());
|
||||
log.info(findCabinet.toString());
|
||||
Assertions.assertEquals(cabinet, findCabinet);
|
||||
}
|
||||
@Test
|
||||
void testCabinetReadNotFound() {
|
||||
cabinetService.deleteAllCabinets();
|
||||
Assertions.assertThrows(CabinetNotFoundException.class, () -> cabinetService.findCabinet(-1L));
|
||||
}
|
||||
@Test
|
||||
void testCabinetReadAll() {
|
||||
cabinetService.deleteAllCabinets();
|
||||
cabinetService.addCabinet("18");
|
||||
cabinetService.addCabinet("19");
|
||||
final List<Cabinet> cabinets = cabinetService.findAllCabinets();
|
||||
log.info(cabinets.toString());
|
||||
Assertions.assertEquals(cabinets.size(), 2);
|
||||
}
|
||||
@Test
|
||||
void testComputerReadAllEmpty() {
|
||||
cabinetService.deleteAllCabinets();
|
||||
final List<Cabinet> cabinets = cabinetService.findAllCabinets();
|
||||
log.info(cabinets.toString());
|
||||
Assertions.assertEquals(cabinets.size(), 0);
|
||||
}
|
||||
}
|
@ -1,85 +0,0 @@
|
||||
package com.kalyshev.yan;
|
||||
|
||||
import com.kalyshev.yan.cabinet.model.Cabinet;
|
||||
import com.kalyshev.yan.cabinet.service.CabinetService;
|
||||
import com.kalyshev.yan.computer.model.Computer;
|
||||
import com.kalyshev.yan.computer.service.ComputerService;
|
||||
import com.kalyshev.yan.monitor.model.Monitor;
|
||||
import com.kalyshev.yan.monitor.service.MonitorService;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
|
||||
@SpringBootTest
|
||||
public class JpaComputerCabinetTests {
|
||||
private static final Logger log = LoggerFactory.getLogger(JpaCabinetTests.class);
|
||||
@Autowired
|
||||
private ComputerService computerService;
|
||||
@Autowired
|
||||
private MonitorService monitorService;
|
||||
@Autowired
|
||||
private CabinetService cabinetService;
|
||||
|
||||
@Test
|
||||
void testCabinetAddOneToMany() {
|
||||
cabinetService.deleteAllCabinets();
|
||||
computerService.deleteAllComputers();
|
||||
computerService.deleteAllMonitorsWithRelations();
|
||||
final Cabinet cabinet = cabinetService.addCabinet("18");
|
||||
final Monitor monitor = monitorService.addMonitor("Asus");
|
||||
final Computer computer = computerService.addComputer("PC", "78457h", monitor.getId());
|
||||
cabinet.addComputer(computer);
|
||||
log.info(cabinet.toString());
|
||||
log.info(computer.toString());
|
||||
Assertions.assertEquals(cabinet.getComputers().get(0).getSerialNum(), computer.getSerialNum());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testCabinetDeleteOneToMany() {
|
||||
cabinetService.deleteAllCabinets();
|
||||
computerService.deleteAllComputers();
|
||||
computerService.deleteAllMonitorsWithRelations();
|
||||
final Cabinet cabinet = cabinetService.addCabinet("18");
|
||||
final Monitor monitor = monitorService.addMonitor("Asus");
|
||||
final Computer computer = computerService.addComputer("PC", "78457h", monitor.getId());
|
||||
cabinet.addComputer(computer);
|
||||
log.info(cabinet.toString());
|
||||
log.info(computer.toString());
|
||||
Assertions.assertEquals(cabinet.getComputers().get(0).getSerialNum(), computer.getSerialNum());
|
||||
cabinet.removeComputer(computer);
|
||||
Assertions.assertEquals(cabinet.getComputers().size(), 0);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testComputerAddManyToMany() {
|
||||
cabinetService.deleteAllCabinets();
|
||||
computerService.deleteAllComputers();
|
||||
computerService.deleteAllMonitorsWithRelations();
|
||||
final Cabinet cabinet = cabinetService.addCabinet("18");
|
||||
final Monitor monitor = monitorService.addMonitor("Asus");
|
||||
final Computer computer = computerService.addComputer("PC", "78457h", monitor.getId());
|
||||
computer.setCabinet(cabinet);
|
||||
log.info(cabinet.toString());
|
||||
log.info(computer.toString());
|
||||
Assertions.assertEquals(computer.getCabinet().getNumber(), cabinet.getNumber());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testComputerDeleteManyToMany() {
|
||||
cabinetService.deleteAllCabinets();
|
||||
computerService.deleteAllComputers();
|
||||
computerService.deleteAllMonitorsWithRelations();
|
||||
final Cabinet cabinet = cabinetService.addCabinet("18");
|
||||
final Monitor monitor = monitorService.addMonitor("Asus");
|
||||
final Computer computer = computerService.addComputer("PC", "78457h", monitor.getId());
|
||||
computer.setCabinet(cabinet);
|
||||
log.info(cabinet.toString());
|
||||
log.info(computer.toString());
|
||||
Assertions.assertEquals(computer.getCabinet().getNumber(), cabinet.getNumber());
|
||||
computer.setCabinet(null);
|
||||
Assertions.assertNull(computer.getCabinet());
|
||||
}
|
||||
}
|
@ -1,89 +0,0 @@
|
||||
package com.kalyshev.yan;
|
||||
|
||||
import com.kalyshev.yan.cabinet.model.Cabinet;
|
||||
import com.kalyshev.yan.cabinet.service.CabinetService;
|
||||
import com.kalyshev.yan.computer.model.Computer;
|
||||
import com.kalyshev.yan.computer.repository.ComputerNotFoundException;
|
||||
import com.kalyshev.yan.computer.service.ComputerService;
|
||||
import com.kalyshev.yan.monitor.model.Monitor;
|
||||
import com.kalyshev.yan.monitor.service.MonitorService;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@SpringBootTest
|
||||
public class JpaComputerTests {
|
||||
private static final Logger log = LoggerFactory.getLogger(JpaComputerTests.class);
|
||||
@Autowired
|
||||
private ComputerService computerService;
|
||||
@Autowired
|
||||
private MonitorService monitorService;
|
||||
@Autowired
|
||||
private CabinetService cabinetService;
|
||||
|
||||
@Test
|
||||
void testComputerPartialCreate() {
|
||||
computerService.deleteAllComputers();
|
||||
final Monitor monitor = monitorService.addMonitor("Asus");
|
||||
final Computer computer = computerService.addComputer("Computer", "w7894572", monitor.getId());
|
||||
log.info(computer.toString());
|
||||
Assertions.assertNotNull(computer.getId());
|
||||
Assertions.assertNull(computer.getCabinet());
|
||||
}
|
||||
@Test
|
||||
void testComputerFullCreate() {
|
||||
computerService.deleteAllComputers();
|
||||
final Monitor monitor = monitorService.addMonitor("Asus");
|
||||
final Cabinet cabinet = cabinetService.addCabinet("18a");
|
||||
final Computer computer = computerService.addComputer("Computer", "w7894572", monitor.getId());
|
||||
computer.setCabinet(cabinet);
|
||||
log.info(computer.toString());
|
||||
Assertions.assertNotNull(computer.getId());
|
||||
Assertions.assertEquals(cabinet, computer.getCabinet());
|
||||
}
|
||||
@Test
|
||||
void testComputerDelete() {
|
||||
computerService.deleteAllComputers();
|
||||
final Monitor monitor = monitorService.addMonitor("Asus");
|
||||
final Computer computer = computerService.addComputer("Computer", "w7894572", null);
|
||||
log.info(computer.toString());
|
||||
computerService.deleteComputer(computer.getId());
|
||||
Assertions.assertThrows(ComputerNotFoundException.class, () -> computerService.findComputer(computer.getId()));
|
||||
}
|
||||
@Test
|
||||
void testComputerRead() {
|
||||
computerService.deleteAllComputers();
|
||||
final Computer computer = computerService.addComputer("Computer", "w7894572", null);
|
||||
log.info(computer.toString());
|
||||
final Computer findComputer = computerService.findComputer(computer.getId());
|
||||
log.info(findComputer.toString());
|
||||
Assertions.assertEquals(computer, findComputer);
|
||||
}
|
||||
@Test
|
||||
void testComputerReadNotFound() {
|
||||
computerService.deleteAllComputers();
|
||||
Assertions.assertThrows(ComputerNotFoundException.class, () -> computerService.findComputer(-1L));
|
||||
}
|
||||
@Test
|
||||
void testComputerReadAll() {
|
||||
computerService.deleteAllComputers();
|
||||
final Monitor monitor = monitorService.addMonitor("Asus");
|
||||
computerService.addComputer("Computer", "w7894572", null);
|
||||
computerService.addComputer("Another comp", "3453s", null);
|
||||
final List<Computer> computers = computerService.findAllComputers();
|
||||
log.info(computers.toString());
|
||||
Assertions.assertEquals(computers.size(), 2);
|
||||
}
|
||||
@Test
|
||||
void testComputerReadAllEmpty() {
|
||||
computerService.deleteAllComputers();
|
||||
final List<Computer> computers = computerService.findAllComputers();
|
||||
log.info(computers.toString());
|
||||
Assertions.assertEquals(computers.size(), 0);
|
||||
}
|
||||
}
|
@ -1,78 +0,0 @@
|
||||
package com.kalyshev.yan;
|
||||
|
||||
import com.kalyshev.yan.computer.model.Computer;
|
||||
import com.kalyshev.yan.computer.service.ComputerService;
|
||||
import com.kalyshev.yan.monitor.model.Monitor;
|
||||
import com.kalyshev.yan.monitor.repository.MonitorNotFoundException;
|
||||
import com.kalyshev.yan.monitor.service.MonitorService;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
|
||||
import java.util.List;
|
||||
@SpringBootTest
|
||||
public class JpaMonitorTests {
|
||||
private static final Logger log = LoggerFactory.getLogger(JpaMonitorTests.class);
|
||||
@Autowired
|
||||
private MonitorService monitorService;
|
||||
@Autowired
|
||||
private ComputerService computerService;
|
||||
@Test
|
||||
void testMonitorCreate() {
|
||||
computerService.deleteAllMonitorsWithRelations();
|
||||
final Monitor monitor = monitorService.addMonitor("Asus");
|
||||
log.info(monitor.toString());
|
||||
Assertions.assertNotNull(monitor.getId());
|
||||
}
|
||||
@Test
|
||||
void testMonitorRead() {
|
||||
computerService.deleteAllMonitorsWithRelations();
|
||||
final Monitor monitor = monitorService.addMonitor("Asus");
|
||||
log.info(monitor.toString());
|
||||
final Monitor findMonitor = monitorService.findMonitor(monitor.getId());
|
||||
log.info(findMonitor.toString());
|
||||
Assertions.assertEquals(monitor, findMonitor);
|
||||
}
|
||||
@Test
|
||||
void testMonitorDelete() {
|
||||
computerService.deleteAllMonitorsWithRelations();
|
||||
final Monitor monitor = monitorService.addMonitor("Asus");
|
||||
log.info(monitor.toString());
|
||||
computerService.deleteMonitorWithRelation(monitor.getId());
|
||||
Assertions.assertThrows(MonitorNotFoundException.class, () -> monitorService.findMonitor(monitor.getId()));
|
||||
}
|
||||
@Test
|
||||
void testMonitorReadNotFound() {
|
||||
computerService.deleteAllMonitorsWithRelations();
|
||||
Assertions.assertThrows(MonitorNotFoundException.class, () -> monitorService.findMonitor(-1L));
|
||||
}
|
||||
@Test
|
||||
void testMonitorReadAll() {
|
||||
computerService.deleteAllMonitorsWithRelations();
|
||||
monitorService.addMonitor("Asus");
|
||||
monitorService.addMonitor("HP");
|
||||
final List<Monitor> monitors = monitorService.findAllMonitors();
|
||||
log.info(monitors.toString());
|
||||
Assertions.assertEquals(monitors.size(), 2);
|
||||
}
|
||||
@Test
|
||||
void testMonitorReadAllEmpty() {
|
||||
computerService.deleteAllMonitorsWithRelations();
|
||||
final List<Monitor> monitors = monitorService.findAllMonitors();
|
||||
log.info(monitors.toString());
|
||||
Assertions.assertEquals(monitors.size(), 0);
|
||||
}
|
||||
@Test
|
||||
void testMonitorGetComputer() {
|
||||
computerService.deleteAllMonitorsWithRelations();
|
||||
computerService.deleteAllComputers();
|
||||
Monitor monitor = monitorService.addMonitor("Asus");
|
||||
Computer computer = computerService.addComputer("Model", "6sfv4", monitor.getId());
|
||||
log.info(computer.toString());
|
||||
Computer fetchedComputer = computerService.findComputerByMonitor(monitor);
|
||||
Assertions.assertEquals(computer, fetchedComputer);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user