Use common return value pattern in AppstoreModel

This commit is contained in:
Johannes Zellner
2025-04-09 18:24:24 +02:00
parent b391f4bc12
commit 0e944f7d8a
2 changed files with 28 additions and 19 deletions
+8 -16
View File
@@ -7,37 +7,29 @@ function create() {
return {
async list() {
let error, result;
let result;
try {
result = await fetcher.get(`${API_ORIGIN}/api/v1/appstore/apps`, { access_token: accessToken });
} catch (e) {
error = e;
return [e];
}
if (error || result.status !== 200) {
console.error('Failed to list apps.', error || result.status);
return [];
}
return result.body.apps;
if (result.status !== 200) return [result];
return [null, result.body.apps];
},
async get(id, version = '') {
let url = `${API_ORIGIN}/api/v1/appstore/apps/${id}`;
if (version && version !== 'latest') url += `/versions/${version}`;
let error, result;
let result;
try {
result = await fetcher.get(url, { access_token: accessToken });
} catch (e) {
error = e;
return [e];
}
if (error || result.status !== 200) {
console.error('Failed to get app.', error || result.status);
return null;
}
return result.body;
if (result.status !== 200) return [result];
return [null, result.body];
},
async getSubscription() {
let error, result;