85 lines
2.1 KiB
TypeScript
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();
|