Do not duplicate app descriptor in app eventlog
This commit is contained in:
@@ -3061,7 +3061,7 @@ angular.module('Application').service('Client', ['$http', '$interval', '$timeout
|
||||
// ----------------------------------------------
|
||||
// Eventlog helpers
|
||||
// ----------------------------------------------
|
||||
Client.prototype.eventLogDetails = function (eventLog) {
|
||||
Client.prototype.eventLogDetails = function (eventLog, redactAppDescriptor) {
|
||||
var ACTION_ACTIVATE = 'cloudron.activate';
|
||||
var ACTION_PROVISION = 'cloudron.provision';
|
||||
var ACTION_RESTORE = 'cloudron.restore';
|
||||
@@ -3136,8 +3136,12 @@ angular.module('Application').service('Client', ['$http', '$interval', '$timeout
|
||||
var errorMessage = data.errorMessage;
|
||||
var details, app;
|
||||
|
||||
function appName(app) {
|
||||
return (app.label || app.fqdn || app.location) + ' (' + app.manifest.title + ')';
|
||||
function appName(pre, app) {
|
||||
if (redactAppDescriptor) return '';
|
||||
|
||||
pre = pre ? (pre + ' ') : '';
|
||||
|
||||
return pre + (app.label || app.fqdn || app.location) + ' (' + app.manifest.title + ') ';
|
||||
}
|
||||
|
||||
switch (eventLog.action) {
|
||||
@@ -3159,81 +3163,81 @@ angular.module('Application').service('Client', ['$http', '$interval', '$timeout
|
||||
};
|
||||
|
||||
if ('accessRestriction' in data) { // since it can be null
|
||||
return 'Access restriction of ' + appName(app) + ' was changed';
|
||||
return 'Access restriction ' + appName('of', app) + ' was changed';
|
||||
} else if ('operators' in data) {
|
||||
return 'Operators of ' + appName(app) + ' was changed';
|
||||
return 'Operators ' + appName('of', app) + ' was changed';
|
||||
} else if (data.label) {
|
||||
return 'Label of ' + appName(app) + ' was set to ' + q(data.label);
|
||||
return 'Label ' + appName('of', app) + ' was set to ' + q(data.label);
|
||||
} else if (data.tags) {
|
||||
return 'Tags of ' + appName(app) + ' was set to ' + q(data.tags.join(','));
|
||||
return 'Tags ' + appName('of', app) + ' was set to ' + q(data.tags.join(','));
|
||||
} else if (data.icon) {
|
||||
return 'Icon of ' + appName(app) + ' was changed';
|
||||
return 'Icon ' + appName('of', app) + ' was changed';
|
||||
} else if (data.memoryLimit) {
|
||||
return 'Memory limit of ' + appName(app) + ' was set to ' + data.memoryLimit;
|
||||
return 'Memory limit ' + appName('of', app) + ' was set to ' + data.memoryLimit;
|
||||
} else if (data.cpuShares) {
|
||||
return 'CPU shares of ' + appName(app) + ' was set to ' + Math.round((data.cpuShares * 100)/1024) + '%';
|
||||
return 'CPU shares ' + appName('of', app) + ' was set to ' + Math.round((data.cpuShares * 100)/1024) + '%';
|
||||
} else if (data.env) {
|
||||
return 'Env vars of ' + appName(app) + ' was changed';
|
||||
return 'Env vars ' + appName('of', app) + ' was changed';
|
||||
} else if ('debugMode' in data) { // since it can be null
|
||||
if (data.debugMode) {
|
||||
return appName(app) + ' was placed in repair mode';
|
||||
return appName('', app) + ' was placed in repair mode';
|
||||
} else {
|
||||
return appName(app) + ' was taken out of repair mode';
|
||||
return appName('', app) + ' was taken out of repair mode';
|
||||
}
|
||||
} else if ('enableBackup' in data) {
|
||||
return 'Automatic backups of ' + appName(app) + ' was ' + (data.enableBackup ? 'enabled' : 'disabled');
|
||||
return 'Automatic backups ' + appName('of', app) + ' were ' + (data.enableBackup ? 'enabled' : 'disabled');
|
||||
} else if ('enableAutomaticUpdate' in data) {
|
||||
return 'Automatic updates of ' + appName(app) + ' was ' + (data.enableAutomaticUpdate ? 'enabled' : 'disabled');
|
||||
return 'Automatic updates ' + appName('of', app) + ' were ' + (data.enableAutomaticUpdate ? 'enabled' : 'disabled');
|
||||
} else if ('reverseProxyConfig' in data) {
|
||||
return 'Reverse proxy configuration of ' + appName(app) + ' was updated';
|
||||
return 'Reverse proxy configuration ' + appName('of', app) + ' was updated';
|
||||
} else if ('cert' in data) {
|
||||
if (data.cert) {
|
||||
return 'Custom certificate was set for ' + appName(app);
|
||||
return 'Custom certificate was set ' + appName('for', app);
|
||||
} else {
|
||||
return 'Certificate of ' + appName(app) + ' was reset';
|
||||
return 'Certificate ' + appName('of', app) + ' was reset';
|
||||
}
|
||||
} else if (data.location) {
|
||||
if (data.fqdn !== data.app.fqdn) {
|
||||
return 'Location of ' + appName(app) + ' was changed to ' + data.fqdn;
|
||||
return 'Location ' + appName('of', app) + ' was changed to ' + data.fqdn;
|
||||
} else if (!angular.equals(data.alternateDomains, data.app.alternateDomains)) {
|
||||
var altFqdns = data.alternateDomains.map(function (a) { return a.fqdn; });
|
||||
return 'Alternate domains of ' + appName(app) + ' was ' + (altFqdns.length ? 'set to ' + altFqdns.join(', ') : 'reset');
|
||||
return 'Alternate domains ' + appName('of', app) + ' was ' + (altFqdns.length ? 'set to ' + altFqdns.join(', ') : 'reset');
|
||||
} else if (!angular.equals(data.aliasDomains, data.app.aliasDomains)) {
|
||||
var aliasDomains = data.aliasDomains.map(function (a) { return a.fqdn; });
|
||||
return 'Alias domains of ' + appName(app) + ' was ' + (aliasDomains.length ? 'set to ' + aliasDomains.join(', ') : 'reset');
|
||||
return 'Alias domains ' + appName('of', app) + ' was ' + (aliasDomains.length ? 'set to ' + aliasDomains.join(', ') : 'reset');
|
||||
} else if (!angular.equals(data.portBindings, data.app.portBindings)) {
|
||||
return 'Port bindings of ' + appName(app) + ' was changed';
|
||||
return 'Port bindings ' + appName('of', app) + ' was changed';
|
||||
}
|
||||
} else if ('dataDir' in data) {
|
||||
if (data.dataDir) {
|
||||
return 'Data directory of ' + appName(app) + ' was set ' + data.dataDir;
|
||||
return 'Data directory ' + appName('of', app) + ' was set ' + data.dataDir;
|
||||
} else {
|
||||
return 'Data directory of ' + appName(app) + ' was reset';
|
||||
return 'Data directory ' + appName('of', app) + ' was reset';
|
||||
}
|
||||
} else if ('icon' in data) {
|
||||
if (data.icon) {
|
||||
return 'Icon of ' + appName(app) + ' was set';
|
||||
return 'Icon ' + appName('of', app) + ' was set';
|
||||
} else {
|
||||
return 'Icon of ' + appName(app) + ' was reset';
|
||||
return 'Icon ' + appName('of', app) + ' was reset';
|
||||
}
|
||||
} else if (('mailboxName' in data) && data.mailboxName !== data.app.mailboxName) {
|
||||
if (data.mailboxName) {
|
||||
return 'Mailbox of ' + appName(app) + ' was set to ' + q(data.mailboxName);
|
||||
return 'Mailbox ' + appName('of', app) + ' was set to ' + q(data.mailboxName);
|
||||
} else {
|
||||
return 'Mailbox of ' + appName(app) + ' was reset';
|
||||
return 'Mailbox ' + appName('of', app) + ' was reset';
|
||||
}
|
||||
}
|
||||
|
||||
return appName(app) + ' was re-configured';
|
||||
return appName('', app) + 'was re-configured';
|
||||
}
|
||||
|
||||
case ACTION_APP_INSTALL:
|
||||
if (!data.app) return '';
|
||||
return data.app.manifest.title + ' (package v' + data.app.manifest.version + ') was installed at ' + appName(data.app);
|
||||
return data.app.manifest.title + ' (package v' + data.app.manifest.version + ') was installed ' + appName('at', data.app);
|
||||
|
||||
case ACTION_APP_RESTORE:
|
||||
if (!data.app) return '';
|
||||
details = appName(data.app) + ' was restored';
|
||||
details = appName('', data.app) + 'was restored';
|
||||
// older versions (<3.5) did not have these fields
|
||||
if (data.fromManifest) details += ' from version ' + data.fromManifest.version;
|
||||
if (data.toManifest) details += ' to version ' + data.toManifest.version;
|
||||
@@ -3242,40 +3246,40 @@ angular.module('Application').service('Client', ['$http', '$interval', '$timeout
|
||||
|
||||
case ACTION_APP_IMPORT:
|
||||
if (!data.app) return '';
|
||||
details = appName(data.app) + ' was imported';
|
||||
details = appName('', data.app) + 'was imported';
|
||||
if (data.toManifest) details += ' to version ' + data.toManifest.version;
|
||||
if (data.backupId) details += ' using backup ' + data.backupId;
|
||||
return details;
|
||||
|
||||
case ACTION_APP_UNINSTALL:
|
||||
if (!data.app) return '';
|
||||
return appName(data.app) + ' (package v' + data.app.manifest.version + ') was uninstalled';
|
||||
return appName('', data.app) + ' (package v' + data.app.manifest.version + ') was uninstalled';
|
||||
|
||||
case ACTION_APP_UPDATE:
|
||||
if (!data.app) return '';
|
||||
return 'Update of ' + appName(data.app) + ' started from v' + data.fromManifest.version + ' to v' + data.toManifest.version;
|
||||
return 'Update ' + appName('of', data.app) + ' started from v' + data.fromManifest.version + ' to v' + data.toManifest.version;
|
||||
|
||||
case ACTION_APP_UPDATE_FINISH:
|
||||
if (!data.app) return '';
|
||||
return appName(data.app) + ' was updated to v' + data.app.manifest.version;
|
||||
return appName('', data.app) + 'was updated to v' + data.app.manifest.version;
|
||||
|
||||
case ACTION_APP_BACKUP:
|
||||
if (!data.app) return '';
|
||||
return 'Backup of ' + appName(data.app) + ' started';
|
||||
return 'Backup ' + appName('of', data.app) + ' started';
|
||||
|
||||
case ACTION_APP_BACKUP_FINISH:
|
||||
if (!data.app) return '';
|
||||
if (data.errorMessage) {
|
||||
return 'Backup of ' + appName(data.app) + ' failed: ' + data.errorMessage;
|
||||
return 'Backup ' + appName('of', data.app) + ' failed: ' + data.errorMessage;
|
||||
} else {
|
||||
return 'Backup of ' + appName(data.app) + ' succeeded with backup id ' + data.backupId;
|
||||
return 'Backup ' + appName('of', data.app) + ' succeeded with backup id ' + data.backupId;
|
||||
}
|
||||
|
||||
case ACTION_APP_CLONE:
|
||||
return appName(data.newApp) + ' was cloned from ' + appName(data.oldApp) + ' using backup ' + data.backupId + ' with v' + data.oldApp.manifest.version;
|
||||
return appName('', data.newApp, 'was') + ' cloned ' + appName('from', data.oldApp) + ' using backup ' + data.backupId + ' with v' + data.oldApp.manifest.version;
|
||||
|
||||
case ACTION_APP_REPAIR:
|
||||
return 'App ' + appName(data.app) + ' was re-configured'; // re-configure of email apps is more common?
|
||||
return 'App ' + appName('', data.app) + 'was re-configured'; // re-configure of email apps is more common?
|
||||
|
||||
case ACTION_APP_LOGIN: {
|
||||
app = this.getCachedAppSync(data.appId);
|
||||
@@ -3285,27 +3289,27 @@ angular.module('Application').service('Client', ['$http', '$interval', '$timeout
|
||||
|
||||
case ACTION_APP_OOM:
|
||||
if (!data.app) return '';
|
||||
return appName(data.app) + ' ran out of memory';
|
||||
return appName('', data.app) + ' ran out of memory';
|
||||
|
||||
case ACTION_APP_DOWN:
|
||||
if (!data.app) return '';
|
||||
return appName(data.app) + ' is down';
|
||||
return appName('', data.app) + ' is down';
|
||||
|
||||
case ACTION_APP_UP:
|
||||
if (!data.app) return '';
|
||||
return appName(data.app) + ' is back online';
|
||||
return appName('', data.app) + ' is back online';
|
||||
|
||||
case ACTION_APP_START:
|
||||
if (!data.app) return '';
|
||||
return appName(data.app) + ' was started';
|
||||
return appName('', data.app) + ' was started';
|
||||
|
||||
case ACTION_APP_STOP:
|
||||
if (!data.app) return '';
|
||||
return appName(data.app) + ' was stopped';
|
||||
return appName('', data.app) + ' was stopped';
|
||||
|
||||
case ACTION_APP_RESTART:
|
||||
if (!data.app) return '';
|
||||
return appName(data.app) + ' was restarted';
|
||||
return appName('', data.app) + ' was restarted';
|
||||
|
||||
case ACTION_BACKUP_START:
|
||||
return 'Backup started';
|
||||
|
||||
Reference in New Issue
Block a user