JBear2/src/main/webapp/src/services/UserService.ts

85 lines
2.1 KiB
TypeScript

import { ENV } from '@/Env';
import type { Board } from '@/models/board/Board';
import axios from 'axios';
class UserService {
getTest(pathVar: String, param: String) {
return new Promise((resolve, reject) => {
axios
.get(`${ENV.API_BASE_URL}/user/test/${pathVar}`, {
params: {
param1: param,
},
withCredentials: true,
})
.then((response) => {
resolve(response);
})
.catch((error) => {
reject(error);
});
});
}
getBoardsForUser(): Promise<Array<Board>> {
return new Promise((resolve, reject) => {
axios
.get(`${ENV.API_BASE_URL}/user/boards`, {
withCredentials: true,
})
.then((response) => {
resolve(response.data);
})
.catch((error) => {
reject(error);
});
});
}
getBoard( boardId: string ): Promise<Board> {
return new Promise((resolve, reject) => {
axios
.get(`${ENV.API_BASE_URL}/user/boards/${boardId}`, {
withCredentials: true,
})
.then((response) => {
resolve(response.data);
})
.catch((error) => {
reject(error);
});
});
}
saveNewBoard(formData: FormData): Promise<Board> {
return new Promise((resolve, reject) => {
axios
.post(`${ENV.API_BASE_URL}/user/boards`, formData, {
withCredentials: true,
})
.then((response) => {
resolve(response.data);
})
.catch((error) => {
reject(error);
});
});
}
updateBoard(board: Board, formData: FormData): Promise<Board> {
if( board.id === undefined ){
throw new Error("New board cant be updated");
}
return new Promise((resolve, reject) => {
axios
.put(`${ENV.API_BASE_URL}/user/boards/${board.id}`, formData, {
withCredentials: true,
})
.then((response) => {
resolve(response.data);
})
.catch((error) => {
reject(error);
});
});
}
}
export const userService = new UserService();