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> { 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 { 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 { 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 { 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();