Filter chat messages by allowed servers defined in application.properties.
This commit is contained in:
parent
0233958118
commit
7a360d1a26
|
|
@ -9,6 +9,7 @@ import com.alttd.altitudeweb.services.chat.event_publisher.EventPublisher;
|
||||||
import com.alttd.altitudeweb.setup.Connection;
|
import com.alttd.altitudeweb.setup.Connection;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.boot.context.event.ApplicationReadyEvent;
|
import org.springframework.boot.context.event.ApplicationReadyEvent;
|
||||||
import org.springframework.context.event.EventListener;
|
import org.springframework.context.event.EventListener;
|
||||||
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.scheduling.annotation.Scheduled;
|
||||||
|
|
@ -25,6 +26,8 @@ import java.util.stream.Collectors;
|
||||||
public class ChatService {
|
public class ChatService {
|
||||||
|
|
||||||
private static final Duration MAX_AGE = Duration.ofHours(1);
|
private static final Duration MAX_AGE = Duration.ofHours(1);
|
||||||
|
@Value("${chat.allowed-servers}")
|
||||||
|
private String[] allowedServers;
|
||||||
private final NavigableMap<Instant, ChatMessage> chatMessages = new TreeMap<>();
|
private final NavigableMap<Instant, ChatMessage> chatMessages = new TreeMap<>();
|
||||||
private final EventPublisher eventPublisher;
|
private final EventPublisher eventPublisher;
|
||||||
|
|
||||||
|
|
@ -70,6 +73,7 @@ public class ChatService {
|
||||||
.collect(Collectors.joining(",", "[", "]"));
|
.collect(Collectors.joining(",", "[", "]"));
|
||||||
String jsonMessageList = chatMessageList.stream()
|
String jsonMessageList = chatMessageList.stream()
|
||||||
.filter(ChatMessage::isNotBlocked)
|
.filter(ChatMessage::isNotBlocked)
|
||||||
|
.filter(chatMessage -> Arrays.asList(allowedServers).contains(chatMessage.getServer()))
|
||||||
.map(ChatMessageMapper::toJson)
|
.map(ChatMessageMapper::toJson)
|
||||||
.collect(Collectors.joining(",", "[", "]"));
|
.collect(Collectors.joining(",", "[", "]"));
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,7 @@ spring.mail.properties.mail.smtp.auth=true
|
||||||
spring.mail.properties.mail.smtp.ssl.enable=true
|
spring.mail.properties.mail.smtp.ssl.enable=true
|
||||||
spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
|
spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
|
||||||
chat.allowed-ip=${ALLOWED_IP:10.0.0.0/24}
|
chat.allowed-ip=${ALLOWED_IP:10.0.0.0/24}
|
||||||
|
chat.allowed-servers=${ALLOWED_SERVERS:bayou,lobby,creative}
|
||||||
management.endpoints.web.exposure.include=mappings
|
management.endpoints.web.exposure.include=mappings
|
||||||
server.forward-headers-strategy=native
|
server.forward-headers-strategy=native
|
||||||
server.tomcat.remoteip.remote-ip-header=CF-Connecting-IP
|
server.tomcat.remoteip.remote-ip-header=CF-Connecting-IP
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user