package ru.dragonestia.picker.service; import ru.dragonestia.picker.api.exception.InvalidRoomIdentifierException; import ru.dragonestia.picker.api.exception.RoomAlreadyExistException; import ru.dragonestia.picker.api.repository.response.PickedRoomResponse; import ru.dragonestia.picker.model.room.Room; import ru.dragonestia.picker.model.node.Node; import ru.dragonestia.picker.model.user.User; import java.util.Collection; import java.util.Optional; import java.util.Set; public interface RoomService { void create(Room room) throws InvalidRoomIdentifierException, RoomAlreadyExistException; void remove(Room room); Optional find(Node node, String roomId); Collection all(Node node); PickedRoomResponse pickAvailable(Node node, Set users); void updateState(Room room); }