entity-browser-frontend/app/controller/databases.js (71 lines of code) (raw):

angular.module('xodus').controller('DatabasesController', [ '$scope', '$http', '$uibModal', '$route', 'EntityTypeService', 'navigationService', 'databaseService', 'ConfirmationService', 'alert', function ($scope, http, $uibModal, $route, types, navigation, databaseService, confirmationService, alert) { var databasesCtrl = this; var hubKey = 'jetPassServerDb'; var youtrackKey = 'teamsysstore'; databasesCtrl.predefinedKeys = [ {name: 'Hub', key: hubKey}, {name: 'YouTrack', key: youtrackKey} ]; databasesCtrl.readonly = databaseService.readonly; databasesCtrl.dbs = databaseService.databases.map(function (db) { if (!db.title) { if (db.key === hubKey) { db.description = 'HUB'; } else if (db.key === youtrackKey) { db.description = 'YouTrack'; } else if (!db.key) { db.description = 'Default'; } else { db.description = db.key; } } return db; }); databasesCtrl.openDialog = function () { $uibModal.open({ animation: true, template: require('../templates/new-db-dialog.html'), controller: 'DBDialogController', controllerAs: 'dbDialogCtrl' }).result.then(function (db) { alert.success('Database added: ' + db.location); $route.reload(); return db; }); }; databasesCtrl.deleteDB = function (database) { confirmDelete(database, function () { databaseService.deleteDB(database).then(function () { $route.reload(); }); }); }; databasesCtrl.startOrStop = function (database, isStart) { databaseService.startOrStop(database, isStart).then(function () { $route.reload(); }); }; function confirmDelete(db, callback) { return confirmationService({ label: 'Delete database', message: 'Are you sure you want to delete database ' + db.description + ':' + db.location + ' ?', action: 'Delete' }, function (result) { if (result) { callback(); } }); } } ] );