mirror of
https://github.com/FAUSheppy/icinga-webhook-gateway
synced 2025-12-06 07:21:38 +01:00
feat: improve user owner checks
This commit is contained in:
11
server.py
11
server.py
@@ -71,10 +71,10 @@ def buildReponseDict(status, service=None):
|
|||||||
@app.route('/overview')
|
@app.route('/overview')
|
||||||
def overview():
|
def overview():
|
||||||
|
|
||||||
user = flask.request.headers.get("X-Preferred-Username")
|
user = str(flask.request.headers.get("X-Forwarded-Preferred-Username"))
|
||||||
|
|
||||||
# query all services #
|
# query all services #
|
||||||
services = db.session.query(Service).all()
|
services = db.session.query(Service).filter(Service.owner == user).all()
|
||||||
|
|
||||||
status_unique_results = []
|
status_unique_results = []
|
||||||
|
|
||||||
@@ -144,7 +144,7 @@ def service_details():
|
|||||||
@app.route("/entry-form", methods=["GET", "POST", "DELETE"])
|
@app.route("/entry-form", methods=["GET", "POST", "DELETE"])
|
||||||
def create_interface():
|
def create_interface():
|
||||||
|
|
||||||
user = flask.request.headers.get("X-Preferred-Username")
|
user = str(flask.request.headers.get("X-Preferred-Username"))
|
||||||
|
|
||||||
# check if is delete #
|
# check if is delete #
|
||||||
operation = flask.request.args.get("operation")
|
operation = flask.request.args.get("operation")
|
||||||
@@ -167,7 +167,7 @@ def create_interface():
|
|||||||
modify_service_name = flask.request.args.get("service")
|
modify_service_name = flask.request.args.get("service")
|
||||||
if modify_service_name:
|
if modify_service_name:
|
||||||
service = db.session.query(Service).filter(Service.service == modify_service_name).first()
|
service = db.session.query(Service).filter(Service.service == modify_service_name).first()
|
||||||
if service:
|
if service and service.owner == user:
|
||||||
form.service.default = service.service
|
form.service.default = service.service
|
||||||
form.timeout.default = service.timeout
|
form.timeout.default = service.timeout
|
||||||
form.service_hidden.default = service.service
|
form.service_hidden.default = service.service
|
||||||
@@ -305,7 +305,8 @@ def create_app():
|
|||||||
timeout = timeparse.timeparse(config[key]["timeout"])
|
timeout = timeparse.timeparse(config[key]["timeout"])
|
||||||
staticly_configured = True
|
staticly_configured = True
|
||||||
db.session.merge(Service(service=key, token=config[key]["token"],
|
db.session.merge(Service(service=key, token=config[key]["token"],
|
||||||
staticly_configured=staticly_configured, timeout=timeout))
|
staticly_configured=staticly_configured, timeout=timeout,
|
||||||
|
owner=config[key]["owner"]))
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user