починил добавление линз из набора, поправил обнаружение ошибки авторизации
This commit is contained in:
parent
4cbd0885da
commit
63b472fdb6
@ -8,7 +8,7 @@ const loginUser = async (loginData) => {
|
||||
});
|
||||
return response.data.access_token;
|
||||
} catch (error) {
|
||||
if (error.status === 401) {
|
||||
if (error.status === 403) {
|
||||
throw new Error("Неверное имя пользователя или пароль")
|
||||
}
|
||||
|
||||
|
||||
@ -11,7 +11,7 @@ const getAllLensTypes = async (token) => {
|
||||
});
|
||||
return response.data;
|
||||
} catch (error) {
|
||||
if (error.response?.status === 401) {
|
||||
if (error.response?.status === 403) {
|
||||
throw new Error("Ошибка авторизации: пользователь не найден или токен недействителен");
|
||||
}
|
||||
throw new Error(error.message);
|
||||
|
||||
@ -11,7 +11,7 @@ const addLens = async (token, lens) => {
|
||||
});
|
||||
return response.data;
|
||||
} catch (error) {
|
||||
if (error.response?.status === 401) {
|
||||
if (error.response?.status === 403) {
|
||||
throw new Error("Ошибка авторизации: пользователь не найден или токен недействителен");
|
||||
}
|
||||
throw new Error(error.message);
|
||||
|
||||
@ -11,7 +11,7 @@ const deleteLens = async (token, lens_id) => {
|
||||
});
|
||||
return response.data;
|
||||
} catch (error) {
|
||||
if (error.response?.status === 401) {
|
||||
if (error.response?.status === 403) {
|
||||
throw new Error("Ошибка авторизации: пользователь не найден или токен недействителен");
|
||||
}
|
||||
throw new Error(error.message);
|
||||
|
||||
@ -10,7 +10,7 @@ const getAllLenses = async (token) => {
|
||||
});
|
||||
return response.data;
|
||||
} catch (error) {
|
||||
if (error.response?.status === 401) {
|
||||
if (error.response?.status === 403) {
|
||||
throw Error("Ошибка авторизации: пользователь неяден или токен недействителен");
|
||||
}
|
||||
throw Error(error.message);
|
||||
|
||||
@ -12,7 +12,7 @@ const updateLens = async (token, lensId, lensData) => {
|
||||
});
|
||||
return response.data;
|
||||
} catch (error) {
|
||||
if (error.response?.status === 401) {
|
||||
if (error.response?.status === 403) {
|
||||
throw new Error("Ошибка авторизации: пользователь не найден или токен недействителен");
|
||||
}
|
||||
throw new Error(error.message);
|
||||
|
||||
@ -11,7 +11,7 @@ const addPatient = async (token, patient) => {
|
||||
});
|
||||
return response.data;
|
||||
} catch (error) {
|
||||
if (error.response?.status === 401) {
|
||||
if (error.response?.status === 403) {
|
||||
throw new Error("Ошибка авторизации: пользователь не найден или токен недействителен");
|
||||
}
|
||||
throw new Error(error.message);
|
||||
|
||||
@ -11,7 +11,7 @@ const deletePatient = async (token, patient_id) => {
|
||||
});
|
||||
return response.data;
|
||||
} catch (error) {
|
||||
if (error.response?.status === 401) {
|
||||
if (error.response?.status === 403) {
|
||||
throw new Error("Ошибка авторизации: пользователь не найден или токен недействителен");
|
||||
}
|
||||
throw new Error(error.message);
|
||||
|
||||
@ -11,7 +11,7 @@ const getAllPatients = async (token) => {
|
||||
});
|
||||
return response.data;
|
||||
} catch (error) {
|
||||
if (error.response?.status === 401) {
|
||||
if (error.response?.status === 403) {
|
||||
throw new Error("Ошибка авторизации: пользователь не найден или токен недействителен");
|
||||
}
|
||||
throw new Error(error.message);
|
||||
|
||||
@ -11,7 +11,7 @@ const updatePatient = async (token, patientId, patientData) => {
|
||||
});
|
||||
return response.data;
|
||||
} catch (error) {
|
||||
if (error.response?.status === 401) {
|
||||
if (error.response?.status === 403) {
|
||||
throw new Error("Ошибка авторизации: пользователь не найден или токен недействителен");
|
||||
}
|
||||
throw new Error(error.message);
|
||||
|
||||
@ -11,7 +11,7 @@ const addSetContent = async (token, set_content, set_id) => {
|
||||
});
|
||||
return response.data;
|
||||
} catch (error) {
|
||||
if (error.response?.status === 401) {
|
||||
if (error.response?.status === 403) {
|
||||
throw new Error("Ошибка авторизации: пользователь не найден или токен недействителен");
|
||||
}
|
||||
throw new Error(error.message);
|
||||
|
||||
@ -11,7 +11,7 @@ const getSetContentBySetId = async (token, set_id) => {
|
||||
});
|
||||
return response.data;
|
||||
} catch (error) {
|
||||
if (error.response?.status === 401) {
|
||||
if (error.response?.status === 403) {
|
||||
throw new Error("Ошибка авторизации: пользователь не найден или токен недействителен");
|
||||
}
|
||||
throw new Error(error.message);
|
||||
|
||||
@ -11,7 +11,7 @@ const updateSetContent = async (token, set_content, set_id) => {
|
||||
});
|
||||
return response.data;
|
||||
} catch (error) {
|
||||
if (error.response?.status === 401) {
|
||||
if (error.response?.status === 403) {
|
||||
throw new Error("Ошибка авторизации: пользователь не найден или токен недействителен");
|
||||
}
|
||||
throw new Error(error.message);
|
||||
|
||||
@ -11,7 +11,7 @@ const addSet = async (token, set) => {
|
||||
});
|
||||
return response.data;
|
||||
} catch (error) {
|
||||
if (error.response?.status === 401) {
|
||||
if (error.response?.status === 403) {
|
||||
throw new Error("Ошибка авторизации: пользователь не найден или токен недействителен");
|
||||
}
|
||||
throw new Error(error.message);
|
||||
|
||||
22
web-app/src/api/sets/AppendLensesFromSet.jsx
Normal file
22
web-app/src/api/sets/AppendLensesFromSet.jsx
Normal file
@ -0,0 +1,22 @@
|
||||
import axios from "axios";
|
||||
import CONFIG from "../../core/Config.jsx";
|
||||
|
||||
|
||||
const appendLensesFromSet = async (token, set_id) => {
|
||||
try {
|
||||
const response = await axios.post(`${CONFIG.BASE_URL}/sets/append_lenses/${set_id}/`, {}, {
|
||||
headers: {
|
||||
Authorization: `Bearer ${token}`,
|
||||
},
|
||||
});
|
||||
return response.data;
|
||||
} catch (error) {
|
||||
if (error.response?.status === 403) {
|
||||
throw new Error("Ошибка авторизации: пользователь не найден или токен недействителен");
|
||||
} else {
|
||||
throw new Error(error.message);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
export default appendLensesFromSet;
|
||||
@ -10,7 +10,7 @@ const deleteSet = async (token, set_id) => {
|
||||
});
|
||||
return response.data;
|
||||
} catch (error) {
|
||||
if (error.response?.status === 401) {
|
||||
if (error.response?.status === 403) {
|
||||
throw new Error("Ошибка авторизации: пользователь не найден или токен недействителен");
|
||||
}
|
||||
throw new Error(error.message);
|
||||
|
||||
@ -10,7 +10,7 @@ const getAllSets = async (token) => {
|
||||
});
|
||||
return response.data;
|
||||
} catch (error) {
|
||||
if (error.response?.status === 401) {
|
||||
if (error.response?.status === 403) {
|
||||
throw new Error("Ошибка авторизации: пользователь не найден или токен недействителен");
|
||||
}
|
||||
throw new Error(error.message);
|
||||
|
||||
@ -11,7 +11,7 @@ const updateSet = async (token, set_id, set) => {
|
||||
});
|
||||
return response.data;
|
||||
} catch (error) {
|
||||
if (error.response?.status === 401) {
|
||||
if (error.response?.status === 403) {
|
||||
throw new Error("Ошибка авторизации: пользователь не найден или токен недействителен");
|
||||
}
|
||||
throw new Error(error.message);
|
||||
|
||||
@ -71,7 +71,7 @@ const SetFormModal = ({visible, onCancel, setData, onSubmit}) => {
|
||||
periphery_toricity: 0,
|
||||
side: "левая",
|
||||
count: 1,
|
||||
type_id: null
|
||||
type_id: lensTypes ? lensTypes[0].id : null
|
||||
}]);
|
||||
};
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@ import PropTypes from "prop-types";
|
||||
import {Card, Modal, Tooltip} from "antd";
|
||||
import {DeleteOutlined, EditOutlined, PlusOutlined} from "@ant-design/icons";
|
||||
|
||||
const SetListCard = ({set, handleEditSet, handleAddSet, handleDeleteSet}) => {
|
||||
const SetListCard = ({set, handleEditSet, handleDeleteSet, handleAppendSet}) => {
|
||||
|
||||
const confirmSetDelete = () => {
|
||||
Modal.confirm({
|
||||
@ -14,10 +14,20 @@ const SetListCard = ({set, handleEditSet, handleAddSet, handleDeleteSet}) => {
|
||||
});
|
||||
};
|
||||
|
||||
const confirmAppendSet = () => {
|
||||
Modal.confirm({
|
||||
title: "Добавление набора",
|
||||
content: `Вы уверены, что хотите добавить набор ${set.title} в общий список линз?`,
|
||||
okText: "Да, добавить",
|
||||
cancelText: "Отмена",
|
||||
onOk: () => handleAppendSet(set),
|
||||
});
|
||||
};
|
||||
|
||||
const actions = [
|
||||
<Tooltip title="Добавить набор" key={"add"}>
|
||||
<Tooltip title="Добавление набора в общий список линз" key={"add"}>
|
||||
<PlusOutlined
|
||||
onClick={handleAddSet}
|
||||
onClick={confirmAppendSet}
|
||||
/>
|
||||
</Tooltip>,
|
||||
|
||||
@ -54,7 +64,7 @@ SetListCard.propTypes = {
|
||||
title: PropTypes.string.isRequired,
|
||||
}).isRequired,
|
||||
handleEditSet: PropTypes.func.isRequired,
|
||||
handleAddSet: PropTypes.func.isRequired,
|
||||
handleAppendSet: PropTypes.func.isRequired,
|
||||
handleDeleteSet: PropTypes.func.isRequired,
|
||||
};
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import {useAuth} from "../AuthContext.jsx";
|
||||
import {useEffect, useState} from "react";
|
||||
import {Col, FloatButton, Input, List, notification, Row, Select, Spin, Tooltip} from "antd";
|
||||
import {FloatButton, Input, List, notification, Row, Spin} from "antd";
|
||||
import getAllSets from "../api/sets/GetAllSets.jsx";
|
||||
import {LoadingOutlined, PlusOutlined} from "@ant-design/icons";
|
||||
import SetListCard from "../components/sets/SetListCard.jsx";
|
||||
@ -10,6 +10,7 @@ import addSet from "../api/sets/AddSet.jsx";
|
||||
import deleteSet from "../api/sets/DeleteSet.jsx";
|
||||
import addSetContent from "../api/set_content/AddSetContent.jsx";
|
||||
import updateSetContent from "../api/set_content/UpdateSetContent.jsx";
|
||||
import appendLensesFromSet from "../api/sets/AppendLensesFromSet.jsx";
|
||||
|
||||
|
||||
const SetLensesPage = () => {
|
||||
@ -105,6 +106,24 @@ const SetLensesPage = () => {
|
||||
setIsModalVisible(false);
|
||||
};
|
||||
|
||||
const handleAppendSet = async (set) => {
|
||||
try {
|
||||
await appendLensesFromSet(user.token, set.id);
|
||||
notification.success({
|
||||
message: "Линзы добавлены",
|
||||
description: "Линзы успешно добавлены.",
|
||||
placement: "topRight",
|
||||
});
|
||||
} catch (error) {
|
||||
console.error("Ошибка добавления линз:", error);
|
||||
notification.error({
|
||||
message: "Ошибка добавления линз",
|
||||
description: "Проверьте подключение к сети.",
|
||||
placement: "topRight",
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
const handleModalSetSubmit = async (set, content = []) => {
|
||||
try {
|
||||
let refreshed_set;
|
||||
@ -217,8 +236,8 @@ const SetLensesPage = () => {
|
||||
<SetListCard
|
||||
set={set}
|
||||
handleEditSet={handleEditSet}
|
||||
handleAddSet={handleAddSet}
|
||||
handleDeleteSet={handleDeleteSet}
|
||||
handleAppendSet={handleAppendSet}
|
||||
/>
|
||||
</List.Item>
|
||||
)}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user