let me turn this into a plugin

This commit is contained in:
kento2 2026-02-15 10:35:57 +01:00
parent 145a3116bc
commit 5a4ae1b7f1
4 changed files with 35 additions and 8 deletions

View file

@ -0,0 +1,12 @@
package de.kentoj.scrow.services.mail;
import lombok.Value;
import java.util.UUID;
@Value
public class Mail {
UUID from;
String subject;
String body;
}

View file

@ -0,0 +1,13 @@
package de.kentoj.scrow.services.mail;
import reactor.core.publisher.Mono;
import java.util.UUID;
/**
* like email but for minecraft
*/
public interface MailService {
Mono<Long> sendMail(UUID to, Mail mail);
}

View file

@ -2,9 +2,6 @@ package de.kentoj.scrow.friends;
import de.kentoj.scrow.services.friends.FriendRequest;
import de.kentoj.scrow.services.friends.Friendship;
import de.kentoj.scrow.util.pair.Tuple2;
import org.bson.codecs.OverridableUuidRepresentationUuidCodec;
import org.bson.types.ObjectId;
import org.jetbrains.annotations.NotNull;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
@ -20,7 +17,10 @@ public interface FriendshipService {
* @param other id of the player the initiator wants to end the friendship with
* @return true on success, false if no such friendship existed.
*/
Mono<@NotNull Boolean> endFriendship(Tuple2<UUID, UUID> playerIds);
Mono<@NotNull Boolean> endFriendship(UUID initiator, UUID other);
Flux<@NotNull FriendRequest> getIncomingFriendRequests(UUID playerId);
Flux<@NotNull FriendRequest> getOutgoingFriendRequests(UUID playerId);
/**
* @param initiator id of player sending the friend request
@ -29,5 +29,7 @@ public interface FriendshipService {
*/
Mono<@NotNull Boolean> sendFriendRequest(UUID initiator, UUID to);
Mono<@NotNull Friendship> acceptFriendRequest(ObjectId objectId);
Mono<@NotNull Friendship> acceptFriendRequest(UUID from, UUID to);
Mono<@NotNull Friendship> denyFriendRequest(UUID from, UUID to);
}

View file

@ -26,7 +26,7 @@ public class BsonFriendship implements Friendship {
) {
Preconditions.checkArgument(playerIds.getFirst() != playerIds.getSecond());
this.id = id;
this.playerIds = toOrderedTuple(playerIds);
this.playerIds = FriendshipUtils.toOrderedTuple(playerIds);
this.createdAt = createdAt;
}