aboutsummaryrefslogtreecommitdiff
path: root/juick-server/src/main/java/com/juick/server/api/xnodeinfo2/Info.java
diff options
context:
space:
mode:
Diffstat (limited to 'juick-server/src/main/java/com/juick/server/api/xnodeinfo2/Info.java')
-rw-r--r--juick-server/src/main/java/com/juick/server/api/xnodeinfo2/Info.java51
1 files changed, 0 insertions, 51 deletions
diff --git a/juick-server/src/main/java/com/juick/server/api/xnodeinfo2/Info.java b/juick-server/src/main/java/com/juick/server/api/xnodeinfo2/Info.java
deleted file mode 100644
index c12df55f..00000000
--- a/juick-server/src/main/java/com/juick/server/api/xnodeinfo2/Info.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.juick.server.api.xnodeinfo2;
-
-import com.juick.server.api.xnodeinfo2.model.*;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.inject.Inject;
-import java.time.Instant;
-import java.time.ZonedDateTime;
-import java.time.temporal.ChronoUnit;
-import java.util.Arrays;
-
-@RestController
-public class Info {
- @Value("${ap_base_uri:http://localhost:8080/}")
- private String baseUri;
- @Inject
- private JdbcTemplate jdbcTemplate;
-
- @GetMapping("/.well-known/x-nodeinfo2")
- public NodeInfo showNodeInfo() {
- NodeInfo nodeInfo = new NodeInfo();
- Server server = new Server();
- server.setBaseUrl(baseUri);
- server.setName("Juick");
- server.setSoftware("Juick");
- server.setVersion("2.x");
- nodeInfo.setServer(server);
- nodeInfo.setProtocols(Arrays.asList("xmpp", "activitypub", "smtp"));
- ServiceInfo serviceInfo = new ServiceInfo();
- serviceInfo.setInbound(Arrays.asList("jabber", "mastodon", "email", "telegram"));
- serviceInfo.setOutbound(Arrays.asList("jabber", "mastodon", "telegram", "twitter", "email", "rss"));
- nodeInfo.setServices(serviceInfo);
- UserStats userStats = new UserStats();
- userStats.setTotal(jdbcTemplate.queryForObject("SELECT COUNT(*) FROM users WHERE banned=0", Integer.class));
- userStats.setActiveMonth(jdbcTemplate.queryForObject("SELECT COUNT(*) FROM users WHERE banned=0 AND last_seen > ?",
- Integer.class, ZonedDateTime.now().minus(1, ChronoUnit.MONTHS).toInstant()));
- userStats.setActiveHalfyear(jdbcTemplate.queryForObject("SELECT COUNT(*) FROM users WHERE banned=0 AND last_seen > ?",
- Integer.class, ZonedDateTime.now().minus(6, ChronoUnit.MONTHS).toInstant()));
- Usage usage = new Usage();
- usage.setUsers(userStats);
- usage.setLocalPosts(jdbcTemplate.queryForObject("SELECT COUNT(*) FROM messages",
- Integer.class));
- usage.setLocalComments(jdbcTemplate.queryForObject("SELECT COUNT(*) FROM replies",
- Integer.class));
- nodeInfo.setUsage(usage);
- return nodeInfo;
- }
-}