aboutsummaryrefslogtreecommitdiffstats
path: root/src/api
diff options
context:
space:
mode:
Diffstat (limited to 'src/api')
-rw-r--r--src/api/FeaturesApi.js13
-rw-r--r--src/api/RecipesApi.js2
-rw-r--r--src/api/index.js2
-rw-r--r--src/api/server/ServerApi.js29
4 files changed, 45 insertions, 1 deletions
diff --git a/src/api/FeaturesApi.js b/src/api/FeaturesApi.js
new file mode 100644
index 000000000..c66f28f5b
--- /dev/null
+++ b/src/api/FeaturesApi.js
@@ -0,0 +1,13 @@
1export default class FeaturesApi {
2 constructor(server) {
3 this.server = server;
4 }
5
6 default() {
7 return this.server.getDefaultFeatures();
8 }
9
10 features() {
11 return this.server.getFeatures();
12 }
13}
diff --git a/src/api/RecipesApi.js b/src/api/RecipesApi.js
index 0573dacaf..800888b00 100644
--- a/src/api/RecipesApi.js
+++ b/src/api/RecipesApi.js
@@ -1,4 +1,4 @@
1export default class ServicesApi { 1export default class RecipesApi {
2 constructor(server) { 2 constructor(server) {
3 this.server = server; 3 this.server = server;
4 } 4 }
diff --git a/src/api/index.js b/src/api/index.js
index 3fc18c4b5..3c87cc087 100644
--- a/src/api/index.js
+++ b/src/api/index.js
@@ -6,12 +6,14 @@ import UserApi from './UserApi';
6import LocalApi from './LocalApi'; 6import LocalApi from './LocalApi';
7import PaymentApi from './PaymentApi'; 7import PaymentApi from './PaymentApi';
8import NewsApi from './NewsApi'; 8import NewsApi from './NewsApi';
9import FeaturesApi from './FeaturesApi';
9 10
10export default (server, local) => ({ 11export default (server, local) => ({
11 app: new AppApi(server, local), 12 app: new AppApi(server, local),
12 services: new ServicesApi(server, local), 13 services: new ServicesApi(server, local),
13 recipePreviews: new RecipePreviewsApi(server, local), 14 recipePreviews: new RecipePreviewsApi(server, local),
14 recipes: new RecipesApi(server, local), 15 recipes: new RecipesApi(server, local),
16 features: new FeaturesApi(server, local),
15 user: new UserApi(server, local), 17 user: new UserApi(server, local),
16 local: new LocalApi(server, local), 18 local: new LocalApi(server, local),
17 payment: new PaymentApi(server, local), 19 payment: new PaymentApi(server, local),
diff --git a/src/api/server/ServerApi.js b/src/api/server/ServerApi.js
index ad1ffa59a..164419951 100644
--- a/src/api/server/ServerApi.js
+++ b/src/api/server/ServerApi.js
@@ -261,6 +261,35 @@ export default class ServerApi {
261 return data; 261 return data;
262 } 262 }
263 263
264 // Features
265 async getDefaultFeatures() {
266 const request = await window.fetch(`${SERVER_URL}/${API_VERSION}/features/default`, this._prepareAuthRequest({
267 method: 'GET',
268 }));
269 if (!request.ok) {
270 throw request;
271 }
272 const data = await request.json();
273
274 const features = data;
275 console.debug('ServerApi::getDefaultFeatures resolves', features);
276 return features;
277 }
278
279 async getFeatures() {
280 const request = await window.fetch(`${SERVER_URL}/${API_VERSION}/features`, this._prepareAuthRequest({
281 method: 'GET',
282 }));
283 if (!request.ok) {
284 throw request;
285 }
286 const data = await request.json();
287
288 const features = data;
289 console.debug('ServerApi::getFeatures resolves', features);
290 return features;
291 }
292
264 // Recipes 293 // Recipes
265 async getInstalledRecipes() { 294 async getInstalledRecipes() {
266 const recipesDirectory = getRecipeDirectory(); 295 const recipesDirectory = getRecipeDirectory();