1
0
mirror of https://github.com/franjsco/tick3t synced 2025-01-14 18:37:04 +01:00

feat(api): add new methods ticket

This commit is contained in:
Francesco Esposito 2019-07-31 15:57:13 +02:00
parent 91766ed11d
commit a212b05494

View File

@ -1,11 +1,10 @@
import { config } from '../config'; import { config } from '../config';
import { getAuthHeader } from '../utils/auth'; import { authHeader } from '../_helpers';
import { httpClient } from './httpClient';
export const getTickets = (page = 1, status='') => { export const getTickets = (page = 1, status = '') => {
const header = new Headers({ const header = new Headers({
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'authorization': getAuthHeader() 'authorization': authHeader()
}); });
const options = { const options = {
@ -13,13 +12,42 @@ export const getTickets = (page = 1, status='') => {
headers: header headers: header
}; };
return httpClient(`${config.baseURL}tickets?page=${page}&status=${status}`, options); 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) => { export const findTicket = (ticketId) => {
const header = new Headers({ const header = new Headers({
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'authorization': getAuthHeader() 'authorization': authHeader()
}); });
const options = { const options = {
@ -27,5 +55,60 @@ export const findTicket = (ticketId) => {
headers: header headers: header
}; };
return httpClient(`${config.baseURL}tickets?id=${ticketId}`, options); 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');
}
});
}