1
0
mirror of https://github.com/franjsco/tick3t synced 2025-01-19 04:30:05 +01:00
tick3t/src/api/tickets.js
2019-07-31 15:57:13 +02:00

114 lines
2.3 KiB
JavaScript

import { config } from '../config';
import { authHeader } from '../_helpers';
export const getTickets = (page = 1, status = '') => {
const header = new Headers({
'Content-Type': 'application/json',
'authorization': authHeader()
});
const options = {
method: 'GET',
headers: header
};
return fetch(`${config.baseURL}tickets?page=${page}&status=${status}`, options)
.then(res => {
if (res.ok) {
return res.json();
} else {
throw new Error('Ops,problem')
}
});;
}
export const viewTicket = (ticketId) => {
const header = new Headers({
'Content-Type': 'application/json'
});
const options = {
method: 'GET',
headers: header
};
return fetch(`${config.baseURL}tickets/${ticketId}`, options)
.then(res => {
if (res.ok) {
return res.json();
} else if (res.status === 404) {
throw new Error('Ticket not found.');
} else {
throw new Error('Ops,problem');
}
});
}
export const findTicket = (ticketId) => {
const header = new Headers({
'Content-Type': 'application/json',
'authorization': authHeader()
});
const options = {
method: 'GET',
headers: header
};
return fetch(`${config.baseURL}tickets?id=${ticketId}`, options)
.then(res => {
if (res.ok) {
return res.json();
} else {
throw new Error('Ops,problem');
}
});
}
export const updateTicket = (ticket) => {
const header = new Headers({
'Content-Type': 'application/json',
'authorization': authHeader()
});
const options = {
method: 'PUT',
headers: header,
body: JSON.stringify({
status: ticket.status,
note: ticket.note
})
};
return fetch(`${config.baseURL}tickets/${ticket.ticketId}`, options)
.then(res => {
console.log(res.status)
if (res.ok) {
return res.json();
} else {
throw new Error('Ops,problem');
}
});
}
export const createTicket = (ticket) => {
const header = new Headers({
'Content-Type': 'application/json',
});
const options = {
method: 'POST',
headers: header,
body: JSON.stringify(ticket)
};
return fetch(`${config.baseURL}tickets`, options)
.then(res => {
if (res.ok) {
return res.json();
} else {
throw new Error('Ops, prolem');
}
});
}