From 81869f4cd8a3d836686a6cabf1202d19a725818b Mon Sep 17 00:00:00 2001 From: Tobias Paepke Date: Wed, 11 Dec 2019 14:04:18 +0100 Subject: [PATCH] add history entries for rrsets delivered via zone api which is forwarded to pdns --- powerdnsadmin/routes/api.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/powerdnsadmin/routes/api.py b/powerdnsadmin/routes/api.py index d3a9831..df5567b 100644 --- a/powerdnsadmin/routes/api.py +++ b/powerdnsadmin/routes/api.py @@ -453,6 +453,27 @@ def api_zone_forward(server_id, zone_id): resp = helper.forward_request() domain = Domain() domain.update() + status = resp.status_code + if 200 <= status < 300: + current_app.logger.debug("Request to powerdns API successful") + if request.method != 'GET' and request.method != 'DELETE': + data = request.get_json(force=True) + for rrset_data in data['rrsets']: + history = History( + msg='{0} zone {1} record of {2}'.format(rrset_data['changetype'].lower(), + rrset_data['type'], + rrset_data['name'].rstrip('.')), + detail=json.dumps(data), + created_by=g.apikey.description + ) + history.add() + elif request.method == 'DELETE': + history = History( + msg='Deleted zone {0}'.format(domain.name), + detail='', + created_by=g.apikey.description + ) + history.add() return resp.content, resp.status_code, resp.headers.items()