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