summaryrefslogtreecommitdiffstats
path: root/core/src
diff options
context:
space:
mode:
authorChristoph Wurst <christoph@winzerhof-wurst.at>2019-05-16 16:40:02 +0200
committerChristoph Wurst <christoph@winzerhof-wurst.at>2019-05-16 16:45:00 +0200
commit0cfcccee29652c83e6c898bc487fe09bb54e0c22 (patch)
treeeb4aaf2473f1801017a0188ae1cd7d536d68966f /core/src
parent633a1981428a1b94626ea6447c9ee305162c01dd (diff)
downloadnextcloud-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.js49
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();