diff options
author | Jorik Schellekens <joriks@matrix.org> | 2019-08-23 18:13:59 +0100 |
---|---|---|
committer | Jorik Schellekens <joriks@matrix.org> | 2019-08-28 15:59:54 +0100 |
commit | 13ea03ccd68e298b0e2681849bec58edb5cfd950 (patch) | |
tree | d10218c14966c0040a1f5d01bdc3f172ad2b2759 | |
parent | some better routing (diff) | |
download | synapse-13ea03ccd68e298b0e2681849bec58edb5cfd950.tar.xz |
Cleanup and use new model
-rw-r--r-- | synapse_topology/server/schemas.py | 6 | ||||
-rw-r--r-- | synapse_topology/server/server.py | 21 | ||||
-rw-r--r-- | synapse_topology/server/utils.py | 2 |
3 files changed, 13 insertions, 16 deletions
diff --git a/synapse_topology/server/schemas.py b/synapse_topology/server/schemas.py index 90cc7a0969..2197b96e24 100644 --- a/synapse_topology/server/schemas.py +++ b/synapse_topology/server/schemas.py @@ -49,3 +49,9 @@ PORTS_SCHEMA = { "properties": {"ports": {"type": "array"}}, "required": ["ports"], } + +SECRET_KEY_SCHEMA = { + "type": "object", + "properties": {"server_name": {"type": "string", "minlength": "1"}}, + "required": ["server_name"], +} diff --git a/synapse_topology/server/server.py b/synapse_topology/server/server.py index dd3d3ce4b3..351f7d49e3 100644 --- a/synapse_topology/server/server.py +++ b/synapse_topology/server/server.py @@ -1,21 +1,20 @@ from os.path import abspath, dirname, join from canonicaljson import json -from synapse_topology.model import Model from twisted.web.static import File from klein import Klein from .utils import port_checker - -from . import error_handlers +from synapse_topology.model import constants from .schemas import ( BASE_CONFIG_SCHEMA, SERVERNAME_SCHEMA, CERT_PATHS_SCHEMA, CERTS_SCHEMA, PORTS_SCHEMA, + SECRET_KEY_SCHEMA, ) from .utils import validate_schema, log_body_if_fail @@ -42,23 +41,15 @@ class Server: def get_config_setup(self, request): return json.dumps( { - self.model.constants.CONFIG_LOCK: self.model.config_in_use(), - "config_dir": self.model.get_config_dir(), + constants.CONFIG_LOCK: self.model.config_in_use(), + "config_dir": self.model.config_dir, } ) - @app.route("/servername", methods=["GET"]) - def get_server_name(self, request): - return self.model.get_server_name() - - @app.route("/servername", methods=["POST"]) - @validate_schema(SERVERNAME_SCHEMA) - def set_server_name(self, request, body): - self.model.generate_base_config(**body) - @app.route("/secretkey", methods=["GET"]) + @validate_schema(SECRET_KEY_SCHEMA) def get_secret_key(self, request): - return json.dumps({"secret_key": self.model.get_secret_key()}) + return json.dumps({"secret_key": self.model.generate_secret_key()}) @app.route("/config", methods=["GET"]) def get_config(self, request): diff --git a/synapse_topology/server/utils.py b/synapse_topology/server/utils.py index dc4e480431..4b6a115ebb 100644 --- a/synapse_topology/server/utils.py +++ b/synapse_topology/server/utils.py @@ -10,7 +10,7 @@ import socket def validate_schema(schema): def _wrap_validate(func): @wraps(func) - def _do_validate(request): + def _do_validate(self, request): body = json.loads(request.content.read()) validate(instance=body, schema=schema) return func(request, body) |