diff --git a/src/main/java/app/controllers/discord/DiscordController.java b/src/main/java/app/controllers/discord/DiscordController.java index 32e9e9b..df064a5 100644 --- a/src/main/java/app/controllers/discord/DiscordController.java +++ b/src/main/java/app/controllers/discord/DiscordController.java @@ -13,6 +13,7 @@ import org.springframework.web.bind.annotation.*; import java.util.HashMap; import java.util.List; +import java.util.UUID; /** * контролллер для бота дискорда с разным говном @@ -58,6 +59,14 @@ public class DiscordController { return new ResponseEntity(result ,HttpStatus.CREATED); } + @PostMapping("/validate") + @CheckWebAccess(auth_method = AuthMethod.SECRET_KEY) + public ResponseEntity validateProfileOnServers(@RequestParam String uuid) { + return new ResponseEntity<>( + discordAuthService.fetchRegUUIDFromGameChat(UUID.fromString(uuid)), + HttpStatus.OK); + } + @DeleteMapping @CheckWebAccess(auth_method = AuthMethod.SECRET_KEY) public ResponseEntity unregisterDiscordUser(HttpServletRequest request, diff --git a/src/main/java/app/services/db/DiscordAuthService.java b/src/main/java/app/services/db/DiscordAuthService.java index 4d8ed55..3cbecea 100644 --- a/src/main/java/app/services/db/DiscordAuthService.java +++ b/src/main/java/app/services/db/DiscordAuthService.java @@ -9,10 +9,7 @@ import org.springframework.stereotype.Service; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; +import java.util.*; @Service public class DiscordAuthService { @@ -65,4 +62,12 @@ public class DiscordAuthService { } this.processing_accounts.get(slot).add(processing_account); } + + public SteamID fetchRegUUIDFromGameChat(UUID uuid) { + return jdbcTemplate.query("select account_id from user_messages where message like ? limit 1", + new Object[]{uuid.toString()}, (rs, n) -> rs.getLong("account_id")) + .stream() + .map(SteamIDConverter::getSteamID) + .findFirst().orElse(null); + } }