add/remove mailbox entry for app
This commit is contained in:
10
src/apps.js
10
src/apps.js
@@ -58,6 +58,7 @@ var addons = require('./addons.js'),
|
|||||||
eventlog = require('./eventlog.js'),
|
eventlog = require('./eventlog.js'),
|
||||||
fs = require('fs'),
|
fs = require('fs'),
|
||||||
groups = require('./groups.js'),
|
groups = require('./groups.js'),
|
||||||
|
mailboxdb = require('./mailboxdb.js'),
|
||||||
manifestFormat = require('cloudron-manifestformat'),
|
manifestFormat = require('cloudron-manifestformat'),
|
||||||
path = require('path'),
|
path = require('path'),
|
||||||
paths = require('./paths.js'),
|
paths = require('./paths.js'),
|
||||||
@@ -503,6 +504,10 @@ function install(data, auditSource, callback) {
|
|||||||
oauthProxy: oauthProxy
|
oauthProxy: oauthProxy
|
||||||
};
|
};
|
||||||
|
|
||||||
|
mailboxdb.add(location + '.app', appId, mailboxdb.TYPE_APP, function (error) {
|
||||||
|
if (error && error.reason === DatabaseError.ALREADY_EXISTS) return callback(new AppsError(AppsError.ALREADY_EXISTS, 'Mailbox already exists'));
|
||||||
|
if (error) return callback(new AppsError(AppsError.INTERNAL_ERROR, error));
|
||||||
|
|
||||||
appdb.add(appId, appStoreId, manifest, location, portBindings, data, function (error) {
|
appdb.add(appId, appStoreId, manifest, location, portBindings, data, function (error) {
|
||||||
if (error && error.reason === DatabaseError.ALREADY_EXISTS) return callback(getDuplicateErrorDetails(location, portBindings, error));
|
if (error && error.reason === DatabaseError.ALREADY_EXISTS) return callback(getDuplicateErrorDetails(location, portBindings, error));
|
||||||
if (error) return callback(new AppsError(AppsError.INTERNAL_ERROR, error));
|
if (error) return callback(new AppsError(AppsError.INTERNAL_ERROR, error));
|
||||||
@@ -521,6 +526,7 @@ function install(data, auditSource, callback) {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function configure(appId, data, auditSource, callback) {
|
function configure(appId, data, auditSource, callback) {
|
||||||
@@ -850,6 +856,9 @@ function uninstall(appId, auditSource, callback) {
|
|||||||
unpurchase(appId, result.appStoreId, function (error) {
|
unpurchase(appId, result.appStoreId, function (error) {
|
||||||
if (error) return callback(error);
|
if (error) return callback(error);
|
||||||
|
|
||||||
|
mailboxdb.delByOwnerId(appId, function (error) {
|
||||||
|
if (error && error.reason !== DatabaseError.NOT_FOUND) return callback(new AppsError(AppsError.INTERNAL_ERROR, error));
|
||||||
|
|
||||||
taskmanager.stopAppTask(appId, function () {
|
taskmanager.stopAppTask(appId, function () {
|
||||||
appdb.setInstallationCommand(appId, appdb.ISTATE_PENDING_UNINSTALL, function (error) {
|
appdb.setInstallationCommand(appId, appdb.ISTATE_PENDING_UNINSTALL, function (error) {
|
||||||
if (error && error.reason === DatabaseError.NOT_FOUND) return callback(new AppsError(AppsError.NOT_FOUND, 'No such app'));
|
if (error && error.reason === DatabaseError.NOT_FOUND) return callback(new AppsError(AppsError.NOT_FOUND, 'No such app'));
|
||||||
@@ -862,6 +871,7 @@ function uninstall(appId, auditSource, callback) {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function start(appId, callback) {
|
function start(appId, callback) {
|
||||||
|
|||||||
Reference in New Issue
Block a user