diff --git a/TODO b/TODO index c56674aabfb30ae0d773a3b3130804d5942160da..93b7021665f1ab3fd2e65d18d6ec5aae3cc0e478 100644 --- a/TODO +++ b/TODO @@ -1,11 +1,12 @@ DB: - Trigger na "last modified" u meetingů - indexy -- vazby: on delete cascade Hook: - Adjust number of workers - Ztlumit logování -- další hooky: create/delete user, start/end meeting, participants +- další hooky: create/delete user - přehlednější log -- logování raw JSONů + +App: +- ukončovat transakce diff --git a/hook/fetch-meetings.py b/hook/fetch-meetings.py index 873000a8818d679b856491f1037bc3e29723a9a8..916434603204983c140c926b8d6b0644e4646410 100755 --- a/hook/fetch-meetings.py +++ b/hook/fetch-meetings.py @@ -133,7 +133,6 @@ def get_meetings(uid, user_id): def fetch_all(): - db.execute('DELETE FROM zoom_schedule') db.execute('DELETE FROM zoom_meetings') db.execute("SELECT * FROM zoom_users") @@ -144,6 +143,17 @@ def fetch_all(): db_conn.commit() +def fetch_user(user_email): + db.execute("SELECT * FROM zoom_users WHERE email=%s", (user_email,)) + u = db.fetchone() + if not u: + die("No such user.") + + db.execute('DELETE FROM zoom_meetings WHERE host_uid=%s', (u.uid,)) + get_meetings(u.uid, u.user_id) + db_conn.commit() + + def fetch_single(user_email, meeting_id): db.execute("SELECT * FROM zoom_meetings WHERE meeting_id=%s", (meeting_id,)) meeting_row = db.fetchone() @@ -189,6 +199,6 @@ if args.all: elif args.meeting is not None: fetch_single(args.user, args.meeting) elif args.user is not None: - raise NotImplementedError + fetch_user(args.user) else: print("Nothing to do.")