Migrate apptask to use tasks framework

This commit is contained in:
Girish Ramakrishnan
2019-08-26 15:55:57 -07:00
parent 99c9fbc38f
commit 9242f7095a
4 changed files with 59 additions and 5 deletions

View File

@@ -86,6 +86,7 @@ var appdb = require('./appdb.js'),
split = require('split'),
superagent = require('superagent'),
taskmanager = require('./taskmanager.js'),
tasks = require('./tasks.js'),
TransformStream = require('stream').Transform,
updateChecker = require('./updatechecker.js'),
util = require('util'),
@@ -573,6 +574,22 @@ function mailboxNameForLocation(location, manifest) {
return (location ? location : manifest.title.toLowerCase().replace(/[^a-zA-Z0-9]/g, '')) + '.app';
}
function startAppTask(appId, callback) {
let task = tasks.startTask(tasks.TASK_APP, [ appId ]);
task.on('start', function (taskId) {
appdb.update(appId, { taskId: taskId }, function (error) {
if (error) return callback(new AppsError(AppsError.INTERNAL_ERROR, error));
get(appId, function (error, result) {
if (error) return callback(error);
callback(null, result);
});
});
});
task.on('error', (error) => callback(new AppsError(AppsError.INTERNAL_ERROR, error)));
}
function install(data, user, auditSource, callback) {
assert(data && typeof data === 'object');
assert(user && typeof user === 'object');
@@ -701,10 +718,7 @@ function install(data, user, auditSource, callback) {
if (error) return callback(new AppsError(AppsError.INTERNAL_ERROR, 'Error setting cert: ' + error.message));
}
taskmanager.restartAppTask(appId);
// fetch fresh app object for eventlog
get(appId, function (error, result) {
startAppTask(appId, function (error, result) {
if (error) return callback(error);
eventlog.add(eventlog.ACTION_APP_INSTALL, auditSource, { appId: appId, app: result });