Refactor API logic
This commit is contained in:
parent
18d5f8c20e
commit
84806baece
2 changed files with 7 additions and 15 deletions
|
@ -1,6 +1,5 @@
|
||||||
import endpoints from './endpoints';
|
import endpoints from './endpoints';
|
||||||
import request from './request';
|
import request from './request';
|
||||||
import token from './token';
|
|
||||||
|
|
||||||
function JSONify(response) {
|
function JSONify(response) {
|
||||||
return response.json();
|
return response.json();
|
||||||
|
@ -15,24 +14,16 @@ export async function checkToken(possibleToken) {
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function getUserDetails() {
|
export async function getUserDetails() {
|
||||||
const CIToken = await token.get();
|
|
||||||
const url = endpoints.get('USER_INFO');
|
const url = endpoints.get('USER_INFO');
|
||||||
return await request(url, GET, {}, CIToken).then(JSONify);
|
return await request(url, GET).then(JSONify);
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function getProjects() {
|
export async function getProjects() {
|
||||||
const CIToken = await token.get();
|
|
||||||
const url = endpoints.get('ALL_PROJECTS');
|
const url = endpoints.get('ALL_PROJECTS');
|
||||||
return await request(url, GET, {}, CIToken).then(JSONify);
|
return await request(url, GET).then(JSONify);
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function getProjectRecentBuilds(user, repo, limit = 1, offset = 0) {
|
export async function getProjectRecentBuilds(user, repo, limit = 1, offset = 0) {
|
||||||
const CIToken = await token.get();
|
|
||||||
const url = endpoints.get('PROJECT_RECENTS').param({ user, repo }).query({ limit, offset });
|
const url = endpoints.get('PROJECT_RECENTS').param({ user, repo }).query({ limit, offset });
|
||||||
return await request(
|
return await request(url, GET).then(JSONify);
|
||||||
url,
|
|
||||||
GET,
|
|
||||||
{},
|
|
||||||
CIToken)
|
|
||||||
.then(JSONify);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import token from './token';
|
import token from './token';
|
||||||
|
|
||||||
export default function request(url, method, data = {}, CIToken) {
|
export default async function request(url, method = 'GET', data = {}, CIToken) {
|
||||||
CIToken = CIToken || token.get();
|
CIToken = CIToken || await token.get();
|
||||||
const fullURL = url.query({ 'circle-token': CIToken }).toString();
|
const fullURL = url.query({ 'circle-token': CIToken }).toString();
|
||||||
let fetchParams = {
|
let fetchParams = {
|
||||||
method,
|
method,
|
||||||
|
@ -11,6 +11,7 @@ export default function request(url, method, data = {}, CIToken) {
|
||||||
};
|
};
|
||||||
if (method !== 'GET' && method !== 'HEAD') {
|
if (method !== 'GET' && method !== 'HEAD') {
|
||||||
fetchParams.body = JSON.stringify(data);
|
fetchParams.body = JSON.stringify(data);
|
||||||
|
fetchParams.headers['Content-Type'] = 'application/json';
|
||||||
}
|
}
|
||||||
return fetch(fullURL, fetchParams);
|
return await fetch(fullURL, fetchParams);
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue