From a6d33ad4f12799597d6d1a2ba085b264cd001bc9 Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Mon, 18 Feb 2019 12:56:41 -0800 Subject: [PATCH] modules/console: Add clear option parameter to user tokens cmd. --- modules/console.cc | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/modules/console.cc b/modules/console.cc index c7237698a..772d5c1ee 100644 --- a/modules/console.cc +++ b/modules/console.cc @@ -8851,12 +8851,17 @@ console_cmd__user__tokens(opt &out, const string_view &line) { const params param{line, " ", { - "user_id", + "user_id", "clear" }}; const m::user user { - param.at(0) + param.at("user_id") + }; + + const bool clear + { + param["clear"] == "clear" }; const m::room::state &tokens @@ -8864,7 +8869,7 @@ console_cmd__user__tokens(opt &out, const string_view &line) m::user::tokens }; - tokens.for_each("ircd.access_token", m::event::closure_idx{[&out, &user] + tokens.for_each("ircd.access_token", m::event::closure_idx{[&out, &user, &clear] (const m::event::idx &event_idx) { bool match(false); @@ -8901,8 +8906,20 @@ console_cmd__user__tokens(opt &out, const string_view &line) << " " << ost << " " - << pretty(now - ost) << " ago" - << std::endl; + << pretty(now - ost) << " ago"; + + + if(clear) + { + const auto eid + { + m::redact(m::user::tokens, user.user_id, at<"event_id"_>(event), "cleared") + }; + + out << " - cleared by " << eid; + } + + out << std::endl; }}); return true;