test-task-sws

Форк
0
/
GlobalApi.ts 
49 строк · 1.4 Кб
1
import axios from "axios";
2
import { CiwCreateData, CiwUpdateData } from "./ts/ApiData";
3
import updateNodeInSessionData from "./lib/updateNodeInSessionData";
4
import { TreeNode } from "./ts/TreeNode";
5
import deleteNodeInSessionData from "./lib/deleteNodeInSessionData";
6

7
/**
8
 * Fetch data from API
9
 */
10
export const fetchData = async () =>
11
	await axios
12
		.get(`${import.meta.env.VITE_APP_PATH}/row/list`)
13
		.then((res) => res.data)
14
		.catch((e) => {
15
			console.log(e);
16
		});
17

18
/**
19
 * Create new data in API
20
 */
21
export const createData = async (data: CiwCreateData, nodes: TreeNode[], key: string) =>
22
	await axios
23
		.post(`${import.meta.env.VITE_APP_PATH}/row/create`, data)
24
		.then((res) => updateNodeInSessionData(nodes, res.data.current, key))
25
		.catch((e) => {
26
			console.log(e);
27
		});
28

29
/**
30
 * Update current data in API
31
 */
32
export const updateData = async (data: CiwUpdateData, nodes: TreeNode[], key: string) =>
33
	await axios
34
		.post(`${import.meta.env.VITE_APP_PATH}/row/${data.id}/update`, data)
35
		.then((res) => updateNodeInSessionData(nodes, res.data.current, key))
36
		.catch((e) => {
37
			console.log(e);
38
		});
39

40
/**
41
 * Delete current data in API
42
 */
43
export const deleteData = async (rowId: number, nodes: TreeNode[]) =>
44
	await axios
45
		.delete(`${import.meta.env.VITE_APP_PATH}/row/${rowId}/delete`)
46
		.then(() => deleteNodeInSessionData(nodes, rowId))
47
		.catch((e) => {
48
			console.log(e);
49
		});
50

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.