From 0cfcccee29652c83e6c898bc487fe09bb54e0c22 Mon Sep 17 00:00:00 2001 From: Christoph Wurst Date: Thu, 16 May 2019 16:40:02 +0200 Subject: Migrate the maintenance script to a modern module and bundle Signed-off-by: Christoph Wurst --- core/src/maintenance.js | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 core/src/maintenance.js (limited to 'core/src') diff --git a/core/src/maintenance.js b/core/src/maintenance.js new file mode 100644 index 00000000000..4715b65c021 --- /dev/null +++ b/core/src/maintenance.js @@ -0,0 +1,49 @@ +/* + * @copyright 2019 Christoph Wurst + * + * @author 2019 Christoph Wurst + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +import Axios from 'nextcloud-axios' + +import OC from './OC/index' + +const url = `${OC.getRootPath()}/status.php` + +const check = () => { + console.info('checking the Nextcloud maintenance status') + Axios.get(url) + .then(resp => resp.data) + .then(status => { + if (status.maintenance === false) { + console.info('Nextcloud is not in maintenance mode anymore -> reloading') + + window.location.reload() + return + } + + console.info('Nextcloud is still in maintenance mode') + + // Wait 20sec before the next request + setTimeout(check, 20 * 1000); + }) + .catch(console.error.bind(this)) +}; + +// Off we go! +check(); -- cgit v1.2.3