From a55bd6d2bd7b11aed653f4614836caed4103bec3 Mon Sep 17 00:00:00 2001 From: tobi <31960611+tsmethurst@users.noreply.github.com> Date: Fri, 31 Jan 2025 19:27:18 +0100 Subject: [feature] Add `instance-stats-randomize` config option (#3718) * [feature] Add `instance-stats-randomize` config option * don't use cache (overkill) --- internal/api/client/instance/instanceget.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'internal/api/client/instance/instanceget.go') diff --git a/internal/api/client/instance/instanceget.go b/internal/api/client/instance/instanceget.go index 6690e7e98..d7a688b43 100644 --- a/internal/api/client/instance/instanceget.go +++ b/internal/api/client/instance/instanceget.go @@ -21,7 +21,9 @@ import ( "net/http" apiutil "github.com/superseriousbusiness/gotosocial/internal/api/util" + "github.com/superseriousbusiness/gotosocial/internal/config" "github.com/superseriousbusiness/gotosocial/internal/gtserror" + "github.com/superseriousbusiness/gotosocial/internal/util" "github.com/gin-gonic/gin" ) @@ -58,6 +60,12 @@ func (m *Module) InstanceInformationGETHandlerV1(c *gin.Context) { return } + if config.GetInstanceStatsRandomize() { + // Replace actual stats with cached randomized ones. + instance.Stats["user_count"] = util.Ptr(int(instance.RandomStats.TotalUsers)) + instance.Stats["status_count"] = util.Ptr(int(instance.RandomStats.Statuses)) + } + apiutil.JSON(c, http.StatusOK, instance) } @@ -93,5 +101,10 @@ func (m *Module) InstanceInformationGETHandlerV2(c *gin.Context) { return } + if config.GetInstanceStatsRandomize() { + // Replace actual stats with cached randomized ones. + instance.Usage.Users.ActiveMonth = int(instance.RandomStats.MonthlyActiveUsers) + } + apiutil.JSON(c, http.StatusOK, instance) } -- cgit v1.2.3