Skip to content

Commit bfa8354

Browse files
committed
check tablist for last seen time
1 parent 3d3efc1 commit bfa8354

File tree

15 files changed

+636
-27
lines changed

15 files changed

+636
-27
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@
212212
chats | connections | connectiontype | deaths | playercount
213213
| queuelength | queuewait | restarts | tablist | names | playtime
214214
| playtime_month | max_cons_month_view | get_uuid_data | online_players
215-
| player_stats | top_deaths_month_view
215+
| player_stats | top_deaths_month_view | last_seen
216216
| top_kills_month_view | priority_players_view
217217
</includes>
218218
</database>

src/main/java/vc/controller/SeenController.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import org.springframework.web.bind.annotation.GetMapping;
1515
import org.springframework.web.bind.annotation.RequestParam;
1616
import org.springframework.web.bind.annotation.RestController;
17+
import vc.data.dto.Routines;
1718
import vc.data.dto.tables.Connections;
1819
import vc.util.PlayerLookup;
1920

@@ -71,16 +72,20 @@ public ResponseEntity<SeenResponse> seen(
7172
final UUID resolvedUuid = optionalPlayerUUID.get();
7273
Connections c = Connections.CONNECTIONS;
7374
var connectionsRecord = dsl.select(
74-
DSL.min(c.TIME).as("firstSeen"),
75-
DSL.max(c.TIME).as("lastSeen"))
75+
DSL.min(c.TIME).as("firstSeen"))
7676
.from(c)
7777
.where(c.PLAYER_UUID.eq(resolvedUuid))
7878
.fetchOne();
79-
if (connectionsRecord != null) {
80-
return ResponseEntity.ok(new SeenResponse(connectionsRecord.value1(), connectionsRecord.value2()));
81-
} else {
79+
if (connectionsRecord == null) {
8280
return ResponseEntity.noContent().build();
8381
}
82+
var firstSeen = connectionsRecord.getValue("firstSeen", OffsetDateTime.class);
83+
var lastSeen = firstSeen;
84+
var lastSeenRecord = Routines.lastSeen(dsl.configuration(), resolvedUuid);
85+
if (!lastSeenRecord.isEmpty()) {
86+
lastSeen = lastSeenRecord.getFirst().getLastSeen();
87+
}
88+
return ResponseEntity.ok(new SeenResponse(firstSeen, lastSeen));
8489
}
8590

8691
public record SeenResponse(OffsetDateTime firstSeen, OffsetDateTime lastSeen) { }

src/main/java/vc/controller/TabList.java renamed to src/main/java/vc/controller/TabListController.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@
2020

2121
@Tags({@Tag(name = "TabList")})
2222
@RestController
23-
public class TabList {
23+
public class TabListController {
2424
private final DSLContext dsl;
2525

26-
public TabList(final DSLContext dsl) {
26+
public TabListController(final DSLContext dsl) {
2727
this.dsl = dsl;
2828
}
2929

@@ -50,7 +50,6 @@ public TabList(final DSLContext dsl) {
5050
public ResponseEntity<List<TablistEntry>> onlinePlayers() {
5151
List<TablistEntry> into = dsl.selectFrom(Tablist.TABLIST)
5252
.fetch()
53-
.into(vc.data.dto.tables.pojos.Tablist.class)
5453
.stream()
5554
.map(t -> new TablistEntry(t.getPlayerName(), t.getPlayerUuid()))
5655
.toList();

src/main/java/vc/data/dto/Indexes.java

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/main/java/vc/data/dto/Public.java

Lines changed: 41 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/main/java/vc/data/dto/Routines.java

Lines changed: 36 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/main/java/vc/data/dto/Tables.java

Lines changed: 40 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/main/java/vc/data/dto/tables/Chats.java

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/main/java/vc/data/dto/tables/Connections.java

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/main/java/vc/data/dto/tables/Deaths.java

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)