forked from vuejs-templates/webpack-simple
/
api.js
39 lines (31 loc) · 806 Bytes
/
api.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import axios from 'axios';
axios.defaults.xsrfHeaderName = "X-CSRFToken";
axios.defaults.xsrfCookieName = "csrftoken";
export default {
login: login,
whoami: whoami,
list_repos,
list_issues,
};
function login(username, password){
return post('/api/login', {username: username, password: password});
}
function whoami(){
return get('/api/whoami');
}
function list_repos(u){
return get('https://api.github.com/users/'+u+'/repos');
}
function list_issues(u, r){
return get('https://api.github.com/repos/'+u+'/'+r+'/issues');
};
function get(url, params){
return axios.get(url, {params: params})
}
function post(url, params){
var fd = new FormData();
Object.keys(params).map((k) => {
fd.append(k, params[k]);
})
return axios.post(url, fd);
}