summaryrefslogtreecommitdiff
path: root/src/admin.clj
diff options
context:
space:
mode:
Diffstat (limited to 'src/admin.clj')
-rw-r--r--src/admin.clj19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/admin.clj b/src/admin.clj
index 0daf66a..53efedf 100644
--- a/src/admin.clj
+++ b/src/admin.clj
@@ -31,6 +31,10 @@
(def mute-refresh-period-sec 60)
+(def fetch-new-users-query "
+SELECT * FROM users ORDER BY created_on DESC LIMIT 200
+")
+
(def fetch-active-mutes-query "
SELECT m.*,
(m.set_on + m.duration) AS expiry,
@@ -68,6 +72,8 @@ AND a.user_id = m.admin_id
LIMIT 1
")
+(defn fetch-new-users []
+ (do-select [fetch-new-users-query]))
(defn fetch-active-mutes []
(do-select [fetch-active-mutes-query]))
@@ -158,6 +164,9 @@ AND cancelled = false
:expiry format-date-first-timestamp
:cancelled #(if % "Cancelled" "Expired")})
+(def user-formatter {:created_on format-date-first-timestamp
+ })
+
(defn show-mutes [session]
(if-vip
(let [st (fetch-template "mutes" session)
@@ -169,6 +178,16 @@ AND cancelled = false
(.setAttribute st "inactive" (f inactive))
(.toString st))))
+;; Recent users list
+
+(defn show-users [session]
+ (if-vip
+ (let [st (fetch-template "users" session)
+ users (fetch-new-users)
+ formatter (partial apply-formats user-formatter)
+ f #(map (comp stringify-and-escape formatter) %)]
+ (.setAttribute st "users" (f users))
+ (.toString st))))
;; Debug Page