From 8961b83f4dec4aa3146f7ad0d385696611b558fa Mon Sep 17 00:00:00 2001
From: Martin Mares <mj@ucw.cz>
Date: Tue, 24 Mar 2020 15:56:34 +0100
Subject: [PATCH] Hook: Logging of all events as raw JSON

---
 db.ddl         | 7 +++++++
 hook/hook.wsgi | 2 ++
 2 files changed, 9 insertions(+)

diff --git a/db.ddl b/db.ddl
index d745abb..484a304 100644
--- a/db.ddl
+++ b/db.ddl
@@ -22,3 +22,10 @@ CREATE TABLE zoom_schedule (
 	duration	int		NOT NULL,		-- minutes
 	UNIQUE(mid, occurrence_id)
 );
+
+CREATE TABLE zoom_events (
+	id		serial		PRIMARY KEY,
+	time		timestamp	NOT NULL DEFAULT NOW(),
+	event		varchar(255)	NOT NULL,
+	js		jsonb		NOT NULL
+);
diff --git a/hook/hook.wsgi b/hook/hook.wsgi
index 62eb233..d0828e6 100644
--- a/hook/hook.wsgi
+++ b/hook/hook.wsgi
@@ -255,6 +255,8 @@ class HookApp:
         self.log(js)
 
         event = js["event"]
+        db_query("INSERT INTO zoom_events(event,js) VALUES(%s,%s)", (event, json.dumps(js["payload"])))
+
         if event == "meeting.created":
             self.create_meeting(js)
         elif event == "meeting.deleted":
-- 
GitLab