36 lines
1.2 KiB
JavaScript
36 lines
1.2 KiB
JavaScript
/**
|
|
* Helper service for working with the registry's container. Only works in enterprise.
|
|
*/
|
|
angular.module('quay').factory('ContainerService', ['ApiService', '$timeout',
|
|
|
|
function(ApiService, $timeout) {
|
|
var containerService = {};
|
|
containerService.restartContainer = function(callback) {
|
|
ApiService.scShutdownContainer(null, null).then(function(resp) {
|
|
$timeout(callback, 2000);
|
|
}, ApiService.errorDisplay('Cannot restart container. Please report this to support.'))
|
|
};
|
|
|
|
containerService.scheduleStatusCheck = function(callback) {
|
|
$timeout(function() {
|
|
containerService.checkStatus(callback);
|
|
}, 2000);
|
|
};
|
|
|
|
containerService.checkStatus = function(callback, force_ssl) {
|
|
var errorHandler = function(resp) {
|
|
if (resp.status == 404 || resp.status == 502) {
|
|
// Container has not yet come back up, so we schedule another check.
|
|
containerService.scheduleStatusCheck(callback);
|
|
return;
|
|
}
|
|
|
|
return ApiService.errorDisplay('Cannot load status. Please report this to support')(resp);
|
|
};
|
|
|
|
ApiService.scRegistryStatus(null, null)
|
|
.then(callback, errorHandler, /* background */true, /* force ssl*/force_ssl);
|
|
};
|
|
|
|
return containerService;
|
|
}]);
|