blob: 2c4d11d05d8ff06bc225a366d72d92412f210140 (
plain) (
blame)
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
|
import { app } from '@electron/remote';
import Request from '../../stores/lib/Request';
import apiBase from '../../api/apiBase';
const debug = require('debug')('Ferdi:feature:announcements:api');
export const announcementsApi = {
async getCurrentVersion() {
debug('getting current version of electron app');
return Promise.resolve(app.getVersion());
},
async getChangelog(version) {
const url = `https://api.github.com/repos/getferdi/ferdi/releases/tags/v${version}`;
debug(`fetching release changelog from Github url: ${url}`);
const request = await window.fetch(url, { method: 'GET' });
if (!request.ok) return null;
const data = await request.json();
return data.body;
},
async getAnnouncement(version) {
const url = `${apiBase(true)}/announcements/${version}`;
debug(`fetching release announcement from api url: ${url}`);
const response = await window.fetch(url, { method: 'GET' });
if (!response.ok) return null;
return response.json();
},
};
export const getCurrentVersionRequest = new Request(announcementsApi, 'getCurrentVersion');
export const getChangelogRequest = new Request(announcementsApi, 'getChangelog');
export const getAnnouncementRequest = new Request(announcementsApi, 'getAnnouncement');
|