Browse Source

рега дискорда

master
gsd 2 years ago
parent
commit
e57060f5ca
  1. 11
      src/main/java/app/controllers/discord/DiscordController.java
  2. 16
      src/main/java/app/services/db/DiscordAuthService.java

11
src/main/java/app/controllers/discord/DiscordController.java

@ -4,6 +4,7 @@ import app.annotations.enums.AuthMethod;
import app.annotations.interfaces.CheckWebAccess;
import app.entities.other.SteamID;
import app.services.db.DiscordAuthService;
import app.utils.SteamIDConverter;
import jakarta.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
@ -34,18 +35,18 @@ public class DiscordController {
@RequestParam String discord_id){
SteamID steamID = discordAuthService.getSteamIDofDiscordID(discord_id);
if (steamID != null) return new ResponseEntity(HttpStatus.NOT_ACCEPTABLE);
//Релизовать регистрацию пользователя
return new ResponseEntity(HttpStatus.INTERNAL_SERVER_ERROR);
steamID = SteamIDConverter.getSteamID(steam64);
boolean result = discordAuthService.setSteamIDofDiscordID(steamID, discord_id);
return new ResponseEntity(result ,HttpStatus.CREATED);
}
@DeleteMapping
@CheckWebAccess(auth_method = AuthMethod.SECRET_KEY)
public ResponseEntity unregisterDiscordUser(HttpServletRequest request,
@RequestParam String steam64,
@RequestParam String discord_id){
SteamID steamID = discordAuthService.getSteamIDofDiscordID(discord_id);
if (steamID == null) return new ResponseEntity(HttpStatus.NOT_ACCEPTABLE);
//Релизовать де-регистрацию
return new ResponseEntity(HttpStatus.INTERNAL_SERVER_ERROR);
boolean result = discordAuthService.removeSteamIDofDiscordID(steamID);
return new ResponseEntity(result, HttpStatus.OK);
}
}

16
src/main/java/app/services/db/DiscordAuthService.java

@ -5,6 +5,7 @@ import app.utils.SteamIDConverter;
import jakarta.persistence.EntityManager;
import jakarta.persistence.PersistenceContext;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service
public class DiscordAuthService {
@ -19,4 +20,19 @@ public class DiscordAuthService {
.findFirst()
.orElse(null);
}
@Transactional
public boolean setSteamIDofDiscordID(SteamID steamID, String discord_id) {
return entityManager.createNativeQuery("INSERT INTO `steam2discord` (`id`, `steam_id`, `discord_id`, `timestamp`, `active`) VALUES (NULL, ?1, ?2, current_timestamp(), '1')")
.setParameter(1, steamID.steam2)
.setParameter(2, discord_id)
.executeUpdate() > 0;
}
@Transactional
public boolean removeSteamIDofDiscordID(SteamID steamID) {
return entityManager.createNativeQuery("UPDATE `steam2discord` SET `active` = '0' WHERE `steam_id` LIKE ?1")
.setParameter(1, steamID.steam2)
.executeUpdate() > 0;
}
}

Loading…
Cancel
Save