1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 | const request = require('request-promise-native');
|
14 | const getReactorHeaders = require('./getReactorHeaders');
|
15 | const handleResponseError = require('./handleResponseError');
|
16 | const logVerboseHeader = require('./logVerboseHeader');
|
17 |
|
18 | module.exports = async (
|
19 | envConfig,
|
20 | accessToken,
|
21 | extensionPackageManifest,
|
22 | argv
|
23 | ) => {
|
24 | const options = {
|
25 | method: 'GET',
|
26 | url: `${envConfig.extensionPackages}`,
|
27 | qs: {
|
28 | 'page[size]': 1,
|
29 | 'page[number]': 1,
|
30 | 'filter[name]': `EQ ${extensionPackageManifest.name}`,
|
31 | 'filter[platform]': `EQ ${extensionPackageManifest.platform}`,
|
32 | 'filter[availability]': 'EQ development'
|
33 | },
|
34 | headers: getReactorHeaders(accessToken),
|
35 | transform: JSON.parse
|
36 | };
|
37 |
|
38 | if (argv.verbose) {
|
39 | logVerboseHeader('Retrieving extension package from server');
|
40 | }
|
41 |
|
42 | let body;
|
43 |
|
44 | try {
|
45 | body = await request(options);
|
46 | } catch (error) {
|
47 | handleResponseError(error, 'Error detecting whether extension package exists on server.');
|
48 | }
|
49 |
|
50 | return body.data.length ? body.data[0] : null;
|
51 | };
|