Mercurial > prosody-modules
comparison mod_nodeinfo2/mod_nodeinfo2.lua @ 3792:aec772bbd558
mod_nodeinfo2: Only expose amount of accounts if nodeinfo2_expose_users isn’t set to false
author | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> |
---|---|
date | Mon, 30 Dec 2019 22:44:12 +0100 |
parents | 34a8f9f996ec |
children | bac3dae031ee |
comparison
equal
deleted
inserted
replaced
3791:34a8f9f996ec | 3792:aec772bbd558 |
---|---|
4 local get_stats = require "core.statsmanager".get_stats; | 4 local get_stats = require "core.statsmanager".get_stats; |
5 local list_users = require "core.usermanager".users; | 5 local list_users = require "core.usermanager".users; |
6 local os_time = os.time; | 6 local os_time = os.time; |
7 | 7 |
8 module:depends("http"); | 8 module:depends("http"); |
9 module:depends("lastlog"); | 9 |
10 local expose_users = module:get_option_boolean("nodeinfo2_expose_users", true); | |
11 if expose_users then | |
12 module:depends("lastlog"); | |
13 end | |
10 | 14 |
11 local expose_posts = module:get_option_boolean("nodeinfo2_expose_posts", true); | 15 local expose_posts = module:get_option_boolean("nodeinfo2_expose_posts", true); |
12 if expose_posts then | 16 if expose_posts then |
13 module:depends("measure_message_e2ee"); | 17 module:depends("measure_message_e2ee"); |
14 end | 18 end |
50 month_users = nil; | 54 month_users = nil; |
51 half_year_users = nil; | 55 half_year_users = nil; |
52 end | 56 end |
53 end | 57 end |
54 | 58 |
55 add_task(86400, update_user_list); | 59 if expose_users then |
56 update_user_list(); | 60 add_task(86400, update_user_list); |
61 update_user_list(); | |
62 end | |
57 | 63 |
58 module:provides("http", { | 64 module:provides("http", { |
59 default_path = "/.well-known/x-nodeinfo2"; | 65 default_path = "/.well-known/x-nodeinfo2"; |
60 route = { | 66 route = { |
61 GET = function (event) | 67 GET = function (event) |
62 local usage = { | 68 local usage = {}; |
63 users = { | 69 if expose_users then |
70 usage.users = { | |
64 total = total_users; | 71 total = total_users; |
65 activeWeek = week_users; | 72 activeWeek = week_users; |
66 activeMonth = month_users; | 73 activeMonth = month_users; |
67 activeHalfyear = half_year_users; | 74 activeHalfyear = half_year_users; |
68 }; | 75 }; |
69 }; | 76 end |
70 | 77 |
71 if expose_posts then | 78 if expose_posts then |
72 local stats, changed_only, extras = get_stats(); | 79 local stats, changed_only, extras = get_stats(); |
73 for stat, _ in pairs(stats) do | 80 for stat, _ in pairs(stats) do |
74 if stat == "/"..module.host.."/mod_measure_message_e2ee/message:rate" then | 81 if stat == "/"..module.host.."/mod_measure_message_e2ee/message:rate" then |