-
Notifications
You must be signed in to change notification settings - Fork 0
/
ajaxer.js
112 lines (111 loc) · 3.75 KB
/
ajaxer.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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
// Generated by CoffeeScript 1.8.0
(function() {
chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
var conf, query, return_data, _i, _len, _ref;
switch (request.type) {
case 'user-info':
gh.xhrWithAuth('GET', 'https://api.github.com/user', true, function(error, status, response) {
var json;
if (response) {
json = JSON.parse(response);
}
if (error || (json != null ? json.errors : void 0)) {
chrome.browserAction.setIcon({
path: "github-bad.png"
});
return gh.revokeToken();
} else {
chrome.browserAction.setIcon({
path: "github-good.png"
});
return sendResponse(json);
}
});
break;
case 'search-info':
query = "https://api.github.com/search/issues?q=" + request.query + "+repo:" + request.repo + "&page=" + request.page + "&per_page=" + request.per_page;
gh.xhrWithAuth('GET', query, false, function(error, status, response) {
var json;
if (response) {
json = JSON.parse(response);
}
if (error || (json != null ? json.errors : void 0)) {
chrome.browserAction.setIcon({
path: "github-bad.png"
});
return gh.revokeToken();
} else {
chrome.browserAction.setIcon({
path: "github-good.png"
});
return sendResponse(json);
}
});
break;
case 'rate-limit':
gh.xhrWithAuth('GET', "https://api.github.com/rate_limit", false, function(error, status, response) {
var json;
if (response) {
json = JSON.parse(response);
}
if (error || (json != null ? json.errors : void 0)) {
chrome.browserAction.setIcon({
path: "github-bad.png"
});
return gh.revokeToken();
} else {
chrome.browserAction.setIcon({
path: "github-good.png"
});
return sendResponse(json);
}
});
break;
case 'set-config':
localStorage[request.config] = request.val;
sendResponse({});
break;
case 'get-config':
if (localStorage['initialized'] !== 'true') {
localStorage['new'] = 'true';
localStorage['nochange'] = 'true';
localStorage['unread'] = 'true';
localStorage['user_history'] = 'true';
localStorage['user_breakdown_created'] = 'true';
localStorage['milestone_breakdown_created'] = 'true';
localStorage['label_breakdown_created'] = 'true';
localStorage['user_breakdown_closed'] = 'true';
localStorage['milestone_breakdown_closed'] = 'true';
localStorage['label_breakdown_closed'] = 'true';
localStorage['initialized'] = 'true';
}
if (Array.isArray(request.config)) {
return_data = {};
_ref = request.config;
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
conf = _ref[_i];
if (localStorage[conf] !== 'true') {
continue;
}
return_data[conf] = localStorage[conf];
}
sendResponse(return_data);
} else {
sendResponse(localStorage[request.config]);
}
break;
case 'get-token':
gh.tokenFetcher.getToken(false, function(error, access_token) {
return sendResponse({
error: error,
access_token: access_token
});
});
break;
case 'revoke-token':
gh.revokeToken();
sendResponse({});
}
return true;
});
}).call(this);