summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLauri Ojansivu <x@xet7.org>2018-07-26 15:44:34 +0300
committerGitHub <noreply@github.com>2018-07-26 15:44:34 +0300
commitaa080a75062405d1f7734422f8dc3f2c08c96140 (patch)
tree84978d05a813798f4109a6a8d53f3a02899b2ebb
parent397dda11cea5bb43f3c300c1244457d4af65656e (diff)
parent6173a7338135c87321be909482ff356d32977de6 (diff)
downloadwekan-aa080a75062405d1f7734422f8dc3f2c08c96140.tar.gz
wekan-aa080a75062405d1f7734422f8dc3f2c08c96140.tar.bz2
wekan-aa080a75062405d1f7734422f8dc3f2c08c96140.zip
Merge pull request #1799 from Akuket/devel
enable/disable api with env var
-rw-r--r--Dockerfile2
-rw-r--r--docker-compose.yml1
-rw-r--r--models/users.js13
-rwxr-xr-xsnap-src/bin/config6
-rwxr-xr-xsnap-src/bin/wekan-help4
5 files changed, 23 insertions, 3 deletions
diff --git a/Dockerfile b/Dockerfile
index 6d68867d..4268e472 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,5 +1,5 @@
FROM debian:buster-slim
-MAINTAINER wekan
+LABEL maintainer="wekan"
# Declare Arguments
ARG NODE_VERSION
diff --git a/docker-compose.yml b/docker-compose.yml
index eb82c3aa..b2e12629 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -37,6 +37,7 @@ services:
environment:
- MONGO_URL=mongodb://wekandb:27017/wekan
- ROOT_URL=http://localhost
+ - WITH_API=false
depends_on:
- wekandb
diff --git a/models/users.js b/models/users.js
index 9d859664..9b070c43 100644
--- a/models/users.js
+++ b/models/users.js
@@ -622,9 +622,20 @@ if (Meteor.isServer) {
});
}
-
// USERS REST API
if (Meteor.isServer) {
+ // Middleware which checks that API is enabled.
+ JsonRoutes.Middleware.use(function (req, res, next) {
+ const api = req.url.search('api');
+ if (api === 1 && process.env.WITH_API === 'true' || api === -1){
+ return next();
+ }
+ else {
+ res.writeHead(301, {Location: '/'});
+ return res.end();
+ }
+ });
+
JsonRoutes.add('GET', '/api/user', function(req, res) {
try {
Authentication.checkLoggedIn(req.userId);
diff --git a/snap-src/bin/config b/snap-src/bin/config
index 813c3d3f..9feada7b 100755
--- a/snap-src/bin/config
+++ b/snap-src/bin/config
@@ -3,7 +3,7 @@
# All supported keys are defined here together with descriptions and default values
# list of supported keys
-keys="MONGODB_BIND_UNIX_SOCKET MONGODB_BIND_IP MONGODB_PORT MAIL_URL MAIL_FROM ROOT_URL PORT DISABLE_MONGODB CADDY_ENABLED CADDY_BIND_PORT"
+keys="MONGODB_BIND_UNIX_SOCKET MONGODB_BIND_IP MONGODB_PORT MAIL_URL MAIL_FROM ROOT_URL PORT DISABLE_MONGODB CADDY_ENABLED CADDY_BIND_PORT WITH_API"
# default values
DESCRIPTION_MONGODB_BIND_UNIX_SOCKET="mongodb binding unix socket:\n"\
@@ -47,3 +47,7 @@ KEY_CADDY_ENABLED="caddy-enabled"
DESCRIPTION_CADDY_BIND_PORT="Port on which caddy will expect proxy, value set here will be set in $SNAP_COMMON/Caddyfile"
DEFAULT_CADDY_BIND_PORT="3001"
KEY_CADDY_BIND_PORT="caddy-bind-port"
+
+DESCRIPTION_WITH_API="Enable/disable the api of wekan"
+DEFAULT_WITH_API="false"
+KEY_WITH_API="with-api"
diff --git a/snap-src/bin/wekan-help b/snap-src/bin/wekan-help
index ee565500..5c3f9b31 100755
--- a/snap-src/bin/wekan-help
+++ b/snap-src/bin/wekan-help
@@ -28,6 +28,10 @@ echo -e "\t\t-connect mongodb-plug with slot from snap providing mongodb"
echo -e "\t\t-disable mongodb in $SNAP_NAME by calling: $ snap set $SNAP_NAME set disable-mongodb='true'"
echo -e "\t\t-set mongodb-bind-unix-socket to point to serving mongodb. Use relative path inside shared directory, e.g run/mongodb-27017.sock"
echo -e "\n"
+echo -e "To enable the API of wekan:"
+echo -e "\t$ snap set $SNAP_NAME WITH_API='true'"
+echo -e "\t-Disable the API:"
+echo -e "\t$ snap set $SNAP_NAME WITH_API='false'"
# parse config file for supported settings keys
echo -e "wekan supports settings keys"
echo -e "values can be changed by calling\n$ snap set $SNAP_NAME <key name>='<key value>'"