aboutsummaryrefslogtreecommitdiffstats
path: root/src/features/announcements/api.js
diff options
context:
space:
mode:
authorLibravatar Stefan <stefan@adlk.io>2019-06-04 14:26:56 +0200
committerLibravatar Stefan <stefan@adlk.io>2019-06-04 14:26:56 +0200
commitfd6a1e9ba24c7947af08a30829c860cad4726f67 (patch)
tree0b6276700ced8d13eaf0a1e3b706a69a5a47b1da /src/features/announcements/api.js
parentfix(Windows): Replace tray icon with high-res version (diff)
parentMerge pull request #1443 from meetfranz/feature/multilingual-announcements (diff)
downloadferdium-app-fd6a1e9ba24c7947af08a30829c860cad4726f67.tar.gz
ferdium-app-fd6a1e9ba24c7947af08a30829c860cad4726f67.tar.zst
ferdium-app-fd6a1e9ba24c7947af08a30829c860cad4726f67.zip
Merge branch 'develop' of https://github.com/meetfranz/franz into develop
Diffstat (limited to 'src/features/announcements/api.js')
-rw-r--r--src/features/announcements/api.js33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/features/announcements/api.js b/src/features/announcements/api.js
new file mode 100644
index 000000000..a581bd8de
--- /dev/null
+++ b/src/features/announcements/api.js
@@ -0,0 +1,33 @@
1import { remote } from 'electron';
2import Request from '../../stores/lib/Request';
3import { API, API_VERSION } from '../../environment';
4
5const debug = require('debug')('Franz:feature:announcements:api');
6
7export const announcementsApi = {
8 async getCurrentVersion() {
9 debug('getting current version of electron app');
10 return Promise.resolve(remote.app.getVersion());
11 },
12
13 async getChangelog(version) {
14 debug('fetching release changelog from Github');
15 const url = `https://api.github.com/repos/meetfranz/franz/releases/tags/v${version}`;
16 const request = await window.fetch(url, { method: 'GET' });
17 if (!request.ok) return null;
18 const data = await request.json();
19 return data.body;
20 },
21
22 async getAnnouncement(version) {
23 debug('fetching release announcement from api');
24 const url = `${API}/${API_VERSION}/announcements/${version}`;
25 const response = await window.fetch(url, { method: 'GET' });
26 if (!response.ok) return null;
27 return response.json();
28 },
29};
30
31export const getCurrentVersionRequest = new Request(announcementsApi, 'getCurrentVersion');
32export const getChangelogRequest = new Request(announcementsApi, 'getChangelog');
33export const getAnnouncementRequest = new Request(announcementsApi, 'getAnnouncement');