Всё ближе, и ближе, и блииижеееее

This commit is contained in:
Programmist73 2023-05-16 02:27:55 +04:00
parent b3f016eca3
commit 2f0e1edba8
8 changed files with 62 additions and 19 deletions

View File

@ -38,7 +38,7 @@ export default function AddClient() {
const requestParams = {
method: "GET",
headers: {
"Authorization": getTokenForHeader(),
"Authorization": getTokenForHeader()
}
};
const requestUrl = host + `/users?page=${page}`;
@ -102,6 +102,21 @@ export default function AddClient() {
<h1 style={{textAlign: 'center'}}>В БД отсутствуют какие-либо клиенты!</h1>
}
</div>
<div>
<p>
Pages:
</p>
<nav>
<ul className="pagination">
{pageNumbers.map((number) => (
<li className={`page-item ${number === pageNumber + 1 ? "active" : ""}`}
onClick={() => pageButtonOnClick(number)}>
<a className="page-link" href="#">{number}</a>
</li>
))}
</ul>
</nav>
</div>
</div>
);
}

View File

@ -50,6 +50,7 @@ const AddLevel = () => {
<div>
<div className="Group_create_level">
<h1>Генератор уровней</h1>
<div>
<p style={{fontWeight: "900"}}>
Введите уровень:

View File

@ -43,17 +43,24 @@ const AddNation = () => {
}
//добавление нового уровня
function addNewNation(){
/*if(nation.nation === ''){
const addNewNation = async function (){
if(nation.nation === ''){
return;
}
else {
axios.post('http://localhost:8080/nation/?nation=' + nation.nation)
.then((response) => {
CheckArray();
setNation({nation: ''});
});
}*/
const requestParams = {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": getTokenForHeader(),
}
};
console.log(JSON.stringify(nation));
const requestUrl = host + `/create/?nation=${nation.nation}`;
const response = await fetch(requestUrl, requestParams);
getNations();
setNation({nation: ''});
}
}
//добавили условную отрисовку

View File

@ -5,7 +5,7 @@ import ModalClient from './ModalClient';
import ModalTankNation from '../Nation/ModalTankNation';
const hostURL = "http://localhost:8080";
const host = hostURL + "/api/1.0";
const host = hostURL + "/api/1.0/";
const ClientItem = (data) => {

View File

@ -7,7 +7,7 @@ const ModalNation = ({data, visible, setVisible}) => {
//для обновления уровня
const [nation, setNation] = useState(data.nation);
const nullId = 0;
const nullId = 0;
//для контроля видимости модалки
const rootClasses = [cl.myModal];

View File

@ -4,6 +4,9 @@ import './NationItem.css';
import ModalNation from './ModalNation';
import ModalTankNation from './ModalTankNation';
const hostURL = "http://localhost:8080";
const host = hostURL + "/api/1.0/nation";
//отвечает за отдельно взятую нацию (вывод карточки с ним)
const NationItem = (data) => {
const [nation, setNation] = useState(null);
@ -14,13 +17,26 @@ const NationItem = (data) => {
//состояние для вызова окна показа списка танков нации
const[modalNation, setModalNation] = useState(false);
function deleteNation(){
axios.delete('http://localhost:8080/nation/' + data.nationItem.id)
.then((response) => {
console.log("Удаление нации с id " + data.nationItem.id)
});
const getTokenForHeader = function () {
return "Bearer " + localStorage.getItem("token");
}
const deleteFecth = async function (id) {
const requestParams = {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": getTokenForHeader(),
}
};
const requestUrl = host + `/${id}`;
await fetch(requestUrl, requestParams);
}
/*function deleteNation(id){
deleteFecth(id)
}*/
return (
<div className="nation-card">
<p className="nation-attribute"> id: {data.nationItem.id} </p>
@ -32,7 +48,7 @@ const NationItem = (data) => {
Редактировать
</button>
<button className="nation-button" type="button"
onClick={deleteNation}
onClick={event => deleteFecth(data.nationItem.id)}
>
Удалить
</button>

View File

@ -1,9 +1,11 @@
package premium_store.controller.controller;
import org.springframework.security.access.annotation.Secured;
import org.springframework.web.bind.annotation.*;
import premium_store.configuration.OpenAPI30Configuration;
import premium_store.configuration.WebConfiguration;
import premium_store.controller.DTO.FullNationDTO;
import premium_store.model.UserRole;
import premium_store.service.NationService;
import premium_store.service.TankService;
@ -38,7 +40,8 @@ public class NationController {
.toList();
}
@PostMapping("/")
@PostMapping("/create")
@Secured({UserRole.AsString.ADMIN})
public FullNationDTO createNation(@RequestParam("nation") String nation) {
return new FullNationDTO(nationService.addNation(nation));
}
@ -50,7 +53,7 @@ public class NationController {
return new FullNationDTO(nationService.updateNation(id, nation, (tankId > 0) ? tankService.findTank(tankId) : null));
}
@DeleteMapping("/{id}")
@PostMapping("/{id}")
public FullNationDTO deleteNation(@PathVariable Long id) {
return new FullNationDTO(nationService.deleteNation(id));
}

View File

@ -2,6 +2,7 @@
spring.main.banner-mode=off
server.port=8080
#JPA
server.tomcat.relaxed-query-chars=|,{,},[,]
spring.datasource.url=jdbc:h2:file:./data
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa