community: store versionsUrl in the database
This commit is contained in:
@@ -172,9 +172,8 @@ function create() {
|
||||
return {
|
||||
name: 'AppsModel',
|
||||
getTask,
|
||||
async install(manifest, config) {
|
||||
async install(appData, config) {
|
||||
const data = {
|
||||
appStoreId: manifest.id + '@' + manifest.version,
|
||||
subdomain: config.subdomain,
|
||||
domain: config.domain,
|
||||
secondaryDomains: config.secondaryDomains,
|
||||
@@ -188,6 +187,13 @@ function create() {
|
||||
backupId: config.backupId // when restoring from archive
|
||||
};
|
||||
|
||||
// Support both appstore apps (manifest) and community apps (versionsUrl)
|
||||
if (appData.versionsUrl) {
|
||||
data.versionsUrl = appData.versionsUrl;
|
||||
} else if (appData.manifest) {
|
||||
data.appStoreId = appData.appStoreId;
|
||||
}
|
||||
|
||||
let result;
|
||||
try {
|
||||
result = await fetcher.post(`${API_ORIGIN}/api/v1/apps`, data, { access_token: accessToken });
|
||||
@@ -329,12 +335,18 @@ function create() {
|
||||
if (result.status !== 200) return [result];
|
||||
return [null, result.body.update];
|
||||
},
|
||||
async update(id, manifest, skipBackup = false) {
|
||||
async update(id, appData, skipBackup = false) {
|
||||
const data = {
|
||||
appStoreId: `${manifest.id}@${manifest.version}`,
|
||||
skipBackup: !!skipBackup,
|
||||
};
|
||||
|
||||
// Support both appstore apps (manifest) and community apps (versionsUrl)
|
||||
if (appData.versionsUrl) {
|
||||
data.versionsUrl = appData.versionsUrl;
|
||||
} else if (appData.manifest) {
|
||||
data.appStoreId = appData.appStoreId;
|
||||
}
|
||||
|
||||
let result;
|
||||
try {
|
||||
result = await fetcher.post(`${API_ORIGIN}/api/v1/apps/${id}/update`, data, { access_token: accessToken });
|
||||
|
||||
@@ -3,23 +3,22 @@ import { fetcher } from '@cloudron/pankow';
|
||||
import { API_ORIGIN } from '../constants.js';
|
||||
|
||||
function create() {
|
||||
const accessToken = localStorage.token;
|
||||
const accessToken = localStorage.token;
|
||||
|
||||
return {
|
||||
async getApp(url, version) {
|
||||
let result;
|
||||
try {
|
||||
result = await fetcher.get(`${API_ORIGIN}/api/v1/community/app`, { access_token: accessToken, url, version });
|
||||
} catch (e) {
|
||||
return [e];
|
||||
}
|
||||
|
||||
if (result.status !== 200) return [result];
|
||||
return [null, result.body];
|
||||
}
|
||||
};
|
||||
return {
|
||||
async getApp(url, version) {
|
||||
let result;
|
||||
try {
|
||||
result = await fetcher.get(`${API_ORIGIN}/api/v1/community/app`, { access_token: accessToken, url, version });
|
||||
} catch (e) {
|
||||
return [e];
|
||||
}
|
||||
if (result.status !== 200) return [result];
|
||||
return [null, result.body];
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
export default {
|
||||
create,
|
||||
create,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user