Init
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
package de.w665.testing.controller;
|
||||
|
||||
import de.w665.testing.dto.AcceptInviteCommand;
|
||||
import de.w665.testing.dto.DeclineInviteCommand;
|
||||
import de.w665.testing.dto.InviteCommand;
|
||||
import de.w665.testing.service.InviteService;
|
||||
import org.springframework.messaging.handler.annotation.MessageMapping;
|
||||
import org.springframework.messaging.handler.annotation.Payload;
|
||||
import org.springframework.stereotype.Controller;
|
||||
|
||||
import java.security.Principal;
|
||||
|
||||
@Controller
|
||||
public class WebSocketInviteController {
|
||||
private final InviteService inviteService;
|
||||
|
||||
public WebSocketInviteController(InviteService inviteService) {
|
||||
this.inviteService = inviteService;
|
||||
}
|
||||
|
||||
@MessageMapping("/invite/send")
|
||||
public void sendInvite(@Payload InviteCommand cmd, Principal principal) {
|
||||
if (principal == null) return;
|
||||
String from = principal.getName();
|
||||
if (cmd.getTo() == null || cmd.getTo().isBlank()) return;
|
||||
if (from.equalsIgnoreCase(cmd.getTo())) return;
|
||||
inviteService.sendInvite(from, cmd.getTo().trim().toLowerCase());
|
||||
}
|
||||
|
||||
@MessageMapping("/invite/accept")
|
||||
public void acceptInvite(@Payload AcceptInviteCommand cmd, Principal principal) {
|
||||
if (principal == null) return;
|
||||
String recipient = principal.getName();
|
||||
if (cmd.getInviter() == null || cmd.getInviter().isBlank()) return;
|
||||
inviteService.acceptInvite(recipient, cmd.getInviter().trim().toLowerCase());
|
||||
}
|
||||
|
||||
@MessageMapping("/invite/decline")
|
||||
public void declineInvite(@Payload DeclineInviteCommand cmd, Principal principal) {
|
||||
if (principal == null) return;
|
||||
String recipient = principal.getName();
|
||||
if (cmd.getInviter() == null || cmd.getInviter().isBlank()) return;
|
||||
inviteService.declineInvite(recipient, cmd.getInviter().trim().toLowerCase());
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user