summaryrefslogtreecommitdiff
path: root/internal/api/client/instance/instanceget.go
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2025-02-04 16:52:42 +0100
committerLibravatar GitHub <noreply@github.com>2025-02-04 16:52:42 +0100
commit07d27709957248008c61d6b8d553e3d2eb14d154 (patch)
treed054e92729708e275886100492a458d633fbaa59 /internal/api/client/instance/instanceget.go
parentadds support for build specifically without wasm ffmpeg (#3732) (diff)
downloadgotosocial-07d27709957248008c61d6b8d553e3d2eb14d154.tar.xz
[feature] Change `instance-stats-randomize` to `instance-stats-mode` with multiple options; implement nodeinfo 2.1 (#3734)
* [feature] Change `instance-stats-randomize` to `instance-stats-mode` with multiple options; implement nodeinfo 2.1 * swaggalaggadingdong
Diffstat (limited to 'internal/api/client/instance/instanceget.go')
-rw-r--r--internal/api/client/instance/instanceget.go25
1 files changed, 23 insertions, 2 deletions
diff --git a/internal/api/client/instance/instanceget.go b/internal/api/client/instance/instanceget.go
index d7a688b43..3ca69d93b 100644
--- a/internal/api/client/instance/instanceget.go
+++ b/internal/api/client/instance/instanceget.go
@@ -60,10 +60,21 @@ func (m *Module) InstanceInformationGETHandlerV1(c *gin.Context) {
return
}
- if config.GetInstanceStatsRandomize() {
+ switch config.GetInstanceStatsMode() {
+
+ case config.InstanceStatsModeBaffle:
// 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))
+
+ case config.InstanceStatsModeZero:
+ // Replace actual stats with zero.
+ instance.Stats["user_count"] = new(int)
+ instance.Stats["status_count"] = new(int)
+
+ default:
+ // serve or default.
+ // Leave stats alone.
}
apiutil.JSON(c, http.StatusOK, instance)
@@ -101,9 +112,19 @@ func (m *Module) InstanceInformationGETHandlerV2(c *gin.Context) {
return
}
- if config.GetInstanceStatsRandomize() {
+ switch config.GetInstanceStatsMode() {
+
+ case config.InstanceStatsModeBaffle:
// Replace actual stats with cached randomized ones.
instance.Usage.Users.ActiveMonth = int(instance.RandomStats.MonthlyActiveUsers)
+
+ case config.InstanceStatsModeZero:
+ // Replace actual stats with zero.
+ instance.Usage.Users.ActiveMonth = 0
+
+ default:
+ // serve or default.
+ // Leave stats alone.
}
apiutil.JSON(c, http.StatusOK, instance)