diff options
author | Christoph Wurst <christoph@winzerhof-wurst.at> | 2019-05-16 16:40:02 +0200 |
---|---|---|
committer | Christoph Wurst <christoph@winzerhof-wurst.at> | 2019-05-16 16:45:00 +0200 |
commit | 0cfcccee29652c83e6c898bc487fe09bb54e0c22 (patch) | |
tree | eb4aaf2473f1801017a0188ae1cd7d536d68966f /core/src | |
parent | 633a1981428a1b94626ea6447c9ee305162c01dd (diff) | |
download | nextcloud-server-0cfcccee29652c83e6c898bc487fe09bb54e0c22.tar.gz nextcloud-server-0cfcccee29652c83e6c898bc487fe09bb54e0c22.zip |
Migrate the maintenance script to a modern module and bundle
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Diffstat (limited to 'core/src')
-rw-r--r-- | core/src/maintenance.js | 49 |
1 files changed, 49 insertions, 0 deletions
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 <christoph@winzerhof-wurst.at> + * + * @author 2019 Christoph Wurst <christoph@winzerhof-wurst.at> + * + * @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 <http://www.gnu.org/licenses/>. + */ + +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(); |