RoomUtils.java
package com.newbit.coffeeletter.util;
import com.newbit.coffeeletter.domain.chat.CoffeeLetterRoom;
import com.newbit.coffeeletter.repository.CoffeeLetterRoomRepository;
import com.newbit.common.exception.BusinessException;
import com.newbit.common.exception.ErrorCode;
public class RoomUtils {
public static CoffeeLetterRoom getRoomById(CoffeeLetterRoomRepository repository, String roomId) {
return repository.findById(roomId)
.orElseThrow(() -> new BusinessException(ErrorCode.COFFEELETTER_ROOM_NOT_FOUND));
}
public static boolean isParticipant(CoffeeLetterRoom room, Long userId) {
return userId.equals(room.getMentorId()) || userId.equals(room.getMenteeId());
}
public static void validateParticipant(CoffeeLetterRoom room, Long userId) {
if (!isParticipant(room, userId)) {
throw new BusinessException(ErrorCode.COFFEELETTER_INVALID_ACCESS);
}
}
public static CoffeeLetterRoom findRoomByCoffeeChatId(CoffeeLetterRoomRepository repository, Long coffeeChatId) {
return repository.findByCoffeeChatId(coffeeChatId).orElse(null);
}
public static CoffeeLetterRoom getRoomByCoffeeChatId(CoffeeLetterRoomRepository repository, Long coffeeChatId) {
return repository.findByCoffeeChatId(coffeeChatId)
.orElseThrow(() -> new BusinessException(ErrorCode.COFFEELETTER_NOT_FOUND));
}
}