make turn service optional

part of #810
This commit is contained in:
Girish Ramakrishnan
2023-07-13 15:06:07 +05:30
parent a2c53df042
commit 519b258a25
8 changed files with 141 additions and 5 deletions

View File

@@ -508,6 +508,31 @@ async function changeLocation(app, args, progressCallback) {
await updateApp(app, { installationState: apps.ISTATE_INSTALLED, error: null, health: null });
}
async function changeServices(app, args, progressCallback) {
assert.strictEqual(typeof app, 'object');
assert.strictEqual(typeof args, 'object');
assert.strictEqual(typeof progressCallback, 'function');
await progressCallback({ percent: 10, message: 'Cleaning up old install' });
await deleteContainers(app, { managedOnly: true });
const unusedAddons = {};
if (app.manifest.addons.turn && !args.enableTurn) unusedAddons.turn = app.manifest.addons.turn;
await progressCallback({ percent: 20, message: 'Removing unused addons' });
await services.teardownAddons(app, unusedAddons);
await progressCallback({ percent: 40, message: 'Setting up addons' });
await services.setupAddons(app, app.manifest.addons);
await progressCallback({ percent: 60, message: 'Creating container' });
await createContainer(app);
await startApp(app);
await progressCallback({ percent: 100, message: 'Done' });
await updateApp(app, { installationState: apps.ISTATE_INSTALLED, error: null, health: null });
}
async function migrateDataDir(app, args, progressCallback) {
assert.strictEqual(typeof app, 'object');
assert.strictEqual(typeof args, 'object');
@@ -773,6 +798,9 @@ async function run(appId, args, progressCallback) {
case apps.ISTATE_PENDING_LOCATION_CHANGE:
cmd = changeLocation(app, args, progressCallback);
break;
case apps.ISTATE_PENDING_SERVICES_CHANGE:
cmd = changeServices(app, args, progressCallback);
break;
case apps.ISTATE_PENDING_DATA_DIR_MIGRATION:
cmd = migrateDataDir(app, args, progressCallback);
break;