Use pattern match instead for handling v1 to v2 upgrades

This commit is contained in:
Girish Ramakrishnan
2019-06-20 11:57:32 -07:00
parent 214fb50e74
commit 0a0ac93a55
2 changed files with 21 additions and 20 deletions

View File

@@ -906,13 +906,13 @@ function setupSendMail(app, options, callback) {
debugApp(app, 'Setting up SendMail');
const envPrefix = app.manifest.manifestVersion <= 1 ? '' : 'CLOUDRON_';
appdb.getAddonConfigByName(app.id, 'sendmail', `${envPrefix}MAIL_SMTP_PASSWORD`, function (error, existingPassword) {
appdb.getAddonConfigByName(app.id, 'sendmail', '%MAIL_SMTP_PASSWORD', function (error, existingPassword) {
if (error && error.reason !== DatabaseError.NOT_FOUND) return callback(error);
var password = error ? hat(4 * 48) : existingPassword; // see box#565 for password length
const envPrefix = app.manifest.manifestVersion <= 1 ? '' : 'CLOUDRON_';
var env = [
{ name: `${envPrefix}MAIL_SMTP_SERVER`, value: 'mail' },
{ name: `${envPrefix}MAIL_SMTP_PORT`, value: '2525' },
@@ -944,13 +944,13 @@ function setupRecvMail(app, options, callback) {
debugApp(app, 'Setting up recvmail');
const envPrefix = app.manifest.manifestVersion <= 1 ? '' : 'CLOUDRON_';
appdb.getAddonConfigByName(app.id, 'recvmail', `${envPrefix}MAIL_IMAP_PASSWORD`, function (error, existingPassword) {
appdb.getAddonConfigByName(app.id, 'recvmail', '%MAIL_IMAP_PASSWORD', function (error, existingPassword) {
if (error && error.reason !== DatabaseError.NOT_FOUND) return callback(error);
var password = error ? hat(4 * 48) : existingPassword; // see box#565 for password length
const envPrefix = app.manifest.manifestVersion <= 1 ? '' : 'CLOUDRON_';
var env = [
{ name: `${envPrefix}MAIL_IMAP_SERVER`, value: 'mail' },
{ name: `${envPrefix}MAIL_IMAP_PORT`, value: '9993' },
@@ -1040,9 +1040,7 @@ function setupMySql(app, options, callback) {
debugApp(app, 'Setting up mysql');
const envPrefix = app.manifest.manifestVersion <= 1 ? '' : 'CLOUDRON_';
appdb.getAddonConfigByName(app.id, 'mysql', `${envPrefix}MYSQL_PASSWORD`, function (error, existingPassword) {
appdb.getAddonConfigByName(app.id, 'mysql', '%MYSQL_PASSWORD', function (error, existingPassword) {
if (error && error.reason !== DatabaseError.NOT_FOUND) return callback(error);
const tmp = mysqlDatabaseName(app.id);
@@ -1061,6 +1059,8 @@ function setupMySql(app, options, callback) {
if (error) return callback(new Error('Error setting up mysql: ' + error));
if (response.statusCode !== 201) return callback(new Error(`Error setting up mysql. Status code: ${response.statusCode} message: ${response.body.message}`));
const envPrefix = app.manifest.manifestVersion <= 1 ? '' : 'CLOUDRON_';
var env = [
{ name: `${envPrefix}MYSQL_USERNAME`, value: data.username },
{ name: `${envPrefix}MYSQL_PASSWORD`, value: data.password },
@@ -1255,9 +1255,8 @@ function setupPostgreSql(app, options, callback) {
debugApp(app, 'Setting up postgresql');
const { database, username } = postgreSqlNames(app.id);
const envPrefix = app.manifest.manifestVersion <= 1 ? '' : 'CLOUDRON_';
appdb.getAddonConfigByName(app.id, 'postgresql', `${envPrefix}POSTGRESQL_PASSWORD`, function (error, existingPassword) {
appdb.getAddonConfigByName(app.id, 'postgresql', '%POSTGRESQL_PASSWORD', function (error, existingPassword) {
if (error && error.reason !== DatabaseError.NOT_FOUND) return callback(error);
const data = {
@@ -1273,6 +1272,8 @@ function setupPostgreSql(app, options, callback) {
if (error) return callback(new Error('Error setting up postgresql: ' + error));
if (response.statusCode !== 201) return callback(new Error(`Error setting up postgresql. Status code: ${response.statusCode} message: ${response.body.message}`));
const envPrefix = app.manifest.manifestVersion <= 1 ? '' : 'CLOUDRON_';
var env = [
{ name: `${envPrefix}POSTGRESQL_URL`, value: `postgres://${data.username}:${data.password}@postgresql/${data.database}` },
{ name: `${envPrefix}POSTGRESQL_USERNAME`, value: data.username },
@@ -1430,9 +1431,7 @@ function setupMongoDb(app, options, callback) {
debugApp(app, 'Setting up mongodb');
const envPrefix = app.manifest.manifestVersion <= 1 ? '' : 'CLOUDRON_';
appdb.getAddonConfigByName(app.id, 'mongodb', `${envPrefix}MONGODB_PASSWORD`, function (error, existingPassword) {
appdb.getAddonConfigByName(app.id, 'mongodb', '%MONGODB_PASSWORD', function (error, existingPassword) {
if (error && error.reason !== DatabaseError.NOT_FOUND) return callback(error);
const data = {
@@ -1448,6 +1447,8 @@ function setupMongoDb(app, options, callback) {
if (error) return callback(new Error('Error setting up mongodb: ' + error));
if (response.statusCode !== 201) return callback(new Error(`Error setting up mongodb. Status code: ${response.statusCode}`));
const envPrefix = app.manifest.manifestVersion <= 1 ? '' : 'CLOUDRON_';
var env = [
{ name: `${envPrefix}MONGODB_URL`, value : `mongodb://${data.username}:${data.password}@mongodb/${data.database}` },
{ name: `${envPrefix}MONGODB_USERNAME`, value : data.username },
@@ -1569,9 +1570,7 @@ function setupRedis(app, options, callback) {
return callback();
}
const envPrefix = app.manifest.manifestVersion <= 1 ? '' : 'CLOUDRON_';
appdb.getAddonConfigByName(app.id, 'redis', `${envPrefix}REDIS_PASSWORD`, function (error, existingPassword) {
appdb.getAddonConfigByName(app.id, 'redis', '%REDIS_PASSWORD', function (error, existingPassword) {
if (error && error.reason !== DatabaseError.NOT_FOUND) return callback(error);
const redisPassword = error ? hat(4 * 48) : existingPassword; // see box#362 for password length
@@ -1610,6 +1609,8 @@ function setupRedis(app, options, callback) {
--label isCloudronManaged=true \
--read-only -v /tmp -v /run ${tag}`;
const envPrefix = app.manifest.manifestVersion <= 1 ? '' : 'CLOUDRON_';
var env = [
{ name: `${envPrefix}REDIS_URL`, value: 'redis://redisuser:' + redisPassword + '@redis-' + app.id },
{ name: `${envPrefix}REDIS_PASSWORD`, value: redisPassword },