/** * 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; }]);